Invoices

Invoices are Flint's receivables resource. Every invoice is backed by an order: create one from an existing open order, or use quick pay input and Flint creates the backing order internally. When you send an invoice, Flint freezes the customer-facing billing content into a snapshot, issues a stable hosted invoice link, and emails the recipient.

An invoice moves from draft to open on send, then to partially_paid or paid as money comes in, or void if you cancel it. Collection can be online (an invoice-owned hosted checkout session for card payment) or offline via manual payments for checks, cash, wires, and other external methods. Delivery attempts, reminders, lifecycle events, and PDFs are all tracked on the invoice itself, and payment activity publishes webhook events.

See the Invoicing guide for an end-to-end walkthrough, and Payment links vs checkout sessions vs invoices for choosing the right collection surface.

List invoices#

GET/v1/invoices

Returns a paginated list of invoices for the authenticated merchant.

Query parameters
page_sizeinteger

Page size, default 20, max 100.

page_tokenstring

Cursor returned by the previous list response.

statusenum

Filter by invoice status. Repeat the parameter or pass comma-separated values to match multiple statuses.

draftopenpartially_paidpaidvoid
customer_idstring

Filter by Flint customer ID.

order_idstring

Filter by Flint order ID.

external_reference_idstring

Exact-match filter on the caller-owned external reference ID.

created_afterstring

RFC3339 lower bound for created_at.

created_beforestring

RFC3339 upper bound for created_at.

due_afterstring

RFC3339 lower bound for due_at.

due_beforestring

RFC3339 upper bound for due_at.

is_overdueboolean

Filter by whether the invoice is overdue.

has_amount_dueboolean

Filter by whether the invoice has a remaining amount due.

sort_byenum

Sort field.

created_atupdated_atdue_atinvoice_numberamount_due_money
sort_directionenum

Sort direction.

ascdesc
querystring

Search across invoice_id, invoice_number, external_reference_id, recipient_email, and reference.

Response · 200
dataarray of objectrequired
metaobject
next_page_tokenstring
request_idstring
Bash
curl https://api.withflintpay.com/v1/invoices \
  -H "Authorization: Bearer YOUR_API_KEY"
JSON
{
  "data": [
    {
      "invoice_id": "inv_01J00000000000000000000000",
      "merchant_id": "mer_01J00000000000000000000000",
      "order_id": "ord_01J00000000000000000000000",
      "customer_id": "cus_01J00000000000000000000000",
      "invoice_number": "1042",
      "status": "open",
      "refund_status": "none",
      "collection_block_status": "",
      "due_at": "2026-03-31T23:59:59Z",
      "sent_at": "2026-03-21T15:04:05Z",
      "recipient_email": "buyer@example.com",
      "cc_emails": [
        "owner@example.com"
      ],
      "reference": "PO-1042",
      "snapshot": {
        "merchant_display_name": "Flint Services",
        "customer_display_name": "Avery Buyer",
        "customer_email": "buyer@example.com",
        "line_items": [
          {
            "name": "Consulting session",
            "quantity": 1,
            "unit_price_money": {
              "amount": 15000,
              "currency": "USD"
            },
            "base_subtotal_money": {
              "amount": 15000,
              "currency": "USD"
            },
            "modifier_total_money": {
              "amount": 0,
              "currency": "USD"
            },
            "subtotal_money": {
              "amount": 15000,
              "currency": "USD"
            },
            "discount_money": {
              "amount": 0,
              "currency": "USD"
            },
            "tax_money": {
              "amount": 0,
              "currency": "USD"
            },
            "total_money": {
              "amount": 15000,
              "currency": "USD"
            }
          }
        ],
        "pricing_amounts": {
          "subtotal_money": {
            "amount": 15000,
            "currency": "USD"
          },
          "discount_money": {
            "amount": 0,
            "currency": "USD"
          },
          "charge_money": {
            "amount": 0,
            "currency": "USD"
          },
          "tax_money": {
            "amount": 0,
            "currency": "USD"
          },
          "requested_tip_money": {
            "amount": 0,
            "currency": "USD"
          },
          "total_money": {
            "amount": 15000,
            "currency": "USD"
          }
        },
        "memo": "Payment due within 10 days."
      },
      "amount_due_money": {
        "amount": 15000,
        "currency": "USD"
      },
      "paid_money": {
        "amount": 0,
        "currency": "USD"
      },
      "refunded_money": {
        "amount": 0,
        "currency": "USD"
      },
      "is_overdue": false,
      "created_at": "2026-03-21T15:03:00Z",
      "updated_at": "2026-03-21T15:04:05Z"
    }
  ],
  "next_page_token": "Zm9yd2FyZC1vbmx5LW9wYXF1ZS1jdXJzb3I",
  "request_id": "bce56cba-0827-44aa-bb56-4f200ba15ee6"
}

