Start saving a card (Stripe SetupIntent for inline Elements)
Returns the SetupIntent client secret the inline Elements form confirms. This operation deliberately takes NO request body, including for device intelligence: oapi-codegen decodes a declared body unconditionally even when it is optional, so adding one would fail every existing client that posts none with a 400 and block card saves. The card-save surface records its device through POST /v1/orgs/{orgId}/device instead.
Command line
The orl CLI wraps this endpoint:
orl billing setup-intent createAuthorization
apiKey OpenRelay API key. Send it as Authorization: Bearer or_… (legacy vl_… keys still work).
In: header
Path Parameters
Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/orgs/string/billing/setup-intent"{ "clientSecret": "string", "publishableKey": "string"}Org balance + recent transactions GET
Previous Page
Charge the saved card to top up prepaid balance POST
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.