openapi: 3.2.0 info: title: Network Payouts API version: 1.0.0 servers: - url: https://api.cash.app/network/v1 description: Production - url: https://sandbox.api.cash.app/network/v1 description: Sandbox tags: - name: payouts paths: /payouts: get: operationId: list-payouts summary: List payouts description: ' Payouts is an **early access** feature. We''re actively improving this API based on your feedback. Early access features come with some caveats: * May evolve rapidly, requiring integration updates * Not subject to our 10 year version support policy * Not subject to SLAs (unless specified in a contract) Returns a list of payouts matching the given query parameters. **This endpoint is rate limited to 100 QPS.** Scopes: `PAYOUTS_READ`' tags: - payouts parameters: - name: cursor in: query description: A pagination cursor returned by a previous call to this endpoint. Provide this cursor to retrieve the next set of results for the original query. required: false schema: type: string - name: merchant_id in: query description: Filters results to include only payouts made to a merchant that matches the given ID. required: false schema: type: string - name: customer_id in: query description: Filters results to include only payouts made to a customer that matches the given ID. required: false schema: type: string - name: limit in: query description: Maximum number of payouts to return. required: false schema: type: integer default: 50 - name: Accept in: header required: true schema: type: string - name: X-Region in: header required: true schema: type: string - name: X-Signature in: header required: true schema: type: string - name: User-Agent in: header required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Payouts_list-payouts_Response_200' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' post: operationId: create-payout summary: Create payout description: ' Payouts is an **early access** feature. We''re actively improving this API based on your feedback. Early access features come with some caveats: * May evolve rapidly, requiring integration updates * Not subject to our 10 year version support policy * Not subject to SLAs (unless specified in a contract) Creates a payout to a customer. A payout allows a merchant to send money to a customer''s Cash App account. **This endpoint is not rate-limited.** Scopes: `PAYOUTS_WRITE`' tags: - payouts parameters: - name: Accept in: header required: true schema: type: string - name: X-Region in: header required: true schema: type: string - name: X-Signature in: header required: true schema: type: string - name: User-Agent in: header required: true schema: type: string responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/Payouts_create-payout_Response_201' '400': description: "Bad Request\n\nIf a `PAYOUT_DECLINE_*` error is returned, the payout will still be created, but with a `DECLINED` status. This payout will then appear in the response payload.\n\n\n**`PAYOUT_DECLINE_*` errors consume one-time use grants.**\n This means you must repeat the Customer Request flow to get a new grant if you want to try taking the payout again. All other errors will not consume grants.\n " content: application/json: schema: $ref: '#/components/schemas/Create-payoutRequestBadRequestError' requestBody: content: application/json: schema: type: object properties: idempotency_key: $ref: '#/components/schemas/IdempotencyKey' payout: $ref: '#/components/schemas/PayoutsPostRequestBodyContentApplicationJsonSchemaPayout' description: Data about the payout to create. required: - idempotency_key - payout /payouts/{payout_id}: get: operationId: retrieve-payout summary: Retrieve payout description: ' Payouts is an **early access** feature. We''re actively improving this API based on your feedback. Early access features come with some caveats: * May evolve rapidly, requiring integration updates * Not subject to our 10 year version support policy * Not subject to SLAs (unless specified in a contract) Retrieves a payout by its ID. **This endpoint is not rate-limited.** Scopes: `PAYOUTS_READ`' tags: - payouts parameters: - name: payout_id in: path required: true schema: type: string - name: Accept in: header required: true schema: type: string - name: X-Region in: header required: true schema: type: string - name: X-Signature in: header required: true schema: type: string - name: User-Agent in: header required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Payouts_retrieve-payout_Response_200' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Retrieve-payoutRequestNotFoundError' components: schemas: PayoutStatus: type: string enum: - CAPTURED - DECLINED - AUTHORIZED - INITIATED description: 'The step of the payout processing lifecycle that this payout is currently at. - `CAPTURED` - Payout is captured and funds have been sent - `DECLINED` - Payout was declined - `AUTHORIZED` - Payout is authorized but not yet captured - `INITIATED` - Payout has been created but no money movement has happened yet' title: PayoutStatus Payouts_retrieve-payout_Response_200: type: object properties: payout: $ref: '#/components/schemas/Payout' required: - payout title: Payouts_retrieve-payout_Response_200 Retrieve-payoutRequestNotFoundError: type: object properties: errors: type: array items: $ref: '#/components/schemas/Error' required: - errors title: Retrieve-payoutRequestNotFoundError Create-payoutRequestBadRequestError: type: object properties: errors: type: array items: $ref: '#/components/schemas/Error' description: 'A list of errors indicating why the request failed. Min number of items: `1`' payout: $ref: '#/components/schemas/Payout' required: - errors title: Create-payoutRequestBadRequestError ErrorResponse: type: object properties: errors: type: array items: $ref: '#/components/schemas/Error' description: 'A list of errors that occurred while processing the request. Min number of items: `1`' required: - errors title: ErrorResponse ErrorCategory: type: string enum: - API_ERROR - AUTHENTICATION_ERROR - BRAND_ERROR - DISPUTE_ERROR - MERCHANT_ERROR - INVALID_REQUEST_ERROR - PAYMENT_PROCESSING_ERROR - RATE_LIMIT_ERROR - WEBHOOK_ERROR - API_KEY_ERROR - GRANT_ERROR description: The high-level reason the error occurred. title: ErrorCategory Error: type: object properties: category: $ref: '#/components/schemas/ErrorCategory' description: The high-level reason the error occurred. code: type: string description: 'A unique identifier for the specific type of error that occurred. For more information, see [Error Code Reference](/cash-app-pay-partner-api/guides/technical-guides/api-fundamentals/errors/error-code-reference). Min length: `1`' detail: type: string description: 'Human-readable description of why the error occurred and how to resolve it. Min length: `1`' field: type: string description: 'The field in the request that caused the error, using array and object dot notation. Min length: `1`' required: - category - code description: Represents an error encountered during a request to the API. title: Error Payout: type: object properties: payout_id: type: string description: 'Unique identifier for this payout issued by Cash App. Min length: `1` Max length: `128`' grant_id: type: string description: 'ID of the grant used to create this payout. Min length: `1` Max length: `256`' amount: type: integer description: 'The amount of money to pay, in the lowest denomination of currency on the payout. This is the _original_ amount authorized when the payout was created. Min value: `1`' currency: $ref: '#/components/schemas/Currency' status: $ref: '#/components/schemas/PayoutStatus' merchant_id: type: string description: 'ID of the merchant that made this payout. Min length: `1` Max length: `128`' customer_id: type: string description: 'ID of the customer that received this payout. Min length: `1` Max length: `128`' purpose: $ref: '#/components/schemas/PayoutPurpose' authorized_amount: type: integer description: 'The amount of money on this payout that has been authorized. The amount will be in the lowest denomination of the currency on the payout. Min value: `0`' captured_amount: type: integer description: 'The amount of money on this payout that has been allocated for settlement. The amount will be in the lowest denomination of the currency on the payout. Min value: `0`' declined_amount: type: integer description: 'The amount of money on this payout that was declined. The amount will be in the lowest denomination of the currency on the payout. Min value: `0`' voided_amount: type: integer description: 'The amount of money on this payout that is no longer authorized and has been released. The amount will be in the lowest denomination of the currency on the payout. Min value: `0`' reference_id: type: string description: 'A user-defined identifier for this payout, typically used to associate the payout with a record in an external system. Min length: `1` Max length: `1024`' fee_amount: type: number format: double description: The total fee amount that was charged to the merchant for processing this payout. fee_rate: $ref: '#/components/schemas/FeeRate' description: The breakdown of the fee that was charged to the merchant for processing this payout. note: type: string description: 'A note about the payout that will be shown to the customer. Min length: `1` Max length: `1024`' metadata: $ref: '#/components/schemas/Metadata' decline_errors: type: array items: $ref: '#/components/schemas/Error' description: 'If the payout was declined, contains a list of the reasons why it was declined. Min number of items: `1`' required: - payout_id - grant_id - amount - currency - status - merchant_id - purpose title: Payout Payouts_list-payouts_Response_200: type: object properties: payouts: type: array items: $ref: '#/components/schemas/Payout' description: List of payouts matching the given query parameters. cursor: type: string description: The pagination cursor to be used in a subsequent request. If empty, this is the final response. required: - payouts title: Payouts_list-payouts_Response_200 FeeRate: type: object properties: basis_points: type: integer description: The variable fee charged for processing the payment expressed as 1/100th of a percentage. fixed_amount: type: integer description: "The amount charged for processing the payment, in the lowest denomination of currency on the payment.\n **Note: The currency for the fee is found on the fee plan.**" description: A fee rate contains the components of a fee charged by Cash App to partners for a given payment. title: FeeRate Currency: type: string enum: - USD description: 'Indicates the country associated with an entity. Values are from the [ISO-4217 Alpha-3](https://www.iso.org/iso-4217-currency-codes.html) specification. Current values: - `USD`: United States Dollar' title: Currency Metadata: type: object additionalProperties: type: string description: 'Freeform key-value pairs of arbitrary data associated with this resource. Keys and values must be passed as strings and not contain any personally identifiable information (PII). Min keys: `0` Max keys: `50` > Note: Nested keys are not supported.' title: Metadata PayoutsPostRequestBodyContentApplicationJsonSchemaPayout: type: object properties: amount: type: integer description: 'The amount of money to pay the customer, in the lowest denomination of currency for the payout. Min value: `1`' currency: $ref: '#/components/schemas/Currency' merchant_id: type: string description: 'ID of the merchant making the payout. Min length: `1` Max length: `128`' grant_id: type: string description: 'A grant ID from the Customer Request API that indicates permission to make the payout. Min length: `1` Max length: `256`' purpose: $ref: '#/components/schemas/PayoutPurpose' reference_id: type: string description: 'A user-defined identifier for this payout, typically used to associate the payout with a record in an external system. Min length: `1` Max length: `1024`' capture: type: boolean default: true description: 'Whether or not to automatically capture the payout once it''s created. Must be true until authorization and void payout states are supported. Default: `true`' note: type: string description: 'A note about the payout that will be shown to the customer. Min length: `1` Max length: `1024`' metadata: $ref: '#/components/schemas/Metadata' required: - amount - currency - merchant_id - grant_id - purpose - capture - note description: Data about the payout to create. title: PayoutsPostRequestBodyContentApplicationJsonSchemaPayout Payouts_create-payout_Response_201: type: object properties: payout: $ref: '#/components/schemas/Payout' title: Payouts_create-payout_Response_201 PayoutPurpose: type: string enum: - SERVICES description: The purpose or intent of the payout. title: PayoutPurpose IdempotencyKey: type: string description: A unique identifier which can be used by Cash App to de-duplicate retries of this request, making it idempotent. For more information, see [Idempotency](/cash-app-pay-partner-api/guides/technical-guides/api-fundamentals/idempotency). title: IdempotencyKey