Agent-readable docs index: /llms.txt. Full docs in one file: /llms-full.txt. Download /docs.zip to grep all markdown files locally.
Subscriptions

Retry a late payment

Runs the charge of the missed period now, rather than at its next retry: for a customer who topped up their wallet and wants their access back from your page. Nothing to sign: the wallet approved the plan when it subscribed.
The charge runs in the background, with the checks and records of a scheduled one. The answer is the subscription, still unpaid: the outcome comes as subscription.renewed or subscription.payment_failed, and on the subscription.
Refused before anything is queued when it cannot succeed, as the chain reads now, so that it never spends a retry for nothing: the wallet holds less than the period costs, no longer approves the subscription, or its token account is frozen, or the last charge found its authorisation closed.
On Free, a retry by hand is one of the missed period's three, whoever makes it, at least ten minutes apart, and none within two minutes of the end of the missed period. On Dev and Business it runs beside the schedule, and the wait between two doubles.
POSThttps://api.mesub.io/v1/subscriptions/{id}/retry
POSTRetry a late payment
https://api.mesub.io/v1/subscriptions/{id}/retry

Calls are real. They go to https://api.mesub.io and act on the project the key belongs to.

Authorization

The key stays in this browser and is sent only to the API. It is not stored or logged by the docs.

Path

Fill id to send.

cURL
curl -X POST "https://api.mesub.io/v1/subscriptions/{id}/retry" \
  -H "Authorization: Bearer $MESUB_API_KEY"
Response

Send the request to see the status, the headers and the body.

Limit: 60 calls a minute per API key.

Headers

Mesub-Versionenum<string>

The version of this contract the call is written against. Without it, the call is served as the first version, 2026-10-02. Any other value is refused with 400 unsupported_version.

One of2026-10-02

Request example
curl -X POST "https://api.mesub.io/v1/subscriptions/cmg1x0abc0001/retry" \ -H "Authorization: Bearer $MESUB_API_KEY"
Response example
{ "id": "cmg1x0abc0001", "status": "unpaid", "paused": false, "end_reason": null, "late_reason": "insufficient_balance", "stop_reason": null, "access": true, "payment_status": "late", "blocked_since": null, "blocked_reason": null, "plan": "pro", "wallet": "9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin", "email": "[email protected]", "external_id": "user_42", "current_period_start": "2026-01-01T00:00:00.000Z", "current_period_end": "2026-01-31T00:00:00.000Z", "next_charge_at": null, "next_retry_at": "2026-02-01T00:01:00.000Z", "retry_deadline": null, "next_retry_number": 1, "retries_allowed": 3, "access_until": "2026-01-31T00:00:00.000Z", "closable": false, "closable_from": null, "created_at": "2026-01-01T00:00:00.000Z", "confirmed_at": "2026-01-01T00:00:05.000Z" }