The Stigg REST API provides a RESTful interface for integrating with Stigg’s pricing and entitlement platform. This guide covers everything you need to get started.Documentation Index
Fetch the complete documentation index at: https://docs.stigg.io/llms.txt
Use this file to discover all available pages before exploring further.
The REST API is currently in Public Beta.
Base URL
All API requests should be made to:Authentication
All API requests require authentication using an API key. Include your API key in theX-API-KEY header with every request.
Getting your API key
- Log in to the Stigg app
- Navigate to Integrations > API Keys
- Copy your Full Access API Key
Authentication example
Common Patterns
Request format
All requests should include theContent-Type: application/json header when sending a request body.
Response format
All responses are returned in JSON format with consistent structure: Successful response:Pagination
List endpoints support cursor-based pagination using the following query parameters:| Parameter | Type | Description |
|---|---|---|
limit | integer | Maximum number of items to return (default: 20, max: 100) |
starting_after | string | Cursor for forward pagination (item ID to start after) |
ending_before | string | Cursor for backward pagination (item ID to end before) |
Filtering
List endpoints support filtering using query parameters specific to each resource:Idempotency
For POST requests, you can include anIdempotency-Key header to ensure the operation is only performed once, even if the request is retried:
Error Handling
The API uses standard HTTP status codes and returns detailed error information in a consistent format.| Status | Meaning |
|---|---|
200 | Success — request completed, body contains the resource |
201 | Created — resource was successfully provisioned |
400 | Bad request — invalid parameters or request body |
401 | Unauthenticated — missing or invalid X-API-KEY |
403 | Forbidden — authenticated but not authorized for this resource |
404 | Not found — the specified resource does not exist |
409 | Conflict — e.g. a subscription already exists for this customer |
429 | Too many requests — rate limit exceeded; see Rate Limits |
Known Limitations
Subscription list endpoint does not return entitlements
GET /api/v1/subscriptions does not include subscriptionEntitlements in its response. Returning full entitlement data for every subscription in a paginated list would be prohibitively expensive at scale. To retrieve entitlements for a specific subscription, use GET /api/v1/subscriptions/{id}. To retrieve the full entitlements defined on a plan, use GET /api/v1/plans/{id}.
Subscription entitlements are overrides only
ThesubscriptionEntitlements field on GET /api/v1/subscriptions/{id} contains only subscription-level overrides (type and ID), not the full set of entitlements inherited from the plan. To retrieve all entitlements for a plan, use GET /api/v1/plans/{planId}/entitlements.