BreadPay Checkout API

Checkout supports the buyer's shopping journey — starting and decisioning a financing application, returning personalized payment agreement options, completing checkout in-store or online, and issuing virtual cards into Apple Pay or Google Pay wallets. 18 operations.

Operations 18

GET /api/application List Applications by Filter #
POST /api/application Start an Application #
GET /api/application/{applicationID} Get Application by ID #
POST /api/application/{applicationID}/agreement/{agreementID}/checkout Complete Checkout for Application #
POST /api/application/{applicationID}/prepare-checkout Prepare Checkout for Application #
POST /api/application/instore/{shortcode}/checkout Complete Checkout for Instore Application #
POST /api/virtual-card/issuance Issue a new virtual card #
POST /api/virtual-card/issuance/{lookupKey}/wallet/applepay Issue a new ApplePay digital wallet token #
POST /api/virtual-card/issuance/{lookupKey}/wallet/googlepay Issue a new GooglePay digital wallet token #
GET /api/virtual-card/issuance/{lookupKey} Get issuance #
GET /api/virtual-card/issuance/{lookupKey}/card Get issuance card #
GET /api/virtual-card/issuance/{lookupKey}/card/pan Get issuance card with PAN and CVV #
POST /api/virtual-card/issuance/{lookupKey}/card/{cardId}/reprovision Reprovision a card #
GET /api/virtual-card/issuance/{lookupKey}/wallet/{walletId} Get wallet #
GET /api/virtual-card/issuance/{lookupKey}/wallet/{walletId}/pan Get wallet and DPAN #
POST /api/virtual-card/issuance/{lookupKey}/card/status Update Issuance Status #
GET /api/virtual-card/issuance/{lookupKey}/events Get Virtual Card Events #
GET /api/virtual-card/issuance/{lookupKey}/transaction_data Get Virtual Card Transaction Data #

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/bread-pay-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

