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

# List beneficiaries

> Retrieve beneficiaries for a user



## OpenAPI

````yaml /openapi/embedded-consumer-wallets.yaml get /v1/users/{userId}/beneficiaries
openapi: 3.0.0
info:
  description: APIs for interacting with Cadana Embedded Consumer Wallets
  version: 1.0.0
  title: Embedded Consumer Wallets
  termsOfService: https://cadanapay.com/terms-and-conditions
  contact:
    email: api@cadanapay.com
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
servers:
  - url: https://api.cadanapay.com
    description: Prod Server
  - url: https://dev-api.cadanapay.com
    description: Dev Server
security:
  - Authorization: []
tags:
  - name: Beneficiaries
    description: APIs for managing user beneficiaries
  - name: Transactions
    description: APIs for managing user transactions
  - name: Balances
    description: APIs for managing user account balances
paths:
  /v1/users/{userId}/beneficiaries:
    get:
      tags:
        - Beneficiaries
      summary: List beneficiaries
      description: Retrieve beneficiaries for a user
      parameters:
        - $ref: '#/components/parameters/userId'
        - $ref: '#/components/parameters/XMultiTenantKey'
      responses:
        '200':
          $ref: '#/components/responses/GetBeneficiariesResponse'
        '404':
          $ref: '#/components/responses/NotFoundError'
        5XX:
          $ref: '#/components/responses/InternalError'
      security:
        - Authorization: []
