API reference

Semantic Integrity Gateway

Version 0.4.0 · OpenAPI 3.1.0

Generated from the supplied OpenAPI document. Descriptions, defaults and required fields reflect that document.

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 typeSchema
application/jsonobject
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
NameLocationRequiredTypeDetails
tokenpathYesstring
dqueryNostringdefault: "/"

Responses

HTTP 200

Successful Response

Declared content
Media typeSchema
application/jsonunspecified
HTTP 422

Validation Error

Declared content
Media typeSchema
application/jsonHTTPValidationError
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
NameLocationRequiredTypeDetails
session_idqueryNostringdefault: ""

Responses

HTTP 200

Successful Response

Declared content
Media typeSchema
text/htmlstring
HTTP 422

Validation Error

Declared content
Media typeSchema
application/jsonHTTPValidationError
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 typeSchema
application/jsonobject
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 typeSchema
application/jsonobject
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
NameLocationRequiredTypeDetails
equeryNostringdefault: ""
tqueryNostringdefault: ""

Responses

HTTP 200

Successful Response

Declared content
Media typeSchema
text/htmlstring
HTTP 422

Validation Error

Declared content
Media typeSchema
application/jsonHTTPValidationError
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
NameLocationRequiredTypeDetails
equeryNostringdefault: ""
tqueryNostringdefault: ""

Responses

HTTP 200

Successful Response

Declared content
Media typeSchema
application/jsonunspecified
HTTP 422

Validation Error

Declared content
Media typeSchema
application/jsonHTTPValidationError
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

Declared content
Media typeSchema
application/jsonFreeAuditRequest

Responses

HTTP 200

Successful Response

Declared content
Media typeSchema
application/jsonunspecified
HTTP 422

Validation Error

Declared content
Media typeSchema
application/jsonHTTPValidationError
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 typeSchema
application/jsonunspecified
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

Declared content
Media typeSchema
application/jsonCreateOrderRequest

Responses

HTTP 200

Successful Response

Declared content
Media typeSchema
application/jsonobject
HTTP 422

Validation Error

Declared content
Media typeSchema
application/jsonHTTPValidationError
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
NameLocationRequiredTypeDetails
order_idpathYesstring

Responses

HTTP 200

Successful Response

Declared content
Media typeSchema
application/jsonobject
HTTP 422

Validation Error

Declared content
Media typeSchema
application/jsonHTTPValidationError
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
NameLocationRequiredTypeDetails
order_idpathYesstring

Responses

HTTP 200

Successful Response

Declared content
Media typeSchema
application/jsonunspecified
HTTP 422

Validation Error

Declared content
Media typeSchema
application/jsonHTTPValidationError
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
NameLocationRequiredTypeDetails
tierqueryNostringdefault: "growth"

Responses

HTTP 200

Successful Response

Declared content
Media typeSchema
application/jsonobject
HTTP 422

Validation Error

Declared content
Media typeSchema
application/jsonHTTPValidationError
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 typeSchema
application/jsonobject
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 typeSchema
application/jsonobject
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
NameLocationRequiredTypeDetails
session_idpathYesstring

Responses

HTTP 200

Successful Response

Declared content
Media typeSchema
application/jsonobject
HTTP 422

Validation Error

Declared content
Media typeSchema
application/jsonHTTPValidationError
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

Declared content
Media typeSchema
application/jsonCreateOrderRequest

Responses

HTTP 200

Successful Response

Declared content
Media typeSchema
application/jsonobject
HTTP 422

Validation Error

Declared content
Media typeSchema
application/jsonHTTPValidationError
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 typeSchema
application/jsonobject
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
NameLocationRequiredTypeDetails
payment_hashpathYesstring

Responses

HTTP 200

Successful Response

Declared content
Media typeSchema
application/jsonobject
HTTP 422

Validation Error

Declared content
Media typeSchema
application/jsonHTTPValidationError
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
NameLocationRequiredTypeDetails
payment_hashpathYesstring

Responses

HTTP 200

Successful Response

Declared content
Media typeSchema
application/jsonunspecified
HTTP 422

Validation Error

Declared content
Media typeSchema
application/jsonHTTPValidationError
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

Declared content
Media typeSchema
application/jsonDeliveryInterestRequest

Responses

HTTP 200

Successful Response

Declared content
Media typeSchema
application/jsonobject
HTTP 422

Validation Error

Declared content
Media typeSchema
application/jsonHTTPValidationError
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 typeSchema
application/jsonobject
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
NameLocationRequiredTypeDetails
X-API-KeyheaderNoanyOf: string, null

