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

# Create Recipient

> Create a new payment recipient. Recipients are bank accounts or payment destinations that you can send payments to.

Create a new payment recipient. Recipients are bank accounts or payment destinations that you can send payments to.

## Overview

Recipients are saved payment destinations that you can reuse for multiple payments. Creating a recipient allows you to:

* Store bank account details securely
* Reuse payment destinations without re-entering details
* Set payment limits per recipient
* Add identification and verification information

## Request Body

<ParamField body="account_number" type="string" required>
  Bank account number
</ParamField>

<ParamField body="account_name" type="string" required>
  Account holder name
</ParamField>

<ParamField body="account_type" type="string" required>
  Type of account holder: "individual" or "business"
</ParamField>

<ParamField body="account_currency" type="string" required>
  Currency code (e.g., "NGN", "USD", "KES")
</ParamField>

<ParamField body="account_country_code" type="string">
  Country code or country name
</ParamField>

<ParamField body="account_bank_name" type="string">
  Bank name
</ParamField>

<ParamField body="account_bank_code" type="string">
  Bank code or routing number
</ParamField>

<ParamField body="amount_limit" type="number">
  Maximum amount limit for payments to this recipient
</ParamField>

<ParamField body="identification" type="object">
  Identification information object:

  * `identification_type`: Type of ID (e.g., "passport", "national\_id")
  * `identification_number`: ID number
  * `identification_image`: Base64 encoded image of ID
</ParamField>

<ParamField body="payment_details" type="object">
  Additional payment details object:

  * `account_number`: Payment account number
  * `bank_code`: Bank code
  * `bank_name`: Bank name
  * `routing_number`: Routing number
  * `swift_code`: SWIFT code
  * `payment_rails`: Payment rails identifier (e.g., "nip")
</ParamField>

## Headers

<ParamField header="Idempotency-Key" type="string">
  Optional idempotency key to prevent duplicate recipient creation
</ParamField>

## Response

<ResponseField name="data" type="object">
  Created recipient object including:

  * `id`: Recipient UUID (use this for payments)
  * `merchant_id`: Your merchant ID
  * `account_number`: Account number
  * `account_name`: Account holder name
  * `account_type`: Account type
  * `account_currency`: Currency code
  * `account_bank_name`: Bank name
  * `account_bank_code`: Bank code
  * `account_country_code`: Country code
  * `limit`: Payment limit
  * `is_internal_account`: Whether it's an internal Pooler account
  * `created_at`: Creation timestamp
  * `updated_at`: Last update timestamp
</ResponseField>


## OpenAPI

````yaml POST /payments/recipients
openapi: 3.0.0
info:
  title: Pooler Developer API
  description: >-
    Comprehensive API documentation for Pooler payment and financial services
    platform
  version: 1.0.0
servers:
  - url: https://api.usepooler.com
    description: Production server
  - url: https://sandbox.usepooler.com
    description: Sandbox server
security:
  - bearerAuth: []
paths:
  /payments/recipients:
    post:
      tags:
        - Recipients
      summary: Create Recipient
      description: >-
        Create a new payment recipient. Recipients are bank accounts or payment
        destinations that you can send payments to.
      operationId: createRecipient
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateRecipientRequest'
      responses:
        '201':
          description: Recipient created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecipientResponse'
components:
  schemas:
    CreateRecipientRequest:
      type: object
      required:
        - account_number
        - account_name
        - account_type
        - account_currency
      properties:
        account_number:
          type: string
          description: Bank account number
        account_name:
          type: string
          description: Account holder name
        account_type:
          type: string
          enum:
            - individual
            - business
          description: Type of account holder
        account_currency:
          type: string
          description: Currency code
        account_country_code:
          type: string
          description: Country code
        account_bank_name:
          type: string
          description: Bank name
        account_bank_code:
          type: string
          description: Bank code
        amount_limit:
          type: number
          description: Maximum amount limit for this recipient
        identification:
          type: object
          properties:
            identification_type:
              type: string
            identification_number:
              type: string
            identification_image:
              type: string
        payment_details:
          type: object
          properties:
            account_number:
              type: string
            bank_code:
              type: string
            bank_name:
              type: string
            routing_number:
              type: string
            swift_code:
              type: string
            payment_rails:
              type: string
    RecipientResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        stan:
          type: string
          format: uuid
        data:
          $ref: '#/components/schemas/Recipient'
    Recipient:
      type: object
      properties:
        id:
          type: string
          format: uuid
        merchant_id:
          type: string
          format: uuid
        account_number:
          type: string
        account_name:
          type: string
        account_type:
          type: string
        is_internal_account:
          type: boolean
        account_currency:
          type: string
        account_bank_name:
          type: string
        account_bank_code:
          type: string
        account_country_code:
          type: string
        account_country:
          type: string
        identification:
          type: object
        limit:
          type: string
        payment_details:
          type: object
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Bearer token authentication. Include your API key in the Authorization
        header as: Bearer {your_api_key}

````