Create invoice draft#

POST/v1/invoicesIdempotent

Creates an invoice draft. Provide exactly one source: order_id for an order-backed draft, or quick_pay for a hidden backing-order draft.

Request body
cc_emailsarray of string
due_atstring

RFC3339 timestamp.

external_reference_idstring
footerstring
memostring
metadatamap of string
order_idstring
quick_payobject
recipient_emailstring
referencestring
scheduled_send_atstring

RFC3339 timestamp.

service_atstring

RFC3339 timestamp.

Response · 201
dataobjectrequired
metaobject
request_idstring
Bash
curl -X POST https://api.withflintpay.com/v1/invoices \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: a-unique-key" \
  -d '{
    "quick_pay": {
      "line_items": [
        {
          "name": "Consulting session",
          "quantity": 1,
          "unit_price_money": {
            "amount": 15000,
            "currency": "USD"
          }
        }
      ],
      "customer_id": "cus_01J00000000000000000000000"
    },
    "due_at": "2026-03-31T23:59:59Z",
    "recipient_email": "buyer@example.com",
    "reference": "PO-1042",
    "memo": "Payment due within 10 days."
  }'
JSON
{
  "data": {
    "invoice_id": "inv_01J00000000000000000000000",
    "merchant_id": "mer_01J00000000000000000000000",
    "order_id": "ord_01J00000000000000000000000",
    "customer_id": "cus_01J00000000000000000000000",
    "invoice_number": "1042",
    "status": "open",
    "refund_status": "none",
    "collection_block_status": "",
    "due_at": "2026-03-31T23:59:59Z",
    "sent_at": "2026-03-21T15:04:05Z",
    "recipient_email": "buyer@example.com",
    "cc_emails": [
      "owner@example.com"
    ],
    "reference": "PO-1042",
    "snapshot": {
      "merchant_display_name": "Flint Services",
      "customer_display_name": "Avery Buyer",
      "customer_email": "buyer@example.com",
      "line_items": [
        {
          "name": "Consulting session",
          "quantity": 1,
          "unit_price_money": {
            "amount": 15000,
            "currency": "USD"
          },
          "base_subtotal_money": {
            "amount": 15000,
            "currency": "USD"
          },
          "modifier_total_money": {
            "amount": 0,
            "currency": "USD"
          },
          "subtotal_money": {
            "amount": 15000,
            "currency": "USD"
          },
          "discount_money": {
            "amount": 0,
            "currency": "USD"
          },
          "tax_money": {
            "amount": 0,
            "currency": "USD"
          },
          "total_money": {
            "amount": 15000,
            "currency": "USD"
          }
        }
      ],
      "pricing_amounts": {
        "subtotal_money": {
          "amount": 15000,
          "currency": "USD"
        },
        "discount_money": {
          "amount": 0,
          "currency": "USD"
        },
        "charge_money": {
          "amount": 0,
          "currency": "USD"
        },
        "tax_money": {
          "amount": 0,
          "currency": "USD"
        },
        "requested_tip_money": {
          "amount": 0,
          "currency": "USD"
        },
        "total_money": {
          "amount": 15000,
          "currency": "USD"
        }
      },
      "memo": "Payment due within 10 days."
    },
    "amount_due_money": {
      "amount": 15000,
      "currency": "USD"
    },
    "paid_money": {
      "amount": 0,
      "currency": "USD"
    },
    "refunded_money": {
      "amount": 0,
      "currency": "USD"
    },
    "is_overdue": false,
    "created_at": "2026-03-21T15:03:00Z",
    "updated_at": "2026-03-21T15:04:05Z"
  },
  "request_id": "bce56cba-0827-44aa-bb56-4f200ba15ee6"
}

Get invoice#

GET/v1/invoices/{invoice_id}

Returns a single invoice by ID.

Path parameters
invoice_idstringrequired

Flint invoice ID.

Query parameters
expandarray of enum

Supported expansions: customer, order. Expansion requires commerce.invoices.read plus the read scope for each expanded resource. Limits: at most 10 unique expand paths per request; path depth at most 2. Send repeated expand parameters as the canonical form, for example expand=customer&expand=order. Comma-separated values, expand[]=customer, and numeric expand[0]=customer are accepted for common client compatibility.

customerorder
Response · 200
dataobjectrequired
metaobject
request_idstring
Bash
curl https://api.withflintpay.com/v1/invoices/inv_01J00000000000000000000000 \
  -H "Authorization: Bearer YOUR_API_KEY"

