BreadPay Payments API
Stored payment methods and their access and transient tokens, ACH account unblocking, network token retrieval, payment execution and audit, refunds and payment reversal. 21 operations.
Stored payment methods and their access and transient tokens, ACH account unblocking, network token retrieval, payment execution and audit, refunds and payment reversal. 21 operations.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/payments-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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": "3.0.3",
"info": {
"title": "Payments",
"description": "Payments provides support for managing payment methods as well as retrieving payment execution and audit details.",
"version": "2.0.0",
"contact": {
"email": "partnership-growth@getbread.com"
}
},
"servers": [
{
"url": "https://api-preview.platform.breadpayments.com/",
"description": "Preview environment"
},
{
"url": "https://api.platform.breadpayments.com/",
"description": "Production environment"
}
],
"paths": {
"/api/payments/payment-method": {
"post": {
"summary": "Create Payment Method",
"description": "Creates and returns a new payment method. 200 if payment method already exists. 201 if newly created. Check payment and trade in credit creation requires a specific authorization scope.",
"operationId": "createPaymentMethod",
"responses": {
"200": {
"description": "A successful response that returns a payment method model.",
"content": {
"application/json": {
"schema": {
"type": "object",
"description": "A response object for a created payment method.",
"properties": {
"paymentMethod": {
"type": "object",
"description": "An object that represents a payment method model. Only one of the sub models, BankAccount and CardAccount, will exist and will be identified by paymentMethodType.",
"required": [
"id",
"createdAt",
"name",
"paymentMethodType",
"updatedAt"
],
"properties": {
"id": {
"allOf": [
{
"type": "string",
"format": "uuid",
"description": "A universally unique identifier (Version 4) as defined in RFC4122. This does not allow nulls.",
"example": "dc0dc633-1760-4d43-ba1d-da94ed701f06",
"externalDocs": {
"description": "RFC4122",
"url": "https://datatracker.ietf.org/doc/html/rfc4122.html"
}
}
],
"description": "A unique payment method identifier."
},
"scopeID": {
"allOf": [
{
"type": "string",
"format": "uuid",
"description": "A universally unique identifier (Version 4) as defined in RFC4122. This does not allow nulls.",
"example": "dc0dc633-1760-4d43-ba1d-da94ed701f06",
"externalDocs": {
"description": "RFC4122",
"url": "https://datatracker.ietf.org/doc/html/rfc4122.html"
}
}
],
"description": "A unique scope identifier that should correlate to scopeType. For example, a buyer id or merchant id."
},
"name": {
"type": "string",
"description": "A descriptive name to identify the payment method.",
"example": "John Doe Bank Account"
},
"paymentMethodType": {
"type": "string",
"enum": [
"UNKNOWN_PAYMENT_METHOD_TYPE",
"BANK_ACCOUNT",
"CARD_ACCOUNT",
"BANK_ACCOUNT_AUTHENTICATED",
"CHECK_PAYMENT",
"MANUAL_PAYMENT",
"EXTERNAL_COLLECTION",
"TRADE_IN_CREDIT",
"PAPER_CHECK"
],
"default": "UNKNOWN_PAYMENT_METHOD_TYPE",
"description": "A high level category of the form of payments.",
"example": "BANK_ACCOUNT_AUTHENTICATED"
},
"scopeType": {
"type": "string",
"enum": [
"UNKNOWN_SCOPE_TYPE",
"BUYER",
"MERCHANT",
"PROGRAM_AGREEMENT",
"PARTNER"
],
"default": "UNKNOWN_SCOPE_TYPE",
"description": "Identifies the owner of the payment method.",
"example": "BUYER"
},
"createdAt": {
"allOf": [
{
"type": "string",
"format": "date-time",
"description": "The timestamp value formatted per RFC3339. This does not allow nulls.",
"example": "2020-12-31T15:10:55Z",
"externalDocs": {
"description": "RFC3339",
"url": "https://datatracker.ietf.org/doc/html/rfc3339#section-5.6"
}
}
],
"description": "The timestamp that this payment method was created at."
},
"deletedAt": {
"allOf": [
{
"type": "string",
"format": "date-time",
"description": "The timestamp value formatted per RFC3339. This does not allow nulls.",
"example": "2020-12-31T15:10:55Z",
"externalDocs": {
"description": "RFC3339",
"url": "https://datatracker.ietf.org/doc/html/rfc3339#section-5.6"
}
}
],
"description": "The timestamp this payment method was deleted at."
},
"updatedAt": {
"allOf": [
{
"type": "string",
"format": "date-time",
"description": "The timestamp value formatted per RFC3339. This does not allow nulls.",
"example": "2020-12-31T15:10:55Z",
"externalDocs": {
"description": "RFC3339",
"url": "https://datatracker.ietf.org/doc/html/rfc3339#section-5.6"
}
}
],
"description": "The timestamp this payment method was last updated at."
},
"isDeletable": {
"type": "boolean",
"description": "A flag indicating if a payment method can be deleted.",
"example": true
},
"bankAccount": {
"type": "object",
"description": "Details about a bank account payment method.",
"required": [
"id",
"bankName",
"createdAt",
"accountNumber",
"accountType",
"routingNumber",
"updatedAt",
"changeReceived",
"achBlocked",
"returnCode",
"returnDescription"
],
"properties": {
"id": {
"allOf": [
{
"type": "string",
"format": "uuid",
"description": "A universally unique identifier (Version 4) as defined in RFC4122. This does not allow nulls.",
"example": "dc0dc633-1760-4d43-ba1d-da94ed701f06",
"externalDocs": {
"description": "RFC4122",
"url": "https://datatracker.ietf.org/doc/html/rfc4122.html"
}
}
],
"description": "A unique bank account identifier."
},
"bankName": {
"type": "string",
"description": "Identifies the institution that the account belongs to.",
"example": "Bread National Bank"
},
"accountType": {
"type": "string",
"enum": [
"UNKNOWN_ACCOUNT_TYPE",
"CHECKING",
"SAVINGS"
],
"description": "Identifies the type of the account.",
"example": "CHECKING"
},
"setupType": {
"type": "string",
"enum": [
"UNKNOWN_SETUP_TYPE",
"ACH",
"EFT"
],
"default": "UNKNOWN_SETUP_TYPE",
"description": "Identifies the way funds are transferred.",
"example": "ACH"
},
"accountNumber": {
"type": "string",
"description": "The number assigned to the account by the institution."
},
"routingNumber": {
"type": "string",
"description": "The institution's identifying number."
},
"country": {
"allOf": [
{
"type": "string",
"description": "The two character ISO-3166-1 country code.",
"example": "US",
"minLength": 2,
"maxLength": 2,
"externalDocs": {
"description": "ISO-3166-1",
"url": "https://en.wikipedia.org/wiki/ISO_3166-1"
}
}
],
"description": "The country code for this bank account's location."
},
"currency": {
"allOf": [
{
"type": "string",
"description": "The three letter currency code as defined in ISO 4217.",
"example": "USD",
"minLength": 3,
"maxLength": 3,
"externalDocs": {
"description": "ISO 4217",
"url": "https://en.wikipedia.org/wiki/ISO_4217"
}
}
],
"description": "The type of currency used with this bank account."
},
"createdAt": {
"allOf": [
{
"type": "string",
"format": "date-time",
"description": "The timestamp value formatted per RFC3339. This does not allow nulls.",
"example": "2020-12-31T15:10:55Z",
"externalDocs": {
"description": "RFC3339",
"url": "https://datatracker.ietf.org/doc/html/rfc3339#section-5.6"
}
}
],
"description": "The timestamp for when this bank account payment method was created."
},
"updatedAt": {
"allOf": [
{
"type": "string",
"format": "date-time",
"description": "The timestamp value formatted per RFC3339. This does not allow nulls.",
"example": "2020-12-31T15:10:55Z",
"externalDocs": {
"description": "RFC3339",
"url": "https://datatracker.ietf.org/doc/html/rfc3339#section-5.6"
}
}
],
"description": "The timestamp for when this bank account payment method was last updated."
},
"connection": {
"type": "object",
"description": "Details about a connection to a third party for this bank account.",
"properties": {
"id": {
"allOf": [
{
"type": "string",
"format": "uuid",
"description": "A universally unique identifier (Version 4) as defined in RFC4122. This does not allow nulls.",
"example": "dc0dc633-1760-4d43-ba1d-da94ed701f06",
"externalDocs": {
"description": "RFC4122",
"url": "https://datatracker.ietf.org/doc/html/rfc4122.html"
}
}
],
"description": "A unique bank connection identifier."
},
"externalAccountID": {
"type": "string",
"description": "This is the identification number for a payment method within a customer account provided by a third party authorization program."
},
"connectionID": {
"type": "string",
"description": "This is a one-time identification number provided to lookup a newly created customer account in a third party authorization program."
},
"token": {
"type": "string",
"description": "This is a token that is used to connect to a third party authorization program."
},
"organizationID": {
"type": "string",
"description": "This is the organization number the account is assigned to by a third party authorization program."
},
"externalOrganizationID": {
"type": "string",
"description": "This is the organization number the account is assigned to by a third party authorization program."
},
"accountHolderName": {
"type": "string",
"description": "This is the name of a bank account holder.",
"example": "John Doe"
},
"connectionStatus": {
"type": "string",
"enum": [
"UNKNOWN_CONNECTION_STATUS",
"VERIFIED",
"UNVERIFIED",
"FAILED"
],
"default": "UNKNOWN_CONNECTION_STATUS",
"description": "This is the status of a connection to a bank account from a third party authorization program.",
"example": "VERIFIED"
},
"provider": {
"type": "string",
"enum": [
"UNKNOWN_PROVIDER",
"MANUAL",
"FLINKS"
],
"default": "UNKNOWN_PROVIDER",
"description": "This is the third party authorization program used to authorize the bank account.",
"example": "FLINKS"
},
"createdAt": {
"allOf": [
{
"type": "string",
"format": "date-time",
"description": "The timestamp value formatted per RFC3339. This does not allow nulls.",
"example": "2020-12-31T15:10:55Z",
"externalDocs": {
"description": "RFC3339",
"url": "https://datatracker.ietf.org/doc/html/rfc3339#section-5.6"
}
}
],
"description": "The timestamp for when this third party bank connection was created."
},
"updatedAt": {
"allOf": [
{
"type": "string",
"format": "date-time",
"description": "The timestamp value formatted per RFC3339. This does not allow nulls.",
"example": "2020-12-31T15:10:55Z",
"externalDocs": {
"description": "RFC3339",
"url": "https://datatracker.ietf.org/doc/html/rfc3339#section-5.6"
}
}
],
"description": "The timestamp for when this third party bank connection was last updated."
}
}
},
"changeReceived": {
"type": "boolean",
"description": "The Flag to indicate this payment method has related NOC."
},
"achBlocked": {
"type": "boolean",
"description": "The Flag to indicate this payment method has been blocked."
},
"returnCode": {
"type": "string",
"description": "The return code associated with account being blocked."
},
"returnDescription": {
"type": "string",
"description": "The description associated with the return code for blocked account."
}
}
},
"cardAccount": {
"type": "object",
"description": "Details about a card account payment method.",
"required": [
"id",
"cardName",
"last4",
"expirationYear",
"expirationMonth"
],
"properties": {
"id": {
"allOf": [
{
"type": "string",
"format": "uuid",
"description": "A universally unique identifier (Version 4) as defined in RFC4122. This does not allow nulls.",
"example": "dc0dc633-1760-4d43-ba1d-da94ed701f06",
"externalDocs": {
"description": "RFC4122",
"url": "https://datatracker.ietf.org/doc/html/rfc4122.html"
}
}
],
"description": "A unique card account identifier."
},
"cardType": {
"type": "string",
"enum": [
"UNKNOWN_CARD_TYPE",
"CREDIT",
"DEBIT"
],
"default": "UNKNOWN_CARD_TYPE",
"description": "The type of card that is being used.",
"example": "DEBIT"
},
"cardName": {
"type": "string",
"description": "The name of the card processor.",
"example": "VISA"
},
"last4": {
"type": "string",
"description": "The last 4 digits of the card number",
"example": "1234"
},
"expirationMonth": {
"type": "string",
"description": "The two digit month that the card expires in.",
"example": "10"
},
"expirationYear": {
"type": "string",
"description": "The four digit year that the card expires in.",
"example": "2021"
},
"bin": {
"type": "string",
"description": "The first 6 digits of the card number",
"example": "123456"
},
"issuer": {
"type": "string",
"description": "The bank that issued the card",
"example": "Chase"
},
"createdAt": {
"allOf": [
{
"type": "string",
"format": "date-time",
"description": "The timestamp value formatted per RFC3339. This does not allow nulls.",
"example": "2020-12-31T15:10:55Z",
"externalDocs": {
"description": "RFC3339",
"url": "https://datatracker.ietf.org/doc/html/rfc3339#section-5.6"
}
}
],
"description": "The timestamp for when this card account payment method was created."
},
"updatedAt": {
"allOf": [
{
"type": "string",
"format": "date-time",
"description": "The timestamp value formatted per RFC3339. This does not allow nulls.",
"example": "2020-12-31T15:10:55Z",
"externalDocs": {
"description": "RFC3339",
"url": "https://datatracker.ietf.org/doc/html/rfc3339#section-5.6"
}
}
],
"description": "The timestamp for when this card account payment method was last updated."
},
"connection": {
"type": "object",
"description": "Details about the connection to the third party for this card account.",
"properties": {
"id": {
"allOf": [
{
"type": "string",
"format": "uuid",
"description": "A universally unique identifier (Version 4) as defined in RFC4122. This does not allow nulls.",
"example": "dc0dc633-1760-4d43-ba1d-da94ed701f06",
"externalDocs": {
"description": "RFC4122",
"url": "https://datatracker.ietf.org/doc/html/rfc4122.html"
}
}
],
"description": "A unique card connection identifier."
},
"externalAccountID": {
"type": "string",
"description": "This is the identification number of a customer's card account provided by a third party processor."
},
"connectionStatus": {
"type": "string",
"enum": [
"UNKNOWN_CONNECTION_STATUS",
"VERIFIED",
"FAILED"
],
"default": "UNKNOWN_CONNECTION_STATUS",
"description": "This is the status of the card account provided by a third party processor.",
"example": "VERIFIED"
},
"provider": {
"type": "string",
"enum": [
"UNKNOWN_PROVIDER",
"MANUAL",
"CYBERSOURCE",
"EPX",
"VGS"
],
"default": "UNKNOWN_PROVIDER",
"description": "This is the name of the third party processor that is being used for the card account.",
"example": "CYBERSOURCE"
},
"createdAt": {
"allOf": [
{
"type": "string",
"format": "date-time",
"description": "The timestamp value formatted per RFC3339. This does not allow nulls.",
"example": "2020-12-31T15:10:55Z",
"externalDocs": {
"description": "RFC3339",
"url": "https://datatracker.ietf.org/doc/html/rfc3339#section-5.6"
}
}
],
"description": "The timestamp for when this third party card connection was created."
},
"updatedAt": {
"allOf": [
{
"type": "string",
"format": "date-time",
"description": "The timestamp value formatted per RFC3339. This does not allow nulls.",
"example": "2020-12-31T15:10:55Z",
"externalDocs": {
"description": "RFC3339",
"url": "https://datatracker.ietf.org/doc/html/rfc3339#section-5.6"
}
}
],
"description": "The timestamp for when this third party card connection was last updated."
}
}
},
"postalCode": {
"type": "string",
"description": "The postal code associated with the card account.",
"example": "12345"
}
}
},
"checkPayment": {
"type": "object",
"description": "Details about a check payment payment method.",
"properties": {
"id": {
"allOf": [
{
"type": "string",
"format": "uuid",
# --- truncated at 32 KB (1645 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/bread-financial/refs/heads/main/openapi/bread-payments-openapi.json