Every API here is available over the APIs.io API and to AI agents over MCP.
{
"openapi": "3.0.3",
"info": {
"title": "Servicing",
"description": "Servicing supports a buyer's post purchase journey, enabling viewing and management of payment agreements across all payment products.",
"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/servicing/buyer/{buyerID}/autopay": {
"get": {
"summary": "List Autopay Enrollments",
"description": "Request to list autopay enrollments for a buyer",
"operationId": "listAutopayEnrollments",
"tags": [
"Servicing"
],
"parameters": [
{
"in": "header",
"name": "X-API-VERSION",
"description": "X-API-VERSION: Required header to specify the API version (i.e. v2)",
"schema": {
"type": "string"
},
"required": true
},
{
"name": "buyerID",
"description": "The ID of the buyer to list autopay enrollments for",
"in": "path",
"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"
}
}
}
],
"responses": {
"200": {
"description": "a successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"enrollments": {
"description": "List of autopay enrollments",
"type": "array",
"items": {
"type": "object",
"required": [
"paymentAgreementID",
"paymentMethodID",
"enrolledOn"
],
"properties": {
"paymentAgreementID": {
"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"
}
},
"paymentMethodID": {
"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"
}
},
"enrolledOn": {
"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"
}
}
}
}
}
},
"required": [
"enrollments"
]
}
}
}
},
"400": {
"description": "an unsuccessful response",
"content": {
"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"
}
}
}
},
{
"type": "object",
"description": "Servicing payment agreement retrieval error.",
"properties": {
"reason": {
"type": "string",
"description": "Payment agreement retrieval error reason codes",
"enum": [
"Servicing_PaymentAgreement_BadRequest",
"Servicing_PaymentAgreement_InvalidIdentity",
"Servicing_PaymentAgreement_ServerError"
],
"example": "Servicing_PaymentAgreement_ServerError"
}
}
}
]
}
}
}
},
"401": {
"description": "an unsuccessful response",
"content": {
"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"
}
}
}
},
{
"type": "object",
"description": "Servicing payment agreement retrieval error.",
"properties": {
"reason": {
"type": "string",
"description": "Payment agreement retrieval error reason codes",
"enum": [
"Servicing_PaymentAgreement_BadRequest",
"Servicing_PaymentAgreement_InvalidIdentity",
"Servicing_PaymentAgreement_ServerError"
],
"example": "Servicing_PaymentAgreement_ServerError"
}
}
}
]
}
}
}
},
"403": {
"description": "an unsuccessful response",
"content": {
"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"
}
}
}
},
{
"type": "object",
"description": "Servicing payment agreement retrieval error.",
"properties": {
"reason": {
"type": "string",
"description": "Payment agreement retrieval error reason codes",
"enum": [
"Servicing_PaymentAgreement_BadRequest",
"Servicing_PaymentAgreement_InvalidIdentity",
"Servicing_PaymentAgreement_ServerError"
],
"example": "Servicing_PaymentAgreement_ServerError"
}
}
}
]
}
}
}
},
"500": {
"description": "an unsuccessful response",
"content": {
"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"
}
}
}
},
{
"type": "object",
"description": "Servicing payment agreement retrieval error.",
"properties": {
"reason": {
"type": "string",
"description": "Payment agreement retrieval error reason codes",
"enum": [
"Servicing_PaymentAgreement_BadRequest",
"Servicing_PaymentAgreement_InvalidIdentity",
"Servicing_PaymentAgreement_ServerError"
],
"example": "Servicing_PaymentAgreement_ServerError"
}
}
}
]
}
}
}
}
},
"security": [
{
"bearerAuthServicing": [
"r:paymentAgreement.autopay"
]
}
]
}
},
"/api/servicing/buyer/{buyerID}/payment-agreement": {
"get": {
"summary": "List Buyer Payment Agreements",
"description": "Returns a list of payment agreements for a given buyer.",
"operationId": "listBuyerPaymentAgreements",
"responses": {
"200": {
"description": "A successful response returns an array of payment agreement models for buyer and a pagination.",
"content": {
"application/json": {
"schema": {
"type": "object",
"description": "A response object for a buyer payment agreement list request.",
"properties": {
"paymentAgreements": {
"type": "array",
"items": {
"allOf": [
{
"type": "object",
"description": "A slim view of a payment agreement.",
"required": [
"id",
"tenantID",
"programID",
"buyerID",
"merchantID",
"applicationID",
"createdAt",
"updatedAt",
"paymentProductID",
"paymentAmount",
"schedule",
"status",
"subStatus",
"terms",
"activities"
],
"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 ID for a payment agreement."
},
"tenantID": {
"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 ID for a tenant on the Bread platform."
},
"programID": {
"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 ID for a program on the Bread platform."
},
"buyerID": {
"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 ID for a buyer on the Bread platform."
},
"merchantID": {
"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 ID for a merchant on the Bread platform."
},
"applicationID": {
"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 ID for an application on the Bread platform."
},
"transactionID": {
"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 ID for a transaction on the Bread platform."
},
"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": "When the payment agreement 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": "When the payment agreement was last updated."
},
"expiresAt": {
"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": "When the payment agreement expires."
},
"paymentProductID": {
"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 ID for a payment product on the Bread platform."
},
"productType": {
"allOf": [
{
"type": "string",
"enum": [
"UNKNOWN",
"INSTALLMENTS",
"SPLITPAY",
"DEBT_CONSOLIDATION",
"PERSONAL_LOAN",
"HYBRID_LINE_OF_CREDIT",
"DEFERRED_INTEREST_INSTALLMENTS"
],
"default": "UNKNOWN"
}
],
"description": "The type of payment product."
},
"status": {
"description": "The status of a payment agreement. Note: `REVIEW` is deprecated.",
"type": "string",
"enum": [
"UNKNOWN_STATUS",
"OFFERED",
"ACCEPTED",
"EXPIRED",
"REVIEW",
"OUTSTANDING",
"PAID",
"CHARGED_OFF",
"CANCELLED",
"CLOSED"
],
"example": "OUTSTANDING"
},
"terms": {
"type": "object",
"description": "Represents the terms agreed upon for a loan",
"required": [
"adjustedPrincipal",
"adjustedDownPayment",
"originalDownPayment",
"rate",
"interval"
],
"properties": {
"originalPrincipal": {
"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
}
},
"adjustedPrincipal": {
"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
# --- truncated at 32 KB (19765 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/bread-financial/refs/heads/main/openapi/bread-servicing-openapi.json