Update invoice draft#

PATCH/v1/invoices/{invoice_id}Idempotent

Updates mutable fields on a draft invoice. Sent invoices are immutable except for delivery-related actions.

Path parameters
invoice_idstringrequired

Flint invoice ID.

Request body
cc_emailsarray of string
due_atstring

RFC3339 timestamp.

external_reference_idstring
footerstring
memostring
metadatamap of string
recipient_emailstring
referencestring
scheduled_send_atstring

RFC3339 timestamp.

service_atstring

RFC3339 timestamp.

Response · 200
dataobjectrequired
metaobject
request_idstring
Bash
curl -X PATCH https://api.withflintpay.com/v1/invoices/inv_01J00000000000000000000000 \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: a-unique-key" \
  -d '{
    "recipient_email": "accounts-payable@example.com",
    "cc_emails": [
      "owner@example.com"
    ],
    "memo": "Updated delivery instructions."
  }'
JSON
{
  "data": {
    "invoice_id": "inv_01J00000000000000000000000",
    "merchant_id": "mer_01J00000000000000000000000",
    "order_id": "ord_01J00000000000000000000000",
    "customer_id": "cus_01J00000000000000000000000",
    "invoice_number": "1042",
    "status": "open",
    "refund_status": "none",
    "collection_block_status": "",
    "due_at": "2026-03-31T23:59:59Z",
    "sent_at": "2026-03-21T15:04:05Z",
    "recipient_email": "buyer@example.com",
    "cc_emails": [
      "owner@example.com"
    ],
    "reference": "PO-1042",
    "snapshot": {
      "merchant_display_name": "Flint Services",
      "customer_display_name": "Avery Buyer",
      "customer_email": "buyer@example.com",
      "line_items": [
        {
          "name": "Consulting session",
          "quantity": 1,
          "unit_price_money": {
            "amount": 15000,
            "currency": "USD"
          },
          "base_subtotal_money": {
            "amount": 15000,
            "currency": "USD"
          },
          "modifier_total_money": {
            "amount": 0,
            "currency": "USD"
          },
          "subtotal_money": {
            "amount": 15000,
            "currency": "USD"
          },
          "discount_money": {
            "amount": 0,
            "currency": "USD"
          },
          "tax_money": {
            "amount": 0,
            "currency": "USD"
          },
          "total_money": {
            "amount": 15000,
            "currency": "USD"
          }
        }
      ],
      "pricing_amounts": {
        "subtotal_money": {
          "amount": 15000,
          "currency": "USD"
        },
        "discount_money": {
          "amount": 0,
          "currency": "USD"
        },
        "charge_money": {
          "amount": 0,
          "currency": "USD"
        },
        "tax_money": {
          "amount": 0,
          "currency": "USD"
        },
        "requested_tip_money": {
          "amount": 0,
          "currency": "USD"
        },
        "total_money": {
          "amount": 15000,
          "currency": "USD"
        }
      },
      "memo": "Payment due within 10 days."
    },
    "amount_due_money": {
      "amount": 15000,
      "currency": "USD"
    },
    "paid_money": {
      "amount": 0,
      "currency": "USD"
    },
    "refunded_money": {
      "amount": 0,
      "currency": "USD"
    },
    "is_overdue": false,
    "created_at": "2026-03-21T15:03:00Z",
    "updated_at": "2026-03-21T15:04:05Z"
  },
  "request_id": "bce56cba-0827-44aa-bb56-4f200ba15ee6"
}

Ensure viable invoice checkout session#

POST/v1/invoices/{invoice_id}/checkout-sessionIdempotent

Returns an existing invoice checkout session when it is still open and has more than 30 minutes remaining before expiry. Otherwise, it expires the stale session, creates a fresh one, and returns the new checkout session plus auth token for collecting the remaining collectible balance.

Path parameters
invoice_idstringrequired

Flint invoice ID.

Response · 200
dataobjectrequired
metaobject
request_idstring
Bash
curl -X POST https://api.withflintpay.com/v1/invoices/inv_01J00000000000000000000000/checkout-session \
  -H "Authorization: Bearer YOUR_API_KEY"
