Skip to content
Oris Docs

Billing

POST /api/v1/oris/billing/checkout-session

Create Stripe Checkout session

Redirect the developer to Stripe Checkout for plan upgrade.

Auth: Ed25519 request signing. Send Authorization, X-Request-Signature, X-Timestamp, and X-Nonce headers on every call. Nonce TTL is thirty seconds.

Request body

application/json, schema: CheckoutRequest

Responses

StatusDescription
200 Successful Response
422 Validation Error

Example request

curl -X POST 'https://api.useoris.xyz/api/v1/oris/billing/checkout-session' \
  -H 'Authorization: oris_sk_live_***' \
  -H 'X-Request-Signature: ***' \
  -H 'X-Timestamp: $(date +%s)' \
  -H 'X-Nonce: $(uuidgen)' \
  -H 'Content-Type: application/json' \
  -d '{...}'
GET /api/v1/oris/billing/mcp-usage

Get MCP usage for gate checks

Lightweight endpoint for the MCP usage gate. Returns current transaction count, plan limit, and billing status. Redis-first with DB fallback. Target latency: <5ms.

Auth: Ed25519 request signing. Send Authorization, X-Request-Signature, X-Timestamp, and X-Nonce headers on every call. Nonce TTL is thirty seconds.

Responses

StatusDescription
200 Successful Response

Example request

curl -X GET 'https://api.useoris.xyz/api/v1/oris/billing/mcp-usage' \
  -H 'Authorization: oris_sk_live_***' \
  -H 'X-Request-Signature: ***' \
  -H 'X-Timestamp: $(date +%s)' \
  -H 'X-Nonce: $(uuidgen)'
POST /api/v1/oris/billing/portal-session

Create Stripe Customer Portal session

Redirect the developer to Stripe Customer Portal for billing management.

Auth: Ed25519 request signing. Send Authorization, X-Request-Signature, X-Timestamp, and X-Nonce headers on every call. Nonce TTL is thirty seconds.

Request body

application/json, schema: PortalRequest

Responses

StatusDescription
200 Successful Response
422 Validation Error

Example request

curl -X POST 'https://api.useoris.xyz/api/v1/oris/billing/portal-session' \
  -H 'Authorization: oris_sk_live_***' \
  -H 'X-Request-Signature: ***' \
  -H 'X-Timestamp: $(date +%s)' \
  -H 'X-Nonce: $(uuidgen)' \
  -H 'Content-Type: application/json' \
  -d '{...}'
GET /api/v1/oris/billing/usage

Get current usage and quota status

No OLTP table scans.

Auth: Ed25519 request signing. Send Authorization, X-Request-Signature, X-Timestamp, and X-Nonce headers on every call. Nonce TTL is thirty seconds.

Responses

StatusDescription
200 Successful Response

Example request

curl -X GET 'https://api.useoris.xyz/api/v1/oris/billing/usage' \
  -H 'Authorization: oris_sk_live_***' \
  -H 'X-Request-Signature: ***' \
  -H 'X-Timestamp: $(date +%s)' \
  -H 'X-Nonce: $(uuidgen)'
GET /api/v1/oris/billing/usage/endpoints

Get endpoint-level usage breakdown

No OLTP scans.

Auth: Ed25519 request signing. Send Authorization, X-Request-Signature, X-Timestamp, and X-Nonce headers on every call. Nonce TTL is thirty seconds.

Query parameters

NameTypeRequiredDescription
period string No

Responses

StatusDescription
200 Successful Response
422 Validation Error

Example request

curl -X GET 'https://api.useoris.xyz/api/v1/oris/billing/usage/endpoints' \
  -H 'Authorization: oris_sk_live_***' \
  -H 'X-Request-Signature: ***' \
  -H 'X-Timestamp: $(date +%s)' \
  -H 'X-Nonce: $(uuidgen)'
POST /api/v1/oris/billing/webhook

Stripe webhook handler

Receives Stripe events. Authenticated via Stripe-Signature header.

Auth: Ed25519 request signing. Send Authorization, X-Request-Signature, X-Timestamp, and X-Nonce headers on every call. Nonce TTL is thirty seconds.

Responses

StatusDescription
200 Successful Response

Example request

curl -X POST 'https://api.useoris.xyz/api/v1/oris/billing/webhook' \
  -H 'Authorization: oris_sk_live_***' \
  -H 'X-Request-Signature: ***' \
  -H 'X-Timestamp: $(date +%s)' \
  -H 'X-Nonce: $(uuidgen)'