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

# Configure your ErynoaGroup integration

> Customize ErynoaGroup behavior with idempotency keys, pagination controls, resource metadata, and dashboard settings for webhooks, API keys, and alerts.

ErynoaGroup offers several configuration options to adapt its behavior to your needs. This page covers the options available to you as a customer — all accessible through your dashboard or as request-level parameters.

## Request-level options

These options are passed as headers or query parameters on individual API requests.

### Idempotency keys

For `POST` requests that create or modify resources, include an `Idempotency-Key` header to safely retry without duplicating operations:

```bash theme={null}
curl -X POST https://api.erynoa.group/v1/resources \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Idempotency-Key: create-resource-abc123" \
  -H "Content-Type: application/json" \
  -d '{"name": "My Resource"}'
```

Idempotency keys are valid for 24 hours. Reusing the same key within that window returns the cached result.

### Pagination

Control how many results are returned per page using `per_page` (default: 20, max: 100) and navigate pages using the `cursor` parameter:

```bash theme={null}
# Get 50 results per page
GET https://api.erynoa.group/v1/resources?per_page=50

# Get the next page using a cursor from the previous response
GET https://api.erynoa.group/v1/resources?cursor=eyJpZCI6MTB9
```

### Filtering and sorting

Filter results using query parameters specific to each resource type, and sort using the `sort` parameter:

```bash theme={null}
# Filter by status and sort by created_at descending
GET https://api.erynoa.group/v1/resources?status=active&sort=-created_at
```

Use `-` prefix for descending order, no prefix for ascending.

## Metadata

Attach up to 50 key-value pairs of custom metadata to any resource. Metadata is returned in all API responses and can be used to store application-specific information without affecting ErynoaGroup's behavior:

```json theme={null}
{
  "name": "My Resource",
  "metadata": {
    "customer_id": "cust_12345",
    "internal_ref": "order-9876",
    "environment": "production"
  }
}
```

<Note>
  Metadata keys must be strings of up to 40 characters. Values must be strings of up to 500 characters.
</Note>

## Dashboard settings

The following settings are configurable through your ErynoaGroup dashboard:

### Webhook configuration

| Setting             | Description                                        |
| ------------------- | -------------------------------------------------- |
| Endpoint URL        | The HTTPS URL where event payloads are delivered   |
| Event subscriptions | Which event types trigger a delivery               |
| Webhook secret      | Used to sign payloads for verification             |
| Retry policy        | Number of retries on delivery failure (default: 5) |

### API key settings

| Setting      | Description                                                           |
| ------------ | --------------------------------------------------------------------- |
| Key name     | A human-readable label for the key                                    |
| Scope        | `read`, `write`, or `admin`                                           |
| Expiry       | Optional expiration date after which the key is automatically revoked |
| IP allowlist | Restrict key usage to specific IP addresses                           |

### Notification preferences

Configure email alerts for:

* API error rate thresholds (e.g., alert when error rate exceeds 5%)
* Webhook delivery failures
* Rate limit warnings (e.g., alert at 80% of monthly quota)
* API key expiry reminders (7 days before expiry)
