Skip to main content
POST
Compare gate — prove the migration before cut-over
Diffs the uploaded Stripe export (the same JSON the commit consumed) against the tenant’s live Recurso data with zero writes. Three checks run per record:
  • Coverage — every importable source record exists in Recurso.
  • Fidelity — plan amount, currency, and interval; customer identity.
  • Billing continuity — a subscription whose current_period_end drifted more than an hour is flagged: the double-billing / billing-gap risk.
ready: true means zero issues. Run it after a commit, before pointing billing at Recurso. Each run is persisted as a citable compare report.

Example request

Example response

Each entry in issues carries kind, external_id, field, source (the export’s value), and recurso (the live value).

Authorizations

Authorization
string
header
required

Tenant API key obtained from POST /auth/register or POST /v1/developer/keys.

Body

application/json

The same Stripe export JSON the commit consumed.

customers
object[]
products
object[]
prices
object[]
subscriptions
object[]
payment_methods
object[]

Response

The compare report.

source
string
customers
object

Migration-compare coverage for one record kind.

plans
object

Migration-compare coverage for one record kind.

subscriptions
object

Migration-compare coverage for one record kind.

issues
object[]
ready
boolean
generated_at
string<date-time>