> ## Documentation Index
> Fetch the complete documentation index at: https://docs.flinks.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Session Details

Retrieve comprehensive information about an e-Transfer session, including the verified payor account once the user has authenticated.

To successfully call this endpoint, you must have a valid access token from the [/Authorize](/api/pay/endpoints/authorize/authorize) endpoint.

## Get Session Details

Use this endpoint to retrieve the full session state: configuration, payor and payee information, identity matching results, and the current step in the flow.

This endpoint provides:

* **Session information** — all details from session creation

## Response Structure

```json theme={null}
{
  "sessionId": "aadd08f2-83ce-456d-84ed-c68cfed4ee7b",
  "status": "Completed",
  "referenceId": "USER12345",
  "amount": 250.00,
  "type": "e-Transfer",
  "direction": "DEBIT",
  "currency": "CAD",
  "payor": {
    "email": "john.smith@example.com",
    "firstName": "John",
    "lastName": "Smith"
  },
  "payee": {
    "account": {
      "institutionCode": "999",
      "transitNumber": "30265",
      "accountNumber": "9876541",
    }
  },
  "schedule": {
    "transactions": [
      {
        "id": "f6e5d4c3-b2a1-0987-6543-21fedcba0987",
        "status": "Processed"
      }
    ]
  },
  "createdAt": "2026-04-23T12:43:59.203399Z"
}
```

<RequestExample>
  ```bash cURL theme={null}
  curl --location '{{BaseUri}}/api/v2/sessions/{{sessionId}}/details' \
  --header 'Authorization: Bearer {{access_token}}'
  ```
</RequestExample>

<ResponseExample>
  ```json 200 - OK theme={null}
  {
    "sessionId": "aadd08f2-83ce-456d-84ed-c68cfed4ee7b",
    "status": "Completed",
    "referenceId": "USER12345",
    "amount": 250.00,
    "type": "e-Transfer",
    "direction": "DEBIT",
    "currency": "CAD",
    "payor": {
      "email": "john.smith@example.com",
      "firstName": "John",
      "lastName": "Smith"
    },
    "payee": {
      "account": {
        "institutionCode": "999",
        "transitNumber": "30265",
        "accountNumber": "9876541"
      }
    },
    "schedule": {
      "transactions": [
        {
          "id": "f6e5d4c3-b2a1-0987-6543-21fedcba0987",
          "status": "Processed"
        }
      ]
    },
    "createdAt": "2026-04-23T12:43:59.203399Z"
  }
  ```

  ```json 400 - Bad Request theme={null}
  {
    "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
    "title": "Bad Request",
    "status": 400,
    "detail": "Invalid sessionId"
  }
  ```

  ```json 401 - Unauthorized theme={null}
  {
    "type": "https://tools.ietf.org/html/rfc7235#section-3.1",
    "title": "Unauthorized",
    "status": 401,
    "detail": "Valid access token required"
  }
  ```

  ```json 403 - Forbidden theme={null}
  {
    "type": "https://tools.ietf.org/html/rfc7231#section-6.5.3",
    "title": "Forbidden",
    "status": 403,
    "detail": "Access denied to session details"
  }
  ```
</ResponseExample>

## Response Fields

### Session Information

* **sessionId** — unique session identifier
* **status** — current session status (`Initiated`, `Completed`, `Failed`, `Cancelled`, `Expired`)
* **step** — current step (`current`, `aggregationRequestId`, `padId`)
* **referenceId** — your internal reference ID
* **amount** — payment amount (null if not yet set)
* **type** — payment type (`e-Transfer` or `EFT`)
* **direction** — `CREDIT` or `DEBIT`
* **currency** — always `CAD`
* **statusDetails** — additional status context when applicable

### Payor

* **Personal details** — `firstName`, `lastName`, `email` as provided at session creation

### Payee

* **Account details** — destination account information (`institutionCode`, `transitNumber`, `accountNumber`)

### Schedule

* **transactions** — list of transactions associated with the session, each with `id` and `status`

## Data Availability Timeline

### Before User Authentication (Status: Initiated)

```json theme={null}
{
  "sessionId": "aadd08f2-83ce-456d-84ed-c68cfed4ee7b",
  "status": "Initiated",
  "amount": 250.00,
  "referenceId": "USER12345",
  "type": "e-Transfer",
  "direction": "DEBIT",
  "currency": "CAD",
  "payor": {
    "email": "john.smith@example.com",
    "firstName": "John",
    "lastName": "Smith"
  },
  "schedule": {
        "transactions": [
            {
                "id": "02a7aa91-810f-4de5-b33f-04a399291fd3",
                "status": "Processing"
            }
        ]
    },
    "createdAt": "2026-04-23T12:43:59.203399Z"
}
```

