Cash App Pay Network API

Server-side REST API that registers merchants and processes payments using grants - the core Cash App Pay payment-processing surface for PSP partners.

OpenAPI Specification

cash-app-network-api-openapi.json Raw ↑
{"openapi":"3.1.0","info":{"title":"Network API","version":"1.0.0"},"paths":{"/brands":{"get":{"operationId":"list-brands","summary":"List brands","description":"Returns a list of brands matching the given query parameters.\n\n**This endpoint is rate limited to 50 QPS.**\n\nScopes: `BRANDS_READ`","tags":["brands"],"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":"limit","in":"query","description":"Maximum number of brands to return.","required":false,"schema":{"type":"integer","default":50}},{"name":"reference_id","in":"query","description":"Filters results to only include brands with a `reference_id` matching the given value.","required":false,"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/Brands_list-brands_Response_200"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"operationId":"create-brand","summary":"Create brand","description":"Creates a new brand with the given attributes.\n\n**This endpoint is not rate limited.**\n\nScopes: `BRANDS_WRITE`","tags":["brands"],"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/Brands_create-brand_Response_201"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"requestBody":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"idempotency_key":{"$ref":"#/components/schemas/IdempotencyKey"},"brand":{"$ref":"#/components/schemas/BrandsPostRequestBodyContentApplicationJsonSchemaBrand","description":"Details about the brand to create."}},"required":["idempotency_key","brand"]}}}}},"put":{"operationId":"upsert-brand","summary":"Upsert brand","description":"Creates or updates a brand based on the brand's `reference_id`.\n\nIf a brand with a matching `reference_id` is found, \nit will be updated. Ensure proper mapping; if no matching brand is found, \na new one will be created. \n\nThe HTTP response code (`200 OK` or `201 Created`) indicates\nwhether the resource was updated or created, respectively.\n\n<Note>\n\n `brand_id` is the primary unique identifier for all Brand APIs.\n Be cautious when using `reference_id` as a unique identifier. \n</Note>\n\n**This endpoint is not rate limited.**\n\nScopes: `BRANDS_WRITE`","tags":["brands"],"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":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Brands_upsert-brand_Response_200"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"requestBody":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"brand":{"$ref":"#/components/schemas/BrandsPutRequestBodyContentApplicationJsonSchemaBrand","description":"Details about the brand to create or update."}},"required":["brand"]}}}}}},"/brands/{brand_id}":{"get":{"operationId":"retrieve-brand","summary":"Retrieve brand","description":"Returns a brand matching the given `brand_id`.\n\n**This endpoint is not rate limited.**\n\nScopes: `BRANDS_READ`","tags":["brands"],"parameters":[{"name":"brand_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/Brands_retrieve-brand_Response_200"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"patch":{"operationId":"update-brand","summary":"Update brand","description":"Updates a brand matching the provided `brand_id` with the given attributes.\n\nTo clear a field, set it to `null`. Fields that are not provided in the request will not be changed.\n\n**This endpoint is not rate limited.**\n\nScopes: `BRANDS_WRITE`","tags":["brands"],"parameters":[{"name":"brand_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/Brands_update-brand_Response_200"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"requestBody":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"brand":{"$ref":"#/components/schemas/BrandsBrandIdPatchRequestBodyContentApplicationJsonSchemaBrand","description":"Details about the brand to update"}},"required":["brand"]}}}}}},"/merchants":{"get":{"operationId":"list-merchants","summary":"List merchants","description":"Returns a list of merchants matching the given query parameters.\n\n**This endpoint is rate limited to 50 QPS.**\n\nScopes: `MERCHANTS_READ`","tags":["merchants"],"parameters":[{"name":"reference_id","in":"query","description":"Filters results to only include merchants with a `reference_id` matching the given value.","required":false,"schema":{"type":"string"}},{"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":"limit","in":"query","description":"Maximum number of merchants 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/Merchants_list-merchants_Response_200"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/List-merchantsRequestBadRequestError"}}}}}},"post":{"operationId":"create-merchant","summary":"Create merchant","description":"Creates a new merchant. Merchants must have an `address` or `site_url` set.\n\n**This endpoint is not rate limited.**\n\nScopes: `MERCHANTS_WRITE`","tags":["merchants"],"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/Merchants_create-merchant_Response_201"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"requestBody":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"idempotency_key":{"$ref":"#/components/schemas/IdempotencyKey"},"merchant":{"$ref":"#/components/schemas/MerchantsPostRequestBodyContentApplicationJsonSchemaMerchant","description":"Details about the merchant to create."}},"required":["idempotency_key","merchant"]}}}}},"put":{"operationId":"upsert-merchant","summary":"Upsert merchant","description":"Creates or updates a merchant based on the merchant's `reference_id`.\n\nIf a merchant with a matching `reference_id` is found, \nit will be updated. If no matching merchant is found,\na new one will be created.\n\nThe HTTP response code (`200 OK` or `201 Created`) indicates\nwhether the resource was updated or created, respectively.\n\n<Info>\n\n `merchant_id` is the primary unique identifier for all Merchant APIs.\n Be cautious when using `reference_id` as a unique identifier.\n \n Merchants must have an `address` or `site_url` set.\n</Info>  \n\n**This endpoint is not rate limited.**\n\nScopes: `MERCHANTS_WRITE`","tags":["merchants"],"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":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Merchants_upsert-merchant_Response_200"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"requestBody":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"merchant":{"$ref":"#/components/schemas/MerchantsPutRequestBodyContentApplicationJsonSchemaMerchant","description":"Details about the merchant to create or update."}},"required":["merchant"]}}}}}},"/merchants/{merchant_id}":{"get":{"operationId":"retrieve-merchant","summary":"Retrieve merchant","description":"Returns a merchant matching the given `merchant_id`.\n\n**This endpoint is not rate limited.**\n\nScopes: `MERCHANTS_READ`","tags":["merchants"],"parameters":[{"name":"merchant_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/Merchants_retrieve-merchant_Response_200"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"patch":{"operationId":"update-merchant","summary":"Update merchant","description":"Updates a merchant matching the provided `merchant_id` with the given attributes.\n\nTo clear a field, set it to `null`. Fields that are not provided in the request will not be changed.\n\n**This endpoint is not rate limited.**\n\nScopes: `MERCHANTS_WRITE`","tags":["merchants"],"parameters":[{"name":"merchant_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/Merchants_update-merchant_Response_200"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"requestBody":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"merchant":{"$ref":"#/components/schemas/MerchantsMerchantIdPatchRequestBodyContentApplicationJsonSchemaMerchant","description":"Details about the merchant to update."}},"required":["merchant"]}}}}}},"/customers":{"get":{"operationId":"list-customers","summary":"List customers","description":"Returns a list of all customers matching the given query parameters who have ever authorized this client to take an action on their account.\n\n**This endpoint is rate limited to 50 QPS.**\n\nScopes: `CUSTOMERS_READ`","tags":["customers"],"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":"limit","in":"query","description":"Maximum number of customers to return.","required":false,"schema":{"type":"integer","default":50}},{"name":"cashtag","in":"query","description":"Filters results to only include customers with a matching Cashtag.","required":false,"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/Customers_list-customers_Response_200"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/customers/{customer_id}":{"get":{"operationId":"retrieve-customer","summary":"Retrieve customer","description":"Retrieves a customer by its ID.\n\n**This endpoint is not rate limited.**\n\nScopes: `CUSTOMERS_READ`","tags":["customers"],"parameters":[{"name":"customer_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/Customers_retrieve-customer_Response_200"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/customers/{customer_id}/grants/{grant_id}":{"get":{"operationId":"retrieve-customer-grant","summary":"Retrieve customer grant","description":"Retrieves a customer grant by the ID of the customer that approved it and its own ID.\n\n**This endpoint is not rate limited.**\n\nScopes: `GRANTS_READ`","tags":["customers"],"parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"grant_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/Customers_retrieve-customer-grant_Response_200"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/customers/{customer_id}/grants":{"get":{"operationId":"list-customer-grants","summary":"List customer grants","description":"Returns a list of all customer grants for a given customer that match the provided query parameters.\n\n**This endpoint is rate limited to 250 QPS.**\n\nScopes: `GRANTS_READ`","tags":["customers"],"parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string"}},{"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":"limit","in":"query","description":"Maximum number of customer grants 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/Customers_list-customer-grants_Response_200"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/customers/{customer_id}/grants/{grant_id}/revoke":{"post":{"operationId":"revoke-customer-grant","summary":"Revoke customer grant","description":"Revokes a customer grant, rendering it unusable. Other endpoints will no longer be able to use the grant to perform its associated action.\n\n<Note> \nYou cannot un-revoke a grant. Use with caution.\n</Note>\n\n**This endpoint is not rate limited.**\n\nScopes: `GRANTS_WRITE`","tags":["customers"],"parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"grant_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/Customers_revoke-customer-grant_Response_200"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/payments":{"get":{"operationId":"list-payments","summary":"List payments","description":"Returns a list of payments matching the given query parameters.\n\n**This endpoint is rate limited to 100 QPS.**\n\nScopes: `PAYMENTS_READ`","tags":["payments"],"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":"reference_id","in":"query","description":"Filters results to only include payments with a `reference_id` matching the given value.","required":false,"schema":{"type":"string"}},{"name":"customer_id","in":"query","description":"Filters results to only include payments made by a customer that matches the the given ID.","required":false,"schema":{"type":"string"}},{"name":"merchant_id","in":"query","description":"Filters results to only include payments made to a merchant that matches the the given ID.","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Maximum number of payments 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/Payments_list-payments_Response_200"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"operationId":"create-payment","summary":"Create payment","description":"Creates a payment from a customer to a merchant.\n\n\n<Note>\n  Creating a payment requires a grant that is associated with the `ON_FILE_PAYMENT` or `ONE_TIME_PAYMENT` actions. To generate a grant, use the Customer Request API.\n</Note>\n\n**This endpoint is not rate limited.**\n\nScopes: `PAYMENTS_WRITE`","tags":["payments"],"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/Payments_create-payment_Response_201"}}}},"400":{"description":"Bad Request\n\nIf a `PAYMENT_DECLINE_*` error is returned, the payment will still be created, but with a `DECLINED` status. This payment will then appear in the response payload.\n\n<Note> \n**`PAYMENT_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 payment again. All other errors will not consume grants.\n</Note>","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Create-paymentRequestBadRequestError"}}}}},"requestBody":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"idempotency_key":{"$ref":"#/components/schemas/IdempotencyKey"},"payment":{"$ref":"#/components/schemas/PaymentsPostRequestBodyContentApplicationJsonSchemaPayment","description":"Data about the payment to create."}},"required":["idempotency_key","payment"]}}}}}},"/payments/{payment_id}":{"get":{"operationId":"retrieve-payment","summary":"Retrieve payment","description":"Retrieves a payment by its ID.\n\n**This endpoint is not rate limited.**\n\nScopes: `PAYMENTS_READ`","tags":["payments"],"parameters":[{"name":"payment_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/Payments_retrieve-payment_Response_200"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Retrieve-paymentRequestNotFoundError"}}}}}}},"/payments/{payment_id}/authorizations":{"post":{"operationId":"create-payment-authorization","summary":"Create incremental authorization","description":"Creates an authorization update for a payment. The authorization amount must be greater than or equal to the current authorized amount.\n\nUse this endpoint for incremental authorization instead of overcapturing using the Capture payment endpoint. By creating additional payment authorizations exceeding the current authorized amount, you can request additional funds without risking the original amount being declined.\n\n**This endpoint is not rate limited.** \n\nScopes: `PAYMENTS_WRITE`","tags":["payments"],"parameters":[{"name":"payment_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":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Payments_create-payment-authorization_Response_201"}}}},"400":{"description":"Bad Request\n\nIf a AUTHORIZATION_DECLINE_* error is returned, the authorization will still be created, but with a DECLINED status. This authorization will then appear in the response payload.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Create-payment-authorizationRequestBadRequestError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"idempotency_key":{"$ref":"#/components/schemas/IdempotencyKey"},"authorization":{"$ref":"#/components/schemas/PaymentsPaymentIdAuthorizationsPostRequestBodyContentApplicationJsonSchemaAuthorization","description":"Details about the authorization to create."}},"required":["idempotency_key","authorization"]}}}}}},"/payments/{payment_id}/capture":{"post":{"operationId":"capture-payment","summary":"Capture payment","description":"Updates a payment with the given amount and finalizes it so that it can be paid out in the next nightly settlement batch.\n\n**This endpoint is not rate limited.**\n\nScopes: `PAYMENTS_WRITE`","tags":["payments"],"parameters":[{"name":"payment_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/Payments_capture-payment_Response_200"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"idempotency_key":{"$ref":"#/components/schemas/IdempotencyKey"},"amount":{"type":"integer","description":"The amount of money to collect from the customer, in the lowest denomination of currency for the payment.\n\nTo over-capture or under-capture the payment, set this field to a different value from the current payment amount.\n\nMin value: `1`"}},"required":["idempotency_key","amount"]}}}}}},"/payments/{payment_id}/void":{"post":{"operationId":"void-payment","summary":"Void payment","description":"Moves an authorized payment to the voided state and releases the payment authorization from the customer's Cash App account.\n\n<Note> \nYou can only void an authorized payment. If a payment is captured, refund it instead. You cannot void any payment that has had an attempted capture. Authorizations not captured within seven days are automatically voided.\n</Note>\n\nThis endpoint will return a success message if the payment was successfully voided _or_ if the payment was previously voided.\n\n**This endpoint is not rate limited.**\n\nScopes: `PAYMENTS_WRITE`\n\nPayment voids can be processed synchronously or asynchronously depending on payment type. The majority of voids are made synchronously.","tags":["payments"],"parameters":[{"name":"payment_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/Payments_void-payment_Response_200"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/payments/void-by-idempotency-key":{"post":{"operationId":"void-payment-by-idempotency-key","summary":"Void payment by idempotency key","description":"Moves an authorized payment to the voided state and releases the payment authorization from the customer's Cash App account.\n\n  <Note>\n  You can only void an authorized payment. If a payment is captured, refund the payment instead.\n  \n   You cannot void any payment that has had an attempted capture. Authorizations not captured within seven days are automatically voided.\n  </Note> \n\nThis endpoint will return a success message if the payment was successfully voided _or_ if the payment was previously voided.\n\n**This endpoint is not rate limited.**\n\nScopes: `PAYMENTS_WRITE`","tags":["payments"],"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":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Payments_void-payment-by-idempotency-key_Response_200"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"idempotency_key":{"type":"string","description":"Idempotency key used in the [create payment](Network-API.v1.yaml/paths/~1payments/post) request for the payment you want to void."}},"required":["idempotency_key"]}}}}}},"/payouts":{"get":{"operationId":"list-payouts","summary":"List payouts","description":"<Warning title=\"Early Access\" icon=\"robot-astromech\">\nPayouts is an **early access** feature. We're actively improving this API based on your feedback.\n\nEarly access features come with some caveats:\n\n* May evolve rapidly, requiring integration updates\n* Not subject to our 10 year version support policy\n* Not subject to SLAs (unless specified in a contract)\n</Warning>\n\nReturns a list of payouts matching the given query parameters.\n\n**This endpoint is rate limited to 100 QPS.**\n\nScopes: `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_Resp

# --- truncated at 32 KB (186 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cash-app/refs/heads/main/openapi/cash-app-network-api-openapi.json