Affirm website screenshot

Affirm

Affirm is a buy-now-pay-later platform offering installment loans at point-of-sale via merchant SDKs and direct APIs. Public Series A through F-funded company.

3 APIs 0 Features
FintechBNPLLendingPaymentsConsumer

APIs

Affirm Checkout API

Initialize and authorize Affirm checkout flows for online merchants.

Affirm Charges API

Capture, void, and refund Affirm charges; read transaction details.

Affirm Transactions API

Read transactions, settlements, and disputes.

Collections

GraphQL

Affirm GraphQL Schema

This document describes the conceptual GraphQL schema for the Affirm Buy Now Pay Later (BNPL) platform. Affirm's production API is REST-based; this schema models the same domain...

GRAPHQL

Pricing Plans

Affirm Plans Pricing

1 plans

PLANS

Rate Limits

Affirm Rate Limits

1 limits

RATE LIMITS

FinOps

Affirm Finops

FINOPS

Event Specifications

Affirm Webhooks

Affirm uses webhooks to notify merchant endpoints in real time when events occur during the customer checkout and prequalification flows. Webhooks are available to Key and Enter...

ASYNCAPI

Semantic Vocabularies

Affirm Checkout Context

11 classes · 50 properties

JSON-LD

Affirm Context

0 classes · 9 properties

JSON-LD

Affirm Direct Context

3 classes · 23 properties

JSON-LD

Affirm Disputes Context

3 classes · 21 properties

JSON-LD

Affirm Promos Context

6 classes · 30 properties

JSON-LD

Affirm Transactions Context

4 classes · 22 properties

JSON-LD

API Governance Rules

Affirm API Rules

35 rules · 16 errors 17 warnings 2 info

SPECTRAL

JSON Structure

Affirm Checkout Structure

22 properties

JSON STRUCTURE

Affirm Dispute Structure

12 properties

JSON STRUCTURE

Affirm Transaction Structure

13 properties

JSON STRUCTURE

Checkout Address Object Structure

6 properties

JSON STRUCTURE

Checkout Checkout Request Structure

15 properties

JSON STRUCTURE

Checkout Checkout Structure

18 properties

JSON STRUCTURE

Checkout Contact Object Structure

4 properties

JSON STRUCTURE

Checkout Discount Object Structure

2 properties

JSON STRUCTURE

Checkout Item Object Structure

7 properties

JSON STRUCTURE

Checkout Merchant Object Structure

5 properties

JSON STRUCTURE

Checkout Name Object Structure

3 properties

JSON STRUCTURE

Checkout Store Object Structure

2 properties

JSON STRUCTURE

Direct Api Card Structure

10 properties

JSON STRUCTURE

Direct Api File Object Structure

6 properties

JSON STRUCTURE

Direct Api Transaction Structure

9 properties

JSON STRUCTURE

Disputes Dispute Structure

12 properties

JSON STRUCTURE

Disputes Evidence Item Structure

4 properties

JSON STRUCTURE

Disputes Evidence Request Structure

6 properties

JSON STRUCTURE

Promos Financing Term Structure

7 properties

JSON STRUCTURE

Promos Offer Content Structure

3 properties

JSON STRUCTURE

Promos Promo Config Structure

7 properties

JSON STRUCTURE

Promos Promo Content Structure

8 properties

JSON STRUCTURE

Promos Promo Response Structure

2 properties

JSON STRUCTURE

Transactions Settlement Event Structure

7 properties

JSON STRUCTURE

Transactions Transaction Event Structure

8 properties

JSON STRUCTURE

Transactions Transaction Structure

13 properties

JSON STRUCTURE

Example Payloads

Affirm Checkout Example

22 fields

EXAMPLE

Affirm Dispute Example

12 fields

EXAMPLE

Affirm Transaction Example

13 fields

EXAMPLE

Checkout Checkout Example

18 fields

EXAMPLE

Checkout Item Object Example

7 fields

EXAMPLE

Checkout Name Object Example

3 fields

EXAMPLE

Direct Api Card Example

10 fields

EXAMPLE

Disputes Dispute Example

12 fields

EXAMPLE

Promos Offer Content Example

3 fields

EXAMPLE

Promos Promo Config Example

7 fields

EXAMPLE

Promos Promo Content Example

8 fields

EXAMPLE

Resources

👥
GitHubOrganization
GitHubOrganization
🔗
LinkedIn
LinkedIn
🔗
Website
Website
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps
🔗
LlmsText
LlmsText

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Affirm Transactions API
  version: '1.0'
request:
  auth:
    type: basic
    username: '{{username}}'
    password: '{{password}}'