JSON
{
  "data": {
    "invoice": {
      "invoice_id": "inv_01J00000000000000000000000",
      "merchant_id": "mer_01J00000000000000000000000",
      "order_id": "ord_01J00000000000000000000000",
      "customer_id": "cus_01J00000000000000000000000",
      "invoice_number": "1042",
      "status": "open",
      "refund_status": "none",
      "collection_block_status": "",
      "due_at": "2026-03-31T23:59:59Z",
      "sent_at": "2026-03-21T15:04:05Z",
      "recipient_email": "buyer@example.com",
      "cc_emails": [
        "owner@example.com"
      ],
      "reference": "PO-1042",
      "snapshot": {
        "merchant_display_name": "Flint Services",
        "customer_display_name": "Avery Buyer",
        "customer_email": "buyer@example.com",
        "line_items": [
          {
            "name": "Consulting session",
            "quantity": 1,
            "unit_price_money": {
              "amount": 15000,
              "currency": "USD"
            },
            "base_subtotal_money": {
              "amount": 15000,
              "currency": "USD"
            },
            "modifier_total_money": {
              "amount": 0,
              "currency": "USD"
            },
            "subtotal_money": {
              "amount": 15000,
              "currency": "USD"
            },
            "discount_money": {
              "amount": 0,
              "currency": "USD"
            },
            "tax_money": {
              "amount": 0,
              "currency": "USD"
            },
            "total_money": {
              "amount": 15000,
              "currency": "USD"
            }
          }
        ],
        "pricing_amounts": {
          "subtotal_money": {
            "amount": 15000,
            "currency": "USD"
          },
          "discount_money": {
            "amount": 0,
            "currency": "USD"
          },
          "charge_money": {
            "amount": 0,
            "currency": "USD"
          },
          "tax_money": {
            "amount": 0,
            "currency": "USD"
          },
          "requested_tip_money": {
            "amount": 0,
            "currency": "USD"
          },
          "total_money": {
            "amount": 15000,
            "currency": "USD"
          }
        },
        "memo": "Payment due within 10 days."
      },
      "amount_due_money": {
        "amount": 15000,
        "currency": "USD"
      },
      "paid_money": {
        "amount": 0,
        "currency": "USD"
      },
      "refunded_money": {
        "amount": 0,
        "currency": "USD"
      },
      "is_overdue": false,
      "created_at": "2026-03-21T15:03:00Z",
      "updated_at": "2026-03-21T15:04:05Z"
    },
    "invoice_payment_attempt": {
      "invoice_payment_attempt_id": "invpa_01J00000000000000000000000",
      "invoice_id": "inv_01J00000000000000000000000",
      "rail": "card",
      "status": "open",
      "expected_amount_money": {
        "amount": 15000,
        "currency": "USD"
      },
      "checkout_session_id": "cs_01J00000000000000000000000",
      "started_at": "2026-03-21T15:05:00Z"
    },
    "checkout_session": {
      "checkout_session_id": "cs_01J00000000000000000000000",
      "status": "open",
      "order_id": "ord_01J00000000000000000000000",
      "invoice_id": "inv_01J00000000000000000000000",
      "expires_at": "2026-03-21T16:05:00Z",
      "url": "https://checkout.withflintpay.com/cs/cs_01J00000000000000000000000"
    },
    "hosted_checkout": {
      "url": "https://checkout.withflintpay.com/cs/cs_01J00000000000000000000000",
      "checkout_auth_token": "csauth_example"
    },
    "reused_existing": false
  },
  "request_id": "bce56cba-0827-44aa-bb56-4f200ba15ee6"
}

List invoice delivery attempts#

GET/v1/invoices/{invoice_id}/delivery-attempts

Returns email delivery attempts for send and reminder actions.

Path parameters
invoice_idstringrequired

Flint invoice ID.

Query parameters
page_sizeinteger

Page size, default 20, max 100.

page_tokenstring

Cursor returned by the previous list response.

Response · 200
dataarray of objectrequired
metaobject
next_page_tokenstring
request_idstring
Bash
curl https://api.withflintpay.com/v1/invoices/inv_01J00000000000000000000000/delivery-attempts \
  -H "Authorization: Bearer YOUR_API_KEY"
JSON
{
  "data": [
    {
      "invoice_delivery_attempt_id": "indel_01J00000000000000000000000",
      "delivery_type": "send",
      "channel": "email",
      "to_email": "buyer@example.com",
      "status": "sent",
      "created_at": "2026-03-21T15:04:05Z",
      "sent_at": "2026-03-21T15:04:06Z"
    }
  ],
  "next_page_token": "Zm9yd2FyZC1vbmx5LW9wYXF1ZS1jdXJzb3I",
  "request_id": "bce56cba-0827-44aa-bb56-4f200ba15ee6"
}

List invoice events#

GET/v1/invoices/{invoice_id}/events

Returns the audit timeline for an invoice.

Path parameters
invoice_idstringrequired

Flint invoice ID.

Query parameters
page_sizeinteger

Page size, default 20, max 100.

