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

# Customers create



## OpenAPI

````yaml /api-reference/openapi.json post /v1/customers
openapi: 3.0.4
info:
  description: >-
    Public API for the StableMint platform. Every request is authenticated with
    a service-account RSA signature over a canonical string; bearer tokens are
    not accepted.
  title: StableMint API
  version: v1
servers:
  - description: Production
    url: https://api.stablemint.io
  - description: Sandbox
    url: https://api.stablemint.net
security: []
tags:
  - name: accounts
  - name: beneficiaries
  - name: checkout
  - name: customers
  - name: fx
  - name: payouts
  - name: reports
  - name: simulations
  - name: transactions
  - name: users
  - name: wallets
  - name: webhooks
paths:
  /v1/customers:
    post:
      tags:
        - customers
      summary: Customers create
      operationId: customers-create
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePartnerCustomerRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartnerCustomerResponse'
          description: OK
        '400':
          description: Malformed request
        '401':
          description: >-
            No service-account credentials (code: signature_required), a Clerk
            bearer token was sent (code: jwt_not_accepted) — both rejected by
            the gateway — or the RSA signature, timestamp window or nonce failed
            verification downstream.
        '403':
          description: >-
            Authenticated but lacking the required permission, or an
            impersonated session attempting a write (code:
            impersonation_write_blocked).
        '404':
          description: >-
            No such resource. Also returned by the gateway itself when a path
            parameter fails its route constraint.
        '500':
          description: Unhandled downstream error
        '502':
          description: >-
            Gateway could not reach the downstream service or received an
            invalid response from it.
        '504':
          description: Downstream service did not respond in time.
      security:
        - ApiKey: []
          Nonce: []
          Signature: []
          Timestamp: []
components:
  schemas:
    CreatePartnerCustomerRequest:
      properties:
        email:
          maxLength: 320
          nullable: true
          type: string
        kyc:
          $ref: '#/components/schemas/PartnerCustomerKycRequest'
        partnerCustomerIdentifier:
          maxLength: 320
          minLength: 1
          type: string
      required:
        - partnerCustomerIdentifier
        - kyc
      type: object
    PartnerCustomerResponse:
      properties:
        createdAt:
          format: date-time
          type: string
        email:
          nullable: true
          type: string
        guid:
          format: uuid
          type: string
        kyc:
          $ref: '#/components/schemas/PartnerCustomerKycResponse'
        partnerCustomerIdentifier:
          type: string
        stablemintId:
          type: string
        updatedAt:
          format: date-time
          nullable: true
          type: string
      required:
        - stablemintId
        - partnerCustomerIdentifier
      type: object
    PartnerCustomerKycRequest:
      properties:
        addressLine1:
          nullable: true
          type: string
        addressLine2:
          nullable: true
          type: string
        citizenshipCountryCode:
          nullable: true
          pattern: ^[A-Z]{2}$
          type: string
        city:
          nullable: true
          type: string
        countryOfIncorporation:
          nullable: true
          pattern: ^[A-Z]{2}$
          type: string
        countryOfPrincipalBusiness:
          nullable: true
          pattern: ^[A-Z]{2}$
          type: string
        customerType:
          enum:
            - Individual
            - Business
          nullable: true
          type: string
        dateOfBirth:
          nullable: true
          type: string
        dateOfIncorporation:
          nullable: true
          type: string
        fullName:
          nullable: true
          type: string
        legalForm:
          nullable: true
          type: string
        legalName:
          nullable: true
          type: string
        lei:
          nullable: true
          type: string
        mobilePhone:
          nullable: true
          type: string
        natureOfBusiness:
          nullable: true
          type: string
        personalIdentificationNumber:
          nullable: true
          type: string
        postalCode:
          nullable: true
          type: string
        registrationNumber:
          nullable: true
          type: string
        residenceAddress:
          nullable: true
          type: string
        taxId:
          nullable: true
          type: string
        tradingName:
          nullable: true
          type: string
        uboFirstName1:
          nullable: true
          type: string
        uboFirstName2:
          nullable: true
          type: string
        uboFirstName3:
          nullable: true
          type: string
        uboFirstName4:
          nullable: true
          type: string
        uboFirstName5:
          nullable: true
          type: string
        uboLastName1:
          nullable: true
          type: string
        uboLastName2:
          nullable: true
          type: string
        uboLastName3:
          nullable: true
          type: string
        uboLastName4:
          nullable: true
          type: string
        uboLastName5:
          nullable: true
          type: string
        website:
          nullable: true
          type: string
      type: object
    PartnerCustomerKycResponse:
      nullable: true
      properties:
        addressLine1:
          nullable: true
          type: string
        addressLine2:
          nullable: true
          type: string
        citizenshipCountryCode:
          nullable: true
          type: string
        city:
          nullable: true
          type: string
        countryOfIncorporation:
          nullable: true
          type: string
        countryOfPrincipalBusiness:
          nullable: true
          type: string
        customerType:
          enum:
            - Individual
            - Business
          nullable: true
          type: string
        dateOfBirth:
          nullable: true
          type: string
        dateOfIncorporation:
          nullable: true
          type: string
        fullName:
          nullable: true
          type: string
        legalForm:
          nullable: true
          type: string
        legalName:
          nullable: true
          type: string
        lei:
          nullable: true
          type: string
        mobilePhone:
          nullable: true
          type: string
        natureOfBusiness:
          nullable: true
          type: string
        postalCode:
          nullable: true
          type: string
        registrationNumber:
          nullable: true
          type: string
        residenceAddress:
          nullable: true
          type: string
        taxId:
          nullable: true
          type: string
        tradingName:
          nullable: true
          type: string
        uboFirstName1:
          nullable: true
          type: string
        uboFirstName2:
          nullable: true
          type: string
        uboFirstName3:
          nullable: true
          type: string
        uboFirstName4:
          nullable: true
          type: string
        uboFirstName5:
          nullable: true
          type: string
        uboLastName1:
          nullable: true
          type: string
        uboLastName2:
          nullable: true
          type: string
        uboLastName3:
          nullable: true
          type: string
        uboLastName4:
          nullable: true
          type: string
        uboLastName5:
          nullable: true
          type: string
        website:
          nullable: true
          type: string
      type: object
  securitySchemes:
    ApiKey:
      description: The service account's API key.
      in: header
      name: ApiKey
      type: apiKey
    Nonce:
      description: A GUID, single-use. A replayed nonce is rejected.
      in: header
      name: Nonce
      type: apiKey
    Signature:
      description: >-
        Base64 RSA/SHA-256 (PKCS#1 v1.5) signature over the canonical string:
        METHOD, path, canonical query, Timestamp, Nonce, API secret and the
        lowercase hex SHA-256 of the raw body, joined with LF. Sign the PUBLIC
        path exactly as called (e.g. /v1/webhooks), not any internal path.
      in: header
      name: Signature
      type: apiKey
    Timestamp:
      description: Unix seconds. Rejected outside the server's tolerance window.
      in: header
      name: Timestamp
      type: apiKey

````