Currencycloud Withdrawal Accounts API

Manage withdrawal accounts

Operations 2

GET /withdrawal_accounts/find Find Withdrawal Account #
POST /withdrawal_accounts/{withdrawal_account_id}/pull_funds Pull Funds From Withdrawal Account #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/currencycloud-withdrawal-accounts-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

currencycloud-withdrawal-accounts-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: The Currencycloud API is a robust, predictable, easy-to-use API for converting money between currencies and making payments around the world. Dynamically register sub-accounts to provide white labeled money transfer services to your own customers.
  version: 2.43.0
  title: Currencycloud Withdrawal Accounts API
  termsOfService: https://www.currencycloud.com/terms-and-conditions/
  contact:
    name: support
    email: support@currencycloud.com
servers:
- url: https://devapi.currencycloud.com/v2
tags:
- name: Withdrawal Accounts
  description: Manage withdrawal accounts
paths:
  /withdrawal_accounts/find:
    get:
      tags:
      - Withdrawal Accounts
      x-api-group: manage
      summary: Find Withdrawal Account
      description: Lists all withdrawal accounts assigned to an account.
      operationId: FindWithdrawlAccount
      parameters:
      - name: X-Auth-Token
        in: header
        required: true
        description: Authentication token
        schema:
          type: string
          minLength: 32
      - name: account_id
        in: query
        required: false
        description: The UUID of a sub-account you want to see the withdrawal accounts for. If omitted the withdrawal accounts for the house account and all sub-accounts are returned.
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Success.
          headers:
            X-Request-Id:
              description: A unique reference for the request.
              schema:
                type: string
          content:
            application/json:
              schema:
                type: object
                properties:
                  withdrawal_accounts:
                    type: array
                    items:
                      $ref: '#/components/schemas/WithdrawalAccount'
                  pagination:
                    $ref: '#/components/schemas/Pagination'
        '400':
          description: Client error.
          x-errors:
          - code: account_id_is_not_valid_uuid
            category: account_id
            message: account_id should be in UUID format
            params: ''
          headers:
            X-Request-Id:
              description: A unique reference for the request.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetWithdrawalAccountError'
        '401':
          description: Unauthorized.
          x-errors:
          - code: invalid_supplied_credentials
            category: username
            message: Authentication failed with the supplied credentials
            params: ''
          headers:
            X-Request-Id:
              description: A unique reference for the request.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
        '403':
          description: Forbidden.
          x-errors:
          - code: permission_denied
            message: permission_denied
            params: ''
          headers:
            X-Request-Id:
              description: A unique reference for the request.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
        '404':
          description: Resource not found.
          x-errors:
          - code: account_not_found
            message: Account was not found for this id
            params: ''
          headers:
            X-Request-Id:
              description: A unique reference for the request.
              schema:
                type: string
        '429':
          description: Too many requests.
          x-errors:
          - code: too_many_requests
            category: base
            message: Too many requests have been made to the api. Please refer to the Developer Center for more information
            params: ''
          headers:
            X-Request-Id:
              description: A unique reference for the request.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitError'
        '500':
          description: Internal server error
          x-errors:
          - code: internal_server_error
            category: base
            message: Internal server error
            params: ''
          headers:
            X-Request-Id:
              description: A unique reference for the request.
              schema:
                type: string
        '503':
          description: Service is temporary unavailable
          x-errors:
          - code: service_unavailable
            category: base
            message: Service is temporarily unavailable
            params: ''
          headers:
            X-Request-Id:
              description: A unique reference for the request.
              schema:
                type: string
        default:
          description: Unexpected error.
          headers:
            X-Request-Id:
              description: A unique reference for the request.
              schema:
                type: string
  /withdrawal_accounts/{withdrawal_account_id}/pull_funds:
    post:
      tags:
      - Withdrawal Accounts
      x-api-group: manage
      summary: Pull Funds From Withdrawal Account
      description: Submits an ACH pull request from a specific withdrawal account. The funds will be pulled into the account the specified withdrawal account is related to.
      operationId: PullFundsFromWithdrawalAccount
      parameters:
      - name: X-Auth-Token
        in: header
        required: true
        description: Authentication token
        schema:
          type: string
          minLength: 32
      - name: withdrawal_account_id
        in: path
        required: true
        description: The withdrawal account ID you want to pull the funds from. The funds will be pulled into the account ID related to this withdrawal account.
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Success.
          headers:
            X-Request-Id:
              description: A unique reference for the request.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WithdrawalPullFundsRequestDetails'
        '400':
          description: Client error.
          x-errors:
          - code: withdrawal_account_not_found
            category: id
            message: No withdrawal account found for this account
            params: ''
          - code: withdrawal_account_id_is_not_valid_uuid
            category: id
            message: withdrawal_account_id should be in UUID format
            params: ''
          - code: reference_is_required
            category: reference
            message: reference is required
            params: ''
          - code: reference_invalid
            category: reference
            message: Only characters, digits, spaces, '_' and '-' allowed
            params: ''
          - code: reference_too_long
            category: reference
            message: Reference cannot be longer than 10 characters
            params: ''
          - code: amount_is_required
            category: amount
            message: amount is required
            params: ''
          - code: amount_is_in_invalid_format
            category: amount
            message: amount should be of numeric type with 2 dp
            params: '{ "type" => "numeric_with_precision", "precision" => 2 }'
          - code: amount_not_positive
            category: amount
            message: Amount should be positive
            params: ''
          - code: amount_not_allowed
            category: amount
            message: Amount should be up to 100000 limit
            params: ''
          headers:
            X-Request-Id:
              description: A unique reference for the request.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WithdrawalPullFundsRequestError'
        '401':
          description: Unauthorized.
          x-errors:
          - code: invalid_supplied_credentials
            category: username
            message: Authentication failed with the supplied credentials
            params: ''
          headers:
            X-Request-Id:
              description: A unique reference for the request.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
        '403':
          description: Forbidden.
          x-errors:
          - code: permission_denied
            message: Permission denied
            params: ''
          headers:
            X-Request-Id:
              description: A unique reference for the request.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
        '404':
          description: Resource not found.
          x-errors:
          - code: account_not_found
            message: Account was not found for this id
            params: ''
          headers:
            X-Request-Id:
              description: A unique reference for the request.
              schema:
                type: string
        '429':
          description: Too many requests.
          x-errors:
          - code: too_many_requests
            category: base
            message: Too many requests have been made to the api. Please refer to the Developer Center for more information
            params: ''
          headers:
            X-Request-Id:
              description: A unique reference for the request.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitError'
        '500':
          description: Internal server error
          x-errors:
          - code: internal_server_error
            category: base
            message: Internal server error
            params: ''
          headers:
            X-Request-Id:
              description: A unique reference for the request.
              schema:
                type: string
        '503':
          description: Service is temporary unavailable
          x-errors:
          - code: service_unavailable
            category: base
            message: Service is temporarily unavailable
            params: ''
          headers:
            X-Request-Id:
              description: A unique reference for the request.
              schema:
                type: string
        default:
          description: Unexpected error.
          headers:
            X-Request-Id:
              description: A unique reference for the request.
              schema:
                type: string
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                reference:
                  type: string
                  maxLength: 255
                  minLength: 1
                  description: The reference you want on the statement.
                amount:
                  type: number
                  pattern: ^\d+(\.\d{1,3})?$
                  description: The amount of funds to pull in USD.
              required:
              - reference
              - amount
