BreadPay Program API

Management of public programs, payment products and the policies that determine system behaviour and execution. Only one operation is published (getPaymentProductEnrollmentByMerchantID) against 47 component schemas, so the definition describes far more of the domain model than it exposes.

Operations 1

GET /api/program/public/payment-product-configuration Get payment product enrollments by merchant ID #

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/program-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-program-openapi.json Raw ↑
{
  "openapi": "3.0.3",
  "info": {
    "title": "Program",
    "description": "Management of public programs, payment products and policies that determines the system behavior and execution.",
    "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/program/public/payment-product-configuration": {
      "parameters": [
        {
          "name": "merchantID.eq",
          "in": "query",
          "description": "Merchant ID",
          "required": true,
          "schema": {
            "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"
            }
          },
          "example": "a89d277c-3481-464c-898a-d7709a28c86a"
        },
        {
          "name": "programID.eq",
          "in": "query",
          "required": false,
          "schema": {
            "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"
            }
          },
          "example": "a89d277c-3481-464c-898a-d7709a28c86a"
        },
        {
          "description": "API version",
          "in": "header",
          "name": "X-API-VERSION",
          "required": true,
          "schema": {
            "type": "string"
          },
          "example": "v2"
        },
        {
          "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
        },
        {
          "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
        }
      ],
      "get": {
        "operationId": "getPaymentProductEnrollmentByMerchantID",
        "summary": "Get payment product enrollments by merchant ID",
        "description": "Get payment product enrollments by merchant ID. This is a public endpoint that does not require authentication, but the results are filtered by programID if provided.",
        "tags": [
          "PaymentProductEnrollments"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Public response model for a list of payment product enrollments, with potentially sensitive fields removed",
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "maxItems": 200,
                      "items": {
                        "description": "Public response model for a payment product enrollment, with potentially sensitive fields removed",
                        "type": "object",
                        "properties": {
                          "enrollmentID": {
                            "description": "Unique identifier for a payment product enrollment",
                            "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"
                                }
                              }
                            ]
                          },
                          "paymentProductID": {
                            "description": "Unique identifier for the payment product",
                            "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"
                                }
                              }
                            ]
                          },
                          "merchantID": {
                            "description": "Unique identifier for a merchant (from the enrollment)",
                            "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"
                                }
                              }
                            ]
                          },
                          "programID": {
                            "description": "Unique identifier for a program",
                            "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"
                                }
                              }
                            ]
                          },
                          "paymentProductName": {
                            "description": "Human-friendly name of the payment product",
                            "type": "string"
                          },
                          "paymentProductType": {
                            "description": "Type of the payment product",
                            "type": "string"
                          },
                          "paymentFrequency": {
                            "description": "Payment frequency for the product",
                            "type": "string"
                          },
                          "numPayments": {
                            "description": "Number of scheduled payments for the product",
                            "type": "integer",
                            "format": "int32"
                          },
                          "startAt": {
                            "description": "Time when the payment product enrollment becomes active",
                            "nullable": false,
                            "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"
                                }
                              }
                            ]
                          },
                          "endAt": {
                            "description": "Time when the payment product enrollment becomes lapsed",
                            "nullable": true,
                            "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"
                                }
                              }
                            ]
                          },
                          "defaultCartAmount": {
                            "description": "Default cart amount for participation",
                            "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
                                }
                              }
                            ]
                          },
                          "minCartSize": {
                            "description": "Minimum cart size for this enrollment",
                            "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
                                }
                              }
                            ]
                          },
                          "maxCartSize": {
                            "description": "Maximum cart size for this enrollment",
                            "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
                                }
                              }
                            ]
                          },
                          "minInterestRateBPS": {
                            "description": "Minimum interest rate in basis points (from enrollment)",
                            "type": "integer",
                            "format": "int32"
                          },
                          "maxInterestRateBPS": {
                            "description": "Maximum interest rate in basis points (from enrollment)",
                            "type": "integer",
                            "format": "int32"
                          },
                          "enrollmentState": {
                            "description": "active or scheduled",
                            "type": "string",
                            "enum": [
                              "ACTIVE",
                              "SCHEDULED"
                            ]
                          },
                          "enrollmentCreatedAt": {
                            "description": "Created at time",
                            "nullable": false,
                            "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"
                                }
                              }
                            ]
                          }
                        }
                      }
                    },
                    "pagination": {
                      "type": "object",
                      "properties": {
                        "limit": {
                          "type": "integer",
                          "maximum": 200,
                          "minimum": 10
                        },
                        "offset": {
                          "type": "integer",
                          "minimum": 0
                        },
                        "total": {
                          "type": "integer",
                          "maximum": 200,
                          "minimum": 0
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Default error model for program service errors",
                  "allOf": [
                    {
                      "required": [
                        "code",
                        "domain",
                        "message"
                      ],
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "description": "The underlying http status code",
                          "format": "int32",
                          "example": 500
                        },
                        "message": {
                          "type": "string",
                          "description": "A simple message in english describing the error and can be returned to the consumer",
                          "example": "Age cannot be less than 18"
                        },
                        "domain": {
                          "type": "string",
                          "description": "The domain where the error is originating from as defined by the service",
                          "example": "Payments"
                        },
                        "metadata": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Any additional details to be conveyed as determined by the service. If present, will return map of key value pairs",
                          "example": {
                            "propertyName": "propertyName is required"
                          }
                        }
                      }
                    }
                  ],
                  "properties": {
                    "reason": {
                      "type": "string",
                      "description": "Program creation error reason codes",
                      "enum": [
                        "Unauthorized",
                        "Request_Validation",
                        "Internal_Server_Failure",
                        "Dependency_Unavailable"
                      ]
                    }
                  }
                },
                "example": {
                  "code": 400,
                  "message": "Invalid request",
                  "domain": "Program",
                  "metadata": {},
                  "reason": "Request_Validation"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. Indicates that provided credentials is not valid",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string",
                  "example": "Jwt is expired"
                }
              },
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "required": [
                        "code",
                        "domain",
                        "message"
                      ],
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "description": "The underlying http status code",
                          "format": "int32",
                          "example": 500
                        },
                        "message": {
                          "type": "string",
                          "description": "A simple message in english describing the error and can be returned to the consumer",
                          "example": "Age cannot be less than 18"
                        },
                        "domain": {
                          "type": "string",
                          "description": "The domain where the error is originating from as defined by the service",
                          "example": "Payments"
                        },
                        "metadata": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Any additional details to be conveyed as determined by the service. If present, will return map of key value pairs",
                          "example": {
                            "propertyName": "propertyName is required"
                          }
                        }
                      }
                    }
                  ],
                  "required": [
                    "code",
                    "domain",
                    "message",
                    "reason"
                  ],
                  "type": "object",
                  "properties": {
                    "reason": {
                      "type": "string",
                      "description": "A reason code specific to the service and can be used to identify the exact issue. Should be unique within a domain",
                      "example": "Reason_Code"
                    }
                  }
                },
                "example": {
                  "code": 401,
                  "domain": "Auth",
                  "message": "Invalid authentication",
                  "reason": "Invalid_Authentication"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden. Indicates that request cannot be authorized",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string",
                  "example": "RBAC: Access Denied"
                }
              },
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "required": [
                        "code",
                        "domain",
                        "message"
                      ],
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "description": "The underlying http status code",
                          "format": "int32",
                          "example": 500
                        },
                        "message": {
                          "type": "string",
                          "description": "A simple message in english describing the error and can be returned to the consumer",
                          "example": "Age cannot be less than 18"
                        },
                        "domain": {
                          "type": "string",
                          "description": "The domain where the error is originating from as defined by the service",
                          "example": "Payments"
                        },
                        "metadata": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Any additional details to be conveyed as determined by the service. If present, will return map of key value pairs",
                          "example": {
                            "propertyName": "propertyName is required"
                          }
                        }
                      }
                    }
                  ],
                  "required": [
                    "code",
                    "domain",
                    "message",
                    "reason"
                  ],
                  "type": "object",
                  "properties": {
                    "reason": {
                      "type": "string",
                      "description": "A reason code specific to the service and can be used to identify the exact issue. Should be unique within a domain",
                      "example": "Reason_Code"
                    }
                  }
                },
                "example": {
                  "code": 403,
                  "domain": "Auth",
                  "message": "RBAC: Access Denied",
                  "reason": "Access_Denied"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Default error model for program service errors",
                  "allOf": [
                    {
                      "required": [
                        "code",
                        "domain",
                        "message"
                      ],
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "description": "The underlying http status code",
                          "format": "int32",
                          "example": 500
                        },
                        "message": {
                          "type": "string",
                          "description": "A simple message in english describing the error and can be returned to the consumer",
                          "example": "Age cannot be less than 18"
                        },
                        "domain": {
                          "type": "string",
                          "description": "The domain where the error is originating from as defined by the service",
                          "example": "Payments"
                        },
                        "metadata": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Any additional details to be conveyed as determined by the service. If present, will return map of key value pairs",
                          "example": {
                            "propertyName": "propertyName is required"
                          }
                        }
                      }
                    }
                  ],
                  "properties": {
                    "reason": {
                      "type": "string",
                      "description": "Program creation error reason codes",
                      "enum": [
                        "Unauthorized",
                        "Request_Validation",
                        "Internal_Server_Failure",
                        "Dependency_Unavailable"
                      ]
                    }
                  }
                },
                "example": {
                  "code": 409,
                  "message": "Conflict",
                  "domain": "Program",
                  "metadata": {},
                  "reason": "Conflict"
                }
              }
            }
          },
          "410": {
            "description": "Resource gone",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Default error model for program service errors",
                  "allOf": [
                    {
                      "required": [
                        "code",
                        "domain",
                        "message"
                      ],
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "description": "The underlying http status code",
                          "format": "int32",
                          "example": 500
                        },
                        "message": {
                          "type": "string",
                          "description": "A simple message in english describing the error and can be returned to the consumer",
                          "example": "Age cannot be less than 18"
                        },
                        "domain": {
                          "type": "string",
                          "description": "The domain where the error is originating from as defined by the service",
                          "example": "Payments"
                        },
                        "metadata": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Any additional details to be conveyed as determined by the service. If present, will return map of key value pairs",
                          "example": {
                            "propertyName": "propertyName is required"
                          }
                        }
                      }
                    }
                  ],
                  "properties": {
                    "reason": {
                      "type": "string",
                      "description": "Program creation error reason codes",
                      "enum": [
                        "Unauthorized",
                        "Request_Validation",
                        "Internal_Server_Failure",
                        "Dependency_Unavailable"
                      ]
                    }
                  }
                },
                "example": {
                  "code": 410,
                  "message": "Resource unavailable",
                  "domain": "Program",
                  "metadata": {},
                  "reason": "Resource_Gone"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "bearerAuthProgram": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "description": "The JW

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