OpenAPI spec
openapi.json
Bundled, all $refs resolved against components. Recommended for codegen.
Browse operations
The explorer lists the 90 operations an API key can reach. The rest of the 167 in the document authenticate with a console session or a billing-portal token: they are published so the spec describes the whole service, but they are not part of the developer surface and nothing you build should call them.
Customers
People and organisations you bill. 7GET /v1/customers List Customers
List your customers, newest first. Requires a secret or
restricted key with customers:read.
curl -X GET https://api.billkit.eu/v1/customers \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" POST /v1/customers Create Customer
Create a customer, the record everything else in an account hangs off. Requires a secret or
restricted key with customers:write.
curl -X POST https://api.billkit.eu/v1/customers \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{}' DELETE /v1/customers/{customer_id} Delete Customer
Delete a customer. Requires a secret or
restricted key with customers:write.
curl -X DELETE https://api.billkit.eu/v1/customers/cus_9XKp2vQ1 \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" GET /v1/customers/{customer_id} Get Customer
Retrieve one customer. Requires a secret or
restricted key with customers:read.
curl -X GET https://api.billkit.eu/v1/customers/cus_9XKp2vQ1 \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" POST /v1/customers/{customer_id} Update Customer
Update a customer's details. Requires a secret or
restricted key with customers:write.
curl -X POST https://api.billkit.eu/v1/customers/cus_9XKp2vQ1 \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{}' POST /v1/customers/{customer_id}/purge Purge Customer
Erase a customer's personal data while keeping their financial history. Requires a secret or
restricted key with customers:write.
curl -X POST https://api.billkit.eu/v1/customers/cus_9XKp2vQ1/purge \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{}' POST /v1/customers/{customer_id}/vat_number Set Customer Vat Number
Record a business customer's VAT registration number and check it. Requires a secret or
restricted key with customers:write.
curl -X POST https://api.billkit.eu/v1/customers/cus_9XKp2vQ1/vat_number \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{}' Products
The things you sell, independent of what they cost. 4GET /v1/products List Products
List your products, newest first. Requires a secret or
restricted key with products:read.
curl -X GET https://api.billkit.eu/v1/products \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" POST /v1/products Create Product
Create a product, the thing you sell. Requires a secret or
restricted key with products:write.
curl -X POST https://api.billkit.eu/v1/products \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"Ada Lovelace"}' GET /v1/products/{product_id} Get Product
Retrieve one product. Requires a secret or
restricted key with products:read.
curl -X GET https://api.billkit.eu/v1/products/prod_9XKp2vQ1 \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" POST /v1/products/{product_id} Update Product
Update a product's details, or archive it. Requires a secret or
restricted key with products:write.
curl -X POST https://api.billkit.eu/v1/products/prod_9XKp2vQ1 \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{}' Prices
Amount, currency, interval and tax behaviour for a product. 4GET /v1/prices List Prices
List your prices, newest first. Requires a secret or
restricted key with prices:read.
curl -X GET https://api.billkit.eu/v1/prices \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" POST /v1/prices Create Price
Create a price, which is what a customer actually buys. Requires a secret or
restricted key with prices:write.
curl -X POST https://api.billkit.eu/v1/prices \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{"interval":"month","product_id":"prod_9XKp2vQ1"}' GET /v1/prices/{price_id} Get Price
Retrieve one price, including its trial, tax and refund-window settings. Requires a secret or
restricted key with prices:read.
curl -X GET https://api.billkit.eu/v1/prices/price_9XKp2vQ1 \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" POST /v1/prices/{price_id} Update Price
Archive a price so it stops selling, or put it back on sale. Requires a secret or
restricted key with prices:write.
curl -X POST https://api.billkit.eu/v1/prices/price_9XKp2vQ1 \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{}' Subscriptions
Recurring agreements between a customer and a price. 9GET /v1/subscriptions List Subscriptions
List subscriptions, newest first. Requires a secret or
restricted key with subscriptions:read.
curl -X GET https://api.billkit.eu/v1/subscriptions \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" GET /v1/subscriptions/{subscription_id} Get Subscription
Retrieve one subscription. Requires a secret or
restricted key with subscriptions:read.
curl -X GET https://api.billkit.eu/v1/subscriptions/sub_9XKp2vQ1 \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" POST /v1/subscriptions/{subscription_id}/cancel Cancel Subscription
Stop a subscription renewing at the end of the current period. Requires a secret or
restricted key with subscriptions:cancel.
curl -X POST https://api.billkit.eu/v1/subscriptions/sub_9XKp2vQ1/cancel \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" POST /v1/subscriptions/{subscription_id}/pause Pause Subscription
Stop a subscription renewing, without ending it. Requires a secret or
restricted key with subscriptions:write.
curl -X POST https://api.billkit.eu/v1/subscriptions/sub_9XKp2vQ1/pause \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" POST /v1/subscriptions/{subscription_id}/preview_update Preview Update Subscription
Quote what moving this subscription to another price would cost. Requires a secret or
restricted key with subscriptions:read.
curl -X POST https://api.billkit.eu/v1/subscriptions/sub_9XKp2vQ1/preview_update \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{"target_price_id":"price_9XKp2vQ1"}' POST /v1/subscriptions/{subscription_id}/reactivate Reactivate Subscription
Undo a pending cancellation and keep the subscription renewing. Requires a secret or
restricted key with subscriptions:write.
curl -X POST https://api.billkit.eu/v1/subscriptions/sub_9XKp2vQ1/reactivate \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" POST /v1/subscriptions/{subscription_id}/reauthorize_payment_method Reauthorize Payment Method
Start the flow for a customer to replace their payment method. Requires a secret or
restricted key with subscriptions:write.
curl -X POST https://api.billkit.eu/v1/subscriptions/sub_9XKp2vQ1/reauthorize_payment_method \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{"return_url":"https://acme.example/welcome"}' POST /v1/subscriptions/{subscription_id}/resume Resume Subscription
Restart renewals on a paused subscription. Requires a secret or
restricted key with subscriptions:write.
curl -X POST https://api.billkit.eu/v1/subscriptions/sub_9XKp2vQ1/resume \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" POST /v1/subscriptions/{subscription_id}/update Update Subscription
Move a subscription to a different price, charging the difference now. Requires a secret or
restricted key with subscriptions:write.
curl -X POST https://api.billkit.eu/v1/subscriptions/sub_9XKp2vQ1/update \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{"target_price_id":"price_9XKp2vQ1"}' Checkout
Hosted and embedded payment sessions, and saved payment methods. 4POST /v1/checkout/one_shot Create One Shot
Charge a customer once, with no subscription and no stored mandate. Requires a secret or
restricted key with checkout_sessions:write.
curl -X POST https://api.billkit.eu/v1/checkout/one_shot \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{"amount_cents":1900,"currency":"EUR","customer_id":"cus_9XKp2vQ1","method":"creditcard","success_url":"https://acme.example/welcome"}' GET /v1/checkout/one_shot/{one_shot_id} Get One Shot
Retrieve one one-off payment, including how much of it has been refunded. Requires a secret or
restricted key with checkout_sessions:read.
curl -X GET https://api.billkit.eu/v1/checkout/one_shot/osp_9XKp2vQ1 \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" POST /v1/checkout/sessions Create Checkout Session
Start a subscription sign-up. Requires a secret or
restricted key with checkout_sessions:write.
curl -X POST https://api.billkit.eu/v1/checkout/sessions \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{"cancel_url":"https://acme.example/welcome","price_id":"price_9XKp2vQ1","success_url":"https://acme.example/welcome"}' GET /v1/checkout/sessions/{checkout_id} Get Checkout Session
Retrieve one checkout session, to see whether the customer completed it. Requires a secret or
restricted key with checkout_sessions:read.
curl -X GET https://api.billkit.eu/v1/checkout/sessions/cs_9XKp2vQ1 \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" Usage records
Metered events reported against a subscription. 3GET /v1/subscriptions/{subscription_id}/usage_records List Usage Records
List the usage reported against one metered subscription. Requires a secret or
restricted key with usage_records:read.
curl -X GET https://api.billkit.eu/v1/subscriptions/sub_9XKp2vQ1/usage_records \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" POST /v1/subscriptions/{subscription_id}/usage_records Create Usage Record
Report usage against a metered subscription. Requires a secret or
restricted key with usage_records:write.
curl -X POST https://api.billkit.eu/v1/subscriptions/sub_9XKp2vQ1/usage_records \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{"quantity":0}' GET /v1/subscriptions/{subscription_id}/usage_summary Get Usage Summary
See what the next period close will bill, before it bills it. Requires a secret or
restricted key with usage_records:read.
curl -X GET https://api.billkit.eu/v1/subscriptions/sub_9XKp2vQ1/usage_summary \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" Invoices
Statements generated at the end of a billing period. 5GET /v1/invoices List Invoices
List invoices, newest first. Requires a secret or
restricted key with invoices:read.
curl -X GET https://api.billkit.eu/v1/invoices \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" GET /v1/invoices/{invoice_id} Get Invoice
Retrieve one invoice, with its line items. Requires a secret or
restricted key with invoices:read.
curl -X GET https://api.billkit.eu/v1/invoices/inv_9XKp2vQ1 \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" POST /v1/invoices/{invoice_id}/email Email Invoice
Send the customer their invoice again. Requires a secret or
restricted key with invoices:write.
curl -X POST https://api.billkit.eu/v1/invoices/inv_9XKp2vQ1/email \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" GET /v1/invoices/{invoice_id}/pdf Get Invoice Pdf
Download the invoice as a PDF. Requires a secret or
restricted key with invoices:read.
curl -X GET https://api.billkit.eu/v1/invoices/inv_9XKp2vQ1/pdf \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" POST /v1/invoices/{invoice_id}/void Void Invoice Route
Void an invoice, stating that the sale was never owed. Requires a secret or
restricted key with invoices:write.
curl -X POST https://api.billkit.eu/v1/invoices/inv_9XKp2vQ1/void \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{}' Credit notes
Reversals issued against an invoice. 3GET /v1/credit_notes List Credit Notes
List credit notes, newest first. Requires a secret or
restricted key with credit_notes:read.
curl -X GET https://api.billkit.eu/v1/credit_notes \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" GET /v1/credit_notes/{credit_note_id} Get Credit Note
Retrieve one credit note. Requires a secret or
restricted key with credit_notes:read.
curl -X GET https://api.billkit.eu/v1/credit_notes/cn_9XKp2vQ1 \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" GET /v1/credit_notes/{credit_note_id}/pdf Get Credit Note Pdf
Download the credit note as a PDF. Requires a secret or
restricted key with credit_notes:read.
curl -X GET https://api.billkit.eu/v1/credit_notes/cn_9XKp2vQ1/pdf \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" Payments
Individual charge attempts and their outcome. 3GET /v1/payments List Payments
List subscription payments, newest first. Requires a secret or
restricted key with payments:read.
curl -X GET https://api.billkit.eu/v1/payments \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" GET /v1/payments/{payment_id} Get Payment
Retrieve one subscription payment, including how much has been refunded. Requires a secret or
restricted key with payments:read.
curl -X GET https://api.billkit.eu/v1/payments/pay_9XKp2vQ1 \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" GET /v1/payments/{payment_id}/provider Get Payment Provider Payload
Fetch the provider's own record of this charge, live. Requires a secret or
restricted key with payments:read.
curl -X GET https://api.billkit.eu/v1/payments/pay_9XKp2vQ1/provider \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" Refunds
Full and partial returns against a settled payment. 3GET /v1/refunds List Refunds
List refunds, newest first. Requires a secret or
restricted key with refunds:read.
curl -X GET https://api.billkit.eu/v1/refunds \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" POST /v1/refunds Create Refund
Refund a payment, in full or in part. Requires a secret or
restricted key with refunds:write.
curl -X POST https://api.billkit.eu/v1/refunds \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{}' GET /v1/refunds/{refund_id} Get Refund
Retrieve one refund and check whether it has settled. Requires a secret or
restricted key with refunds:read.
curl -X GET https://api.billkit.eu/v1/refunds/re_9XKp2vQ1 \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" Disputes
Chargebacks raised by the cardholder or their bank. 2GET /v1/disputes List Disputes
List chargebacks raised against your payments, newest first. Requires a secret or
restricted key with disputes:read.
curl -X GET https://api.billkit.eu/v1/disputes \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" GET /v1/disputes/{dispute_id} Get Dispute
Retrieve one chargeback. Requires a secret or
restricted key with disputes:read.
curl -X GET https://api.billkit.eu/v1/disputes/dp_9XKp2vQ1 \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" Coupons
Percentage and fixed-amount discounts applied at checkout. 5GET /v1/coupons List Coupons
List coupons, newest first. Requires a secret or
restricted key with coupons:read.
curl -X GET https://api.billkit.eu/v1/coupons \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" POST /v1/coupons Create Coupon
Create a discount code customers can enter at checkout. Requires a secret or
restricted key with coupons:write.
curl -X POST https://api.billkit.eu/v1/coupons \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{"code":"string","discount_type":"percent","discount_value":0}' GET /v1/coupons/{coupon_id} Get Coupon
Retrieve one coupon, including how many times it has been redeemed. Requires a secret or
restricted key with coupons:read.
curl -X GET https://api.billkit.eu/v1/coupons/coup_9XKp2vQ1 \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" POST /v1/coupons/{coupon_id} Update Coupon
Update a coupon's limits, or withdraw it. Requires a secret or
restricted key with coupons:write.
curl -X POST https://api.billkit.eu/v1/coupons/coup_9XKp2vQ1 \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{}' POST /v1/coupons/validate Validate Coupon
Check whether a code is usable, and what it would take off. Requires a secret or
restricted key with coupons:read.
curl -X POST https://api.billkit.eu/v1/coupons/validate \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{"code":"string"}' Tax rates
VAT and sales-tax rates applied to a line item. 4GET /v1/tax_rates List Tax Rates
List tax rates, newest first. Requires a secret or
restricted key with tax_rates:read.
curl -X GET https://api.billkit.eu/v1/tax_rates \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" POST /v1/tax_rates Create Tax Rate
Set the VAT rate to charge customers in one country. Requires a secret or
restricted key with tax_rates:write.
curl -X POST https://api.billkit.eu/v1/tax_rates \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{"country_code":"NL","rate_basis_points":0}' GET /v1/tax_rates/{tax_rate_id} Get Tax Rate
Retrieve one tax rate. Requires a secret or
restricted key with tax_rates:read.
curl -X GET https://api.billkit.eu/v1/tax_rates/tr_9XKp2vQ1 \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" POST /v1/tax_rates/{tax_rate_id} Update Tax Rate
Correct a tax rate, retire it, or bring a retired one back into use. Requires a secret or
restricted key with tax_rates:write.
curl -X POST https://api.billkit.eu/v1/tax_rates/tr_9XKp2vQ1 \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{}' Webhook endpoints
Endpoint registration, signing secrets and delivery attempts. 10GET /v1/webhook_endpoints List Webhook Endpoints
List your webhook endpoints, newest first. Requires a secret or
restricted key with webhook_endpoints:read.
curl -X GET https://api.billkit.eu/v1/webhook_endpoints \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" POST /v1/webhook_endpoints Create Webhook Endpoint
Register a URL to receive events. Requires a secret or
restricted key with webhook_endpoints:write.
curl -X POST https://api.billkit.eu/v1/webhook_endpoints \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://acme.example/welcome"}' DELETE /v1/webhook_endpoints/{endpoint_id} Delete Webhook Endpoint
Delete a webhook endpoint. Requires a secret or
restricted key with webhook_endpoints:write.
curl -X DELETE https://api.billkit.eu/v1/webhook_endpoints/we_9XKp2vQ1 \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" GET /v1/webhook_endpoints/{endpoint_id} Get Webhook Endpoint
Retrieve one webhook endpoint's configuration. Requires a secret or
restricted key with webhook_endpoints:read.
curl -X GET https://api.billkit.eu/v1/webhook_endpoints/we_9XKp2vQ1 \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" POST /v1/webhook_endpoints/{endpoint_id} Update Webhook Endpoint
Update a webhook endpoint's URL, event list, description or status. Requires a secret or
restricted key with webhook_endpoints:write.
curl -X POST https://api.billkit.eu/v1/webhook_endpoints/we_9XKp2vQ1 \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{}' GET /v1/webhook_endpoints/{endpoint_id}/deliveries List Webhook Endpoint Deliveries
List the delivery attempts made to one webhook endpoint, newest first. Requires a secret or
restricted key with webhook_endpoints:read.
curl -X GET https://api.billkit.eu/v1/webhook_endpoints/we_9XKp2vQ1/deliveries \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" GET /v1/webhook_endpoints/{endpoint_id}/deliveries/{delivery_id} Get Webhook Delivery
Retrieve one delivery attempt. Requires a secret or
restricted key with webhook_endpoints:read.
curl -X GET https://api.billkit.eu/v1/webhook_endpoints/we_9XKp2vQ1/deliveries/whd_9XKp2vQ1 \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" POST /v1/webhook_endpoints/{endpoint_id}/deliveries/{delivery_id}/redeliver Redeliver Webhook Delivery
Send one delivery again, straight away. Requires a secret or
restricted key with webhook_endpoints:write.
curl -X POST https://api.billkit.eu/v1/webhook_endpoints/we_9XKp2vQ1/deliveries/whd_9XKp2vQ1/redeliver \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" POST /v1/webhook_endpoints/{endpoint_id}/rotate_secret Rotate Webhook Endpoint Secret
Replace the endpoint's signing secret. Requires a secret or
restricted key with webhook_endpoints:write.
curl -X POST https://api.billkit.eu/v1/webhook_endpoints/we_9XKp2vQ1/rotate_secret \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" GET /v1/webhook_endpoints/event_types List Event Types
Every event type this deployment can deliver. Requires a secret or
restricted key with webhook_endpoints:read.
curl -X GET https://api.billkit.eu/v1/webhook_endpoints/event_types \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" Events
The immutable log every webhook is delivered from. 3GET /v1/events List Events
List the events recorded for your account, newest first. Requires a secret or
restricted key with events:read.
curl -X GET https://api.billkit.eu/v1/events \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" GET /v1/events/{event_id} Get Event
Retrieve one event, including the full data payload it carried. Requires a secret or
restricted key with events:read.
curl -X GET https://api.billkit.eu/v1/events/evt_9XKp2vQ1 \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" GET /v1/events/stream Stream Events
Hold a connection open and receive this account's events as they happen. Requires a secret or
restricted key with events:read.
curl -X GET https://api.billkit.eu/v1/events/stream \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" Metrics
Aggregate revenue and subscription counts for a dashboard. 1GET /v1/metrics/home Get Home Metrics
Four headline numbers for your account, in one call. Requires a secret or
restricted key with metrics:read.
curl -X GET https://api.billkit.eu/v1/metrics/home \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" API keys
Mint, scope and revoke the keys that reach this API. 4GET /v1/api_keys List Api Keys
List your API keys, newest first. Requires a secret or
restricted key with api_keys:read.
curl -X GET https://api.billkit.eu/v1/api_keys \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" POST /v1/api_keys Create Api Key
Issue a new API key. Requires a secret or
restricted key with api_keys:write.
curl -X POST https://api.billkit.eu/v1/api_keys \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{}' GET /v1/api_keys/{api_key_id} Get Api Key
Retrieve one API key's metadata. Requires a secret or
restricted key with api_keys:read.
curl -X GET https://api.billkit.eu/v1/api_keys/ak_9XKp2vQ1 \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" POST /v1/api_keys/{api_key_id}/revoke Revoke Api Key
Revoke an API key so it stops working. Requires a secret or
restricted key with api_keys:write.
curl -X POST https://api.billkit.eu/v1/api_keys/ak_9XKp2vQ1/revoke \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" Audit logs
Who changed what, from the console or the API. 2GET /v1/audit_logs List Audit Logs
List the record of who changed what in your account, newest first. Requires a secret or
restricted key with audit_logs:read.
curl -X GET https://api.billkit.eu/v1/audit_logs \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" GET /v1/audit_logs/{audit_log_id} Get Audit Log
Retrieve one audit entry, including the details recorded with it. Requires a secret or
restricted key with audit_logs:read.
curl -X GET https://api.billkit.eu/v1/audit_logs/4b2a1e90-7c3d-4f18-9a55-1c0b6de3a742 \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" Tenant
Your account settings, branding and data export. 7GET /v1/tenant/billing_profile Get Billing Profile
Read your own registered country and VAT number. Requires a secret or
restricted key with tenant:read.
curl -X GET https://api.billkit.eu/v1/tenant/billing_profile \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" POST /v1/tenant/billing_profile Update Billing Profile
Set your registered country, and optionally your own VAT number. Requires a secret or
restricted key with tenant:write.
curl -X POST https://api.billkit.eu/v1/tenant/billing_profile \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{"country_code":"NL"}' GET /v1/tenant/capabilities Get Tenant Capabilities
Read which payment methods and currencies your account can actually use. Requires a secret or
restricted key with tenant:read.
curl -X GET https://api.billkit.eu/v1/tenant/capabilities \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" GET /v1/tenant/export Export Tenant Data
Download everything in your account as one JSON file. Requires a secret or
restricted key with data:export.
curl -X GET https://api.billkit.eu/v1/tenant/export \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" GET /v1/tenant/portal_branding Get Portal Branding
Read how your billing portal is branded. Requires a secret or
restricted key with tenant:read.
curl -X GET https://api.billkit.eu/v1/tenant/portal_branding \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" POST /v1/tenant/portal_branding Update Portal Branding
Set the business name, logo, support email and colours your customers see in the billing portal. Requires a secret or
restricted key with tenant:write.
curl -X POST https://api.billkit.eu/v1/tenant/portal_branding \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{}' POST /v1/tenant/provider_credential Rotate Tenant Provider Credential
Replace the payment provider API key BillKit uses to charge on your behalf. Requires a secret or
restricted key with tenant:write.
curl -X POST https://api.billkit.eu/v1/tenant/provider_credential \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{"api_key":"string"}' Test clocks
Advance time in test mode to exercise a year of billing in a minute. 5GET /v1/test_clocks List Test Clocks
List your test clocks, newest first. Test mode only. Requires a secret or
restricted key with test_clocks:read.
curl -X GET https://api.billkit.eu/v1/test_clocks \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" POST /v1/test_clocks Create Test Clock
Create a frozen clock so you can test billing over time. Requires a secret or
restricted key with test_clocks:write.
curl -X POST https://api.billkit.eu/v1/test_clocks \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{"frozen_time":1789392000}' DELETE /v1/test_clocks/{test_clock_id} Delete Test Clock
Delete a test clock. Requires a secret or
restricted key with test_clocks:write.
curl -X DELETE https://api.billkit.eu/v1/test_clocks/tc_9XKp2vQ1 \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" GET /v1/test_clocks/{test_clock_id} Get Test Clock
Retrieve one test clock and the time it is currently frozen at. Requires a secret or
restricted key with test_clocks:read.
curl -X GET https://api.billkit.eu/v1/test_clocks/tc_9XKp2vQ1 \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" POST /v1/test_clocks/{test_clock_id}/advance Advance Test Clock
Move a test clock forward and let everything due in between happen. Requires a secret or
restricted key with test_clocks:write.
curl -X POST https://api.billkit.eu/v1/test_clocks/tc_9XKp2vQ1/advance \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{"frozen_time":1789392000}' Billing portal
Server-side entry points for the customer-facing portal. 2POST /v1/billing_portal/sessions Create Portal Session
Mint a link that lets a customer manage their own subscription. Requires a secret or
restricted key with subscriptions:write.
curl -X POST https://api.billkit.eu/v1/billing_portal/sessions \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{"return_url":"https://acme.example/welcome","subscription_id":"sub_9XKp2vQ1"}' POST /v1/billing_portal/sessions/{session_id}/revoke Revoke Portal Session
Invalidate a portal link that is already out in the world. Requires a secret or
restricted key with subscriptions:write.
curl -X POST https://api.billkit.eu/v1/billing_portal/sessions/bps_9XKp2vQ1/revoke \
-H "Authorization: Bearer $BILLKIT_SECRET_KEY" Generate a client
Point any OpenAPI generator at the spec URL above. Regenerate when you want newly added fields; releases add optional fields rather than changing existing ones.
npx @openapitools/openapi-generator-cli generate \
-i https://api.billkit.eu/openapi.json \
-g java -o ./billkit-java Spec changelog
| Version | Change |
|---|---|
| 2026-09-13 | First published. |
BillKit