BitPay Bills API
Manage payment requests sent to specific buyers with fixed-price line items.
Manage payment requests sent to specific buyers with fixed-price line items.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/bitpay-bills-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
title: BitPay Bills API
description: 'BitPay is a cryptocurrency payment processing platform offering REST APIs for accepting Bitcoin and altcoin payments, creating invoices, managing refunds, processing payouts, and accessing settlement and ledger data. BitPay handles cryptocurrency conversion and fiat settlement to bank accounts and crypto wallets.
'
version: 2.0.0
contact:
name: BitPay Support
url: https://support.bitpay.com/hc/en-us
termsOfService: https://www.bitpay.com/legal/terms-of-use
servers:
- url: https://bitpay.com
description: Production server
- url: https://test.bitpay.com
description: Test server
tags:
- name: Bills
description: Manage payment requests sent to specific buyers with fixed-price line items.
paths:
/bills:
post:
operationId: createBill
summary: Create a Bill
description: 'Create a payment request sent to a specific buyer with fixed-price line items typically denominated in fiat currency. Supports email billing and recurring payment scheduling via subscriptions.
'
tags:
- Bills
parameters:
- name: X-Accept-Version
in: header
required: true
schema:
type: string
enum:
- 2.0.0
- name: X-Identity
in: header
schema:
type: string
- name: X-Signature
in: header
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateBillRequest'
example:
token: your-api-token
currency: USD
name: John Doe
email: john@example.com
dueDate: '2026-07-01T00:00:00Z'
items:
- description: Consulting services
price: 150.0
quantity: 2
responses:
'200':
description: Bill created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/BillResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
get:
operationId: listBills
summary: List Bills
description: Retrieve a list of bills, optionally filtered by status.
tags:
- Bills
parameters:
- name: token
in: query
required: true
schema:
type: string
description: API token for authentication.
- name: status
in: query
schema:
type: string
enum:
- draft
- sent
- new
- paid
- acknowledged
- refunded
- cancelled
- unpaid
- sentAndPaid
description: Filter by bill status.
- name: X-Accept-Version
in: header
required: true
schema:
type: string
enum:
- 2.0.0
- name: X-Identity
in: header
schema:
type: string
- name: X-Signature
in: header
schema:
type: string
responses:
'200':
description: List of bills
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Bill'
/bills/{billId}:
get:
operationId: getBill
summary: Retrieve a Bill
description: Retrieve a specific bill by its ID.
tags:
- Bills
parameters:
- name: billId
in: path
required: true
schema:
type: string
description: ID of the bill to retrieve.
- name: token
in: query
required: true
schema:
type: string
- name: X-Accept-Version
in: header
required: true
schema:
type: string
enum:
- 2.0.0
- name: X-Identity
in: header
schema:
type: string
- name: X-Signature
in: header
schema:
type: string
responses:
'200':
description: Bill details
content:
application/json:
schema:
$ref: '#/components/schemas/BillResponse'
'404':
description: Bill not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
put:
operationId: updateBill
summary: Update a Bill
description: Update an existing bill. Bills can be updated only if they have not been paid.
tags:
- Bills
parameters:
- name: billId
in: path
required: true
schema:
type: string
- name: X-Accept-Version
in: header
required: true
schema:
type: string
enum:
- 2.0.0
- name: X-Identity
in: header
schema:
type: string
- name: X-Signature
in: header
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateBillRequest'
responses:
'200':
description: Bill updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/BillResponse'
/bills/{billId}/deliveries:
post:
operationId: deliverBill
summary: Deliver a Bill
description: Trigger email delivery of a bill to the recipient.
tags:
- Bills
parameters:
- name: billId
in: path
required: true
schema:
type: string
- name: X-Accept-Version
in: header
required: true
schema:
type: string
enum:
- 2.0.0
- name: X-Identity
in: header
schema:
type: string
- name: X-Signature
in: header
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- token
properties:
token:
type: string
description: API token for authentication.
responses:
'200':
description: Bill delivered successfully
content:
application/json:
schema:
type: object
properties:
data:
type: string
example: success
components:
schemas:
BillResponse:
type: object
properties:
data:
$ref: '#/components/schemas/Bill'
CreateBillRequest:
type: object
required:
- token
- currency
- items
properties:
token:
type: string
description: API token from the BitPay dashboard.
number:
type: string
description: Bill identifier specified by the merchant.
currency:
type: string
description: ISO 4217 3-character currency code.
name:
type: string
description: Bill recipient's name.
address1:
type: string
description: Bill recipient's street address.
address2:
type: string
description: Additional address line.
city:
type: string
description: Bill recipient's city.
state:
type: string
description: Bill recipient's state or province.
zip:
type: string
description: Bill recipient's ZIP or postal code.
country:
type: string
description: Bill recipient's country.
email:
type: string
format: email
description: Bill recipient's email address.
cc:
type: array
items:
type: string
format: email
description: Email addresses to CC on the bill.
phone:
type: string
description: Bill recipient's phone number.
dueDate:
type: string
format: date-time
description: Date and time at which the bill is due (ISO-8601).
passProcessingFee:
type: boolean
description: If true, BitPay's processing fee will be included in the bill.
items:
type: array
description: List of line items on the bill.
items:
$ref: '#/components/schemas/BillItem'
BillItem:
type: object
required:
- price
- quantity
properties:
description:
type: string
description: Description of the line item.
price:
type: number
description: Unit price of the item.
quantity:
type: integer
description: Quantity of the item.
ErrorResponse:
type: object
properties:
status:
type: string
example: error
error:
type: string
description: Error code or type.
message:
type: string
description: Human-readable error message.
code:
type: integer
description: Numeric error code.
Bill:
type: object
properties:
id:
type: string
description: BitPay bill ID.
status:
type: string
enum:
- draft
- sent
- new
- paid
- acknowledged
- refunded
- cancelled
- unpaid
- sentAndPaid
url:
type: string
format: uri
number:
type: string
currency:
type: string
name:
type: string
email:
type: string
dueDate:
type: string
format: date-time
items:
type: array
items:
$ref: '#/components/schemas/BillItem'
token:
type: string
merchant:
type: string