Request body

Required: Yes

Declared content
Media typeSchema
application/jsonFuseRequest

Responses

HTTP 200

Successful Response

Declared content
Media typeSchema
application/jsonFuseResponse
HTTP 422

Validation Error

Declared content
Media typeSchema
application/jsonHTTPValidationError
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 typeSchema
application/jsonLeadRequest

Responses

HTTP 200

Successful Response

Declared content
Media typeSchema
application/jsonobject
HTTP 422

Validation Error

Declared content
Media typeSchema
application/jsonHTTPValidationError
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
NameLocationRequiredTypeDetails
X-API-KeyheaderNoanyOf: string, null

Request body

Required: Yes

Declared content
Media typeSchema
application/jsonNormalizeRequest

Responses

HTTP 200

Successful Response

Declared content
Media typeSchema
application/jsonobject
HTTP 422

Validation Error

Declared content
Media typeSchema
application/jsonHTTPValidationError
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 typeSchema
application/jsonobject
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 typeSchema
application/jsonQuoteRequest

Responses

HTTP 200

Successful Response

Declared content
Media typeSchema
application/jsonobject
HTTP 422

Validation Error

Declared content
Media typeSchema
application/jsonHTTPValidationError
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 typeSchema
application/jsonobject
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"
          }
        }
      }
    }
  }
}

Schemas

CreateOrderRequest

object

Properties of CreateOrderRequest
PropertyRequiredTypeDetails
tierYesstring

one of: developer, growth, enterprise

emailNoanyOf: string, null
sourceNoanyOf: string, null
segmentNoanyOf: string, null
campaignNoanyOf: string, null
event_idNoanyOf: string, null
Complete schema JSON
{
  "properties": {
    "tier": {
      "type": "string",
      "title": "Tier",
      "description": "one of: developer, growth, enterprise"
    },
    "email": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Email"
    },
    "source": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 32
        },
        {
          "type": "null"
        }
      ],
      "title": "Source"
    },
    "segment": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 64
        },
        {
          "type": "null"
        }
      ],
      "title": "Segment"
    },
    "campaign": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 64
        },
        {
          "type": "null"
        }
      ],
      "title": "Campaign"
    },
    "event_id": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 64
        },
        {
          "type": "null"
        }
      ],
      "title": "Event Id"
    }
  },
  "type": "object",
  "required": [
    "tier"
  ],
  "title": "CreateOrderRequest"
}

DeliveryInterestRequest

object

Structured 'which delivery model do you want' capture. Deliberately narrow. We ask only what we need in order to scope the engagement and route it to a human; we do NOT collect anything that would imply we are about to provision or bill something.

Properties of DeliveryInterestRequest
PropertyRequiredTypeDetails
emailYesstringmaxLength: 320
delivery_modelYesstring

one of: dedicated_byoc, self_hosted_appliance, oem_embedded

companyNoanyOf: string, null
cloudNoanyOf: string, null

aws | gcp | azure | on_prem | other

monthly_charsNoanyOf: string, null

rough monthly character volume

timelineNoanyOf: string, null

evaluating | this_quarter | next_quarter | urgent

complianceNoanyOf: string, null

e.g. HIPAA, FedRAMP, SOC2, air-gap required

messageNoanyOf: string, null
sourceNoanyOf: string, null
segmentNoanyOf: string, null
campaignNoanyOf: string, null
event_idNoanyOf: string, null
Complete schema JSON
{
  "properties": {
    "email": {
      "type": "string",
      "maxLength": 320,
      "title": "Email"
    },
    "delivery_model": {
      "type": "string",
      "title": "Delivery Model",
      "description": "one of: dedicated_byoc, self_hosted_appliance, oem_embedded"
    },
    "company": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ],
      "title": "Company"
    },
    "cloud": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 80
        },
        {
          "type": "null"
        }
      ],
      "title": "Cloud",
      "description": "aws | gcp | azure | on_prem | other"
    },
    "monthly_chars": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 80
        },
        {
          "type": "null"
        }
      ],
      "title": "Monthly Chars",
      "description": "rough monthly character volume"
    },
    "timeline": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 80
        },
        {
          "type": "null"
        }
      ],
      "title": "Timeline",
      "description": "evaluating | this_quarter | next_quarter | urgent"
    },
    "compliance": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 300
        },
        {
          "type": "null"
        }
      ],
      "title": "Compliance",
      "description": "e.g. HIPAA, FedRAMP, SOC2, air-gap required"
    },
    "message": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 2000
        },
        {
          "type": "null"
        }
      ],
      "title": "Message"
    },
    "source": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 32
        },
        {
          "type": "null"
        }
      ],
      "title": "Source"
    },
    "segment": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 64
        },
        {
          "type": "null"
        }
      ],
      "title": "Segment"
    },
    "campaign": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 64
        },
        {
          "type": "null"
        }
      ],
      "title": "Campaign"
    },
    "event_id": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 64
        },
        {
          "type": "null"
        }
      ],
      "title": "Event Id"
    }
  },
  "type": "object",
  "required": [
    "email",
    "delivery_model"
  ],
  "title": "DeliveryInterestRequest",
  "description": "Structured 'which delivery model do you want' capture.\n\nDeliberately narrow. We ask only what we need in order to scope the\nengagement and route it to a human; we do NOT collect anything that would\nimply we are about to provision or bill something."
}

