Operations
GET /
Root
Unauthenticated service banner -- lets load balancers / uptime
checks / a bare curl to the domain root get a 200 instead of the
FastAPI-default 404, without exposing anything sensitive.
Operation ID: root__get
Parameters
No parameters declared.
Responses
HTTP 200
Successful Response
Declared content| Media type | Schema |
|---|
application/json | object |
OpenAPI operation JSON
{
"summary": "Root",
"description": "Unauthenticated service banner -- lets load balancers / uptime\nchecks / a bare curl to the domain root get a 200 instead of the\nFastAPI-default 404, without exposing anything sensitive.",
"operationId": "root__get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"additionalProperties": true,
"type": "object",
"title": "Response Root Get"
}
}
}
}
}
}
GET /c/{token}
Click Redirect
Log the click, then 302 to the real destination.
302 not 301: a permanently-cached redirect means the browser never hits us
again and every repeat visit becomes invisible.
Operation ID: click_redirect_c__token__get
Parameters
Declared parameters| Name | Location | Required | Type | Details |
|---|
token | path | Yes | string | |
d | query | No | string | default: "/" |
Responses
HTTP 200
Successful Response
Declared content| Media type | Schema |
|---|
application/json | unspecified |
HTTP 422
Validation Error
OpenAPI operation JSON
{
"summary": "Click Redirect",
"description": "Log the click, then 302 to the real destination.\n\n302 not 301: a permanently-cached redirect means the browser never hits us\nagain and every repeat visit becomes invisible.",
"operationId": "click_redirect_c__token__get",
"parameters": [
{
"name": "token",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Token"
}
},
{
"name": "d",
"in": "query",
"required": false,
"schema": {
"type": "string",
"default": "/",
"title": "D"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
GET /card/success
Card Success Page
One-time reveal of the key the webhook minted for a paid session.
Operation ID: card_success_page_card_success_get
Parameters
Declared parameters| Name | Location | Required | Type | Details |
|---|
session_id | query | No | string | default: "" |
Responses
HTTP 200
Successful Response
Declared content| Media type | Schema |
|---|
text/html | string |
HTTP 422
Validation Error
OpenAPI operation JSON
{
"summary": "Card Success Page",
"description": "One-time reveal of the key the webhook minted for a paid session.",
"operationId": "card_success_page_card_success_get",
"parameters": [
{
"name": "session_id",
"in": "query",
"required": false,
"schema": {
"type": "string",
"default": "",
"title": "Session Id"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"text/html": {
"schema": {
"type": "string"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
GET /health
Health
Operation ID: health_health_get
Parameters
No parameters declared.
Responses
HTTP 200
Successful Response
Declared content| Media type | Schema |
|---|
application/json | object |
OpenAPI operation JSON
{
"summary": "Health",
"operationId": "health_health_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"additionalProperties": true,
"type": "object",
"title": "Response Health Health Get"
}
}
}
}
}
}
GET /privacy
Privacy
Operation ID: privacy_privacy_get
Parameters
No parameters declared.
Responses
HTTP 200
Successful Response
Declared content| Media type | Schema |
|---|
application/json | object |
OpenAPI operation JSON
{
"summary": "Privacy",
"operationId": "privacy_privacy_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"additionalProperties": true,
"type": "object",
"title": "Response Privacy Privacy Get"
}
}
}
}
}
}
GET /unsubscribe
Unsubscribe Page
Operation ID: unsubscribe_page_unsubscribe_get
Parameters
Declared parameters| Name | Location | Required | Type | Details |
|---|
e | query | No | string | default: "" |
t | query | No | string | default: "" |
Responses
HTTP 200
Successful Response
Declared content| Media type | Schema |
|---|
text/html | string |
HTTP 422
Validation Error
OpenAPI operation JSON
{
"summary": "Unsubscribe Page",
"operationId": "unsubscribe_page_unsubscribe_get",
"parameters": [
{
"name": "e",
"in": "query",
"required": false,
"schema": {
"type": "string",
"default": "",
"title": "E"
}
},
{
"name": "t",
"in": "query",
"required": false,
"schema": {
"type": "string",
"default": "",
"title": "T"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"text/html": {
"schema": {
"type": "string"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
POST /unsubscribe
Unsubscribe Oneclick
RFC 8058 one-click target. Mail clients POST here with a body of
List-Unsubscribe=One-Click. Read the raw body rather than using
fastapi.Form, which hard-requires python-multipart at import time and will
crash the whole app on startup if it is absent.
MUST return 2xx even on a bad token -- a non-2xx makes the mail client
report a broken unsubscribe, which hurts placement more than the opt-out
itself costs us.
Operation ID: unsubscribe_oneclick_unsubscribe_post
Parameters
Declared parameters| Name | Location | Required | Type | Details |
|---|
e | query | No | string | default: "" |
t | query | No | string | default: "" |
Responses
HTTP 200
Successful Response
Declared content| Media type | Schema |
|---|
application/json | unspecified |
HTTP 422
Validation Error
OpenAPI operation JSON
{
"summary": "Unsubscribe Oneclick",
"description": "RFC 8058 one-click target. Mail clients POST here with a body of\nList-Unsubscribe=One-Click. Read the raw body rather than using\nfastapi.Form, which hard-requires python-multipart at import time and will\ncrash the whole app on startup if it is absent.\n\nMUST return 2xx even on a bad token -- a non-2xx makes the mail client\nreport a broken unsubscribe, which hurts placement more than the opt-out\nitself costs us.",
"operationId": "unsubscribe_oneclick_unsubscribe_post",
"parameters": [
{
"name": "e",
"in": "query",
"required": false,
"schema": {
"type": "string",
"default": "",
"title": "E"
}
},
{
"name": "t",
"in": "query",
"required": false,
"schema": {
"type": "string",
"default": "",
"title": "T"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
POST /v1/audit
Audit Endpoint
Operation ID: audit_endpoint_v1_audit_post
Parameters
No parameters declared.
Request body
Required: Yes
Responses
HTTP 200
Successful Response
Declared content| Media type | Schema |
|---|
application/json | unspecified |
HTTP 422
Validation Error
OpenAPI operation JSON
{
"tags": [
"Free reference tokenizer audit"
],
"summary": "Audit Endpoint",
"operationId": "audit_endpoint_v1_audit_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FreeAuditRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
GET /v1/audit/stacks
Audit Stacks
Operation ID: audit_stacks_v1_audit_stacks_get
Parameters
No parameters declared.
Responses
HTTP 200
Successful Response
Declared content| Media type | Schema |
|---|
application/json | unspecified |
OpenAPI operation JSON
{
"tags": [
"Free reference tokenizer audit"
],
"summary": "Audit Stacks",
"operationId": "audit_stacks_v1_audit_stacks_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
}
}
}
POST /v1/checkout/btc
Create Btc Order
Create a real on-chain BTC invoice: a fresh, never-reused receiving
address from our own node, at the live BTC-price-based amount.
Operation ID: create_btc_order_v1_checkout_btc_post
Parameters
No parameters declared.
Request body
Required: Yes
Responses
HTTP 200
Successful Response
Declared content| Media type | Schema |
|---|
application/json | object |
HTTP 422
Validation Error
OpenAPI operation JSON
{
"summary": "Create Btc Order",
"description": "Create a real on-chain BTC invoice: a fresh, never-reused receiving\naddress from our own node, at the live BTC-price-based amount.",
"operationId": "create_btc_order_v1_checkout_btc_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateOrderRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"additionalProperties": true,
"type": "object",
"title": "Response Create Btc Order V1 Checkout Btc Post"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
GET /v1/checkout/btc/{order_id}
Check Btc Order
Operation ID: check_btc_order_v1_checkout_btc__order_id__get
Parameters
Declared parameters| Name | Location | Required | Type | Details |
|---|
order_id | path | Yes | string | |
Responses
HTTP 200
Successful Response
Declared content| Media type | Schema |
|---|
application/json | object |
HTTP 422
Validation Error
OpenAPI operation JSON
{
"summary": "Check Btc Order",
"operationId": "check_btc_order_v1_checkout_btc__order_id__get",
"parameters": [
{
"name": "order_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Order Id"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"additionalProperties": true,
"title": "Response Check Btc Order V1 Checkout Btc Order Id Get"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
GET /v1/checkout/btc/{order_id}/qr.svg
Btc Order Qr
Scannable QR for an existing order, as inline-able SVG.
Encodes a BIP-21 URI so any wallet prefills BOTH address and amount --
a customer who scans this cannot underpay by mistyping the amount.
The scheme is deliberately LOWERCASE ("bitcoin:"): some wallets (Strike
among them) reject an uppercased URI outright, even though QR alphanumeric
mode would compress better with uppercase. Correctness over density.
Operation ID: btc_order_qr_v1_checkout_btc__order_id__qr_svg_get
Parameters
Declared parameters| Name | Location | Required | Type | Details |
|---|
order_id | path | Yes | string | |
Responses
HTTP 200
Successful Response
Declared content| Media type | Schema |
|---|
application/json | unspecified |
HTTP 422
Validation Error
OpenAPI operation JSON
{
"summary": "Btc Order Qr",
"description": "Scannable QR for an existing order, as inline-able SVG.\n\nEncodes a BIP-21 URI so any wallet prefills BOTH address and amount --\na customer who scans this cannot underpay by mistyping the amount.\n\nThe scheme is deliberately LOWERCASE (\"bitcoin:\"): some wallets (Strike\namong them) reject an uppercased URI outright, even though QR alphanumeric\nmode would compress better with uppercase. Correctness over density.",
"operationId": "btc_order_qr_v1_checkout_btc__order_id__qr_svg_get",
"parameters": [
{
"name": "order_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Order Id"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
GET /v1/checkout/card/status
Card Status
Is a card/PayPal rail actually live for this tier?
The frontend uses this to decide between a real checkout button and the
email-capture fallback. It reports only what is genuinely configured -- with
no processor credentials on disk this returns configured=False, which is the
honest current state.
Operation ID: card_status_v1_checkout_card_status_get
Parameters
Declared parameters| Name | Location | Required | Type | Details |
|---|
tier | query | No | string | default: "growth" |
Responses
HTTP 200
Successful Response
Declared content| Media type | Schema |
|---|
application/json | object |
HTTP 422
Validation Error
OpenAPI operation JSON
{
"summary": "Card Status",
"description": "Is a card/PayPal rail actually live for this tier?\n\nThe frontend uses this to decide between a real checkout button and the\nemail-capture fallback. It reports only what is genuinely configured -- with\nno processor credentials on disk this returns configured=False, which is the\nhonest current state.",
"operationId": "card_status_v1_checkout_card_status_get",
"parameters": [
{
"name": "tier",
"in": "query",
"required": false,
"schema": {
"type": "string",
"default": "growth",
"title": "Tier"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"additionalProperties": true,
"title": "Response Card Status V1 Checkout Card Status Get"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
POST /v1/checkout/card/webhook
Card Webhook
Authoritative settlement for the card rail.
Signature verification is MANDATORY (stripe.Webhook.construct_event).
Without it anyone could POST a fake checkout.session.completed and mint
themselves a paid API key, so a missing secret FAILS CLOSED with 503 --
it never falls back to trusting the body.
Idempotent by both event id and checkout-session id: Stripe retries until
it sees a 2xx and an operator can hit "Resend", so a replay must return
200 without issuing a second key.
Operation ID: card_webhook_v1_checkout_card_webhook_post
Parameters
No parameters declared.
Responses
HTTP 200
Successful Response
Declared content| Media type | Schema |
|---|
application/json | object |
OpenAPI operation JSON
{
"summary": "Card Webhook",
"description": "Authoritative settlement for the card rail.\n\nSignature verification is MANDATORY (stripe.Webhook.construct_event).\nWithout it anyone could POST a fake checkout.session.completed and mint\nthemselves a paid API key, so a missing secret FAILS CLOSED with 503 --\nit never falls back to trusting the body.\n\nIdempotent by both event id and checkout-session id: Stripe retries until\nit sees a 2xx and an operator can hit \"Resend\", so a replay must return\n200 without issuing a second key.",
"operationId": "card_webhook_v1_checkout_card_webhook_post",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"additionalProperties": true,
"type": "object",
"title": "Response Card Webhook V1 Checkout Card Webhook Post"
}
}
}
}
}
}
GET /v1/checkout/card/webhook/status
Card Webhook Status
Secret-free report of whether card settlement can actually run.
Operation ID: card_webhook_status_v1_checkout_card_webhook_status_get
Parameters
No parameters declared.
Responses
HTTP 200
Successful Response
Declared content| Media type | Schema |
|---|
application/json | object |
OpenAPI operation JSON
{
"summary": "Card Webhook Status",
"description": "Secret-free report of whether card settlement can actually run.",
"operationId": "card_webhook_status_v1_checkout_card_webhook_status_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"additionalProperties": true,
"type": "object",
"title": "Response Card Webhook Status V1 Checkout Card Webhook Status Get"
}
}
}
}
}
}
GET /v1/checkout/card/{session_id}
Check Card Order
Success-page pickup for a card order.
The webhook is authoritative but its response goes to STRIPE, not to the
buyer -- and api_keys only persists the hash. So the raw key is parked for
exactly ONE retrieval here. Without this the paying customer sees a
success page with no credential.
Operation ID: check_card_order_v1_checkout_card__session_id__get
Parameters
Declared parameters| Name | Location | Required | Type | Details |
|---|
session_id | path | Yes | string | |
Responses
HTTP 200
Successful Response
Declared content| Media type | Schema |
|---|
application/json | object |
HTTP 422
Validation Error
OpenAPI operation JSON
{
"summary": "Check Card Order",
"description": "Success-page pickup for a card order.\n\nThe webhook is authoritative but its response goes to STRIPE, not to the\nbuyer -- and api_keys only persists the hash. So the raw key is parked for\nexactly ONE retrieval here. Without this the paying customer sees a\nsuccess page with no credential.",
"operationId": "check_card_order_v1_checkout_card__session_id__get",
"parameters": [
{
"name": "session_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Session Id"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"additionalProperties": true,
"title": "Response Check Card Order V1 Checkout Card Session Id Get"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
POST /v1/checkout/lightning
Create Lightning Order
Mint a real mainnet BOLT11 invoice for the requested tier.
Operation ID: create_lightning_order_v1_checkout_lightning_post
Parameters
No parameters declared.
Request body
Required: Yes
Responses
HTTP 200
Successful Response
Declared content| Media type | Schema |
|---|
application/json | object |
HTTP 422
Validation Error
OpenAPI operation JSON
{
"summary": "Create Lightning Order",
"description": "Mint a real mainnet BOLT11 invoice for the requested tier.",
"operationId": "create_lightning_order_v1_checkout_lightning_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateOrderRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"additionalProperties": true,
"type": "object",
"title": "Response Create Lightning Order V1 Checkout Lightning Post"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
GET /v1/checkout/lightning/capacity
Lightning Capacity
Report whether Lightning can actually receive a given tier RIGHT NOW.
The frontend calls this before showing the Lightning option, so a customer
is never offered a rail that will fail on click. Inbound liquidity is a
live property of the node, not a static config value.
Operation ID: lightning_capacity_v1_checkout_lightning_capacity_get
Parameters
No parameters declared.
Responses
HTTP 200
Successful Response
Declared content| Media type | Schema |
|---|
application/json | object |
OpenAPI operation JSON
{
"summary": "Lightning Capacity",
"description": "Report whether Lightning can actually receive a given tier RIGHT NOW.\n\nThe frontend calls this before showing the Lightning option, so a customer\nis never offered a rail that will fail on click. Inbound liquidity is a\nlive property of the node, not a static config value.",
"operationId": "lightning_capacity_v1_checkout_lightning_capacity_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"additionalProperties": true,
"type": "object",
"title": "Response Lightning Capacity V1 Checkout Lightning Capacity Get"
}
}
}
}
}
}
GET /v1/checkout/lightning/{payment_hash}
Check Lightning Order
Poll settle state. Issues the API key exactly once, on first settle.
Operation ID: check_lightning_order_v1_checkout_lightning__payment_hash__get
Parameters
Declared parameters| Name | Location | Required | Type | Details |
|---|
payment_hash | path | Yes | string | |
Responses
HTTP 200
Successful Response
Declared content| Media type | Schema |
|---|
application/json | object |
HTTP 422
Validation Error
OpenAPI operation JSON
{
"summary": "Check Lightning Order",
"description": "Poll settle state. Issues the API key exactly once, on first settle.",
"operationId": "check_lightning_order_v1_checkout_lightning__payment_hash__get",
"parameters": [
{
"name": "payment_hash",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Payment Hash"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"additionalProperties": true,
"title": "Response Check Lightning Order V1 Checkout Lightning Payment Hash Get"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
GET /v1/checkout/lightning/{payment_hash}/qr.svg
Lightning Order Qr
Scannable QR for a Lightning invoice.
The BOLT11 string already encodes the amount, so there is no underpayment
risk. Scheme is lowercase "lightning:" -- Strike (and others) reject an
uppercased URI, so we take the QR size hit rather than break wallets.
Operation ID: lightning_order_qr_v1_checkout_lightning__payment_hash__qr_svg_get
Parameters
Declared parameters| Name | Location | Required | Type | Details |
|---|
payment_hash | path | Yes | string | |
Responses
HTTP 200
Successful Response
Declared content| Media type | Schema |
|---|
application/json | unspecified |
HTTP 422
Validation Error
OpenAPI operation JSON
{
"summary": "Lightning Order Qr",
"description": "Scannable QR for a Lightning invoice.\n\nThe BOLT11 string already encodes the amount, so there is no underpayment\nrisk. Scheme is lowercase \"lightning:\" -- Strike (and others) reject an\nuppercased URI, so we take the QR size hit rather than break wallets.",
"operationId": "lightning_order_qr_v1_checkout_lightning__payment_hash__qr_svg_get",
"parameters": [
{
"name": "payment_hash",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Payment Hash"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
POST /v1/delivery-interest
Delivery Interest Endpoint
Record which enterprise delivery model a buyer wants.
HONEST BY CONSTRUCTION:
* Issues no API key and starts no provisioning.
* Returns no order id, no invoice, no download link, because none exist.
* Persists append-only to disk so a lead is never silently dropped just
because no CRM/email service is wired up yet.
* The response `next_step` says a human will reply -- it never claims an
automated fulfilment that does not exist.
Operation ID: delivery_interest_endpoint_v1_delivery_interest_post
Parameters
No parameters declared.
Request body
Required: Yes
Responses
HTTP 200
Successful Response
Declared content| Media type | Schema |
|---|
application/json | object |
HTTP 422
Validation Error
OpenAPI operation JSON
{
"summary": "Delivery Interest Endpoint",
"description": "Record which enterprise delivery model a buyer wants.\n\nHONEST BY CONSTRUCTION:\n * Issues no API key and starts no provisioning.\n * Returns no order id, no invoice, no download link, because none exist.\n * Persists append-only to disk so a lead is never silently dropped just\n because no CRM/email service is wired up yet.\n * The response `next_step` says a human will reply -- it never claims an\n automated fulfilment that does not exist.",
"operationId": "delivery_interest_endpoint_v1_delivery_interest_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeliveryInterestRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"additionalProperties": true,
"type": "object",
"title": "Response Delivery Interest Endpoint V1 Delivery Interest Post"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
GET /v1/delivery-models
Delivery Models Endpoint
Public, unauthenticated: the three ENTERPRISE software-delivery models.
This is a catalogue, not a store. Every entry carries
availability='by_agreement_scoped', self_service=False and
price_is_indicative=True, so no client can mistake it for a purchasable
SKU. Nothing here is provisioned by this API -- the companion
POST /v1/delivery-interest exists purely so a buyer can TELL US which
model they want, and a human follows up.
Operation ID: delivery_models_endpoint_v1_delivery_models_get
Parameters
No parameters declared.
Responses
HTTP 200
Successful Response
Declared content| Media type | Schema |
|---|
application/json | object |
OpenAPI operation JSON
{
"summary": "Delivery Models Endpoint",
"description": "Public, unauthenticated: the three ENTERPRISE software-delivery models.\n\nThis is a catalogue, not a store. Every entry carries\navailability='by_agreement_scoped', self_service=False and\nprice_is_indicative=True, so no client can mistake it for a purchasable\nSKU. Nothing here is provisioned by this API -- the companion\nPOST /v1/delivery-interest exists purely so a buyer can TELL US which\nmodel they want, and a human follows up.",
"operationId": "delivery_models_endpoint_v1_delivery_models_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"additionalProperties": true,
"type": "object",
"title": "Response Delivery Models Endpoint V1 Delivery Models Get"
}
}
}
}
}
}
POST /v1/fuse
Fuse Endpoint
Operation ID: fuse_endpoint_v1_fuse_post
Parameters
Declared parameters| Name | Location | Required | Type | Details |
|---|
X-API-Key | header | No | anyOf: string, null | |
Request body
Required: Yes
Declared content| Media type | Schema |
|---|
application/json | FuseRequest |
Responses
HTTP 200
Successful Response
Declared content| Media type | Schema |
|---|
application/json | FuseResponse |
HTTP 422
Validation Error
OpenAPI operation JSON
{
"summary": "Fuse Endpoint",
"operationId": "fuse_endpoint_v1_fuse_post",
"parameters": [
{
"name": "X-API-Key",
"in": "header",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Api-Key"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FuseRequest"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FuseResponse"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
POST /v1/leads
Leads Endpoint
Public, unauthenticated lead capture for the landing page CTA. No
external email service is wired up yet, so this durably persists the
lead to disk (append-only JSONL) rather than silently discarding it or
pretending an email was sent that wasn't.
Operation ID: leads_endpoint_v1_leads_post
Parameters
No parameters declared.
Request body
Required: Yes
Declared content| Media type | Schema |
|---|
application/json | LeadRequest |
Responses
HTTP 200
Successful Response
Declared content| Media type | Schema |
|---|
application/json | object |
HTTP 422
Validation Error
OpenAPI operation JSON
{
"summary": "Leads Endpoint",
"description": "Public, unauthenticated lead capture for the landing page CTA. No\nexternal email service is wired up yet, so this durably persists the\nlead to disk (append-only JSONL) rather than silently discarding it or\npretending an email was sent that wasn't.",
"operationId": "leads_endpoint_v1_leads_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LeadRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"additionalProperties": true,
"type": "object",
"title": "Response Leads Endpoint V1 Leads Post"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
POST /v1/normalize
Normalize
Operation ID: normalize_v1_normalize_post
Parameters
Declared parameters| Name | Location | Required | Type | Details |
|---|
X-API-Key | header | No | anyOf: string, null | |
Request body
Required: Yes
Responses
HTTP 200
Successful Response
Declared content| Media type | Schema |
|---|
application/json | object |
HTTP 422
Validation Error
OpenAPI operation JSON
{
"summary": "Normalize",
"operationId": "normalize_v1_normalize_post",
"parameters": [
{
"name": "X-API-Key",
"in": "header",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Api-Key"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NormalizeRequest"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"additionalProperties": true,
"title": "Response Normalize V1 Normalize Post"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
GET /v1/pricing
Pricing Endpoint
Public, unauthenticated: current tier prices. BTC price is the base
price; the response reports the current fiat/credit-card surcharge.
Operation ID: pricing_endpoint_v1_pricing_get
Parameters
No parameters declared.
Responses
HTTP 200
Successful Response
Declared content| Media type | Schema |
|---|
application/json | object |
OpenAPI operation JSON
{
"summary": "Pricing Endpoint",
"description": "Public, unauthenticated: current tier prices. BTC price is the base\nprice; the response reports the current fiat/credit-card surcharge.",
"operationId": "pricing_endpoint_v1_pricing_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"additionalProperties": true,
"type": "object",
"title": "Response Pricing Endpoint V1 Pricing Get"
}
}
}
}
}
}
POST /v1/quote
Quote Endpoint
Public, unauthenticated: build a payment quote for a tier+currency.
Never claims a payment path is ready unless it actually is -- see
pricing.py docstring.
Operation ID: quote_endpoint_v1_quote_post
Parameters
No parameters declared.
Request body
Required: Yes
Declared content| Media type | Schema |
|---|
application/json | QuoteRequest |
Responses
HTTP 200
Successful Response
Declared content| Media type | Schema |
|---|
application/json | object |
HTTP 422
Validation Error
OpenAPI operation JSON
{
"summary": "Quote Endpoint",
"description": "Public, unauthenticated: build a payment quote for a tier+currency.\nNever claims a payment path is ready unless it actually is -- see\npricing.py docstring.",
"operationId": "quote_endpoint_v1_quote_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/QuoteRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"additionalProperties": true,
"type": "object",
"title": "Response Quote Endpoint V1 Quote Post"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
GET /version
Version
Operation ID: version_version_get
Parameters
No parameters declared.
Responses
HTTP 200
Successful Response
Declared content| Media type | Schema |
|---|
application/json | object |
OpenAPI operation JSON
{
"summary": "Version",
"operationId": "version_version_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"additionalProperties": {
"type": "string"
},
"type": "object",
"title": "Response Version Version Get"
}
}
}
}
}
}