> ## 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.

# Get started with the API

The Stigg API lets you call Stigg from any language or platform over HTTPS. Use it when there's no SDK for your stack, for scripts and back-office jobs, or when you prefer to manage HTTP calls yourself. The examples below use the REST API; a GraphQL API is also available.

## What you need

* A Stigg account. Don't have one yet? [Create one free](https://app.stigg.io/signup).
* A way to make HTTPS requests, such as `curl`.

## Set up

**1. Get your API key**

In the [Stigg app](https://app.stigg.io), go to **Integrations > API keys** and copy the **Full access key** of the environment you want to use. Keep it on your server and never expose it in client-side code.

**2. Provision a customer**

```bash theme={null}
curl -X POST "https://api.stigg.io/api/v1/customers" \
  -H "X-API-KEY: $STIGG_SERVER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "id": "customer-demo-01", "name": "Acme Corp" }'
```

**3. Check an entitlement**

```bash theme={null}
curl "https://api.stigg.io/api/v1/customers/customer-demo-01/entitlements/check?featureId=feature-api-calls&requestedUsage=1" \
  -H "X-API-KEY: $STIGG_SERVER_API_KEY"
```

**4. Report usage**

```bash theme={null}
curl -X POST "https://api.stigg.io/api/v1/usage" \
  -H "X-API-KEY: $STIGG_SERVER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "usages": [{ "customerId": "customer-demo-01", "featureId": "feature-api-calls", "value": 1 }] }'
```

These three calls follow the [check, act, track](/documentation/introduction/the-problem#common-patterns-for-solving-it-check--act--track) pattern that every Stigg integration is built on.

> [!TIP]
>
> For entitlement checks in latency-sensitive paths, prefer a [backend SDK](/documentation/getting-started/get-started-with-sdks) or the [Sidecar](/documentation/high-availability-and-scale/sidecar/overview). They answer checks from a local cache instead of making a network call per request.

## Learn more

> **[REST API](/api-and-sdks/api-reference/rest/introduction)**
>
> Base URL, authentication, pagination, errors, and the full endpoint reference.

> **[GraphQL API](/api-and-sdks/api-reference/graphql/introduction)**
>
> Queries, mutations, and subscriptions for full access to the Stigg platform.

> **[Webhooks](/api-and-sdks/api-reference/webhooks/events)**
>
> Subscribe to real-time events for changes across your Stigg account.

> **[Rate limits](/api-and-sdks/integration/rest/rate-limits)**
>
> Limits per endpoint and how to stay within them at scale.


## Related topics

- [Get started with the SDKs](/documentation/getting-started/get-started-with-sdks.md)
- [Get started with the CLI](/api-and-sdks/cli.md)
- [Get started with AI](/documentation/getting-started/get-started-with-ai.md)
- [Bring Your Own Cloud (BYOC)](/documentation/high-availability-and-scale/byoc/overview.md)
- [Resource-specific credit pools](/documentation/modeling-your-pricing-in-stigg/credits/resource-specific-pools.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.