Skip to content
Indiana
Dashboard
Docs
Browse docs / Verify Stripe subscriptions

Verify Stripe subscriptions

POST/api/v1/subscriptions/verify

A trusted server with billing:read compares verified contracts with current Stripe Sandbox subscriptions within the App, environment and customer scope. Returns consistent, drifted or incomplete with item-level differences. It makes no payment, repair or ledger refresh. Missing period or item evidence cannot certify consistency.

SDK 0.0.1Updated

Make the request

A trusted server with billing:read compares verified contracts with current Stripe Sandbox subscriptions within the App, environment and customer scope. Returns consistent, drifted or incomplete with item-level differences. It makes no payment, repair or ledger refresh. Missing period or item evidence cannot certify consistency.

Credential
Server API key only. Call from your trusted backend.
Permission
billing:read
Set the base URL and App ID from SDK setup. These examples use placeholders and do not execute requests. Never put a server key in browser code.
request.shShell
curl -X POST "$GROOVE_BASE_URL/api/v1/subscriptions/verify" \  -H "Authorization: Bearer $GROOVE_SECRET_KEY" \  -H "X-Groove-Project: $GROOVE_PROJECT_ID" \  -H "X-Groove-Environment: sandbox" \  -H "Content-Type: application/json" \  -d '{  "customerId": "00000000-0000-4000-8000-000000000001"}'

The response is illustrative, not the result of a live request.

Request parameters

JSON body

customerIduuidRequired

Indiana customer ID mapped from a verified identity on the server. Omit for customer-token calls, which use the token-bound customer.

Response fields

Successful responses include requestId and scope. Use the actual business status or accepted field to determine the result. Optional fields are omitted when unavailable.

HTTP 200 · application/json

requestIduuidRequired

Server-generated HTTP request UUID. Include it when reporting a failed request.

scopeobjectRequired

The App and environment of this response. Headers only verify scope; they cannot switch key scope.

Show child fields
projectIdstringRequired

App ID bound to the credential.

minLength: 1

environmentenumRequired

Separate data scope: sandbox or live.

Show allowed values

"sandbox""live"

verificationobjectRequired

The verification value for this operation. Its accepted type and constraints are listed above and below.

Show child fields
customerIduuidRequired

Indiana customer ID mapped from a verified identity on the server. Omit for customer-token calls, which use the token-bound customer.

provider"stripe"Required

The provider value for this operation. Its accepted type and constraints are listed above and below.

checkedAtdate-timeRequired

The checkedAt value for this operation. Its accepted type and constraints are listed above and below.

statusenumRequired

The status value for this operation. Its accepted type and constraints are listed above and below.

Show allowed values

"consistent""drifted""incomplete"

checkedSubscriptionsintegerRequired

The checkedSubscriptions value for this operation. Its accepted type and constraints are listed above and below.

min: 0 · max: 9007199254740991

differencesarrayRequired

Field-level differences between verified contracts and current provider reads. expected is the contract value and actual is the provider value. Missing evidence cannot certify consistency.

maxItems: 10000

Show child fields
subscriptionIdstarts_withRequired

The subscriptionId value for this operation. Its accepted type and constraints are listed above and below.

itemIdstring | nullRequired

The itemId value for this operation. Its accepted type and constraints are listed above and below.

fieldenumRequired

The field value for this operation. Its accepted type and constraints are listed above and below.

Show allowed values

"subscription""status""currency""cancelAtPeriodEnd""item""price""product""quantity""periodStart""periodEnd""evidence"

expectedstring | number | boolean | nullRequired

The expected value for this operation. Its accepted type and constraints are listed above and below.

actualstring | number | boolean | nullRequired

The actual value for this operation. Its accepted type and constraints are listed above and below.

Handle errors

Common failures
CodeRecovery
UNAUTHENTICATEDVerify the key or refresh the expired customer token once.
FORBIDDENCheck current key permissions and customer access.
INVALID_REQUESTCheck field types, UUIDs, decimal strings and mutually exclusive fields.
SCOPE_MISMATCHUse the App and environment bound to the credential.

Common failures

  • UNAUTHENTICATED

    Recovery
    Verify the key or refresh the expired customer token once.
  • FORBIDDEN

    Recovery
    Check current key permissions and customer access.
  • INVALID_REQUEST

    Recovery
    Check field types, UUIDs, decimal strings and mutually exclusive fields.
  • SCOPE_MISMATCH

    Recovery
    Use the App and environment bound to the credential.

Related:All request and error conventions·Back to endpoint index