Skip to main content

Contributions API

Contributions — механизм вклада в экосистему EdgeLab. Участники на тарифах Pro и VIP могут предложить скилл, use case или урок. Одобренные работы публикуются в разделе Knowledge с указанием автора. Подробнее о процессе — в гайде Как делать contributions.
Scope: Для работы с Contributions API требуется scope contributions:write, доступный на тарифах Pro и VIP. Участники на тарифе Edge могут просматривать опубликованные contributions через Knowledge API.

Типы contributions

ТипКодОписание
СкиллskillНавык для AI-агента: промпт, пайплайн, интеграция
Use CaseusecaseПрактический кейс применения платформы
УрокlessonОбучающий материал для сообщества

Процесс ревью

Упрощённая схема: администратор принимает решение «одобрено» или «отклонено» с обратной связью.
СтатусОписание
pendingОжидает ревью администратора
approvedОдобрен — публикуется в Knowledge
rejectedОтклонён с комментарием
При одобрении contribution автоматически публикуется в разделе Knowledge с указанием автора.
Вознаграждение: Bounty программа вознаграждения для контрибьюторов запланирована на Q2 2026. Одобренные contributions приносят поинты и попадание в лидерборд.

POST /contributions/submit

Отправить новый contribution на ревью. Требуется ссылка на публичный GitHub-репозиторий с материалом. Scope: contributions:write (Pro, VIP) Полный URL: POST https://platform.edgelab.su/api/v1/contributions/submit

Заголовки

ЗаголовокЗначение
AuthorizationBearer edgelab_live_...
Content-Typeapplication/json

Параметры запроса (body)

title
string
required
Заголовок contribution (макс. 100 символов)
type
string
required
Тип: skill, usecase или lesson
description
string
required
Краткое описание (макс. 500 символов)
problem_solved
string
required
Какую проблему решает contribution
target_audience
string
required
Целевая аудитория: для кого предназначен материал
github_url
string
required
Ссылка на публичный GitHub-репозиторий с исходным материалом. Принимаются только URL вида https://github.com/...

Пример запроса

curl -X POST https://platform.edgelab.su/api/v1/contributions/submit \
  -H "Authorization: Bearer edgelab_live_abc123" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "AI Research Scout",
    "type": "skill",
    "description": "Скилл для автоматического мониторинга новых AI-публикаций на ArXiv",
    "problem_solved": "Ручной мониторинг ArXiv занимает часы. Скилл автоматизирует поиск и фильтрацию",
    "target_audience": "AI-разработчики и исследователи",
    "github_url": "https://github.com/user/arxiv-scout-skill"
  }'

Пример ответа (201 Created)

{
  "id": "contrib_8f3a2b",
  "title": "AI Research Scout",
  "type": "skill",
  "status": "pending",
  "description": "Скилл для автоматического мониторинга новых AI-публикаций на ArXiv",
  "problem_solved": "Ручной мониторинг ArXiv занимает часы. Скилл автоматизирует поиск и фильтрацию",
  "target_audience": "AI-разработчики и исследователи",
  "github_url": "https://github.com/user/arxiv-scout-skill",
  "author": {
    "display_name": "researcher42"
  },
  "created_at": "2026-03-21T10:00:00Z"
}

Ошибки

HTTP кодКод ошибкиКогда
400bad_requestНевалидные параметры запроса
401unauthorizedНевалидный или отсутствующий API-ключ
403forbiddenТариф Edge — scope contributions:write недоступен
422validation_errorНевалидные данные: пустой title, неизвестный type, невалидный github_url
429rate_limit_exceededПревышен лимит запросов
GitHub-only: Принимаются только ссылки вида https://github.com/.... Любые другие URL (GitLab, Bitbucket, произвольные домены) будут отклонены с ошибкой 422.

GET /contributions/my

Получить список своих contributions с возможностью фильтрации по статусу. Scope: contributions:write (Pro, VIP) Полный URL: GET https://platform.edgelab.su/api/v1/contributions/my

Заголовки

ЗаголовокЗначение
AuthorizationBearer edgelab_live_...

Query-параметры

status
string
Фильтр по статусу: pending, approved, rejected
limit
integer
default:"20"
Количество элементов (макс. 100)
offset
integer
default:"0"
Смещение от начала списка

Пример запроса

curl "https://platform.edgelab.su/api/v1/contributions/my?status=approved&limit=10&offset=0" \
  -H "Authorization: Bearer edgelab_live_abc123"

Пример ответа

{
  "items": [
    {
      "id": "contrib_8f3a2b",
      "title": "AI Research Scout",
      "type": "skill",
      "status": "approved",
      "description": "Скилл для автоматического мониторинга новых AI-публикаций на ArXiv",
      "github_url": "https://github.com/user/arxiv-scout-skill",
      "reviewer_comment": "Отличная работа, полезный скилл для сообщества",
      "created_at": "2026-03-21T10:00:00Z",
      "reviewed_at": "2026-03-22T14:30:00Z"
    }
  ],
  "total": 1,
  "limit": 10,
  "offset": 0,
  "has_more": false
}

Ошибки

HTTP кодКод ошибкиКогда
401unauthorizedНевалидный или отсутствующий API-ключ
403forbiddenТариф Edge — scope contributions:write недоступен
429rate_limit_exceededПревышен лимит запросов

GET /contributions/

Получить детальную информацию о конкретном contribution. Scope: contributions:write (Pro, VIP) Полный URL: GET https://platform.edgelab.su/api/v1/contributions/{id}

Параметры пути

id
string
required
Идентификатор contribution

Пример запроса

curl https://platform.edgelab.su/api/v1/contributions/contrib_8f3a2b \
  -H "Authorization: Bearer edgelab_live_abc123"

Пример ответа

{
  "id": "contrib_8f3a2b",
  "title": "AI Research Scout",
  "type": "skill",
  "status": "approved",
  "description": "Скилл для автоматического мониторинга новых AI-публикаций на ArXiv",
  "problem_solved": "Ручной мониторинг ArXiv занимает часы. Скилл автоматизирует поиск и фильтрацию",
  "target_audience": "AI-разработчики и исследователи",
  "github_url": "https://github.com/user/arxiv-scout-skill",
  "author": {
    "display_name": "researcher42"
  },
  "reviewer_comment": "Отличная работа, полезный скилл для сообщества",
  "knowledge_url": "/knowledge/skills/arxiv-scout",
  "created_at": "2026-03-21T10:00:00Z",
  "reviewed_at": "2026-03-22T14:30:00Z"
}

Ошибки

HTTP кодКод ошибкиКогда
401unauthorizedНевалидный или отсутствующий API-ключ
403forbiddenТариф Edge — scope contributions:write недоступен
404not_foundContribution с указанным ID не найден
429rate_limit_exceededПревышен лимит запросов
GitHub-only: Все contributions принимаются исключительно через ссылку на публичный GitHub-репозиторий (https://github.com/...). Это обеспечивает прозрачность, версионирование и возможность community-ревью. Ссылки на другие хостинги (GitLab, Bitbucket и т.д.) будут отклонены с ошибкой 422.