PayStand Withdrawals API

The Withdrawals API from PayStand — 3 operation(s) for withdrawals.

Operations 3

POST /withdrawals Create a withdrawal #
GET /withdrawals/all List all withdrawals #
PUT /withdrawals/settings Manage settings #

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/paystand:paystand-withdrawals-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

paystand-withdrawals-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Sandbox Secure Withdrawals API
  version: 3.2.1
servers:
- url: https://api.paystand.co/v3
security:
- sec0: []
  sec1: []
  sec2: []
  sec3: []
tags:
- name: Withdrawals
paths:
  /withdrawals:
    post:
      summary: Create a withdrawal
      description: 'Create a withdrawal to send funds from a Paystand account to an external bank account. Provide an amount, currency, and bankId to create a withdrawal. Optionally provide a short description and meta to help describe and link the withdrawal to an external system. Specify an "accountKey" to use a specific paystand account as a source of funds for the withdrawal. The "default" paystand account for the customer will be used if no "accountKey" is specified in the request.


        The withdrawal amount may not exceed the current available balance. The current available balance is determined by summing all payments with status "paid" and subtracting any refunds, disputes, holds, fees, and/or withdrawals. Withdrawals will usually appear in the bank account within two business days of the withdrawal being submitted.'
      operationId: create-withdrawal
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                amount:
                  type: string
                  description: The amount of the withdrawal
                  default: '5.10'
                currency:
                  type: string
                  description: The currency for the withdrawal
                  default: USD
                bankId:
                  type: string
                  description: The id of the bank to send funds to.
                  default: oixj37gx9bjbn3f13rt6dou4
                accountKey:
                  type: string
                  description: The key of the account to be used as a source of funds
                meta:
                  type: string
                  description: Optional key/values to help link the withdrawal to an external system.
                  default: '{}'
                  format: json
                description:
                  type: string
                  description: An optional description of the withdrawal.
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value: "{\n\t\"id\":\"x9jqrxtekqgdgtuikt5bn3lk\",\n  \"object\":\"withdrawal\",\n  \"amount\":\"5.10\",\n  \"currency\":\"USD\",\n  \"bankId\":\"oixj37gx9bjbn3f13rt6dou4\",\n  \"meta\" :{},\n  \"status\":\"posted\",\n  \"created\":\"2015-10-28T22:57:00.000Z\",\n  \"lastUpdated\":\"2015-10-28T22:57:03.000Z\"\n}"
              schema:
                type: object
                properties:
                  id:
                    type: string
                    example: x9jqrxtekqgdgtuikt5bn3lk
                  object:
                    type: string
                    example: withdrawal
                  amount:
                    type: string
                    example: '5.10'
                  currency:
                    type: string
                    example: USD
                  bankId:
                    type: string
                    example: oixj37gx9bjbn3f13rt6dou4
                  meta:
                    type: object
                    properties: {}
                  status:
                    type: string
                    example: posted
                  created:
                    type: string
                    example: '2015-10-28T22:57:00.000Z'
                  lastUpdated:
                    type: string
                    example: '2015-10-28T22:57:03.000Z'
      deprecated: false
      tags:
      - Withdrawals
  /withdrawals/all:
    get:
      summary: List all withdrawals
      description: Returns a list of all withdrawals you’ve previously created. The withdrawals are returned in sorted order, with the most recent refunds appearing first. For convenience, pagination is available with the limit and offset parameters.
      operationId: list-all-withdrawals
      parameters:
      - name: startDate
        in: query
        description: Date string that detonates records greater than or equal to the created date
        schema:
          type: string
          format: date
          default: '2014-01-01'
      - name: endDate
        in: query
        description: Date string that detonates records less than or equal to the created date
        schema:
          type: string
          format: date
          default: '2020-02-02'
      - name: format
        in: query
        description: 'Defines how data should be return, accepted values: ["json", "csv"]'
        schema:
          type: string
          default: json
      - name: offset
        in: query
        description: Use for pagination, how many records should the query skip
        schema:
          type: integer
          format: int32
          default: 0
      - name: limit
        in: query
        description: Defines how many values should it return, accepted value range between 1 and 200
        schema:
          type: integer
          format: int32
          default: 50
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value: "{\n  \"results\": [\n    {\n      \"id\": \"x9jqrxtekqgdgtuikt5bn3lk\",\n      \"object\": \"withdrawal\",\n      \"amount\": \"5.10\",\n      \"currency\": \"USD\",\n      \"bankId\": \"oixj37gx9bjbn3f13rt6dou4\",\n      \"meta\": {\n      },\n      \"status\": \"posted\",\n      \"created\": \"2015-10-28T22:57:00.000Z\",\n      \"lastUpdated\": \"2015-10-28T22:57:03.000Z\"\n    }\n  ],\n  \"count\": 1,\n  \"settings\": {\n    \"limit\": 50,\n    \"offset\": 0,\n    \"order\": \"created DESC\"\n  }\n}"
              schema:
                type: object
                properties:
                  results:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          example: x9jqrxtekqgdgtuikt5bn3lk
                        object:
                          type: string
                          example: withdrawal
                        amount:
                          type: string
                          example: '5.10'
                        currency:
                          type: string
                          example: USD
                        bankId:
                          type: string
                          example: oixj37gx9bjbn3f13rt6dou4
                        meta:
                          type: object
                          properties: {}
                        status:
                          type: string
                          example: posted
                        created:
                          type: string
                          example: '2015-10-28T22:57:00.000Z'
                        lastUpdated:
                          type: string
                          example: '2015-10-28T22:57:03.000Z'
                  count:
                    type: integer
                    example: 1
                    default: 0
                  settings:
                    type: object
                    properties:
                      limit:
                        type: integer
                        example: 50
                        default: 0
                      offset:
                        type: integer
                        example: 0
                        default: 0
                      order:
                        type: string
                        example: created DESC
      deprecated: false
      tags:
      - Withdrawals
  /withdrawals/settings:
    put:
      summary: Manage settings
      description: 'Withdrawals can be scheduled to automatically be sent daily or weekly. You can configure auto-withdrawals for a customer by managing their withdrawal settings. When the schedule runs, all available funds will attempt to be withdrawn. One withdrawal will be created for each account. Each account can be configured to have their funds sent to a different bank account.


        The order of accounts listed in "active" is very important. When the auto-withdrawal schedule runs, withdrawals will attempt to draw from the accounts in the order given. However, if any accounts carry a negative balance, it will impact the maximum amount that can be withdrawn from any accounts with a positive balance. As a result, if there are active accounts with a negative balance, active accounts with a positive balance may not be able to withdraw all of their funds. The "active" list acts as a priority list of which accounts should take precedence over others.'
      operationId: update-an-auto-withdrawal-settings
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                auto:
                  type: object
                  description: The settings for managing automated withdrawals.
                  properties: {}
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value: "{\n  \"auto\": {\n    \"frequency\": \"daily\",\n    \"active\": [\"default\", \"california_funds\"],\n    \"accounts\": {\n      \"default\": {\n        \"bankId\": \"8bce66a6217146048061b67c\"\n      },\n      \"california_funds\": {\n        \"bankId\": \"bfccfdffe5444323b9d43a25\"\n      }\n    }\n  }\n}"
              schema:
                type: object
                properties:
                  auto:
                    type: object
                    properties:
                      frequency:
                        type: string
                        example: daily
                      active:
                        type: array
                        items:
                          type: string
                          example: default
                      accounts:
                        type: object
                        properties:
                          default:
                            type: object
                            properties:
                              bankId:
                                type: string
                                example: 8bce66a6217146048061b67c
                          california_funds:
                            type: object
                            properties:
                              bankId:
                                type: string
                                example: bfccfdffe5444323b9d43a25
      deprecated: false
      tags:
      - Withdrawals