components:
  parameters:
    userId:
      name: userId
      in: path
      description: The unique identifier for the user
      required: true
      schema:
        type: string
        format: uuid
        example: c06f3427-3bbe-4d70-9a54-28acda267e48
    XMultiTenantKey:
      name: X-MultiTenantKey
      in: header
      required: false
      schema:
        type: string
      description: >-
        Required when using a Platform API token. The tenant key identifying
        which business to operate on.
  responses:
    GetBeneficiariesResponse:
      description: List of beneficiaries
      content:
        application/json:
          schema:
            type: object
            properties:
              data:
                type: array
                items:
                  $ref: '#/components/schemas/Beneficiary'
              node:
                $ref: '#/components/schemas/node'
          examples:
            beneficiaries:
              summary: List of beneficiaries
              value:
                data:
                  - id: 30e06567-9fa9-48b0-bf67-c54eb49e8b03
                    name: John Doe
                    countryCode: CO
                    currency: COP
                    email: john.doe@example.com
                    paymentDetails:
                      preferredMethod: bank
                      bank:
                        accountName: John Doe
                        accountNumber: '123456789'
                        accountType: Checking
                        bankCode: EXMPCOBB
                        bankName: Colombia Bank
                        currency: COP
                    createdTimestamp: 1748550207
                    lastUpdatedTimestamp: 1748550207
                node:
                  previous: null
                  next: null
    NotFoundError:
      description: Requested resource was not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/NotFoundError'
    InternalError:
      description: Internal error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/InternalError'
  schemas:
    Beneficiary:
      allOf:
        - $ref: '#/components/schemas/CreateBeneficiaryRequest'
        - type: object
          required:
            - id
            - createdTimestamp
            - lastUpdatedTimestamp
          properties:
            id:
              type: string
              format: uuid
              example: 7a7f80a6-1665-4f64-9ef3-d5f90f8f309b
            createdTimestamp:
              type: integer
              description: Unix timestamp when the beneficiary was created
              example: 1748478276
            lastUpdatedTimestamp:
              type: integer
              description: Unix timestamp when the beneficiary was last updated
              example: 1748478276
    node:
      type: object
      description: Node pagination
      properties:
        previous:
          type: string
          nullable: true
          example: null
        next:
          type: string
          nullable: true
          example: ca_123
    NotFoundError:
      description: Not Found
      allOf:
        - $ref: '#/components/schemas/Error'
      example:
        code: resource_not_found
        message: Requested resource could not be found.
    InternalError:
      description: Internal server error
      allOf:
        - $ref: '#/components/schemas/Error'
      example:
        code: internal_error
        message: An unexpected error occurred. Please try again later.
    CreateBeneficiaryRequest:
      type: object
      required:
        - name
        - countryCode
        - currency
        - paymentDetails
      properties:
        name:
          type: string
          example: John Doe
        email:
          type: string
          format: email
          example: john.doe@example.com
        countryCode:
          type: string
          description: The country code of the beneficiary in ISO 3166-1 alpha-2 format
          example: KE
        currency:
          type: string
          description: The currency of the beneficiary in ISO 4217 format
          example: KES
        paymentDetails:
          $ref: '#/components/schemas/paymentDetails'
    Error:
      type: object
      properties:
        code:
          description: A machine parsable error code
          type: string
          enum:
            - invalid_request_body
            - resource_not_found
            - forbidden
            - internal_error
        message:
          description: A human readable message describing the error
          type: string
    paymentDetails:
      type: object
      required:
        - preferredMethod
      properties:
        preferredMethod:
          type: string
          enum:
            - momo
            - bank
            - swift
            - ach
            - wallet
            - crypto
            - proxy
          description: The preferred payment method type
          example: bank
        momo:
          $ref: '#/components/schemas/momoDetails'
        bank:
          $ref: '#/components/schemas/bankDetails'
        swift:
          $ref: '#/components/schemas/swiftDetails'
        ach:
          $ref: '#/components/schemas/achDetails'
        wallet:
          $ref: '#/components/schemas/walletDetails'
        cryptoWallet:
          $ref: '#/components/schemas/cryptoWalletDetails'
        proxy:
          $ref: '#/components/schemas/proxyDetails'
    momoDetails:
      type: object
      properties:
        accountName:
          type: string
          description: The name associated with the mobile money account
          example: John Doe
        provider:
          type: string
          description: The name of the mobile money provider
          example: MTN
        providerCode:
          type: string
          description: The code identifying the mobile money provider
          example: MTN
        phoneNumber:
          $ref: '#/components/schemas/phoneNumber'
        currency:
          type: string
          description: The currency of the mobile money account
          example: GHS
    bankDetails:
      type: object
      properties:
        accountName:
          type: string
          description: The name on the bank account
          example: John Doe
        accountNumber:
          type: string
          description: The bank account number
          example: '1234567890'
        accountType:
          type: string
          description: The type of bank account (e.g., Checking, Savings)
          example: Checking
        ownerType:
          type: string
          description: The type of account owner (e.g., individual, business)
          example: individual
        bankCode:
          type: string
          description: The bank identification code
          example: EXMPJPJT
        bankName:
          type: string
          description: The name of the bank
          example: Gotham City Bank
        branchName:
          type: string
          description: The name of the bank branch
          example: Downtown Branch
        sortCode:
          type: string
          description: The bank sort code (used in some countries like UK)
          example: '401234'
        iban:
          type: string
          description: The International Bank Account Number
          example: GB00000000000000000000
        provider:
          type: string
          description: The platform providing this account (e.g., wise)
          example: wise
        currency:
          type: string
          description: The currency of the bank account
          example: USD
        beneficiaryId:
          $ref: '#/components/schemas/beneficiaryId'
        address:
          $ref: '#/components/schemas/address'
        phoneNumber:
          $ref: '#/components/schemas/phoneNumber'
        email:
          type: string
          format: email
          description: The email address of the account holder
          example: john.doe@example.com
    swiftDetails:
      type: object
      required:
        - currency
        - iban
        - accountName
        - accountNumber
        - bankName
        - swiftCode
        - address
      properties:
        currency:
          type: string
          description: The currency of the bank account
          example: EUR
        iban:
          type: string
          description: The International Bank Account Number
          example: DE00000000000000000000
        accountName:
          type: string
          description: The name on the bank account
          example: John Doe
        accountNumber:
          type: string
          description: The bank account number
          example: '1234567890'
        bankName:
          type: string
          description: The name of the bank
          example: Example Bank
        swiftCode:
          type: string
          description: The SWIFT/BIC code of the bank
          example: EXMPDEFF
        address:
          $ref: '#/components/schemas/address'
    achDetails:
      type: object
      properties:
        bankName:
          type: string
          description: The name of the bank
          example: Example Bank
        accountName:
          type: string
          description: The name on the bank account
          example: John Doe
        routingNumber:
          type: string
          description: The ACH routing number of the bank
          example: '000000000'
        accountNumber:
          type: string
          description: The bank account number
          example: '1234567890'
        accountType:
          type: string
          description: The type of bank account (Checking or Savings)
          example: Checking
        provider:
          type: string
          description: The platform providing this account (e.g., wise)
          example: wise
        address:
          $ref: '#/components/schemas/address'
    walletDetails:
      type: object
      properties:
        type:
          type: string
          description: The type of wallet account
          enum:
            - user
            - business
          example: user
        identifier:
          type: string
          description: The unique identifier for the wallet account
          example: 69a2a928-ed49-4e53-92ec-a72b4ee7eacc
        currency:
          type: string
          description: The currency of the wallet
          example: USD
    cryptoWalletDetails:
      type: object
      properties:
        address:
          type: string
          description: The cryptocurrency wallet address
          example: '0x742d35Cc6634C0532925a3b844Bc454e4438f44e'
        chain:
          type: string
          description: The blockchain network (eth, sol etc)
          example: ETH
        memo:
          type: string
          description: The memo/tag required for certain cryptocurrencies (e.g., XLM, XRP)
          example: '123456'
        type:
          type: string
          description: The type of cryptocurrency (BTC, USDC etc)
          example: USDC
    proxyDetails:
      type: object
      properties:
        accountName:
          type: string
          description: The name associated with the proxy account
          example: John Doe
        ownerType:
          type: string
          description: The type of account owner (individual, business)
          example: individual
        type:
          type: string
          description: The type of proxy payment system
          example: upi
        value:
          type: string
          description: The proxy identifier value
          example: user@upi
        beneficiaryId:
          $ref: '#/components/schemas/beneficiaryId'
        address:
          $ref: '#/components/schemas/address'
        phoneNumber:
          $ref: '#/components/schemas/phoneNumber'
        email:
          type: string
          format: email
          description: The email address of the account holder
          example: john.doe@example.com
        currency:
          type: string
          description: The currency of the proxy account
          example: INR
    phoneNumber:
      type: object
      required:
        - countryCode
        - number
      properties:
        countryCode:
          type: string
          description: The country code of the phone number
          example: '1'
        number:
          type: string
          example: '5551234567'
    beneficiaryId:
      type: object
      description: ID details for the beneficiary
      properties:
        type:
          type: string
          enum:
            - NIT
            - CC
            - CE
            - TI
            - PASS
          description: Type of beneficiary ID
          example: NIT
        value:
          type: string
          description: ID number of the beneficiary
          example: '123456789'
    address:
      type: object
      required:
        - line1
        - city
        - postalCode
        - state
        - countryCode
      properties:
        line1:
          type: string
          description: Address line 1
          example: Lane 1
        line2:
          type: string
          description: Address line 2
          example: Apt 1
        city:
          type: string
          description: The city of the address
          example: Gotham City
        postalCode:
          type: string
          description: The postal code
          example: '10001'
        state:
          type: string
          description: The state for the address
          example: NY
        countryCode:
          type: string
          description: ISO 3166-1 alpha-2 country code
          example: US
  securitySchemes:
    Authorization:
      type: http
      scheme: bearer
      bearerFormat: API_SECRET_KEY

````