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

# Create Customer

> Register a new business customer. Returns a unique `CustomerID` and a KYB link for compliance verification. Requires an `idempotency-key` header to prevent duplicate submissions. Not available in test mode.



## OpenAPI

````yaml /reference/link-transaction.json post /otc/business_customer
openapi: 3.1.0
info:
  title: link-transaction
  version: '1.0'
servers:
  - url: https://api.linkio.world
security:
  - sec0: []
tags:
  - name: Direct FX
  - name: Pan-Africa Ramp
  - name: BRL Ramp
  - name: IDR Ramp
  - name: B2B
  - name: Customers
  - name: Static Details
  - name: Transactions
  - name: Accounts
  - name: ESPESS
paths:
  /otc/business_customer:
    post:
      tags:
        - B2B
      summary: Create Customer
      description: >-
        Register a new business customer. Returns a unique `CustomerID` and a
        KYB link for compliance verification. Requires an `idempotency-key`
        header to prevent duplicate submissions. Not available in test mode.
      operationId: post_otc_business_customer
      parameters:
        - in: header
          name: idempotency-key
          schema:
            type: string
          required: true
          description: >-
            A unique key (e.g. UUID) to prevent duplicate customer creation on
            retries.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - business_name
                - business_email
                - phone_number
                - registered_address
                - registered_country
              properties:
                business_name:
                  type: string
                  description: Legal name of the customer's business.
                business_email:
                  type: string
                  format: email
                  description: Business contact email address.
                phone_number:
                  type: string
                  description: Business phone number including country code.
                registered_address:
                  type: string
                  description: Registered business address.
                registered_country:
                  type: string
                  description: ISO 3166-1 alpha-3 country code (e.g. NGA, USA, GBR).
                  pattern: ^[A-Z]{3}$
                  example: NGA
      responses:
        '201':
          description: Customer created successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                    example: CRT_SUCCESSFUL
                  CustomerID:
                    type: string
                    example: acm123456
                    description: Unique customer ID to pass in onramp/offramp requests.
                  KYB_Link:
                    type: string
                    format: uri
                    description: KYB form link for compliance verification.
                  message:
                    type: string
                    example: Customer created.
        '400':
          description: Missing/invalid fields or duplicate idempotency key.
        '403':
          description: Endpoint not available in test mode.
        '500':
          description: Internal server error.
components:
  securitySchemes:
    sec0:
      type: apiKey
      in: header
      name: ngnc-sec-key
      x-default: ''

````