### After User Authentication (Status: Completed)

```json theme={null}
{
  "sessionId": "aadd08f2-83ce-456d-84ed-c68cfed4ee7b",
  "status": "Completed",
  "amount": 250.00,
  "referenceId": "USER12345",
  "type": "e-Transfer",
  "direction": "DEBIT",
  "currency": "CAD",
  "payor": {
    "email": "john.smith@example.com",
    "firstName": "John",
    "lastName": "Smith"
  },
  "schedule": {
    "transactions": [
      {
        "id": "f6e5d4c3-b2a1-0987-6543-21fedcba0987",
        "status": "Processed"
      }
    ]
  },
  "createdAt": "2026-04-23T12:43:59.203399Z"
}
```

## Use Cases

### Payment Validation

* Verify user identity matches bank account holder
* Confirm account details for reconciliation

### Audit and Compliance

* Complete transaction trail for regulatory requirements
* Identity verification documentation

### Customer Support

* Comprehensive session information for issue resolution
* Complete payment history and status

### Reconciliation

* Match payments to internal records using `referenceId`
* Account details for settlement verification

## Error Responses

Error responses follow the RFC 7807 `ProblemDetails` format.

### Bad Request

```json theme={null}
{
  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
  "title": "Bad Request",
  "status": 400,
  "detail": "Invalid sessionId"
}
```

### Unauthorized

```json theme={null}
{
  "type": "https://tools.ietf.org/html/rfc7235#section-3.1",
  "title": "Unauthorized",
  "status": 401,
  "detail": "Valid access token required"
}
```

### Forbidden

```json theme={null}
{
  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.3",
  "title": "Forbidden",
  "status": 403,
  "detail": "Access denied to session details"
}
```

## Related Endpoints

* [Initiate Session](/api/pay/endpoints/e-transfer/sessions-initiate) — create an e-Transfer session
* [/Authorize](/api/pay/endpoints/authorize/authorize) — obtain an access token


## OpenAPI

````yaml /pay-interac.yaml GET /api/v2/sessions/{sessionId}/details
openapi: 3.0.1
info:
  title: Flinks Interac API
  description: Flinks E-Transfer (RFM) API.
  version: v2
