GET /articles Доступно
#Список статей
Статьи вашего арендатора (раздел SEO) без содержимого, по убыванию updated_at. Статьи общего блога площадки сюда не входят. include_deleted=true даёт 422 not_supported: удалённые статьи не хранятся.
- Области
articles:read
- Предел частоты
- чтение
- Идемпотентность
- не требуется
- Успешный ответ
200 Страница статей.
Параметры
| Поле | Тип | Описание |
|---|
limit | integer необязательное | Где: query. Размер страницы: от 1 до 100, по умолчанию 25. |
cursor | string необязательное | Где: query. Значение next_cursor из предыдущего ответа. Живёт 24 часа; при смене фильтров начинайте заново. |
status | string необязательное | Где: query. Статус статьи. |
updated_after | string необязательное | Где: query. Только статьи, изменённые строго позже момента. ISO 8601: дата или дата-время. |
include_deleted | boolean необязательное | Где: query. true — вернуть также «надгробия» удалённых записей {id, deleted_at} (хранятся 30 суток). |
Тело ответа
| Поле | Тип | Описание |
|---|
data | array<ArticleSummary> обязательное | |
next_cursor | string обязательное, может быть null | Курсор следующей страницы; null — список закончился. Живёт 24 часа. |
Примеры
Запрос
curl -X GET 'https://formula-cream.pro/api/public/v1/articles' \
-H 'Authorization: Bearer '"$SAPPORT_API_KEY"
Ответ 200
{
"data": [
{
"id": "EXAMPLE_ID",
"title": "string",
"slug": null,
"status": "string",
"locale": null,
"keyword": null,
"meta_title": null,
"meta_description": null,
"cover_image_url": null,
"word_count": 0,
"created_at": null,
"updated_at": null,
"published_at": null
}
],
"next_cursor": "EXAMPLE_CURSOR"
}
Пример ошибки
{
"type": "https://formula-cream.pro/developers/errors#scope_missing",
"title": "Scope is missing",
"status": 403,
"code": "scope_missing",
"detail": "EXAMPLE",
"request_id": "req_EXAMPLE"
}
Примеры иллюстративны: ключ в них условный (EXAMPLE), значения полей выдуманы.
Возможные ошибки
invalid_api_key wrong_cell integration_inactive tenant_inactive ip_not_allowed feature_not_in_plan rate_limited wallet_suspended service_unavailable internal_error scope_missing validation_failed
GET /articles/{id} Доступно
#Получить статью
Статья с содержимым в формате html (по умолчанию), markdown или blocks и состоянием выкладки (publication). HTML очищен от скриптов; тело больше 2 000 000 байт даёт 422.
- Области
articles:read
- Предел частоты
- чтение
- Идемпотентность
- не требуется
- Успешный ответ
200 Статья.
Параметры
| Поле | Тип | Описание |
|---|
id | string обязательное | Где: path. Идентификатор статьи. |
format | string необязательное | Где: query. Формат содержимого. |
Тело ответа
| Поле | Тип | Описание |
|---|
id | string обязательное | Идентификатор статьи. |
title | string обязательное | |
slug | string обязательное, может быть null | |
status | string обязательное | draft — черновик; review — на проверке; approved — одобрена; published — опубликована; rejected — отклонена; transferred — передана в блог; external — внешняя. |
locale | string обязательное, может быть null | Язык статьи (ru, en, id). |
keyword | string обязательное, может быть null | Главный запрос статьи. |
meta_title | string обязательное, может быть null | |
meta_description | string обязательное, может быть null | |
cover_image_url | string обязательное, может быть null | |
word_count | integer обязательное | |
created_at | string обязательное, может быть null | ISO 8601 UTC. |
updated_at | string обязательное, может быть null | ISO 8601 UTC. |
published_at | string обязательное, может быть null | ISO 8601 UTC. |
content | object обязательное | Тело статьи в запрошенном формате: html и markdown — строка; blocks — массив блоков {type, html}. HTML очищен от скриптов, опасных ссылок и обработчиков событий. У статьи, чьё тело переехало в блог площадки, содержимое пустое. |
publication | ArticlePublication обязательное, может быть null | null — статью ещё не выкладывали через модуль сайта. |
Примеры
Запрос
curl -X GET 'https://formula-cream.pro/api/public/v1/articles/EXAMPLE_ID' \
-H 'Authorization: Bearer '"$SAPPORT_API_KEY"
Ответ 200
{
"id": "EXAMPLE_ID",
"title": "string",
"slug": "string",
"status": "string",
"locale": "string",
"keyword": "string",
"meta_title": "string",
"meta_description": "string",
"cover_image_url": "https://example.com/hooks/sapport",
"word_count": 0,
"created_at": "2026-10-11T09:00:00Z",
"updated_at": "2026-10-11T09:00:00Z",
"published_at": "2026-10-11T09:00:00Z",
"content": "string",
"publication": {
"target": "string",
"state": "queued",
"published_url": null,
"error": null
}
}
Пример ошибки
{
"type": "https://formula-cream.pro/developers/errors#scope_missing",
"title": "Scope is missing",
"status": 403,
"code": "scope_missing",
"detail": "EXAMPLE",
"request_id": "req_EXAMPLE"
}
Примеры иллюстративны: ключ в них условный (EXAMPLE), значения полей выдуманы.
Возможные ошибки
invalid_api_key wrong_cell integration_inactive tenant_inactive ip_not_allowed feature_not_in_plan rate_limited wallet_suspended service_unavailable internal_error scope_missing not_found validation_failed