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

# Create a customer

> Creates an end-customer owned by your organisation. Each customer maps 1:1 to a compliance profile at our banking partner, which is created when you submit onboarding requirements. Emails are unique per organisation (409 on duplicate).



## OpenAPI

````yaml /api-reference/openapi.json post /v1/customers
openapi: 3.0.3
info:
  title: XentFi API
  version: 1.0.0
  description: >-
    API documentation for XentFi.The XentFi API gives you access to pretty much
    all the features you can use on our dashboard and lets you extend them for
    use in your application. It strives to be RESTful and is organized around
    the main resources you would be interacting with - with a few notable
    exceptions.
servers:
  - url: https://api.xentfi.com
    description: Production server
security: []
tags: []
paths:
  /v1/customers:
    post:
      tags:
        - Customers
      summary: Create a customer
      description: >-
        Creates an end-customer owned by your organisation. Each customer maps
        1:1 to a compliance profile at our banking partner, which is created
        when you submit onboarding requirements. Emails are unique per
        organisation (409 on duplicate).
      operationId: createCustomer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - email
              properties:
                email:
                  type: string
                  format: email
                name:
                  type: string
                phone:
                  type: string
                type:
                  type: string
                  enum:
                    - individual
                    - business
                  default: individual
                metadata:
                  type: object
      responses:
        '201':
          description: Customer created
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                      name:
                        type: string
                        nullable: true
                      email:
                        type: string
                      phone:
                        type: string
                        nullable: true
                      type:
                        type: string
                        enum:
                          - individual
                          - business
                      status:
                        type: string
                        enum:
                          - ACTIVE
                          - INACTIVE
                      kycStatus:
                        type: string
                        enum:
                          - not_started
                          - incomplete
                          - in_review
                          - approved
                          - rejected
                          - restricted
                      capabilities:
                        type: object
                        description: What this customer is currently approved to do
                        properties:
                          wire:
                            type: boolean
                          sepa:
                            type: boolean
                      metadata:
                        type: object
                        nullable: true
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
        '400':
          description: Invalid input
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: NOT_FOUND
                      message:
                        type: string
                        example: Wallet not found
                      timestamp:
                        type: string
                        format: date-time
                      requestId:
                        type: string
        '409':
          description: Email already exists
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: NOT_FOUND
                      message:
                        type: string
                        example: Wallet not found
                      timestamp:
                        type: string
                        format: date-time
                      requestId:
                        type: string
      security:
        - ApiKeyAuth: []
          OrgIdAuth: []
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: apiKey
    OrgIdAuth:
      type: apiKey
      in: header
      name: orgId

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.