FreeAuditRequest

object

Properties of FreeAuditRequest
PropertyRequiredTypeDetails
textNoanyOf: string, null
recordsNoanyOf: array of string, null
formatNostringdefault: "auto"
enum: ["auto", "lines", "csv", "jsonl", "json"]
stackNoanyOf: string, null
verticalNoanyOf: string, null
companyNostringdefault: ""
maxLength: 200
corpus_records_totalNoanyOf: integer, null
monthly_queriesNoanyOf: integer, null
months_runningNoanyOf: number, null
aov_usdNoanyOf: number, null
ticket_cost_usdNoanyOf: number, null
use_caseNostringdefault: "both"
enum: ["search", "ecommerce", "support", "rag", "both"]
surfaceNostringdefault: "records"
enum: ["records", "queries"]
include_htmlNobooleandefault: true
include_textNobooleandefault: false
Complete schema JSON
{
  "properties": {
    "text": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 100000
        },
        {
          "type": "null"
        }
      ],
      "title": "Text"
    },
    "records": {
      "anyOf": [
        {
          "items": {
            "type": "string",
            "maxLength": 20000
          },
          "type": "array",
          "maxItems": 500
        },
        {
          "type": "null"
        }
      ],
      "title": "Records"
    },
    "format": {
      "type": "string",
      "enum": [
        "auto",
        "lines",
        "csv",
        "jsonl",
        "json"
      ],
      "title": "Format",
      "default": "auto"
    },
    "stack": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 80
        },
        {
          "type": "null"
        }
      ],
      "title": "Stack"
    },
    "vertical": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 80
        },
        {
          "type": "null"
        }
      ],
      "title": "Vertical"
    },
    "company": {
      "type": "string",
      "maxLength": 200,
      "title": "Company",
      "default": ""
    },
    "corpus_records_total": {
      "anyOf": [
        {
          "type": "integer",
          "maximum": 10000000000.0,
          "minimum": 0.0
        },
        {
          "type": "null"
        }
      ],
      "title": "Corpus Records Total"
    },
    "monthly_queries": {
      "anyOf": [
        {
          "type": "integer",
          "maximum": 10000000000.0,
          "minimum": 0.0
        },
        {
          "type": "null"
        }
      ],
      "title": "Monthly Queries"
    },
    "months_running": {
      "anyOf": [
        {
          "type": "number",
          "maximum": 600.0,
          "minimum": 0.0
        },
        {
          "type": "null"
        }
      ],
      "title": "Months Running"
    },
    "aov_usd": {
      "anyOf": [
        {
          "type": "number",
          "maximum": 1000000.0,
          "minimum": 0.0
        },
        {
          "type": "null"
        }
      ],
      "title": "Aov Usd"
    },
    "ticket_cost_usd": {
      "anyOf": [
        {
          "type": "number",
          "maximum": 100000.0,
          "minimum": 0.0
        },
        {
          "type": "null"
        }
      ],
      "title": "Ticket Cost Usd"
    },
    "use_case": {
      "type": "string",
      "enum": [
        "search",
        "ecommerce",
        "support",
        "rag",
        "both"
      ],
      "title": "Use Case",
      "default": "both"
    },
    "surface": {
      "type": "string",
      "enum": [
        "records",
        "queries"
      ],
      "title": "Surface",
      "default": "records"
    },
    "include_html": {
      "type": "boolean",
      "title": "Include Html",
      "default": true
    },
    "include_text": {
      "type": "boolean",
      "title": "Include Text",
      "default": false
    }
  },
  "additionalProperties": false,
  "type": "object",
  "title": "FreeAuditRequest"
}

