Skip to content
Indiana
Dashboard
Docs
Browse docs / List customer subscriptions

List customer subscriptions

POST/api/v1/subscriptions/list

A trusted server filters by customer, Entity, product, provider and status using cursor pagination. Stripe, Apple, Google and free sources remain separate contracts. App and environment come from the verified credential.

SDK 0.0.1Updated

Make the request

A trusted server filters by customer, Entity, product, provider and status using cursor pagination. Stripe, Apple, Google and free sources remain separate contracts. App and environment come from the verified credential.

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/list" \  -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",  "provider": "stripe",  "limit": 20}'

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

Request parameters

JSON body

customerIduuidOptional

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

entityIduuidOptional

Entity ID within the current customer scope, for configured entity and license features.

productIduuidOptional

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

providerenumOptional

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

Show allowed values

"stripe""apple""google""free"

statusenumOptional

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

Show allowed values

"trial""active""past_due""ended""refunded"

cursorobjectOptional

Opaque cursor from the preceding page; do not edit or reuse across customers.

Show child fields
createdAtdate-timeRequired

ISO 8601 UTC time when the record was created.

iduuidRequired

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

limitintegerOptional

Maximum records per page, subject to the contract limit.

min: 1 · max: 100

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"

subscriptionsobjectRequired

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

Show child fields
itemsarrayRequired

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

maxItems: 100

Show child fields
iduuidRequired

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

customerIduuidRequired

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

entityIduuid | nullRequired

Entity ID within the current customer scope, for configured entity and license features.

productIduuidRequired

The productId 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.

namestringRequired

Display name of the customer or object; not an identity key.

minLength: 1 · maxLength: 120

providerenumRequired

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

Show allowed values

"stripe""apple""google""free"

createdAtdate-timeRequired

ISO 8601 UTC time when the record was created.

statusenumRequired

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

Show allowed values

"trial""active""past_due""ended"

cancelAtPeriodEndbooleanRequired

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

billingSubscriptionIduuid | nullRequired

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

nextCursorobject | nullRequired

Next-page cursor; null means end. Pass unchanged and clear when filters change.

Show child fields
createdAtdate-timeRequired

ISO 8601 UTC time when the record was created.

iduuidRequired

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