bread-checkout-openapi.json Raw ↑
{
  "openapi": "3.0.3",
  "info": {
    "title": "Checkout",
    "description": "Checkout support a buyer's shopping journey, enabling them to receive and purchase products through personalized payment agreement options",
    "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/application": {
      "get": {
        "tags": [
          "Application"
        ],
        "summary": "List Applications by Filter",
        "description": "Allows a consumer to list all Applications within their user scope (e.g. Tenants, Buyers and Merchants can only retrieve their own Applications). By providing query parameters, the list results can be filtered.\n\nUpon success, a paginated list of relevant Applications will be returned. If no Applications were found with the provided filters, the response will be 200 OK with an empty array of Applications.\n\n**JWT Claim Authorization:**\n**TenantID**: Required (non-nil); scopes results to the caller's tenant.\n**MerchantID**: Optional; if present in token and a `merchantID` query filter is also provided, they must match or the request is rejected. If present in token, applied as a filter.\n**ProgramID**: Optional; if present in token, applied as a filter.\n**BuyerID**: Optional; if present in token, limits results to the caller's own applications.",
        "operationId": "listApplications",
        "parameters": [
          {
            "name": "buyerID.eq",
            "in": "query",
            "description": "The unique identifier of the Buyer.",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "merchantID.eq",
            "in": "query",
            "description": "The unique identifier of the Merchant. Must match merchantID on the JWT if provided.",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "status.eq",
            "in": "query",
            "description": "The status to filter the Application records by.",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "APPROVED",
                "ATTEMPTED_CHECKOUT",
                "ATTEMPTED_PREPARE_CHECKOUT",
                "CANCELLED",
                "CHECKOUT_EXTENDED",
                "CHECKOUT_COMPLETED",
                "CHECKOUT_PREPARED",
                "DENIED",
                "EXPIRED",
                "INELIGIBLE",
                "NEEDS_ACTION",
                "STARTED"
              ]
            }
          },
          {
            "name": "statusCode.eq",
            "in": "query",
            "description": "The status code to filter the Application records by.",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "array",
              "minItems": 0,
              "items": {
                "type": "string",
                "pattern": "^[0-9]{6}$",
                "example": "030101"
              }
            }
          },
          {
            "name": "statusCode.ne",
            "in": "query",
            "description": "The status code that don't match to filter the Application records by.",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "array",
              "minItems": 0,
              "items": {
                "type": "string",
                "pattern": "^[0-9]{6}$",
                "example": "030101"
              }
            }
          },
          {
            "name": "showExpired.eq",
            "in": "query",
            "required": false,
            "description": "Show expired applications. Defaults to true.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "normalizedAddressHash.eq",
            "in": "query",
            "required": false,
            "description": "Show applications associated with provided normalized address hash.",
            "schema": {
              "type": "string",
              "format": "sha256"
            }
          },
          {
            "name": "metadata.eq",
            "in": "query",
            "description": "Show metadata associated with the application. Defaults to false.",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "updatedAt.gte",
            "in": "query",
            "description": "The lower bound of the date range, inclusive.",
            "required": false,
            "schema": {
              "type": "string",
              "format": "YYYY-MM-DD"
            }
          },
          {
            "name": "updatedAt.lte",
            "in": "query",
            "description": "The upper bound of the date range, inclusive.",
            "required": false,
            "schema": {
              "type": "string",
              "format": "YYYY-MM-DD"
            }
          },
          {
            "name": "lastTimestamp.eq",
            "in": "query",
            "description": "The timestamp value formatted per RFC3339 of the last Application from the previous page, used for keyset pagination. Depends on whether createdAt or updatedAt is used for sorting.",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2025-12-31T20:44:29.057144-04:00"
            }
          },
          {
            "name": "lastID.eq",
            "in": "query",
            "description": "The unique identifier of the last ID from the previous page, used for keyset pagination.",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid",
              "example": "652ee2a3-7b25-431b-bd22-0490db77c444"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Specifies the sort order for paginated results. Accepts createdAt or updatedAt fields with ascending or descending order.",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "createdAt.asc",
                "createdAt.desc",
                "updatedAt.asc",
                "updatedAt.desc"
              ]
            }
          },
          {
            "in": "query",
            "name": "limit",
            "description": "The maximum number of records that will be returned in a result set.",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200,
              "default": 10
            },
            "example": 50
          },
          {
            "in": "query",
            "name": "offset",
            "description": "The number of records to skip before starting to collect the result set. Used in conjunction with limit query parameter for pagination support",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0,
              "default": 0
            },
            "example": 20
          }
        ],
        "security": [
          {
            "bearerAuthApplication": [
              "r:application"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "The list of Applications including pagination.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "applications": {
                      "description": "The list of Applications that satisfy the provided filtering and scope conditions.",
                      "type": "array",
                      "items": {
                        "type": "object",
                        "title": "Application",
                        "description": "The Application for a given Buyer with Payment Agreement(s), if any.",
                        "required": [
                          "id",
                          "buyerID",
                          "createdAt",
                          "expiresAt",
                          "tenantID",
                          "merchantID",
                          "paymentAgreements",
                          "programID",
                          "offers",
                          "order",
                          "updatedAt"
                        ],
                        "properties": {
                          "id": {
                            "type": "string",
                            "format": "uuid",
                            "description": "Unique identifier of the Application."
                          },
                          "buyerID": {
                            "type": "string",
                            "format": "uuid",
                            "description": "Unique identifier of the Buyer."
                          },
                          "tenantID": {
                            "type": "string",
                            "format": "uuid",
                            "description": "Unique identifier of the Tenant."
                          },
                          "merchantID": {
                            "type": "string",
                            "format": "uuid",
                            "description": "Unique identifier of the Merchant."
                          },
                          "programID": {
                            "type": "string",
                            "format": "uuid",
                            "description": "Unique identifier of the Program."
                          },
                          "paymentMethodID": {
                            "type": "string",
                            "format": "uuid",
                            "description": "If exists, unique identifier of the payment method for an application."
                          },
                          "locationID": {
                            "type": "string",
                            "format": "uuid",
                            "description": "Unique identifier of the Location for instore applications."
                          },
                          "cartID": {
                            "type": "string",
                            "format": "uuid",
                            "description": "Unique identifier of the Cart for applications associated with a Cart"
                          },
                          "billingContact": {
                            "type": "object",
                            "required": [
                              "name"
                            ],
                            "properties": {
                              "name": {
                                "required": [
                                  "familyName",
                                  "givenName"
                                ],
                                "type": "object",
                                "properties": {
                                  "givenName": {
                                    "type": "string",
                                    "description": "Given name",
                                    "example": "John"
                                  },
                                  "familyName": {
                                    "type": "string",
                                    "description": "Family name",
                                    "example": "Doe"
                                  },
                                  "additionalName": {
                                    "type": "string",
                                    "description": "Additional name, if any"
                                  }
                                },
                                "description": "Represents the full name"
                              },
                              "phone": {
                                "type": "string",
                                "description": "Telephone number including country code",
                                "example": "+14539842345"
                              },
                              "address": {
                                "required": [
                                  "address1",
                                  "locality",
                                  "postalCode",
                                  "region",
                                  "country"
                                ],
                                "type": "object",
                                "properties": {
                                  "address1": {
                                    "type": "string",
                                    "description": "First address line",
                                    "example": "156 5th Avenue"
                                  },
                                  "address2": {
                                    "type": "string",
                                    "description": "Second address line"
                                  },
                                  "locality": {
                                    "type": "string",
                                    "description": "The locality (e.g. City) of the address.",
                                    "example": "New York"
                                  },
                                  "postalCode": {
                                    "type": "string",
                                    "description": "The administrative postal code (e.g. Zip Code)",
                                    "example": "10019"
                                  },
                                  "region": {
                                    "type": "string",
                                    "description": "The region or first-level administration division (e.g. State/Province) of the address.",
                                    "example": "US-NY",
                                    "minLength": 2,
                                    "externalDocs": {
                                      "description": "ISO-3166-2",
                                      "url": "https://en.wikipedia.org/wiki/ISO_3166-2"
                                    }
                                  },
                                  "country": {
                                    "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": "Represents a fully defined address for an entity"
                              },
                              "email": {
                                "type": "string",
                                "format": "email",
                                "description": "Email address",
                                "example": "john.doe@gmail.com"
                              }
                            },
                            "description": "Represents contact information for an entity"
                          },
                          "shippingContact": {
                            "type": "object",
                            "required": [
                              "name"
                            ],
                            "properties": {
                              "name": {
                                "required": [
                                  "familyName",
                                  "givenName"
                                ],
                                "type": "object",
                                "properties": {
                                  "givenName": {
                                    "type": "string",
                                    "description": "Given name",
                                    "example": "John"
                                  },
                                  "familyName": {
                                    "type": "string",
                                    "description": "Family name",
                                    "example": "Doe"
                                  },
                                  "additionalName": {
                                    "type": "string",
                                    "description": "Additional name, if any"
                                  }
                                },
                                "description": "Represents the full name"
                              },
                              "phone": {
                                "type": "string",
                                "description": "Telephone number including country code",
                                "example": "+14539842345"
                              },
                              "address": {
                                "required": [
                                  "address1",
                                  "locality",
                                  "postalCode",
                                  "region",
                                  "country"
                                ],
                                "type": "object",
                                "properties": {
                                  "address1": {
                                    "type": "string",
                                    "description": "First address line",
                                    "example": "156 5th Avenue"
                                  },
                                  "address2": {
                                    "type": "string",
                                    "description": "Second address line"
                                  },
                                  "locality": {
                                    "type": "string",
                                    "description": "The locality (e.g. City) of the address.",
                                    "example": "New York"
                                  },
                                  "postalCode": {
                                    "type": "string",
                                    "description": "The administrative postal code (e.g. Zip Code)",
                                    "example": "10019"
                                  },
                                  "region": {
                                    "type": "string",
                                    "description": "The region or first-level administration division (e.g. State/Province) of the address.",
                                    "example": "US-NY",
                                    "minLength": 2,
                                    "externalDocs": {
                                      "description": "ISO-3166-2",
                                      "url": "https://en.wikipedia.org/wiki/ISO_3166-2"
                                    }
                                  },
                                  "country": {
                                    "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": "Represents a fully defined address for an entity"
                              },
                              "email": {
                                "type": "string",
                                "format": "email",
                                "description": "Email address",
                                "example": "john.doe@gmail.com"
                              }
                            },
                            "description": "Represents contact information for an entity"
                          },
                          "order": {
                            "description": "The collection of items that the Buyer wants to purchase with a Bread product.",
                            "allOf": [
                              {
                                "type": "object",
                                "title": "Order",
                                "description": "The collection of items that the Buyer wants to purchase with a Bread product.",
                                "required": [
                                  "subTotal",
                                  "totalDiscounts",
                                  "totalPrice",
                                  "totalShipping",
                                  "totalTax"
                                ],
                                "properties": {
                                  "subTotal": {
                                    "description": "The total price of items excluding tax. The value must be greater than or equal to 0. If there are items, subTotal must equal the sum of all items'' unitPrice values accounting for quantities.",
                                    "allOf": [
                                      {
                                        "required": [
                                          "currency",
                                          "value"
                                        ],
                                        "properties": {
                                          "currency": {
                                            "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"
                                            }
                                          },
                                          "value": {
                                            "type": "integer",
                                            "description": "Monetary value as an integral number of the currency fractional unit e.g for USD: cents",
                                            "format": "int64",
                                            "example": 100
                                          }
                                        },
                                        "description": "Represents a monetary amount in the specified currency",
                                        "example": {
                                          "currency": "USD",
                                          "value": 50000
                                        }
                                      }
                                    ]
                                  },
                                  "totalDiscounts": {
                                    "description": "The total price of discounts applied to this Order. The value must be greater than or equal to 0.",
                                    "allOf": [
                                      {
                                        "required": [
                                          "currency",
                                          "value"
                                        ],
                                        "properties": {
                                          "currency": {
                                            "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"
                                            }
                                          },
                                          "value": {
                                            "type": "integer",
                                            "description": "Monetary value as an integral number of the currency fractional unit e.g for USD: cents",
                                            "format": "int64",
                                            "example": 100
                                          }
                                        },
                                        "description": "Represents a monetary amount in the specified currency",
                                        "example": {
                                          "currency": "USD",
                                          "value": 50000
                                        }
                                      }
                                    ]
                                  },
                                  "totalPrice": {
                                    "description": "The total price of the Order. The value must be greater than 0 and equal to the sum of subTotal, totalShipping and totalTax minus the totalDiscounts.",
                                    "allOf": [
                                      {
                                        "required": [
                                          "currency",
                                          "value"
                                        ],
                                        "properties": {
                                          "currency": {
                                            "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"
                                            }
                                          },
                                          "value": {
                                            "type": "integer",
                                            "description": "Monetary value as an integral number of the currency fractional unit e.g for USD: cents",
                                            "format": "int64",
                                            "example": 100
                                          }
                                        },
                                        "description": "Represents a monetary amount in the specified currency",
                                        "example": {
                                          "currency": "USD",
                                          "value": 50000
                                        }
                                      }
                                    ]
                                  },
                                  "totalShipping": {
                                    "description": "The total shipping costs for this Order. The value must be greater than or equal to 0.",
                                    "allOf": [
                                      {
                                        "required": [
                                          "currency",
                                          "value"
                                        ],
                                        "properties": {
                                          "currency": {
                                            "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"
                                            }
                                          },
                                          "value": {
                                            "type": "integer",
                                            "description": "Monetary value as an integral number of the currency fractional unit e.g for USD: cents",
                                            "format": "int64",
                                            "example": 100
                                          }
                                        },
                                        "description": "Represents a monetary amount in the specified currency",
                                        "example": {
                                          "currency": "USD",
                                          "value": 50000
                                        }
                                      }
                                    ]
                                  },
                                  "totalTax": {
                                    "description": "The total amount of tax applied to this Order. The value must be greater than or equal to 0. If there are items, totalTax must equal the sum of all items'' unitTax values accounting for quantities.",
                                    "allOf": [
                                      {
                                        "required": [
                                          "currency",
                                          "value"
                                        ],
                                        "properties": {
                                          "currency": {
                                            "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"
                                            }
                                          },
                                          "value": {
                                            "type": "integer",
                                            "descri

# --- truncated at 32 KB (2955 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/bread-financial/refs/heads/main/openapi/bread-checkout-openapi.json