FuseDoc

object

Properties of FuseDoc
PropertyRequiredTypeDetails
idYesstring

Caller-assigned document id, echoed back in results.

textYesstring

Document text used for BM25 and (optionally) embedding.

dense_scoreNoanyOf: number, null

Pre-computed dense similarity score for this doc against the query, from the caller's own vector DB / embedding call. If omitted for ANY doc in the request, the proxy will compute dense scores itself for ALL docs (embed mode) using `embed_model`.

Complete schema JSON
{
  "properties": {
    "id": {
      "type": "string",
      "title": "Id",
      "description": "Caller-assigned document id, echoed back in results."
    },
    "text": {
      "type": "string",
      "title": "Text",
      "description": "Document text used for BM25 and (optionally) embedding."
    },
    "dense_score": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Dense Score",
      "description": "Pre-computed dense similarity score for this doc against the query, from the caller's own vector DB / embedding call. If omitted for ANY doc in the request, the proxy will compute dense scores itself for ALL docs (embed mode) using `embed_model`."
    }
  },
  "type": "object",
  "required": [
    "id",
    "text"
  ],
  "title": "FuseDoc"
}

FuseRequest

object

Properties of FuseRequest
PropertyRequiredTypeDetails
queryYesstring

The user query text.

docsYesarray of FuseDoc

Candidate documents to re-rank.

minItems: 1
methodNostring

Fusion method: 'maxnorm' (recommended default) or 'rrf' (baseline, for comparison only).

default: "maxnorm"
tokenizerNostring

BM25 tokenizer: 'ws' (whitespace/alnum, latin scripts) or 'ngram' (char bigrams, CJK).

default: "ws"
embed_modelNostring

sentence-transformers model to use if dense scores must be computed server-side.

default: "BAAI/bge-base-en-v1.5"
entity_mapNoanyOf: object, null

Optional entity-substitution dictionary (surface form -> plain-word/latin substitute), applied to both query and doc text before embedding (embed mode only).

top_kNoanyOf: integer, null

If set, truncate results to top_k after fusion.

Complete schema JSON
{
  "properties": {
    "query": {
      "type": "string",
      "title": "Query",
      "description": "The user query text."
    },
    "docs": {
      "items": {
        "$ref": "#/components/schemas/FuseDoc"
      },
      "type": "array",
      "minItems": 1,
      "title": "Docs",
      "description": "Candidate documents to re-rank."
    },
    "method": {
      "type": "string",
      "title": "Method",
      "description": "Fusion method: 'maxnorm' (recommended default) or 'rrf' (baseline, for comparison only).",
      "default": "maxnorm"
    },
    "tokenizer": {
      "type": "string",
      "title": "Tokenizer",
      "description": "BM25 tokenizer: 'ws' (whitespace/alnum, latin scripts) or 'ngram' (char bigrams, CJK).",
      "default": "ws"
    },
    "embed_model": {
      "type": "string",
      "title": "Embed Model",
      "description": "sentence-transformers model to use if dense scores must be computed server-side.",
      "default": "BAAI/bge-base-en-v1.5"
    },
    "entity_map": {
      "anyOf": [
        {
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "title": "Entity Map",
      "description": "Optional entity-substitution dictionary (surface form -> plain-word/latin substitute), applied to both query and doc text before embedding (embed mode only)."
    },
    "top_k": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Top K",
      "description": "If set, truncate results to top_k after fusion."
    }
  },
  "type": "object",
  "required": [
    "query",
    "docs"
  ],
  "title": "FuseRequest"
}

FuseResponse

object

Properties of FuseResponse
PropertyRequiredTypeDetails
queryYesstring
methodYesstring
tokenizerYesstring
dense_sourceYesstring
resultsYesarray of RankedDoc
Complete schema JSON
{
  "properties": {
    "query": {
      "type": "string",
      "title": "Query"
    },
    "method": {
      "type": "string",
      "title": "Method"
    },
    "tokenizer": {
      "type": "string",
      "title": "Tokenizer"
    },
    "dense_source": {
      "type": "string",
      "title": "Dense Source"
    },
    "results": {
      "items": {
        "$ref": "#/components/schemas/RankedDoc"
      },
      "type": "array",
      "title": "Results"
    }
  },
  "type": "object",
  "required": [
    "query",
    "method",
    "tokenizer",
    "dense_source",
    "results"
  ],
  "title": "FuseResponse"
}

HTTPValidationError

object

Properties of HTTPValidationError
PropertyRequiredTypeDetails
detailNoarray of ValidationError
Complete schema JSON
{
  "properties": {
    "detail": {
      "items": {
        "$ref": "#/components/schemas/ValidationError"
      },
      "type": "array",
      "title": "Detail"
    }
  },
  "type": "object",
  "title": "HTTPValidationError"
}

LeadRequest

object

Properties of LeadRequest
PropertyRequiredTypeDetails
emailYesstringmaxLength: 320
tierNoanyOf: string, null
messageNoanyOf: string, null
sourceNoanyOf: string, null
segmentNoanyOf: string, null
campaignNoanyOf: string, null
event_idNoanyOf: string, null
Complete schema JSON
{
  "properties": {
    "email": {
      "type": "string",
      "maxLength": 320,
      "title": "Email"
    },
    "tier": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Tier"
    },
    "message": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 2000
        },
        {
          "type": "null"
        }
      ],
      "title": "Message"
    },
    "source": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 32
        },
        {
          "type": "null"
        }
      ],
      "title": "Source"
    },
    "segment": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 64
        },
        {
          "type": "null"
        }
      ],
      "title": "Segment"
    },
    "campaign": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 64
        },
        {
          "type": "null"
        }
      ],
      "title": "Campaign"
    },
    "event_id": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 64
        },
        {
          "type": "null"
        }
      ],
      "title": "Event Id"
    }
  },
  "type": "object",
  "required": [
    "email"
  ],
  "title": "LeadRequest"
}

