> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nmcrate.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Getting Started

> Programmatic access to your studio's catalog, sales, and analytics on NMCrate.

The Studio API gives your own tools, Discord bots, dashboards, websites, CI jobs, direct access to your studio's data. Every request is authenticated with a **studio API key** that identifies the studio itself, so there is no studio id anywhere in the paths: a key can only ever read its own studio.

## Base URL

```text theme={null}
https://nmcrate.com/api/public/v1/studio
```

All endpoint paths in these docs are relative to this base URL.

## Quick start

1. Open **Studio Settings → API** and create a key (see [Authentication](/publicapi/docs/authentication)).
2. Send it in the `x-api-key` header:

```bash theme={null}
curl https://nmcrate.com/api/public/v1/studio \
  -H "x-api-key: nmk_studio_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
```

```json theme={null}
{
  "studio": {
    "slug": "my-studio",
    "name": "My Studio",
    "followerCount": 128,
    "isVerified": true
  },
  "products": { "total": 12, "published": 9 },
  "apiKey": { "tier": "basic" }
}
```

## Free vs. Premium

Every key can read the studio's own profile and product catalog. **Premium keys** additionally unlock the sales and analytics endpoints, the same numbers the dashboard shows.

| Tier                | Endpoints                                                                                                                                                                                                        |
| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Free (any key)      | [Get your studio](/publicapi/docs/get-studio), [List products](/publicapi/docs/list-products), [Get a product](/publicapi/docs/get-product), [List product versions](/publicapi/docs/list-product-versions)      |
| Premium (Branding+) | [List sales](/publicapi/docs/list-sales), [Sales summary](/publicapi/docs/get-sales-summary), [Analytics timeseries](/publicapi/docs/get-analytics-timeseries), [Top products](/publicapi/docs/get-top-products) |

Creating a premium key requires an active **Branding+** subscription, and premium endpoints re-check that subscription on **every request**. If the plan lapses, premium endpoints return `403 SUBSCRIPTION_INACTIVE` until it is renewed, the key itself stays valid for the free endpoints the whole time.

## Response conventions

* All responses are JSON.
* List endpoints paginate with `page` and `limit` query parameters and return list envelopes (`items`, `total`, and either `hasMore` or `totalPages`).
* Monetary values are USD. Summary/timeseries endpoints return numbers in dollars; the sales list returns formatted strings like `"$12.99"`.
* Errors follow one shape everywhere, see [Errors](/publicapi/docs/errors).

## Rate limits

Requests are rate limited per key + IP at roughly 2000 requests / 15 minutes. Exceeding the limit returns `429 Too Many Requests` with a `retry-after` header.
