---
title: "Get customer profile"
method: GET
path: "/v1/customers/{customerId}"
tags: ["Customer data"]
---

# Get customer profile

`GET /v1/customers/{customerId}`

## Request

- Base URL: `https://yourbaseurl.talon.one`
- URL: `https://yourbaseurl.talon.one/v1/customers/{customerId}`
- Auth: one of:
  - API key in header `Authorization`
  - API key in header `Authorization`
- TypeScript: <https://skmtc.dev/talon/apis/management-api/docs/v1/customers/:customerId/get.ts> (a function with typed inputs; its response is checked against the schema)

> [!note] Management API endpoints are **not** meant to be used in real-time integrations that directly serve your end users. Rate limit: 3 requests per second.

Return the details of the specified customer profile.

> [!note]
> You can retrieve the same information via the Integration API, which can save you extra API requests. Consider these options:
> - Request the customer profile to be part of the response content using
>   [Update Customer Session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2).
> - Send an empty update with the [Update Customer Profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint with `runRuleEngine=false`.

## Path parameters

- `customerId` integer, required

## Response `200`

OK

- CustomerProfile
  - `id` integer, required: The internal ID of the customer profile.
  - `created` string, date-time, required: The time this entity was created.
  - `integrationId` string, string, required: The integration ID set by your integration layer.
  - `attributes` object, required: Arbitrary properties associated with this item.
  - `accountId` integer, required: The ID of the Talon.One account that owns this profile.
  - `closedSessions` integer, required: The total number of closed sessions. Does not include closed sessions that have been cancelled or reopened. See the [docs](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions#customer-session-states).
  - `totalSales` number, required: The total amount of money spent by the customer **before** discounts are applied. The total sales amount excludes the following: - Cancelled or reopened sessions. - Returned items.
  - `loyaltyMemberships` LoyaltyMembership[]: **DEPRECATED. Always returns `null`.** A list of loyalty programs joined by the customer.
    - `joined` string, date-time: The moment in which the loyalty program was joined.
    - `loyaltyProgramId` integer, required: The ID of the loyalty program belonging to this entity.
  - `audienceMemberships` AudienceMembership[]: The audiences the customer belongs to.
    - `id` integer, required: The ID of the audience belonging to this entity.
    - `name` string, required: The Name of the audience belonging to this entity.
  - `lastActivity` string, date-time, required: Timestamp of the most recent event received from this customer. This field is updated on calls that trigger the Rule Engine and that are not [dry requests](https://docs.talon.one/docs/dev/integration-api/dry-requests/#overlay). For example, [reserving a coupon](https://docs.talon.one/integration-api#tag/Coupons/operation/createCouponReservation) for a customer doesn't impact this field.
  - `sandbox` boolean: An indicator of whether the customer is part of a sandbox or live Application. See the [docs](https://docs.talon.one/docs/product/applications/overview#application-environments).

---

[API](https://skmtc.dev/talon/apis/management-api.md) - [All operations](https://skmtc.dev/talon/apis/management-api/llms.txt) - [OpenAPI document](https://skmtc.dev/talon/apis/management-api/revisions/7ef1b9504c3a?raw)