NormalizeRequest

object

Properties of NormalizeRequest
PropertyRequiredTypeDetails
textYesstringmaxLength: 100000
modeNostringdefault: "augment"
chinese_glossesNoanyOf: object, null
contextualNobooleandefault: true
Complete schema JSON
{
  "properties": {
    "text": {
      "type": "string",
      "maxLength": 100000,
      "title": "Text"
    },
    "mode": {
      "type": "string",
      "title": "Mode",
      "default": "augment"
    },
    "chinese_glosses": {
      "anyOf": [
        {
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "title": "Chinese Glosses"
    },
    "contextual": {
      "type": "boolean",
      "title": "Contextual",
      "default": true
    }
  },
  "type": "object",
  "required": [
    "text"
  ],
  "title": "NormalizeRequest"
}

QuoteRequest

object

Properties of QuoteRequest
PropertyRequiredTypeDetails
tierYesstring

one of: developer, growth, enterprise

currencyYesstring

'btc' or 'fiat'

Complete schema JSON
{
  "properties": {
    "tier": {
      "type": "string",
      "title": "Tier",
      "description": "one of: developer, growth, enterprise"
    },
    "currency": {
      "type": "string",
      "title": "Currency",
      "description": "'btc' or 'fiat'"
    }
  },
  "type": "object",
  "required": [
    "tier",
    "currency"
  ],
  "title": "QuoteRequest"
}

RankedDoc

object

Properties of RankedDoc
PropertyRequiredTypeDetails
idYesstring
textYesstring
dense_scoreYesnumber
bm25_scoreYesnumber
fused_scoreYesnumber
rankYesinteger
Complete schema JSON
{
  "properties": {
    "id": {
      "type": "string",
      "title": "Id"
    },
    "text": {
      "type": "string",
      "title": "Text"
    },
    "dense_score": {
      "type": "number",
      "title": "Dense Score"
    },
    "bm25_score": {
      "type": "number",
      "title": "Bm25 Score"
    },
    "fused_score": {
      "type": "number",
      "title": "Fused Score"
    },
    "rank": {
      "type": "integer",
      "title": "Rank"
    }
  },
  "type": "object",
  "required": [
    "id",
    "text",
    "dense_score",
    "bm25_score",
    "fused_score",
    "rank"
  ],
  "title": "RankedDoc"
}

ValidationError

object

Properties of ValidationError
PropertyRequiredTypeDetails
locYesarray of anyOf: string, integer
msgYesstring
typeYesstring
inputNounspecified
ctxNoobject
Complete schema JSON
{
  "properties": {
    "loc": {
      "items": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "integer"
          }
        ]
      },
      "type": "array",
      "title": "Location"
    },
    "msg": {
      "type": "string",
      "title": "Message"
    },
    "type": {
      "type": "string",
      "title": "Error Type"
    },
    "input": {
      "title": "Input"
    },
    "ctx": {
      "type": "object",
      "title": "Context"
    }
  },
  "type": "object",
  "required": [
    "loc",
    "msg",
    "type"
  ],
  "title": "ValidationError"
}