---
title: "Get customer session by sessionId"
method: GET
path: "/v1/sdk/customers/customer-sessions/{sessionId}"
tags: ["Customers"]
---

# Get customer session by sessionId

`GET /v1/sdk/customers/customer-sessions/{sessionId}`

Retrieves a customer session by its sessionId with all data hydrated including customer details and purchases. The session must belong to the authenticated provider.

## Path parameters

- `sessionId` string, required

## Response `200`

Customer session retrieved successfully

- GetCustomerSessionResponse
  - `createdAt` string, required — Session creation date
  - `customer` CustomerResponse, required
    - `email` string, required — Customer email address
    - `externalRef` string — External reference ID from your auth system (if set during creation or update)
    - `name` string, required — Customer full name
    - `purchases` PurchaseInfo[] — Active purchases
      - `amount` number, required — Amount in USD cents (normalised for aggregation)
      - `cancellationReason` string — Reason for cancellation
      - `cancelledAt` string — When purchase was cancelled
      - `currency` string, required — ISO 4217 currency code of the customer-facing charge
      - `endDate` string — End date of purchase
      - `exchangeRate` number — Exchange rate from original currency to USD
      - `originalAmount` number — Original amount in the payment currency (minor units)
      - `planRef` string — Plan reference from the plan snapshot, for reliable plan matching
      - `planSnapshot` object — Snapshot of the plan at time of purchase
      - `productName` string, required — Product name
      - `productRef` string — Product reference
      - `reference` string, required — Purchase reference
      - `startDate` string, required — Start date
      - `status` string, required — Purchase status
    - `reference` string, required — Customer reference identifier
  - `customerUrl` string, required — Full customer URL based on backend configuration (ready to redirect customer)
  - `expiresAt` string, required — Session expiration date
  - `sessionId` string, required — Customer session ID/token
  - `status` 'active' | 'expired' | 'used', required — Session status
  - `updatedAt` string, required — Session last update date

## Other responses

- `404` — Customer session not found

## Changes

- **2026-04-26** `60c2cd1caf83` — 1 breaking
  - the response's body type changed from `object` to no type for status `404`
- **2026-04-10** `c6f97c4a5492` — 1 breaking
  - the response's body type changed from no type to `object` for status `404`
- **2026-04-08** `052cc028fdfa` — 1 info
  - added the optional property `customer/allOf[#/components/schemas/CustomerResponse]/purchases/items/planRef` to the response with the `200` status
- **2026-04-07** `d69c95d790d2` — 1 warning, 1 info
  - removed the optional property `customer/allOf[#/components/schemas/CustomerResponse]/purchases/items/productReference` from the response with the `200` status
  - added the optional property `customer/allOf[#/components/schemas/CustomerResponse]/purchases/items/productRef` to the response with the `200` status
- **2026-04-04** `88abf6f50f11` — 2 info
  - added the optional property `customer/allOf[#/components/schemas/CustomerResponse]/purchases/items/exchangeRate` to the response with the `200` status
  - added the optional property `customer/allOf[#/components/schemas/CustomerResponse]/purchases/items/originalAmount` to the response with the `200` status

[Full history](https://skmtc.dev/solvapay/apis/solvapay-rest-api/changes/v1/sdk/customers/customer-sessions/:sessionId/get.md)

---

[API](https://skmtc.dev/solvapay/apis/solvapay-rest-api.md) · [All operations](https://skmtc.dev/solvapay/apis/solvapay-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/solvapay/apis/solvapay-rest-api/revisions/a946cecd290d?raw)