items:
- info:
    name: Transactions
    type: folder
  items:
  - info:
      name: Affirm List Transactions
      type: http
    http:
      method: GET
      url: https://api.affirm.com/api/v1/transactions
      params:
      - name: limit
        value: ''
        type: query
        description: Maximum number of records to return per page.
      - name: cursor
        value: ''
        type: query
        description: Pagination cursor returned from a previous list response.
    docs: Returns a paginated list of all transactions for the authenticated merchant. Transactions represent authorized Affirm
      loans that can be captured, refunded, or voided. Results are sorted by creation date in descending order.
  - info:
      name: Affirm Authorize a Transaction
      type: http
    http:
      method: POST
      url: https://api.affirm.com/api/v1/transactions
      body:
        type: json
        data: '{}'
    docs: Authorizes a new transaction using a checkout token obtained after a customer completes the Affirm checkout flow.
      The checkout token is a one-time-use token that must be exchanged server-side within the authorization window. A successful
      authorization places a hold on the customer's Affirm credit and returns a transaction object with status "authorized".
      The transaction must subsequently be captured to initiate transfer of funds to the merchant.
  - info:
      name: Affirm Read a Transaction
      type: http
    http:
      method: GET
      url: https://api.affirm.com/api/v1/transactions/:id
      params:
      - name: id
        value: ''
        type: path
        description: The unique identifier of the transaction.
    docs: Retrieves the full details of a specific transaction by its unique identifier. Returns the transaction object including
      current status, amounts, associated events, order metadata, and authorization expiration time.
  - info:
      name: Affirm Update a Transaction
      type: http
    http:
      method: POST
      url: https://api.affirm.com/api/v1/transactions/:id
      params:
      - name: id
        value: ''
        type: path
        description: The unique identifier of the transaction.
      body:
        type: json
        data: '{}'
    docs: Updates mutable fields on an existing transaction, such as the merchant order ID. Only fields included in the request
      body are updated; omitted fields remain unchanged.
  - info:
      name: Affirm Capture a Transaction
      type: http
    http:
      method: POST
      url: https://api.affirm.com/api/v1/transactions/:id/capture
      params:
      - name: id
        value: ''
        type: path
        description: The unique identifier of the transaction.
      body:
        type: json
        data: '{}'
    docs: Captures a previously authorized transaction and initiates the transfer of funds to the merchant. A capture can
      be for the full authorized amount or a partial amount when split capture is configured. Once captured, the transaction
      transitions to "captured" status and Affirm initiates the settlement process. Partial captures leave the remaining authorized
      amount available for subsequent captures.
  - info:
      name: Affirm Refund a Transaction
      type: http
    http:
      method: POST
      url: https://api.affirm.com/api/v1/transactions/:id/refund
      params:
      - name: id
        value: ''
        type: path
        description: The unique identifier of the transaction.
      body:
        type: json
        data: '{}'
    docs: Issues a full or partial refund on a captured transaction. Partial refunds may be issued multiple times until the
      total refunded amount equals the captured amount. The refund is applied to the customer's Affirm account and the merchant's
      settlement is adjusted accordingly. The transaction's amount_refunded field is updated to reflect the cumulative refunded
      total.
  - info:
      name: Affirm Void a Transaction
      type: http
    http:
      method: POST
      url: https://api.affirm.com/api/v1/transactions/:id/void
      params:
      - name: id
        value: ''
        type: path
        description: The unique identifier of the transaction.
    docs: Voids an authorized transaction that has not yet been captured, releasing the hold on the customer's Affirm credit.
      A voided transaction cannot be subsequently captured or refunded. This operation is typically used when an order is
      cancelled after authorization but before fulfillment.
- info:
    name: Transaction Events
    type: folder
  items:
  - info:
      name: Affirm List Transaction Events
      type: http
    http:
      method: GET
      url: https://api.affirm.com/api/v1/transaction_events
      params:
      - name: limit
        value: ''
        type: query
        description: Maximum number of records to return per page.
      - name: cursor
        value: ''
        type: query
        description: Pagination cursor returned from a previous list response.
    docs: Returns a paginated list of transaction event records for the authenticated merchant. Each event documents a change
      in a transaction's lifecycle, such as an authorization, capture, refund, or void. Events include timestamps, amounts,
      fees, and reference identifiers for reconciliation.
- info:
    name: Settlement Events
    type: folder
  items:
  - info:
      name: Affirm List Settlement Events
      type: http
    http:
      method: GET
      url: https://api.affirm.com/api/v1/settlement_events
      params:
      - name: limit
        value: ''
        type: query
        description: Maximum number of records to return per page.
      - name: cursor
        value: ''
        type: query
        description: Pagination cursor returned from a previous list response.
    docs: Returns a paginated list of settlement events representing individual disbursement line items from Affirm to the
      merchant. Each settlement event is tied to a transaction event and includes the net amount disbursed after fees. Used
      for financial reconciliation and accounting.
  - info:
      name: Affirm List Settlement Event Summaries
      type: http
    http:
      method: GET
      url: https://api.affirm.com/api/v1/settlement_event_summaries
      params:
      - name: limit
        value: ''
        type: query
        description: Maximum number of records to return per page.
      - name: cursor
        value: ''
        type: query
        description: Pagination cursor returned from a previous list response.
    docs: Returns a paginated list of settlement event summary records that aggregate settlement activity by disbursement
      batch. Each summary includes the total amount disbursed, the date of the disbursement, and a count of associated settlement
      events. Used for high-level financial reconciliation.
bundled: true