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

# ErynoaGroup platform overview

> Understand the core building blocks of ErynoaGroup — resources, API keys, webhooks, pagination, and environments — and how they fit together.

ErynoaGroup is built around a small set of concepts that, once understood, make every integration straightforward. This page explains those concepts and how they relate to each other.

## Resources

Resources are the primary objects you create, read, update, and delete through the ErynoaGroup API. Every resource has:

* A unique `id` (UUID format)
* A `created_at` and `updated_at` timestamp
* A `status` field indicating its current state
* A set of attributes specific to its type

Resources are returned in JSON format and follow a consistent envelope structure:

```json theme={null}
{
  "data": {
    "id": "res_01HX4K9Z2QBZJMFR5T6VWYP8D",
    "type": "resource",
    "status": "active",
    "created_at": "2024-01-15T10:30:00Z",
    "updated_at": "2024-01-15T10:30:00Z",
    "attributes": {}
  }
}
```

## API keys

API keys are the credentials your application uses to authenticate with ErynoaGroup. Each key:

* Belongs to a single account
* Can be scoped to specific permissions (read-only, read-write, admin)
* Can be rotated or revoked at any time from your dashboard
* Should be treated as a secret and never exposed in client-side code

## Webhooks

Webhooks let ErynoaGroup notify your application when events occur — without polling. When an event fires, ErynoaGroup sends an HTTP POST request to a URL you configure, with a JSON payload describing what happened.

## Pagination

List endpoints use cursor-based pagination. Responses include a `meta` object with pagination details and a `links` object with `next` and `prev` cursor URLs.

```json theme={null}
{
  "data": [...],
  "meta": {
    "total": 150,
    "page": 1,
    "per_page": 20
  },
  "links": {
    "next": "https://api.erynoa.group/v1/resources?cursor=eyJpZCI6MTB9",
    "prev": null
  }
}
```

## Rate limiting

All API requests are subject to rate limits based on your plan. Rate limit information is returned in response headers:

| Header                  | Description                              |
| ----------------------- | ---------------------------------------- |
| `X-RateLimit-Limit`     | Maximum requests per minute              |
| `X-RateLimit-Remaining` | Requests remaining in the current window |
| `X-RateLimit-Reset`     | Unix timestamp when the limit resets     |

When you exceed the limit, the API returns `429 Too Many Requests`. Implement exponential backoff to handle this gracefully.

## Environments

ErynoaGroup supports two environments:

* **Production** (`api.erynoa.group`) — Live data, real operations
* **Sandbox** (`sandbox.api.erynoa.group`) — Safe testing environment with isolated data

Use separate API keys for each environment. Sandbox keys are prefixed with `sk_test_`, production keys with `sk_live_`.
