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

# Fetch Payout Beneficiaries

> Retrieve a paginated list of unique payout beneficiaries for an account based on previous payout transactions.

## Overview

The Fetch Payout Beneficiaries endpoint retrieves a deduplicated list of all unique beneficiaries that have received payouts from your account. This is useful for displaying a list of frequent recipients when creating new payouts.

## Usage Examples

### Basic Usage

Fetch the first page of beneficiaries with default limit:

```bash theme={null}
GET /v1/payouts/beneficiaries
```

### Pagination

Fetch a specific page with custom limit:

```bash theme={null}
GET /v1/payouts/beneficiaries?page=2&limit=50
```

### Search

Search for beneficiaries by account name or number:

```bash theme={null}
GET /v1/payouts/beneficiaries?search=john
```

### Combined Parameters

Use multiple parameters together:

```bash theme={null}
GET /v1/payouts/beneficiaries?page=1&limit=10&search=access
```

## Error Handling

| Status Code | Description                                     |
| ----------- | ----------------------------------------------- |
| 200         | Success - Beneficiaries retrieved successfully  |
| 400         | Bad Request - Invalid query parameters          |
| 401         | Unauthorized - Missing or invalid API key       |
| 500         | Internal Server Error - Unexpected server error |

## Notes

* The endpoint returns deduplicated beneficiaries based on unique combinations of bank\_code and account\_number
* Search functionality is case-insensitive and matches partial strings in both account\_number and account\_name fields
* If no beneficiaries are found, an empty array will be returned in the data field
* The pagination object always reflects the current state, even when no results are found


## OpenAPI

