Skip to main content
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.
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 the X-API-KEY header with every request.

Getting your API key

  1. Log in to the Stigg app
  2. Navigate to Integrations > API Keys
  3. Copy your Full Access API Key
Keep your API key secure and never expose it in client-side code. Use environment variables to store your key.

Authentication example

Common Patterns

Request format

All requests should include the Content-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: Paginated response structure:
Example: Fetching paginated results

Filtering

List endpoints support filtering using query parameters specific to each resource:

Idempotency

For POST requests, you can include an Idempotency-Key header to ensure the operation is only performed once, even if the request is retried:
Idempotency keys are stored for 24 hours. Repeated requests with the same key will return the cached response.

Error Handling

The API uses standard HTTP status codes and returns detailed error information in a consistent format.

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

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