components:
  securitySchemes:
    sec0:
      type: apiKey
      in: header
      name: X-CUSTOMER-ID
      x-default: axjf9rjo9o6ojp5kcya7vle0
    sec1:
      type: apiKey
      in: header
      name: Authorization
      x-bearer-format: bearer
      x-default: zGwAN7EfU9HYsGlcIQGGBKZ75Xug1Zdy
    sec2:
      type: apiKey
      in: header
      name: Accept
      x-default: application/json
    sec3:
      type: apiKey
      in: header
      name: Content-Type
      x-default: application/json
x-readme-fauxas: true
x-provenance:
  method: searched
  source: https://developers.paystand.com/reference
  harvested: '2026-10-14'
  tool: harvest-readme-openapi.py
  note: Assembled verbatim from the OpenAPI definition ReadMe embeds in each operation page of the provider's developer portal; paths and components merged by API title, nothing authored.
  assembled_from:
  - https://developers.paystand.com/reference/balance-summary.md
  - https://developers.paystand.com/reference/create-a-payer.md
  - https://developers.paystand.com/reference/create-an-account.md
  - https://developers.paystand.com/reference/create-bank.md
  - https://developers.paystand.com/reference/create-payment.md
  - https://developers.paystand.com/reference/create-withdrawal.md
  - https://developers.paystand.com/reference/get-all-payments.md
  - https://developers.paystand.com/reference/list-all-refunds.md
  - https://developers.paystand.com/reference/list-all-transfers.md
  - https://developers.paystand.com/reference/list-all-withdrawals.md
  - https://developers.paystand.com/reference/update-an-auto-withdrawal-settings.md
  merge:
    pages: 11
    deduped: 40
    conflicts_kept_first: 0