````yaml GET /v1/payouts/beneficiaries
openapi: 3.0.0
info:
  title: Carbon Business API
  description: >-
    ## Welcome to our API Developer Documentation


    Carbon aims to unlock the full potential of your business with a
    feature-rich account designed for growth.


    ## Integrations


    We aim to provide our APIs for developers and businesses to offer financial
    services to their existing customer base through REST APIs without doing the
    heavy lifting. Our API has predictable resource-oriented URLs, accepts
    form-encoded request bodies, returns JSON-encoded responses, and uses
    standard HTTP response codes, authentication, and verbs.


    ### Authentication


    `Authorization : API Key`


    Header  

    `x-carbon-key : value`


    `x-carbon-key` can be generated via developer page on Carbon Business


    | Environment | URL |

    | --- | --- |

    | Live |  |

    | Sandbox |
    [https://carbonapistagingsecure.getcarbon.co/baas/api](https://carbonapistagingsecure.getcarbon.co/baas/api)
    |


    ### **Handling Errors**


    We use the conventional HTTP response codes to indicate the success or
    failure of an API request.  

    Codes in the 2xx range indicate success. Codes in the 4xx range indicate an
    error that failed given the information provided (e.g., a required parameter
    was omitted, etc.). Codes in the 5xx range indicate an error with our
    servers.


    | Error | Description |

    | --- | --- |

    | 400 - Bad Request | The request was unacceptable, often due to missing a
    required parameter. |

    | 401 - Unauthorized | Not a valid API key was provided. |

    | 402 - Request Failed | The parameters were valid but the request failed. |

    | 403 - Forbidden | The API key doesn't have permission to perform the
    request. |

    | 404 - Not Found | The requested resource doesn't exist. |

    | 429 - Too Many Requests | Too many requests hit the API |

    | 500, 502, 503, 504 - Server Errors | System Error |
  version: 1.0.0
servers:
  - url: https://carbonapistagingsecure.getcarbon.co/baas/api
    description: >-
      Replace {{base_url}} with your API base URL (e.g.,
      https://api.example.com)
security:
  - apikeyAuth: []
tags:
  - name: Accounts
    description: >-
      Virtual accounts are generated account details (account number and bank)
      that allow Carbon Business merchants to receive payments from customers
      via NGN bank transfer. This is currently only available in naira (NGN).


      Virtual accounts are either dynamic (temporary) or static (permanent). A
      dynamic account number expires after handling a transaction, while a
      static account number doesn't expire.


      **Static Account**


      Creating static accounts can be useful when receiving recurring payments
      through bank transfers. The process involves generating a static virtual
      account with customer information. Once payment is made, we will send you
      a webhook notification, which you can then manage.


      **Dynamic Account**


      Creating dynamic accounts can be useful when receiving one-time payments
      through bank transfers. The process involves generating a dynamic virtual
      account with a set amount for the customer during checkout. Once payment
      is made, we will send you a webhook notification, which you can then
      manage.


      Key things you can do with these endpoints:


      - Create an account

      - Retreive an account

      - Verify Transaction

      - Retreive a list of transactions
  - name: Accounts > Transactions
  - name: Banks
    description: |-
      - Get a list of banks and financial institutions
      - Verify/resolve account details
  - name: Customers
    description: >-
      This collection contains a set of API endpoints to manage customer-related
      operations for an application. The endpoints allow for creating a new
      customer, retrieving a list of all customers, and fetching details of a
      single customer.


      - Create Customer
          
      - Fetch Customer/Customers
  - name: Payout
    description: |-
      - Make Transfer
      - Verify Transfer
  - name: Status
    description: '- Service Health check'
  - name: Verification
  - name: Webhook
    description: |-
      ## EVENTS

      `account.incoming-transaction`

      ``` json
      {
          "event": "account.incoming-transaction",
          "data": {
              "id": "string",
              "amount": "float",
              "currency": "string",
              "transactionType": "string",
              "entryDate": "datetime",
              "uniqueRef": "string",
              "account": {
                  "id": "string",
                  "bankAccount": {
                      "accountName": "string",
                      "accountNumber": "string",
                      "bank": {
                          "code": "string",
                          "name": "string"
                      }
                  },
                  "static": boolean,
                  "currency": "string",
                  "clientId": "string"
              }
            }
      }

       ```

      `account.outgoing-transaction`

      ``` json
      {
          "event": "account.outgoing-transaction",
          "data": {
              "id": "string",
              "amount": "float",
              "currency": "string",
              "transactionType": "string",
              "entryDate": "datetime",
              "uniqueRef": "string",
              "account": {
                  "id": "string",
                  "bankAccount": {
                      "accountName": "string",
                      "accountNumber": "string",
                      "bank": {
                          "code": "string",
                          "name": "string"
                      }
                  },
                  "static": boolean,
                  "currency": "string",
                  "clientId": "string"
              }
          }
      }

       ```
  - name: Loans
    description: >-
      Partner lending API. Enables fintech partners to originate business loans
      for their end-customers.


      - Enroll customers for lending and trigger KYC

      - Submit loan applications and supporting documents

      - Manage offer acceptance, disbursement account, and post-offer steps

      - Charge repayments and retrieve repayment schedules
paths:
  /v1/payouts/beneficiaries:
    get:
      tags:
        - Payout
      summary: Fetch Payout Beneficiaries
      description: >-
        ### Get Payout Beneficiaries

        This endpoint retrieves a paginated list of unique payout beneficiaries
        for an account.  The endpoint returns deduplicated beneficiary
        information based on previous payout transactions.

        #### Request Parameters

        - `page` (integer, optional): Page number for pagination (1-based
        indexing). Default: 1

        - `limit` (integer, optional): Number of items per page. Default: 20

        - `search` (string, optional): Partial, case-insensitive filter applied
        to account_number and account_name

        #### Response

        The response will be in JSON format with the following schema:

        ``` json

        {
            "status": "success",
            "message": "Beneficiaries fetched successfully",
            "data": [
                {
                    "bank_code": "058",
                    "bank_name": "Guaranty Trust Bank",
                    "account_number": "0123456789",
                    "account_name": "JOHN DOE"
                }
            ],
            "pagination": {
                "total": 45,
                "page": 1,
                "limit": 20,
                "pages": 3
            }
        }

         ```
      parameters:
        - name: x-carbon-key
          in: header
          schema:
            type: string
          required: true
          example: '{{access_token}}'
        - name: page
          in: query
          schema:
            type: integer
            minimum: 1
            default: 1
          example: 1
        - name: limit
          in: query
          schema:
            type: integer
            minimum: 1
            default: 20
          example: 10
        - name: search
          in: query
          schema:
            type: string
          example: john
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              example:
                status: success
                message: Beneficiaries fetched successfully
                data:
                  - bank_code: '058'
                    bank_name: Guaranty Trust Bank
                    account_number: '0123456789'
                    account_name: JOHN DOE
                  - bank_code: '044'
                    bank_name: Access Bank
                    account_number: '0987654321'
                    account_name: JANE SMITH
                pagination:
                  total: 45
                  page: 1
                  limit: 20
                  pages: 3
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
              example:
                status: failed
                message: bad request
                errors:
                  - msg: page must be a positive integer
                    param: page
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
              example:
                status: unauthorized
                message: Missing token
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
              example:
                status: error
                message: An unexpected error occurred
components:
  securitySchemes:
    apikeyAuth:
      type: apiKey
      in: header
      name: apikey
      description: Provide your API key in the 'apikey' header.

````