Skip to content

Worken API

Worken предоставляет REST API для программного управления AI-агентами, автоматизации интеграций и чтения данных о расходах. Это тот же backend, на котором работает панель управления Worken.

Базовый URL

https://api.worken.ru

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

Каждый запрос должен содержать API-ключ проекта в заголовке Authorization:

sh
curl https://api.worken.ru/bots \
  -H "Authorization: Bearer sk-ваш-ключ"

Ключ идентифицирует проект. Все ресурсы — боты, чаты, треды, интеграции — принадлежат именно проекту, а не конкретному пользователю.

Получение API-ключа

  1. Откройте панель управления Worken и перейдите в Проект → API-ключи.
  2. Нажмите Создать ключ, задайте понятное название (например, production-server) и скопируйте значение.
  3. Сохраните ключ в менеджере секретов или переменной окружения. Открытый текст ключа отображается только один раз.
typescript
// Никогда не хардкодьте ключ — используйте переменные окружения
const client = new WorkenClient({ apiKey: process.env.WORKEN_API_KEY })
python
import os
from worken import WorkenClient

client = WorkenClient(api_key=os.environ["WORKEN_API_KEY"])

WARNING

Относитесь к API-ключу как к паролю. Не встраивайте его в клиентский код и не коммитьте в репозиторий.

Формат ключа

Все ключи соответствуют шаблону sk-<hex строка>. Префикс sk- обязателен — запросы без него отклоняются с 401.

Области доступа

Ключи ограничены одним проектом. Один ключ даёт доступ ко всем ресурсам внутри проекта. Если нужно разграничить доступ (например, read-only для интеграций), создайте отдельные ключи.

Ротация ключей

Удалите старый ключ в разделе Проект → API-ключи и создайте замену. Оба ключа работают одновременно, что обеспечивает ротацию без простоя.

401 — Unauthorized

При отсутствии, неверном формате или отозванном ключе сервер вернёт:

json
{
  "error": "Unauthorized"
}

Формат запросов

Все эндпоинты принимают и возвращают application/json. Добавляйте заголовок Content-Type к POST и PATCH запросам:

sh
curl https://api.worken.ru/bots \
  -X POST \
  -H "Authorization: Bearer sk-..." \
  -H "Content-Type: application/json" \
  -d '{"name": "Бот поддержки"}'

Формат ответов

Успешные ответы возвращают статус 2xx с JSON-телом. Ошибочные — 4xx или 5xx:

typescript
// Тело ошибки — одинаково для всех эндпоинтов
type ErrorResponse = {
  error: string
  message?: string
}

Лимиты запросов

ТарифЗапросов в минуту
Free60
Starter300
Pro600
Enterpriseбез ограничений

При превышении лимита возвращается 429 Too Many Requests с заголовком Retry-After, указывающим время до следующей попытки.

Пагинация

List-эндпоинты принимают параметры limit и offset:

sh
GET /threads?limit=20&offset=40

На эндпоинте /threads доступна курсорная пагинация через параметр cursor для обработки потоков данных в реальном времени.

Версионирование

API находится в версии 1. О критических изменениях будет сообщено в журнале изменений не менее чем за 60 дней.

Далее

Руководство пользователя Worken AI