page_tokenstring

Cursor returned by the previous list response.

Response · 200
dataarray of objectrequired
metaobject
next_page_tokenstring
request_idstring
Bash
curl https://api.withflintpay.com/v1/invoices/inv_01J00000000000000000000000/events \
  -H "Authorization: Bearer YOUR_API_KEY"
JSON
{
  "data": [
    {
      "invoice_event_id": "inevt_01J00000000000000000000000",
      "event_type": "sent",
      "description": "Invoice sent",
      "actor_type": "merchant",
      "occurred_at": "2026-03-21T15:04:05Z"
    }
  ],
  "next_page_token": "Zm9yd2FyZC1vbmx5LW9wYXF1ZS1jdXJzb3I",
  "request_id": "bce56cba-0827-44aa-bb56-4f200ba15ee6"
}

Record manual invoice payment#

POST/v1/invoices/{invoice_id}/manual-paymentsIdempotent

Applies an offline/manual payment to an issued invoice. Recording is rejected while active online collection still exists for the invoice, including open checkout sessions, active payment intents, or open invoice card payment attempts. Safe to retry with the same Idempotency-Key.

Path parameters
invoice_idstringrequired

Flint invoice ID.

Request body
amount_moneyobjectrequired

Monetary amount represented as integer minor units plus an ISO 4217 currency code.

external_reference_idstring
notestring
received_atstring

RFC3339 timestamp.

Response · 200
dataobjectrequired
metaobject
request_idstring
Bash
curl -X POST https://api.withflintpay.com/v1/invoices/inv_01J00000000000000000000000/manual-payments \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: a-unique-key" \
  -d '{
    "amount_money": {
      "amount": 5000,
      "currency": "USD"
    },
    "received_at": "2026-03-22T10:00:00Z",
    "external_reference_id": "manual-payment-1024",
    "note": "Paid by check #1024"
  }'
JSON
{
  "data": {
    "invoice_id": "inv_01J00000000000000000000000",
    "merchant_id": "mer_01J00000000000000000000000",
    "order_id": "ord_01J00000000000000000000000",
    "customer_id": "cus_01J00000000000000000000000",
    "invoice_number": "1042",
    "status": "open",
    "refund_status": "none",
    "collection_block_status": "",
    "due_at": "2026-03-31T23:59:59Z",
    "sent_at": "2026-03-21T15:04:05Z",
    "recipient_email": "buyer@example.com",
    "cc_emails": [
      "owner@example.com"
    ],
    "reference": "PO-1042",
    "snapshot": {
      "merchant_display_name": "Flint Services",
      "customer_display_name": "Avery Buyer",
      "customer_email": "buyer@example.com",
      "line_items": [
        {
          "name": "Consulting session",
          "quantity": 1,
          "unit_price_money": {
            "amount": 15000,
            "currency": "USD"
          },
          "base_subtotal_money": {
            "amount": 15000,
            "currency": "USD"
          },
          "modifier_total_money": {
            "amount": 0,
            "currency": "USD"
          },
          "subtotal_money": {
            "amount": 15000,
            "currency": "USD"
          },
          "discount_money": {
            "amount": 0,
            "currency": "USD"
          },
          "tax_money": {
            "amount": 0,
            "currency": "USD"
          },
          "total_money": {
            "amount": 15000,
            "currency": "USD"
          }
        }
      ],
      "pricing_amounts": {
        "subtotal_money": {
          "amount": 15000,
          "currency": "USD"
        },
        "discount_money": {
          "amount": 0,
          "currency": "USD"
        },
        "charge_money": {
          "amount": 0,
          "currency": "USD"
        },
        "tax_money": {
          "amount": 0,
          "currency": "USD"
        },
        "requested_tip_money": {
          "amount": 0,
          "currency": "USD"
        },
        "total_money": {
          "amount": 15000,
          "currency": "USD"
        }
      },
      "memo": "Payment due within 10 days."
    },
    "amount_due_money": {
      "amount": 15000,
      "currency": "USD"
    },
    "paid_money": {
      "amount": 0,
      "currency": "USD"
    },
    "refunded_money": {
      "amount": 0,
      "currency": "USD"
    },
    "is_overdue": false,
    "created_at": "2026-03-21T15:03:00Z",
    "updated_at": "2026-03-21T15:04:05Z"
  },
  "request_id": "bce56cba-0827-44aa-bb56-4f200ba15ee6"
}

Reverse manual invoice payment#

POST/v1/invoices/{invoice_id}/manual-payments/reverseIdempotent

Reverses previously applied manual/offline payment amount from an invoice. Safe to retry with the same Idempotency-Key.

