---
updatedAt: 2025-08-19T21:51:03.000Z
agentTools:
  projectIndex: https://docs.fideo.ai/llms.txt
---

# Session

Stitch a user's workflow together into a single billable Session.

## What is a Session?

A Fideo-issued UUID that ties all API calls into a single billable session lasting up to
10 minutes—after which it resets—and must remain unique per workflow for compliance.
This allows a user's workflow to be linked together for billing as well as for audibility.

## Example

As part of an online bank sign up flow, Alice chooses to start the account creation flow.

1. **Signup Start** - Request name and email
   1. Fideo receives the request which include Alice's `name` and `email` and starts a new session, `0197f665-6c88-7512-bc33-a7605d487377`.
   2. The risk score suggests requesting more information, such as a phone
2. **Phone Verification** - Request additional phone
   1. The workflow passes along the `name`, `email` and now `phone`. To keep it in the same session, the workflow additionally passes in the `sessionId` that was returned earlier (`0197f665-6c88-7512-bc33-a7605d487377`)
   2. With the additional information of the `phone`, Fideo recognizes the phone being associated with Alice' name and email, lowering the risk score around Synthetic Identity.
3. **Address Check** -  Request postal address
   1. The workflow now the `address` along with all other previously collected elements (`email`, `name`, `phone`) as well as the `sessionId` (`0197f665-6c88-7512-bc33-a7605d487377`)
   2. With all the necessary information about Alice, Fideo further reduces the risk score to a value low enough that the workflow feels comfortable passing Alice along to perform addition checks.
4. **Billing**
   1. Since all three actions took place in one session, the bank is billed for only **one session**, despite calling Fideo 3 times. Additionally, all results form the submissions are tracked for audibility against that same `sessionId`.
5. **Session expiry**
   1. If Alice stalls past 10 minutes and resubmits any data with the old `sessionId`, Fideo ignores it, spins up a new `sessionId`, issues a fresh billable event, and resets the risk-model context—guaranteeing clear session boundaries.

### Specifics

* `sessionId` - The `sessionId` is used for stitching a previously submitted request together to represent a single Session for a user's experience.
  * The `sessionId` must be a UUID from Fideo and cannot be a customer generated ID.
  * For the duration of the Session, all submitted queries count as one billable event.
  * An inputted `sessionId` will be ignored and overridden if the time since the session was generated  exceeds 10 minutes, thus beginning a new billable event.
  * For compliance, the `sessionId` is used to look up all requests submitted during that Session.
    * As such, **do not** reuse the same `sessionId `across workflows
* Identifying Sessions
  * The response code after a new Session is created is a `201`. This will also be the case if Fideo replaces the `sessionId` that was provided
  * Subsequent requests specifying a valid `sessionId` will receive a `200` response code.