Skip to content
Indiana
Dashboard
Docs
Browse docs / Preview subscription batch

Preview subscription batch

POST/api/v1/subscriptions/batches/preview

Freeze cancellation or restoration targets by their actual payment container and provider. A shared Stripe container has one owned operation. While quotes remain incomplete, ready is false; continue with the same requestId. Store targets retain management URLs.

SDK 0.0.1Updated

Make the request

Freeze cancellation or restoration targets by their actual payment container and provider. A shared Stripe container has one owned operation. While quotes remain incomplete, ready is false; continue with the same requestId. Store targets retain management URLs.

Credential
Server API key only. Call from your trusted backend.
Permission
billing:write
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.
For this Web Beta, configure the Stripe Sandbox test account and published price mappings before checkout. Redirects do not confirm payment.
request.shShell
curl -X POST "$GROOVE_BASE_URL/api/v1/subscriptions/batches/preview" \  -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",  "requestId": "00000000-0000-4000-8000-000000000001",  "targets": [    {      "membershipId": "00000000-0000-4000-8000-000000000001",      "action": "cancel",      "timing": "renewal"    }  ]}'

The response tab lists field types, not an example payload. Actual values depend on customer state.

Request parameters

JSON body

requestIduuidRequired

Business request UUID. Reuse for retries of one operation; generate a new value for a new operation.

targetsarrayRequired

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

minItems: 1 · maxItems: 100

Show child fields
membershipIduuidRequired

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

actionenumRequired

Business action. Target fields and quantity requirements vary by action; see the request structure and example.

Show allowed values

"cancel""uncancel"

timingenumRequired

Immediate or end-of-cycle timing, only for supported plan-change actions.

Show allowed values

"immediate""renewal"

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"

batchobjectRequired

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

Show child fields
batchIduuidRequired

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

readybooleanRequired

The ready 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

"prepared""cancelled""expired""pending""partial""effective""action_required"

createdAtdate-timeRequired

ISO 8601 UTC time when the record was created.

acceptedAtdate-time | nullRequired

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

groupsarrayRequired

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

minItems: 1 · maxItems: 100

Show child fields
operationIduuidRequired

Business operation UUID. Subscription execution references operationId from previewAttach; balance refunds reference the original consumption.

membershipIdsarrayRequired

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

minItems: 1 · maxItems: 20

providerenumRequired

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

Show allowed values

"stripe""apple""google"

actionenumRequired

Business action. Target fields and quantity requirements vary by action; see the request structure and example.

Show allowed values

"cancel""uncancel"

timingenumRequired

Immediate or end-of-cycle timing, only for supported plan-change actions.

Show allowed values

"immediate""renewal"

statusenumRequired

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

Show allowed values

"prepared""confirmed""pending""scheduled""effective""cancelled""failed""store_action_required"

quoteobject | nullRequired

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

Show child fields
carryOverBalancesobjectOptional

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

carryOverUsagesobjectOptional

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

operationIduuidRequired

Business operation UUID. Subscription execution references operationId from previewAttach; balance refunds reference the original consumption.

membershipIduuidRequired

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

productVersionIduuidRequired

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

timingenumRequired

Immediate or end-of-cycle timing, only for supported plan-change actions.

Show allowed values

"immediate""renewal"

effectiveAtdate-timeRequired

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

expiresAtdate-timeRequired

ISO 8601 UTC expiry. Expired sessions and reservations cannot be reused.

currencyenumRequired

Currency code supported by the published price.

Show allowed values

"USD""EUR""CNY""GBP""JPY""CAD""AUD""NZD""CHF""HKD""SGD""KRW""INR""BRL""MXN""TWD""THB""IDR""MYR""PHP""VND""ZAR""AED""SAR""SEK""NOK""DKK""PLN""CZK""HUF""ILS""TRY""RON"

creditMinorintegerRequired

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

min: 0 · max: 100000000

debitMinorintegerRequired

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

min: 0 · max: 100000000

discountMinorintegerRequired

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

min: 0 · max: 100000000

taxMinorintegerRequired

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

min: 0 · max: 100000000

totalMinorintegerRequired

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

min: 0 · max: 100000000

retainedProductVersionIdsarrayRequired

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

maxItems: 19

managementUrluri | nullRequired

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

failureCodeenum | nullRequired

The failureCode 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