Path parameters
invoice_idstringrequired

Flint invoice ID.

Request body
amount_moneyobjectrequired

Monetary amount represented as integer minor units plus an ISO 4217 currency code.

external_reference_idstring
notestring
received_atstring

RFC3339 timestamp.

Response · 200
dataobjectrequired
metaobject
request_idstring
Bash
curl -X POST https://api.withflintpay.com/v1/invoices/inv_01J00000000000000000000000/manual-payments/reverse \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: a-unique-key" \
  -d '{
    "amount_money": {
      "amount": 5000,
      "currency": "USD"
    },
    "received_at": "2026-03-22T10:00:00Z",
    "external_reference_id": "manual-payment-1024",
    "note": "Paid by check #1024"
  }'
JSON
{
  "data": {
    "invoice_id": "inv_01J00000000000000000000000",
    "merchant_id": "mer_01J00000000000000000000000",
    "order_id": "ord_01J00000000000000000000000",
    "customer_id": "cus_01J00000000000000000000000",
    "invoice_number": "1042",
    "status": "open",
    "refund_status": "none",
    "collection_block_status": "",
    "due_at": "2026-03-31T23:59:59Z",
    "sent_at": "2026-03-21T15:04:05Z",
    "recipient_email": "buyer@example.com",
    "cc_emails": [
      "owner@example.com"
    ],
    "reference": "PO-1042",
    "snapshot": {
      "merchant_display_name": "Flint Services",
      "customer_display_name": "Avery Buyer",
      "customer_email": "buyer@example.com",
      "line_items": [
        {
          "name": "Consulting session",
          "quantity": 1,
          "unit_price_money": {
            "amount": 15000,
            "currency": "USD"
          },
          "base_subtotal_money": {
            "amount": 15000,
            "currency": "USD"
          },
          "modifier_total_money": {
            "amount": 0,
            "currency": "USD"
          },
          "subtotal_money": {
            "amount": 15000,
            "currency": "USD"
          },
          "discount_money": {
            "amount": 0,
            "currency": "USD"
          },
          "tax_money": {
            "amount": 0,
            "currency": "USD"
          },
          "total_money": {
            "amount": 15000,
            "currency": "USD"
          }
        }
      ],
      "pricing_amounts": {
        "subtotal_money": {
          "amount": 15000,
          "currency": "USD"
        },
        "discount_money": {
          "amount": 0,
          "currency": "USD"
        },
        "charge_money": {
          "amount": 0,
          "currency": "USD"
        },
        "tax_money": {
          "amount": 0,
          "currency": "USD"
        },
        "requested_tip_money": {
          "amount": 0,
          "currency": "USD"
        },
        "total_money": {
          "amount": 15000,
          "currency": "USD"
        }
      },
      "memo": "Payment due within 10 days."
    },
    "amount_due_money": {
      "amount": 15000,
      "currency": "USD"
    },
    "paid_money": {
      "amount": 0,
      "currency": "USD"
    },
    "refunded_money": {
      "amount": 0,
      "currency": "USD"
    },
    "is_overdue": false,
    "created_at": "2026-03-21T15:03:00Z",
    "updated_at": "2026-03-21T15:04:05Z"
  },
  "request_id": "bce56cba-0827-44aa-bb56-4f200ba15ee6"
}

Download invoice PDF#

GET/v1/invoices/{invoice_id}/pdf

Downloads the merchant-authenticated PDF artifact generated from the invoice snapshot.

Path parameters
invoice_idstringrequired

Flint invoice ID.

Bash
curl https://api.withflintpay.com/v1/invoices/inv_01J00000000000000000000000/pdf \
  -H "Authorization: Bearer YOUR_API_KEY"

Send invoice#

POST/v1/invoices/{invoice_id}/sendIdempotent

Issues the invoice, creates the buyer-access link, and attempts the initial email delivery. Safe to retry with the same Idempotency-Key.

Path parameters
invoice_idstringrequired

Flint invoice ID.

Response · 200
dataobjectrequired
metaobject
request_idstring
Bash
curl -X POST https://api.withflintpay.com/v1/invoices/inv_01J00000000000000000000000/send \
  -H "Authorization: Bearer YOUR_API_KEY"
