How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

BTCPay Server Payment Requests API

Payment Requests operations

BTCPay Server Payment Requests API is one of 31 APIs that BTCPay Server publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Payment Requests. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, a JSON-LD context, a GitHub repository, authentication docs, and rate-limit docs.

This API exposes 6 operations across 3 paths, and defines 20 schemas. It is described by OpenAPI 3.0.0, at version v1.

Requests are made against a single base URL, https://{btcpay-host}.

6 operations 3 paths 20 schemas 1 DELETE2 GET2 POST1 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.0
API Version
v1
Base URL
https://{btcpay-host}/api/v1
Authentication
API Key, HTTP Basic
License
Resource Areas
1

Authentication & Security 2

BTCPay Server Payment Requests API declares 2 security schemes for authenticating requests. An API key is passed in the header as Authorization (API_Key). It accepts HTTP basic authentication (Basic). By default, every request must be authenticated.

  • API_Key — BTCPay Server API key. Format: 'token {apiKey}'
  • Basic — HTTP Basic Authentication with email and password

Paths & Operations 6

Across 3 paths, the API surfaces 6 operations — 1 DELETE, 2 GET, 2 POST, 1 PUT. Each is listed below with its method, path, parameters, and response codes.

Payment Requests 6

Payment Requests operations

GET
/api/v1/stores/{storeId}/payment-requests
Get payment requests
PaymentRequests_GetPaymentRequests 1 param → 200401
POST
/api/v1/stores/{storeId}/payment-requests
Create a new payment request
PaymentRequests_CreatePaymentRequest 1 param body → 200400403
GET
/api/v1/payment-requests/{paymentRequestId}
Get payment request
PaymentRequests_GetPaymentRequest 1 param → 200403404
DELETE
/api/v1/payment-requests/{paymentRequestId}
Archive payment request
PaymentRequests_ArchivePaymentRequest 1 param → 200400403404
PUT
/api/v1/payment-requests/{paymentRequestId}
Update payment request
PaymentRequests_UpdatePaymentRequest 1 param body → 200400403
POST
/api/v1/payment-requests/{paymentRequestId}/pay
Create a new invoice for the payment request
PaymentRequests_Pay 1 param body → 200422400

Schemas 20

The contract defines 20 schemas that model the data the API accepts and returns. The most detailed are CheckoutOptions (10 properties), PaymentRequestBaseData (10 properties), InvoiceDataBase (3 properties), ReceiptOptions (3 properties). Each schema is shown below with its type and property counts.

CheckoutOptions
object
10 properties
InvoiceStatus
string
The status of the invoice
InvoiceMetadata
object
Additional information around the invoice that can be supplied. The mentioned properties are all optional and you can introduce any json format you wish. See […
InvoiceId
string
The invoice ID
TimeSpanMinutes
A span of times in minutes
SpeedPolicy
string
This is a risk mitigation parameter for the merchant to configure how they want to fulfill orders depending on the number of block confirmations for the transa…
ReceiptOptions
object
3 properties
UnixTimestamp
number
A unix timestamp in seconds
ProblemDetails
object
Description of an error happening during processing of the request
2 properties
TimeSpan
number
InvoiceType
string
The type of the invoice
PaymentRequestData
InvoiceDataBase
object
3 properties
PaymentMethodId
string
Payment method IDs. Available payment method IDs for Bitcoin are: - "BTC-CHAIN": Onchain -"BTC-LN": Lightning - "BTC-LNURL": LNURL
PaymentRequestBaseData
object
10 properties
InvoiceData
PaymentRequestDataList
array
InvoiceAdditionalStatus
string
An additional status that describes why an invoice is in its current status.
StoreId
string
Store ID of the item
ValidationProblemDetails
array
An array of validation errors of the request

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

btcpay-payment-requests-api-openapi.yml Raw ↑

Other APIs BTCPay Server publishes across the network.

BTCPay Server API Keys API
BTCPay Server Apps API
BTCPay Server Authorization API
BTCPay Server Crowdfund API
BTCPay Server Files API
BTCPay Server Health API
BTCPay Server Invoices API
BTCPay Server Lightning address API
BTCPay Server Lightning (Internal Node) API
BTCPay Server Lightning (Store) API
BTCPay Server Miscelleneous API
BTCPay Server Notifications (Current User) API
Where this information came from

This is an independent, third-party profile of BTCPay Server Payment Requests API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.