Developer Docs v1.0

Документация
API ServerKit

Интегрируйте ServerKit в свои инструменты. RESTful API с поддержкой WebSockets для синхронизации в реальном времени. Полный контроль над вашими данными через программный интерфейс.

Схема взаимодействия API ServerKit

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

Доступ к API осуществляется через Bearer-токены. Токен генерируется один раз при установке ServerKit или через панель администратора. Все запросы должны содержать заголовок Authorization.

🔑

Локальный доступ

Для запросов с localhost используйте стандартный токен администратора, сгенерированный при первом запуске сервиса.

🔒

HTTPS только

API недоступен по незащищенным соединениям. Обязательно использование TLS 1.2+ для обмена данными.

⏱️

Ограничение запросов

1000 запросов в минуту для стандартного тарифа. Безлимит для локальных развертываний Enterprise.

Основные эндпоинты

CRUD-операции для управления заметками (Notes)

GET /api/v1/notes
Возвращает список всех заметок. Поддерживает пагинацию через параметры ?limit=20&offset=0.

Ответ (200 OK):
[{ "id": "nt_8392", "title": "Идеи проекта", "created_at": "2023-10-24T14:30:00Z" }]
POST /api/v1/notes
Создает новую заметку. Тело запроса: { "title": "string", "content": "markdown", "tags": ["array"] }.

Ответ (201 Created):
{ "id": "nt_new_99", "status": "created" }
PUT /api/v1/notes/{id}
Обновляет существующую заметку. Используется оптимистичная блокировка для предотвращения конфликтов при параллельном редактировании.
DELETE /api/v1/notes/{id}
Перемещает заметку в корзину (Soft Delete). Физическое удаление происходит автоматически через 30 дней.

Примеры кода

Быстрый старт с использованием стандартных библиотек.

Python (Requests)

import requests

url = "http://localhost:8080/api/v1/notes"
headers = {
    "Authorization": "Bearer sk_live_12345"
}

response = requests.get(url, headers=headers)
print(response.json())

JavaScript (Fetch)

const response = await fetch(
  'http://localhost:8080/api/v1/notes', 
  {
    headers: {
      'Authorization': 'Bearer sk_live_12345'
    }
  }
);

const data = await response.json();
console.log(data);