---
title: Справочник API
description: Изучите справочник REST API Firmreader: создавайте публикации, управляйте каналами, аутентифицируйтесь по ключам API и программно запрашивайте аналитику.
lastUpdated: "2026-08-17"
---

> **For AI agents:** the complete documentation index is at [llms.txt](/llms.txt). Append `.md` to any page URL for its markdown version.

API Firmreader — это REST API, с помощью которого можно программно создавать публикации, управлять каналами и запрашивать аналитику. Используйте возможности нашего API.

## Базовый URL

```
https://api.firmreader.com/v1
```

## Аутентификация

Для каждого запроса требуется ключ API в заголовке `Authorization`:

<CodeGroup>
```bash cURL
curl https://api.firmreader.com/v1/posts \
  -H "Authorization: Bearer fr_live_abc123"
```

```javascript Node.js
const response = await fetch('https://api.firmreader.com/v1/posts', {
  headers: {
    'Authorization': 'Bearer fr_live_abc123',
  },
});
```

```python Python
import requests

response = requests.get(
    'https://api.firmreader.com/v1/posts',
    headers={'Authorization': 'Bearer fr_live_abc123'},
)
```
</CodeGroup>

Ключи API создаются в **Settings > API Keys**. Каждый ключ имеет область действия, ограничивающую доступные ему ресурсы:

| Область действия | Разрешения |
|-------|------------|
| `posts:read` | Просмотр списка и получение публикаций |
| `posts:write` | Создание, обновление и удаление публикаций |
| `channels:read` | Просмотр списка и получение каналов |
| `channels:write` | Создание, обновление и удаление каналов |
| `analytics:read` | Запрос показателей вовлечённости |

## Ограничения частоты запросов

| План | Запросов в минуту |
|------|-------------------|
| Starter | 60 |
| Business | 300 |
| Enterprise | 1,000 |

Заголовки ограничений частоты включаются в каждый ответ:

```
X-RateLimit-Limit: 300
X-RateLimit-Remaining: 297
X-RateLimit-Reset: 1708790400
```

## Формат ошибок

Все ошибки имеют единый формат:

```json
{
  "error": {
    "code": "invalid_request",
    "message": "The channel_id field is required.",
    "param": "channel_id"
  }
}
```

| Статус HTTP | Значение |
|-------------|---------|
| 400 | Некорректный запрос — проверьте параметры |
| 401 | Нет авторизации — недействительный или отсутствующий ключ API |
| 403 | Доступ запрещён — ключу API не хватает необходимой области действия |
| 404 | Не найдено — ресурс не существует |
| 429 | Превышено ограничение частоты — снизьте скорость запросов |
| 500 | Ошибка сервера — повторите попытку позже |

## Пагинация

Эндпоинты для получения списков возвращают результаты постранично. Используйте параметры `cursor` и `limit`:

```bash
curl "https://api.firmreader.com/v1/posts?limit=20&cursor=post_abc123" \
  -H "Authorization: Bearer fr_live_abc123"
```

Ответ содержит поле `next_cursor`. Если его значение равно `null`, достигнут конец списка.

```json
{
  "data": [...],
  "next_cursor": "post_xyz789",
  "has_more": true
}
```
