Create a top-up checkout
Returns a hosted checkout URL with `amountCents` prefilled (editable there, $20 to $5,000). The balance is credited when the payment lands, within a minute, and tracking the wallet had paused resumes at once. Nothing is charged by this call itself. `successUrl` must be on an origin this deployment trusts; omit it for the dashboard's billing page.
API key minted via POST /v1/api-keys (format mk_live_...)
In: header
Amount to add, in USD cents (2000 to 500000). Prefilled at checkout, editable there.
2000 <= value <= 500000Where the customer lands after paying: a page on an origin this deployment trusts (the dashboard). Omit it and the dashboard's billing page is used.
urilength <= 2000Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://api.mentio.dev/v1/billing/top-ups" \ -H "Content-Type: application/json" \ -d '{ "amountCents": 2000 }'{
"url": "string"
}{
"error": {
"code": "unauthorized",
"message": "string",
"requestId": "string",
"retryAfterSeconds": 0
}
}{
"error": {
"code": "unauthorized",
"message": "string",
"requestId": "string",
"retryAfterSeconds": 0
}
}{
"error": {
"code": "unauthorized",
"message": "string",
"requestId": "string",
"retryAfterSeconds": 0
}
}{
"error": {
"code": "unauthorized",
"message": "string",
"requestId": "string",
"retryAfterSeconds": 0
}
}{
"error": {
"code": "unauthorized",
"message": "string",
"requestId": "string",
"retryAfterSeconds": 0
}
}Introspect the credential GET
The workspace this credential acts on, how the request authenticated (an API key, an OAuth access token from an MCP sign-in, or the dashboard session), whether it may write, and for a key its id and expiry. Run it first: a read key answers 403 read_only_key on every write, and a wrong workspace is the classic scripting mistake.
Get a receipt link GET
A short-lived link to the receipt PDF of one paid order (an id from the receipts list).