Skip to content
OpenRelay is in early access, and the /v1 API is stable. New capabilities ship in the changelog.
Billing

Charge the saved card to top up prepaid balance

Charges the org's default saved card off-session. The balance credit is applied by the payment_intent.succeeded webhook (the authoritative money signal), not this response — poll the balance after success.

POST
/v1/orgs/{orgId}/billing/deposit
AuthorizationBearer <token>

OpenRelay API key. Send it as Authorization: Bearer vl_….

In: header

Path Parameters

orgId*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/orgs/string/billing/deposit" \  -H "Content-Type: application/json" \  -d '{    "amountCents": 5000,    "idempotencyKey": "dep-2026-07-02-a1b2c3"  }'
{
  "paymentIntentId": "string",
  "status": "string",
  "clientSecret": "string"
}
{
  "error": "string",
  "code": "string"
}
{
  "error": "string",
  "code": "string"
}
{
  "error": "string",
  "code": "string"
}
{
  "error": "string",
  "code": "string"
}

Command line

The orl CLI wraps this endpoint:

orl billing deposit create --amount-cents <amount-cents>