servers: []
security: []
paths:
  /api/v2/sessions/{sessionId}/details:
    get:
      tags:
        - Sessions
      operationId: GetSessionDetails
      parameters:
        - name: sessionId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/SessionSetupResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/SessionSetupResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/SessionSetupResponse'
        '400':
          description: Bad Request
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '401':
          description: Unauthorized
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
components:
  schemas:
    SessionSetupResponse:
      type: object
      properties:
        sessionId:
          type: string
          format: uuid
        status:
          $ref: '#/components/schemas/SessionStatus'
        step:
          $ref: '#/components/schemas/CurrentStep'
        referenceId:
          type: string
          nullable: true
        amount:
          type: number
          format: decimal
          nullable: true
        type:
          $ref: '#/components/schemas/PaymentType'
        direction:
          $ref: '#/components/schemas/PaymentDirection'
        currency:
          $ref: '#/components/schemas/PaymentCurrency'
        options:
          $ref: '#/components/schemas/SessionSetupOptionModel'
        payor:
          $ref: '#/components/schemas/PartyModel'
        payee:
          $ref: '#/components/schemas/PartyModel'
        guaranteeDetails:
          $ref: '#/components/schemas/GuaranteeDetails'
        userDetails:
          $ref: '#/components/schemas/UserDetails'
        statusDetails:
          type: string
          nullable: true
        schedule:
          $ref: '#/components/schemas/SessionScheduleModel'
      additionalProperties: false
    ProblemDetails:
      type: object
      properties:
        type:
          type: string
          nullable: true
        title:
          type: string
          nullable: true
        status:
          type: integer
          format: int32
          nullable: true
        detail:
          type: string
          nullable: true
        instance:
          type: string
          nullable: true
      additionalProperties: {}
    SessionStatus:
      enum:
        - Initiated
        - Failed
        - Cancelled
        - Expired
        - Completed
      type: string
    CurrentStep:
      type: object
      properties:
        current:
          $ref: '#/components/schemas/SessionStep'
        aggregationRequestId:
          type: string
          format: uuid
          nullable: true
        padId:
          type: string
          format: uuid
          nullable: true
      additionalProperties: false
    PaymentType:
      enum:
        - EFT
        - e-Transfer
      type: string
    PaymentDirection:
      enum:
        - DEBIT
        - CREDIT
      type: string
    PaymentCurrency:
      enum:
        - CAD
      type: string
    SessionSetupOptionModel:
      type: object
      properties:
        guarantee:
          $ref: '#/components/schemas/GuaranteeOptions'
        notificationPreferences:
          $ref: '#/components/schemas/NotificationPreferencesOptions'
        showConsentScreen:
          type: boolean
          nullable: true
        limits:
          $ref: '#/components/schemas/SessionLimitsModel'
        amountModification:
          type: boolean
        redirectPreferences:
          $ref: '#/components/schemas/RedirectPreferencesResponse'
      additionalProperties: false
    PartyModel:
      type: object
      properties:
        email:
          type: string
          nullable: true
        firstName:
          type: string
          nullable: true
        lastName:
          type: string
          nullable: true
        middleName:
          type: string
          nullable: true
        account:
          $ref: '#/components/schemas/AccountInfoModel'
        address:
          $ref: '#/components/schemas/BaseAddressModel'
      additionalProperties: false
    GuaranteeDetails:
      type: object
      properties:
        guaranteeOffered:
          type: boolean
        guaranteeAccepted:
          type: boolean
          nullable: true
        highestDebitAmountToGuarantee:
          type: number
          format: decimal
        overallRiskLevel:
          $ref: '#/components/schemas/GuaranteeRiskLevel'
        transactionRiskLevel:
          $ref: '#/components/schemas/GuaranteeRiskLevel'
        userRiskLevel:
          $ref: '#/components/schemas/GuaranteeRiskLevel'
        otherRiskLevel:
          $ref: '#/components/schemas/GuaranteeRiskLevel'
        guaranteedEftType:
          $ref: '#/components/schemas/GuaranteedEftType'
      additionalProperties: false
    UserDetails:
      type: object
      properties:
        matchingPerformed:
          type: boolean
        nameMatch:
          type: number
          format: double
      additionalProperties: false
    SessionScheduleModel:
      type: object
      properties:
        transactions:
          type: array
          items:
            $ref: '#/components/schemas/SessionTransactionModel'
          nullable: true
      additionalProperties: false
    SessionStep:
      enum:
        - Start
        - Consent
        - BankSelection
        - BankConnection
        - AccountSelection
        - AmountSelection
        - GuaranteeOffer
        - Review
        - Pad
        - Complete
      type: string
    GuaranteeOptions:
      type: object
      properties:
        enable:
          type: boolean
      additionalProperties: false
    NotificationPreferencesOptions:
      type: object
      properties:
        language:
          $ref: '#/components/schemas/Language'
        sendInteracLink:
          type: boolean
          nullable: true
      additionalProperties: false
    SessionLimitsModel:
      type: object
      properties:
        minimumAmount:
          type: number
          format: decimal
          nullable: true
        maximumAmount:
          type: number
          format: decimal
          nullable: true
      additionalProperties: false
    RedirectPreferencesResponse:
      type: object
      properties:
        mode:
          $ref: '#/components/schemas/RedirectPreferencesMode'
        urlSuccess:
          type: string
          format: uri
          nullable: true
        urlExit:
          type: string
          format: uri
          nullable: true
      additionalProperties: false
    AccountInfoModel:
      type: object
      properties:
        institutionCode:
          type: string
          nullable: true
        transitNumber:
          type: string
          nullable: true
        accountNumber:
          type: string
          nullable: true
        accountLabel:
          type: string
          nullable: true
        availableBalance:
          type: number
          format: decimal
          nullable: true
      additionalProperties: false
    BaseAddressModel:
      type: object
      properties:
        addressLine1:
          type: string
          nullable: true
        addressLine2:
          type: string
          nullable: true
        unit:
          type: string
          nullable: true
        city:
          type: string
          nullable: true
        province:
          type: string
          nullable: true
        country:
          type: string
          nullable: true
        postalCode:
          type: string
          nullable: true
      additionalProperties: false
    GuaranteeRiskLevel:
      enum:
        - Unknown
        - Low
        - Medium
        - High
        - Low_Medium
        - Medium_High
      type: string
    GuaranteedEftType:
      enum:
        - Full
        - Partial
        - Minimal
      type: string
    SessionTransactionModel:
      type: object
      properties:
        id:
          type: string
          format: uuid
        status:
          type: string
          nullable: true
      additionalProperties: false
    Language:
      enum:
        - EN
        - FR
      type: string
    RedirectPreferencesMode:
      enum:
        - JsEvents
        - RedirectUri
      type: string

````