JSON
{
  "data": {
    "invoice": {
      "invoice_id": "inv_01J00000000000000000000000",
      "merchant_id": "mer_01J00000000000000000000000",
      "order_id": "ord_01J00000000000000000000000",
      "customer_id": "cus_01J00000000000000000000000",
      "invoice_number": "1042",
      "status": "open",
      "refund_status": "none",
      "collection_block_status": "",
      "due_at": "2026-03-31T23:59:59Z",
      "sent_at": "2026-03-21T15:04:05Z",
      "recipient_email": "buyer@example.com",
      "cc_emails": [
        "owner@example.com"
      ],
      "reference": "PO-1042",
      "snapshot": {
        "merchant_display_name": "Flint Services",
        "customer_display_name": "Avery Buyer",
        "customer_email": "buyer@example.com",
        "line_items": [
          {
            "name": "Consulting session",
            "quantity": 1,
            "unit_price_money": {
              "amount": 15000,
              "currency": "USD"
            },
            "base_subtotal_money": {
              "amount": 15000,
              "currency": "USD"
            },
            "modifier_total_money": {
              "amount": 0,
              "currency": "USD"
            },
            "subtotal_money": {
              "amount": 15000,
              "currency": "USD"
            },
            "discount_money": {
              "amount": 0,
              "currency": "USD"
            },
            "tax_money": {
              "amount": 0,
              "currency": "USD"
            },
            "total_money": {
              "amount": 15000,
              "currency": "USD"
            }
          }
        ],
        "pricing_amounts": {
          "subtotal_money": {
            "amount": 15000,
            "currency": "USD"
          },
          "discount_money": {
            "amount": 0,
            "currency": "USD"
          },
          "charge_money": {
            "amount": 0,
            "currency": "USD"
          },
          "tax_money": {
            "amount": 0,
            "currency": "USD"
          },
          "requested_tip_money": {
            "amount": 0,
            "currency": "USD"
          },
          "total_money": {
            "amount": 15000,
            "currency": "USD"
          }
        },
        "memo": "Payment due within 10 days."
      },
      "amount_due_money": {
        "amount": 15000,
        "currency": "USD"
      },
      "paid_money": {
        "amount": 0,
        "currency": "USD"
      },
      "refunded_money": {
        "amount": 0,
        "currency": "USD"
      },
      "is_overdue": false,
      "created_at": "2026-03-21T15:03:00Z",
      "updated_at": "2026-03-21T15:04:05Z"
    },
    "public_url": "https://checkout.withflintpay.com/i/ivat_01J0000000000000000000000#invoice_token=ivt_example",
    "delivery_attempt": {
      "invoice_delivery_attempt_id": "indel_01J00000000000000000000000",
      "delivery_type": "send",
      "channel": "email",
      "to_email": "buyer@example.com",
      "status": "sent",
      "created_at": "2026-03-21T15:04:05Z",
      "sent_at": "2026-03-21T15:04:06Z"
    }
  },
  "request_id": "bce56cba-0827-44aa-bb56-4f200ba15ee6"
}

Send invoice reminder#

POST/v1/invoices/{invoice_id}/send-reminderIdempotent

Attempts a reminder email for an already issued collectible invoice. Safe to retry with the same Idempotency-Key.

Path parameters
invoice_idstringrequired

Flint invoice ID.

Response · 200
dataobjectrequired
metaobject
request_idstring
Bash
curl -X POST https://api.withflintpay.com/v1/invoices/inv_01J00000000000000000000000/send-reminder \
  -H "Authorization: Bearer YOUR_API_KEY"