components:
  schemas:
    UnauthorizedError:
      type: object
      description: Authorization error.
      required:
      - error_code
      - error_messages
      properties:
        error_code:
          type: string
          description: A high-level error code for the whole request.
          enum:
          - auth_failed
        error_messages:
          type: object
          description: Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed.
          additionalProperties:
            type: array
            items:
              type: object
              description: An object that represents one of the reasons why the input parameter failed.
              required:
              - code
              - message
              properties:
                code:
                  type: string
                  description: A unique code that identifies this error. It can be used for translations.
                message:
                  type: string
                  description: An explanation of the error in English.
                params:
                  type: object
                  default: {}
                  description: Relevant validation rules that failed. This can be used for translations.
                  example:
                    minlength: 1
                    maxlength: 255
      example:
        error_code: auth_failed
        error_messages:
          api_key:
          - code: invalid_supplied_credentials
            message: Authentication failed with the supplied credentials
            params: {}
    WithdrawalPullFundsRequestDetails:
      type: object
      description: Details of a Withdrawal Pull Request.
      required:
      - id
      - withdrawal_account_id
      - reference
      - amount
      - created_at
      additionalProperties: false
      properties:
        id:
          type: string
          description: The ID for the Pull Request.
        withdrawal_account_id:
          type: string
          description: The ID of the withdrawal account to pull funds from.
        reference:
          type: string
          description: The reference provided at the time the request was made.
        amount:
          type: string
          description: The amount to be pulled from the withdrawal account.
        created_at:
          type: string
          format: date-time
          description: Date the pull funds request record was created.
      example:
        id: 82214b7e-9192-4d9e-82cf-e2c4b1670f23
        withdrawal_account_id: ffb9fdea-312b-4bc8-beb9-5e44ee2d2a8c
        reference: Reference
        amount: 1000.0
        created_at: '2019-04-18T08:17:22+00:00'
    WithdrawalPullFundsRequestError:
      type: object
      description: 'Client error information for the Post WithdrawalAccount PullFunds endpoint.

        '
      required:
      - error_code
      - error_messages
      properties:
        error_code:
          type: string
          description: A high-level error code for the whole request.
        error_messages:
          type: object
          description: Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed.
          additionalProperties:
            type: array
            items:
              type: object
              description: An object that represents one of the reasons why the input parameter failed.
              required:
              - code
              - message
              properties:
                code:
                  type: string
                  description: A unique code that identifies this error. It can be used for translations.
                message:
                  type: string
                  description: An explanation of the error in English.
                params:
                  type: object
                  default: {}
                  description: Relevant validation rules that failed. This can be used for translations.
                  example:
                    minlength: 1
                    maxlength: 255
    WithdrawalAccount:
      type: object
      description: Withdrawal account
      required:
      - id
      - account_name
      - account_holder_name
      - account_holder_dob
      - routing_code
      - account_number
      - currency
      - account_id
      additionalProperties: false
      properties:
        id:
          type: string
          description: The UUID of the withdrawal account.
        account_name:
          type: string
          description: The name of the withdrawal account.
        account_holder_name:
          type: string
          description: The name of the withdrawal account holder.
        account_holder_dob:
          type: string
          format: date
          description: The DOB of the withdrawal account holder.
        routing_code:
          type: string
          description: The routing code of the withdrawal account.
        account_number:
          type: string
          description: The account number of the withdrawal account.
        currency:
          type: string
          description: The currency of the withdrawal account.
        account_id:
          type: string
          description: The UUID of the CurrencyCloud account the withdrawal account is linked to.
      example:
        id: ffb9fdea-312b-4bc8-beb9-5e44ee2d2a8c
        account_name: TestAccount
        account_holder_name: John Smith
        account_holder_dob: '1987-05-12'
        routing_code: 987654321
        account_number: 0123456789
        currency: USD
        account_id: 82214b7e-9192-4d9e-82cf-e2c4b1670f23
    GetWithdrawalAccountError:
      type: object
      description: 'Client error information for the Get WithdrawalAccount endpoint.

        '
      required:
      - error_code
      - error_messages
      properties:
        error_code:
          type: string
          description: A high-level error code for the whole request.
        error_messages:
          type: object
          description: Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed.
          additionalProperties:
            type: array
            items:
              type: object
              description: An object that represents one of the reasons why the input parameter failed.
              required:
              - code
              - message
              properties:
                code:
                  type: string
                  description: A unique code that identifies this error. It can be used for translations.
                message:
                  type: string
                  description: An explanation of the error in English.
                params:
                  type: object
                  default: {}
                  description: Relevant validation rules that failed. This can be used for translations.
                  example:
                    minlength: 1
                    maxlength: 255
    Pagination:
      type: object
      description: Pagination.
      properties:
        total_entries:
          type: integer
        total_pages:
          type: integer
        current_page:
          type: integer
        per_page:
          type: integer
          description: Number of results per page.
        previous_page:
          type: integer
        next_page:
          type: integer
        order:
          type: string
          description: The field name by which the results are sorted.
        order_asc_desc:
          type: string
          enum:
          - asc
          - desc
          default: asc
          description: Whether results are sorted in ascending or descending order.
      example:
        total_entries: 1
        total_pages: 1
        current_page: 1
        per_page: 25
        previous_page: -1
        next_page: 2
        order: created_at
        order_asc_desc: asc
    RateLimitError:
      type: object
      description: Too many requests.
      required:
      - error_code
      - error_messages
      properties:
        error_code:
          type: string
          description: A high-level error code for the whole request.
        error_messages:
          type: object
          description: Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed.
          additionalProperties:
            type: array
            items:
              type: object
              description: An object that represents one of the reasons why the input parameter failed.
              required:
              - code
              - message
              properties:
                code:
                  type: string
                  description: A unique code that identifies this validation/error.
                message:
                  type: string
                  description: An explanation of the error in English.
                params:
                  type: object
                  default: {}
                  description: Relevant validation rules that failed. This can be used for translations.
                  example:
                    minlength: 1
                    maxlength: 255
    ForbiddenError:
      type: object
      description: Permission error.
      required:
      - error_code
      - error_messages
      properties:
        error_code:
          type: string
          description: A high-level error code for the whole request.
          enum:
          - auth_failed
        error_messages:
          type: object
          description: Detailed error information on what permissions are missing so that the request could not be fulfilled
          additionalProperties:
            type: array
            items:
              type: object
              description: An object that represents the reasons why the request was not permitted.
              required:
              - code
              - message
              properties:
                code:
                  type: string
                  description: A unique code that identifies this error. It can be used for translations.
                message:
                  type: string
                  description: An explanation of the error in English.
                params:
                  type: object
                  default: {}
                  description: Relevant validation rules that failed. This can be used for translations.
                  example:
                    minlength: 1
                    maxlength: 255
externalDocs:
  description: API overview
  url: https://www.currencycloud.com/developers/