Bread Classic Merchant API

Legacy "bread-classic" REST API for managing Bread checkout transactions, carts, shipping (carrier + tracking) and capture/refund/cancel actions from the original Bread BNPL product, still documented at docs.breadpayments.com for merchants on the prior integration. The Merchant API helps manage completed transactions and carts, which can also be created directly in the browser via the Bread JavaScript SDK.

Bread Classic Merchant API is one of 6 APIs that Alliance Data Systems (Bread Financial Holdings) publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Buy Now Pay Later, BNPL, Merchant, Transactions, and Carts. The published artifact set on APIs.io includes API documentation, a getting-started guide, and an OpenAPI specification.

OpenAPI Specification

bread-classic-merchant-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Bread Classic Merchant API
  description: >-
    Legacy "bread-classic" REST API for managing Bread Pay BNPL checkouts.
    The Merchant API helps manage completed transactions and carts (which can
    also be created directly in the browser via the Bread JavaScript SDK), and
    the Shipping API exposes carrier and tracking number information on the
    transaction. Hosted by Bread Financial Holdings (NYSE: BFH).
  version: '1.0'
  contact:
    name: Bread Financial Developer Support
    url: https://docs.breadpayments.com/bread-classic/reference
externalDocs:
  description: Bread Classic Reference
  url: https://docs.breadpayments.com/bread-classic/reference
servers:
  - url: https://api.breadpayments.com
    description: Production
  - url: https://api-sandbox.breadpayments.com
    description: Sandbox
tags:
  - name: Carts
    description: Manage Bread shopping carts that initiate the BNPL checkout flow.
  - name: Transactions
    description: Manage completed Bread Pay transactions.
  - name: Shipping
    description: Attach carrier and tracking-number information to a transaction.
security:
  - bearerAuth: []
paths:
  /carts:
    post:
      operationId: createCart
      summary: Bread Classic Create A Cart
      description: Create a Bread cart that can be referenced by the on-page Bread modal.
      tags:
        - Carts
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CartRequest'
      responses:
        '201':
          description: Cart created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Cart'
  /carts/{cartID}:
    get:
      operationId: getCart
      summary: Bread Classic Get A Cart
      description: Retrieve a Bread cart by its identifier.
      tags:
        - Carts
      parameters:
        - name: cartID
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Cart returned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Cart'
  /transactions/{transactionID}:
    get:
      operationId: getTransactionClassic
      summary: Bread Classic Get A Transaction
      description: Return a Bread transaction object.
      tags:
        - Transactions
      parameters:
        - name: transactionID
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Transaction returned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClassicTransaction'
    put:
      operationId: updateTransactionClassic
      summary: Bread Classic Update A Transaction
      description: Update transaction state (e.g. authorize, cancel, settle, refund) via the legacy Merchant API.
      tags:
        - Transactions
      parameters:
        - name: transactionID
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClassicTransactionUpdate'
      responses:
        '200':
          description: Transaction updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClassicTransaction'
  /transactions/{transactionID}/shipping:
    post:
      operationId: addTransactionShipping
      summary: Bread Classic Add Transaction Shipping
      description: >-
        Add fulfillment details including carrier and tracking number to a
        transaction. Required for settlement on shipped-goods orders.
      tags:
        - Shipping
      parameters:
        - name: transactionID
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Shipping'
      responses:
        '200':
          description: Shipping recorded
    get:
      operationId: getTransactionShipping
      summary: Bread Classic Get Transaction Shipping
      description: Return fulfillment details including carrier and tracking number for the transaction.
      tags:
        - Shipping
      parameters:
        - name: transactionID
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Shipping returned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Shipping'
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Bread Merchant Portal access token (legacy scheme).
  schemas:
    CartRequest:
      type: object
      properties:
        currency:
          type: string
          example: USD
        items:
          type: array
          items:
            $ref: '#/components/schemas/CartItem'
        discounts:
          type: array
          items:
            type: object
            properties:
              description:
                type: string
              amount:
                type: integer
        shipping:
          type: object
          properties:
            typeId:
              type: string
            cost:
              type: integer
        tax:
          type: integer
        totalPrice:
          type: integer
    Cart:
      allOf:
        - $ref: '#/components/schemas/CartRequest'
        - type: object
          properties:
            id:
              type: string
            createdAt:
              type: string
              format: date-time
    CartItem:
      type: object
      properties:
        name:
          type: string
        sku:
          type: string
        unitPrice:
          type: integer
        quantity:
          type: integer
        imageUrl:
          type: string
          format: uri
    ClassicTransaction:
      type: object
      properties:
        id:
          type: string
        type:
          type: string
        status:
          type: string
          enum:
            - PENDING
            - AUTHORIZED
            - SETTLED
            - CANCELLED
            - REFUNDED
        amount:
          type: integer
        currency:
          type: string
        merchantId:
          type: string
        createdAt:
          type: string
          format: date-time
    ClassicTransactionUpdate:
      type: object
      properties:
        type:
          type: string
          enum:
            - authorize
            - cancel
            - settle
            - refund
        amount:
          type: integer
    Shipping:
      type: object
      required:
        - carrier
        - trackingNumber
      properties:
        carrier:
          type: string
        trackingNumber:
          type: string
        shippedAt:
          type: string
          format: date-time