JSON
{
  "data": {
    "invoice": {
      "invoice_id": "inv_01J00000000000000000000000",
      "merchant_id": "mer_01J00000000000000000000000",
      "order_id": "ord_01J00000000000000000000000",
      "customer_id": "cus_01J00000000000000000000000",
      "invoice_number": "1042",
      "status": "open",
      "refund_status": "none",
      "collection_block_status": "",
      "due_at": "2026-03-31T23:59:59Z",
      "sent_at": "2026-03-21T15:04:05Z",
      "recipient_email": "buyer@example.com",
      "cc_emails": [
        "owner@example.com"
      ],
      "reference": "PO-1042",
      "snapshot": {
        "merchant_display_name": "Flint Services",
        "customer_display_name": "Avery Buyer",
        "customer_email": "buyer@example.com",
        "line_items": [
          {
            "name": "Consulting session",
            "quantity": 1,
            "unit_price_money": {
              "amount": 15000,
              "currency": "USD"
            },
            "base_subtotal_money": {
              "amount": 15000,
              "currency": "USD"
            },
            "modifier_total_money": {
              "amount": 0,
              "currency": "USD"
            },
            "subtotal_money": {
              "amount": 15000,
              "currency": "USD"
            },
            "discount_money": {
              "amount": 0,
              "currency": "USD"
            },
            "tax_money": {
              "amount": 0,
              "currency": "USD"
            },
            "total_money": {
              "amount": 15000,
              "currency": "USD"
            }
          }
        ],
        "pricing_amounts": {
          "subtotal_money": {
            "amount": 15000,
            "currency": "USD"
          },
          "discount_money": {
            "amount": 0,
            "currency": "USD"
          },
          "charge_money": {
            "amount": 0,
            "currency": "USD"
          },
          "tax_money": {
            "amount": 0,
            "currency": "USD"
          },
          "requested_tip_money": {
            "amount": 0,
            "currency": "USD"
          },
          "total_money": {
            "amount": 15000,
            "currency": "USD"
          }
        },
        "memo": "Payment due within 10 days."
      },
      "amount_due_money": {
        "amount": 15000,
        "currency": "USD"
      },
      "paid_money": {
        "amount": 0,
        "currency": "USD"
      },
      "refunded_money": {
        "amount": 0,
        "currency": "USD"
      },
      "is_overdue": false,
      "created_at": "2026-03-21T15:03:00Z",
      "updated_at": "2026-03-21T15:04:05Z"
    },
    "public_url": "https://checkout.withflintpay.com/i/ivat_01J0000000000000000000000#invoice_token=ivt_example",
    "delivery_attempt": {
      "invoice_delivery_attempt_id": "indel_01J00000000000000000000000",
      "delivery_type": "send",
      "channel": "email",
      "to_email": "buyer@example.com",
      "status": "sent",
      "created_at": "2026-03-21T15:04:05Z",
      "sent_at": "2026-03-21T15:04:06Z"
    }
  },
  "request_id": "bce56cba-0827-44aa-bb56-4f200ba15ee6"
}

Void invoice#

POST/v1/invoices/{invoice_id}/voidIdempotent

Voids an unpaid invoice so the associated order can be edited or collected again.

Path parameters
invoice_idstringrequired

Flint invoice ID.

Response · 200
dataobjectrequired
metaobject
request_idstring
Bash
curl -X POST https://api.withflintpay.com/v1/invoices/inv_01J00000000000000000000000/void \
  -H "Authorization: Bearer YOUR_API_KEY"
JSON
{
  "data": {
    "invoice_id": "inv_01J00000000000000000000000",
    "merchant_id": "mer_01J00000000000000000000000",
    "order_id": "ord_01J00000000000000000000000",
    "customer_id": "cus_01J00000000000000000000000",
    "invoice_number": "1042",
    "status": "open",
    "refund_status": "none",
    "collection_block_status": "",
    "due_at": "2026-03-31T23:59:59Z",
    "sent_at": "2026-03-21T15:04:05Z",
    "recipient_email": "buyer@example.com",
    "cc_emails": [
      "owner@example.com"
    ],
    "reference": "PO-1042",
    "snapshot": {
      "merchant_display_name": "Flint Services",
      "customer_display_name": "Avery Buyer",
      "customer_email": "buyer@example.com",
      "line_items": [
        {
          "name": "Consulting session",
          "quantity": 1,
          "unit_price_money": {
            "amount": 15000,
            "currency": "USD"
          },
          "base_subtotal_money": {
            "amount": 15000,
            "currency": "USD"
          },
          "modifier_total_money": {
            "amount": 0,
            "currency": "USD"
          },
          "subtotal_money": {
            "amount": 15000,
            "currency": "USD"
          },
          "discount_money": {
            "amount": 0,
            "currency": "USD"
          },
          "tax_money": {
            "amount": 0,
            "currency": "USD"
          },
          "total_money": {
            "amount": 15000,
            "currency": "USD"
          }
        }
      ],
      "pricing_amounts": {
        "subtotal_money": {
          "amount": 15000,
          "currency": "USD"
        },
        "discount_money": {
          "amount": 0,
          "currency": "USD"
        },
        "charge_money": {
          "amount": 0,
          "currency": "USD"
        },
        "tax_money": {
          "amount": 0,
          "currency": "USD"
        },
        "requested_tip_money": {
          "amount": 0,
          "currency": "USD"
        },
        "total_money": {
          "amount": 15000,
          "currency": "USD"
        }
      },
      "memo": "Payment due within 10 days."
    },
    "amount_due_money": {
      "amount": 15000,
      "currency": "USD"
    },
    "paid_money": {
      "amount": 0,
      "currency": "USD"
    },
    "refunded_money": {
      "amount": 0,
      "currency": "USD"
    },
    "is_overdue": false,
    "created_at": "2026-03-21T15:03:00Z",
    "updated_at": "2026-03-21T15:04:05Z"
  },
  "request_id": "bce56cba-0827-44aa-bb56-4f200ba15ee6"
}
Rate this doc