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

# Create a new customer session

> Creates a new session for a customer with a client_secret that can be passed to the SDK, providing client access to modify their own profile, card, or card/loan application. If required, a new customer will be created to attach this session to. Customer history can be attached to this session and will be included in the customer's profile if created, or attached to the application the customer creates during the session



## OpenAPI

````yaml /api-reference/openapi.yaml post /v2/customer_sessions
openapi: 3.1.0
info:
  title: Public Imprint API
  version: '2.0'
servers:
  - url: https://dev.sbx.imprint.co
    description: Imprint public api sandbox
security:
  - basicAuth: []
  - bearerAuth: []
paths:
  /v2/customer_sessions:
    post:
      tags:
        - Customer Sessions
      summary: Create a new customer session
      description: >-
        Creates a new session for a customer with a client_secret that can be
        passed to the SDK, providing client access to modify their own profile,
        card, or card/loan application. If required, a new customer will be
        created to attach this session to. Customer history can be attached to
        this session and will be included in the customer's profile if created,
        or attached to the application the customer creates during the session
      operationId: createSession
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                customer_id:
                  type: string
                  description: >-
                    Unique identifier for the Imprint customer, if creating a
                    customer session for a known imprint customer that the id is
                    available for
                  example: AD87A18A-A4BE-49FF-BC46-BF6F0779DBAA
                partner_customer_id:
                  type: string
                  description: >-
                    The unique identifier for the customer in the partner's
                    system
                  example: CUST_03476998
                transaction_amount:
                  type: integer
                  description: >-
                    The current transaction amount, if the session is currently
                    executing a transaction. integer value in the min currency
                    unit (cents for USD)
                  example: 34000
                transaction_currency:
                  type: string
                  description: The 3 char currency code of the amount in iso-4217
                  example: USD
                customer_history:
                  $ref: '#/components/schemas/CustomerAccountHistory'
                source:
                  type: string
                  description: The source where the session is initiated
                metadata:
                  type: object
                  description: Additional linking metadata
                  additionalProperties: true
                  example:
                    store_number: '123'
      responses:
        '200':
          description: Customer session created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerSession'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestError'
components:
  schemas:
    CustomerAccountHistory:
      type: object
      description: A Customer's account history with the partner
      properties:
        email:
          type: string
          format: email
          description: Customer's email address
          example: customer@example.com
        phone:
          type: string
          description: Customer's phone number in E.164 format
          example: '+14155552671'
        first_name:
          type: string
          description: The customer's first name
          example: John
        last_name:
          type: string
          description: The customer's last name
          example: Doe
        preferred_language:
          type: string
          description: Customer's preferred language code as defined by ISO 639-1
          example: en
        address:
          $ref: '#/components/schemas/Address'
        account_tenure:
          type: integer
          description: The customer's account tenure with the partner, in months
          example: 13
        ltv_amount:
          type: integer
          description: >-
            The Life Time Value for the customer's account, in the min currency
            unit (cents for USD)
          example: 34000
        ltv_currency:
          type: string
          description: The 3 char currency code of the amount in iso-4217
          example: USD
        loyalty_tier:
          type: string
          description: The customer's current loyalty tier
          example: GOLD
        account_created_at:
          type: string
          description: >-
            The RFC-3339 timestamp when the customer's account was created with
            the partner
          example: '2025-02-13T19:08:07.000Z'
        transaction_count:
          type: integer
          description: >-
            The number of lifetime transactions the customer has made with the
            partner
          example: 100
    CustomerSession:
      type: object
      description: Represents a session created on behalf of an Imprint customer
      required:
        - id
        - client_secret
        - expires_at
      properties:
        id:
          type: string
          example: 2EE24580-B97B-4949-A65C-929CCB9B9B8D
          description: The unique ID Imprint assigns to the session.
        client_secret:
          type: string
          example: QzMyNzg4QzgtNEUwOS00QkU4LThDMjEtMkU5OUQ3QzkwRDhGCg==
          description: >-
            Not to be logged or stored. Provide this one time use token to the
            Imprint SDK or other client side code to allow the customer access
            to edit their own account or apply
        expires_at:
          type: string
          description: the RFC-3339 timestamp when the `client_secret` will expire.
          example: '2025-02-13T19:08:07.000Z'
        metadata:
          type: object
          description: >-
            Set of key-value pairs for storing additional information about the
            customer session.
          additionalProperties: true
          example:
            store_number: '123'
        source:
          type: string
          description: The source where the session was initiated
          example: web_signup
    InvalidRequestError:
      type: object
      properties:
        path:
          type: string
          description: The path of the endpoint returning the error
          example: /v2/customers
        details:
          type: array
          items:
            type: string
          description: The details of the error being returned
          example:
            - 'email: must be a well-formed email address'
        error:
          type: string
          description: The category of error being returned
          example: Bad Request
        status:
          type: integer
          description: The HTTP status code of the error
          example: 400
        timestamp:
          type: string
          description: The timestamp that the error occurred
          example: '2025-01-20T18:18:22.923+00:00'
    Address:
      type: object
      description: Mailing address information
      properties:
        street_line1:
          type: string
          description: Primary street address
          example: 123 Main St
        street_line2:
          type: string
          description: Secondary street address (apartment, suite, etc.)
          example: Apt 4B
        city:
          type: string
          description: City name
          example: San Francisco
        state:
          type: string
          description: State or province
          example: CA
        postal_code:
          type: string
          description: ZIP or postal code
          example: '94105'
        country:
          type: string
          description: ISO-3166-1 alpha-3 Country Code
          example: USA
  securitySchemes:
    bearerAuth:
      bearerFormat: auth-scheme
      description: >-
        Bearer HTTP authentication. Allowed headers-- Authorization: Bearer
        <api_key>
      scheme: bearer
      type: http

````