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

# Get Customer Identity

> Returns the verified identity data for a customer, including profile, document data, and document images. The response is gated by the user's consent:
- `profile` fields are returned when the `profile` scope was consented - `documentKyc` and `documentData` are returned when the `doc_kyc` scope was consented
If the identity belongs to another client, a valid `kyc_sharing` consent record (consented and not revoked) must exist.




## OpenAPI

````yaml /api_reference/identity.yaml get /identity/entities/{customerId}
openapi: 3.0.3
info:
  version: '1.0'
  title: Identity API
  description: Reference for Sardine Universal Identity API (identity.sardine.ai)
  contact:
    email: support@sardine.io
    name: Sardine
    url: docs.sardine.io
servers:
  - url: https://api.sandbox.sardine.ai/v1
    description: Sandbox
  - url: https://api.sardine.ai/v1
    description: Production
security:
  - ClientSecret: []
paths:
  /identity/entities/{customerId}:
    get:
      tags:
        - Customer Management
      summary: Get Customer Identity
      description: >
        Returns the verified identity data for a customer, including profile,
        document data, and document images. The response is gated by the user's
        consent:

        - `profile` fields are returned when the `profile` scope was consented -
        `documentKyc` and `documentData` are returned when the `doc_kyc` scope
        was consented

        If the identity belongs to another client, a valid `kyc_sharing` consent
        record (consented and not revoked) must exist.
      operationId: get-identity-entities-customerid
      parameters:
        - name: customerId
          in: path
          required: true
          schema:
            type: string
          description: Sardine customer UUID returned from `POST /identity/entities`
          example: 3f8c1a22-1234-4abc-9def-000000000001
      responses:
        '200':
          description: Identity data for the customer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IdentityEntity'
        '400':
          description: Consent not found, pending, or revoked
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Invalid client credentials
        '404':
          description: Customer not found
components:
  schemas:
    IdentityEntity:
      type: object
      properties:
        documentKyc:
          $ref: '#/components/schemas/DocumentKyc'
          nullable: true
          description: Document images, present only when `doc_kyc` scope was consented
        documentData:
          $ref: '#/components/schemas/DocumentData'
          nullable: true
          description: >-
            Extracted document fields, present only when `doc_kyc` scope was
            consented
        profile:
          $ref: '#/components/schemas/IdentityProfile'
          nullable: true
          description: Profile data, present only when `profile` scope was consented
        level:
          type: string
          description: >-
            Risk level of the user (high, medium, low). Present when risk
            enrichment is enabled for the client.
          example: low
          enum:
            - high
            - medium
            - low
        customer:
          type: object
          description: >-
            Full risk customer object from the Sardine risk engine. Present when
            risk enrichment is enabled.
    ErrorResponse:
      type: object
      properties:
        error:
          type: string
          example: Customer not found for customer ID
        status:
          type: integer
          example: 400
    DocumentKyc:
      type: object
      description: Document images from the verification session
      properties:
        front:
          type: string
          description: Base64-encoded front image of the document
        back:
          type: string
          description: Base64-encoded back image of the document
        selfie:
          type: string
          description: Base64-encoded selfie image
    DocumentData:
      type: object
      description: Extracted data from the verified government ID document
      properties:
        documentType:
          type: string
          example: DRIVERS_LICENSE
        documentNumber:
          type: string
          example: D1234567
        dateOfBirth:
          type: string
          format: date
          example: '1990-06-15'
        expiryDate:
          type: string
          format: date
          example: '2028-06-15'
        issuingCountry:
          type: string
          description: ISO 3166-1 alpha-2 country code
          example: US
        firstName:
          type: string
          example: Jane
        lastName:
          type: string
          example: Smith
        gender:
          type: string
          example: F
        address:
          $ref: '#/components/schemas/Address'
    IdentityProfile:
      type: object
      properties:
        clientId:
          type: string
          description: The client this identity is associated with
          example: acme-corp
        userId:
          type: string
          description: Sardine customer ID (UUID)
          example: 3f8c1a22-1234-4abc-9def-000000000001
        consentId:
          type: string
          nullable: true
          description: >-
            Consent record ID, null if the identity belongs to this client
            directly
          example: b1c2d3e4-5678-4abc-9def-000000000002
        consentedAt:
          type: string
          format: date-time
          nullable: true
          description: When the user gave consent to share this identity
          example: '2026-05-01T10:30:00Z'
        revokedAt:
          type: string
          format: date-time
          nullable: true
          description: When consent was revoked, null if still active
          example: null
        primaryIdentity:
          type: boolean
          description: >-
            True if this identity was created by the calling client (no consent
            required)
          example: false
        clientName:
          type: string
          description: Display name of the client
          example: Acme Corp
        fullName:
          type: string
          example: Jane Smith
        dateOfBirth:
          type: string
          format: date
          example: '1990-06-15'
        emailAddress:
          type: string
          format: email
          example: jane@example.com
        phoneNumber:
          type: string
          description: E.164 formatted phone number
          example: '+14155551234'
        address:
          $ref: '#/components/schemas/Address'
    Address:
      type: object
      properties:
        street:
          type: string
          example: 123 Main St
        city:
          type: string
          example: San Francisco
        region:
          type: string
          description: State or province (ISO 3166-2 subdivision code)
          example: CA
        postalCode:
          type: string
          example: '94105'
  securitySchemes:
    ClientSecret:
      type: http
      scheme: basic
      description: >
        HTTP Basic Auth. Use your `clientId` as the username and `clientSecret`
        as the password.

````