Prism Prism

API Reference

Prism - API для сбора данных из внешних источников и не только. Здесь описаны все эндпоинты на данный момент (16.08.2026 - Prism v1.0).

⚠️ Важно: Ответы GitHub API в примерах могут быть ошибочными. Рекомендую сверяться с официальной документацией GitHub REST API, если вам важна точность и конкретность.

Главная

Тип запроса: GET

Путь: /v1/

Авторизация: не требует

Статус-код: 200 OK

Описание: простая заглушка, которая всегда возвращает сообщение

Формат входных данных: отсутствует

Формат выходных данных: json

// json
{
  "detail" : "message"
}

Регистрация

Тип запроса: POST

Путь: /v1/auth/register

Авторизация: не требует

Статус-код: 201 CREATED

Описание: создаёт нового пользователя

Формат входных данных: json

// json
{
    "username" : "your username (required)",
    "password" : "your password (required)",
    "email" : "your email (optional)"
}

Формат выходных данных: json

// json
{
  "user_id": "your uuid",
  "username": "your username",
  "email": "your email",
  "is_active": true/false
}

Вход

Тип запроса: POST

Путь: /v1/auth/login

Авторизация: не требует

Статус-код: 200 OK

Описание: вход в аккаунт

Формат входных данных: json

// json
{
    "username" : "your username (required)",
    "password" : "your password (required)"
}

Формат выходных данных: json

// json
{
    "access_token": "access token",
    "refresh_token": "refresh token",
    "token_type": "token type",
    "access_token_expires_in_minutes": minutes,
    "refresh_token_expires_in_days": days
}

Выход

Тип запроса: POST

Путь: /v1/auth/logout

Авторизация: требует jwt-токен в заголовке (см. раздел "Аутентификация" в документации)

Статус-код: 204 NO CONTENT

Описание: выход из аккаунта

Формат входных данных: отсутствует

Формат выходных данных: отсутствует

Обновить токен

Тип запроса: POST

Путь: /v1/auth/refresh

Авторизация: не требует

Статус-код: 200 OK

Описание: обновить access token

Формат входных данных: json

// json
{
    "refresh_token" : "refresh token (required)",
}

Формат выходных данных: json

// json
{
    "access_token": "access token",
    "refresh_token": "refresh token",
    "token_type": "token type",
    "access_token_expires_in_minutes": minutes,
    "refresh_token_expires_in_days": days
}

Мой профиль (get)

Тип запроса: GET

Путь: /v1/auth/me

Авторизация: требует jwt-токен в заголовке (см. раздел "Аутентификация" в документации)

Статус-код: 200 OK

Описание: получить информацию о профиле текущего пользователя

Формат входных данных: отсутствует

Формат выходных данных: json

// json
{
  "user_id": "your uuid",
  "username": "your username",
  "email": "your email",
  "is_active": true/false
}

Мой профиль (update)

Тип запроса: PATCH

Путь: /v1/auth/me

Авторизация: требует jwt-токен в заголовке (см. раздел "Аутентификация" в документации)

Статус-код: 200 OK

Описание: обновить информацию профиля текущего пользователя

Формат входных данных: json

// json
{
    "username" : "username (optional)",
    "email" : "email (optional)"
} // если юзернейм - пустая строка или он не указан - он не изменится
  // если почта - пустая строка, то вернет ошибку валидации, но она не изменится
  // если почта просто не указана - не изменится

Формат выходных данных: json

// json
{
  "user_id": "your uuid",
  "username": "your username",
  "email": "your email",
  "is_active": true/false
}

Мой профиль (delete)

Тип запроса: DELETE

Путь: /v1/auth/me

Авторизация: требует jwt-токен в заголовке (см. раздел "Аутентификация" в документации)

Статус-код: 204 NO CONTENT

Описание: удалить аккаунт текущего пользователя

Формат входных данных: отсутствует

Формат выходных данных: отсутствует

Изменить пароль

Тип запроса: PATCH

Путь: /v1/auth/me/password

Авторизация: требует jwt-токен в заголовке (см. раздел "Аутентификация" в документации)

Статус-код: 200 OK

Описание: обновить пароль текущего пользователя

Формат входных данных: json

// json
{
    "old_pass" : "old password (required)",
    "new_pass" : "new password (required)"
}

Формат выходных данных: json

// json
{
  "user_id": "your uuid",
  "username": "your username",
  "email": "your email",
  "is_active": true/false
}

Получить информацию о другом пользователе

По его uuid

Тип запроса: GET

Путь: /v1/user/uuid/{user_uuid}

Параметры:

  • user_uuid - uuid пользователя
  • Авторизация: требует jwt-токен в заголовке (см. раздел "Аутентификация" в документации)

    Статус-код: 200 OK

    Описание: позволяет получить данные о другом пользователе по его uuid

    Формат входных данных: отсутствует

    Формат выходных данных: json

    // json
    {
      "user_id": "uuid",
      "username": "username",
      "email": "email",
      "is_active": true/false
    }

    По его username

    Тип запроса: GET

    Путь: /v1/user/username/{username}

    Параметры:

  • username - username пользователя
  • Авторизация: требует jwt-токен в заголовке (см. раздел "Аутентификация" в документации)

    Статус-код: 200 OK

    Описание: позволяет получить данные о другом пользователе по его username

    Формат входных данных: отсутствует

    Формат выходных данных: json

    // json
    {
      "user_id": "uuid",
      "username": "username",
      "email": "email",
      "is_active": true/false
    }

    Подтверждение электронной почты

    Тип запроса: GET

    Путь: /v1/verify/{token}

    Параметры:

  • token - token пользователя
  • Авторизация: требует jwt-токен в заголовке (см. раздел "Аутентификация" в документации)

    Статус-код: 200 OK

    Описание: позволяет подтвердить электронную почту пользователя

    Подробнее: после того, как пользователь указал почту при регистрации или изменил её, на указанную почту отправится письмо со ссылкой, в которой находится сгенерированный токен. Этот токен уникальный и привязан к конкретному пользователю. После перехода по этой ссылке почта пользователя считается подтверждённой, и поле is_active, указывающее, активирован ли пользователь, становится true.

    Формат входных данных: отсутствует

    Формат выходных данных: json

    // json
    {
      "detail" : "message"
    }

    GitHub oauth

    Тип запроса: GET

    Путь: /v1/github/login

    Авторизация: требует jwt-токен в заголовке (см. раздел "Аутентификация" в документации)

    Статус-код: 307 TEMPORARY REDIRECT

    Описание: перенаправляет пользователя на страницу аутентификации GitHub

    Подробнее: создаёт state для защиты от csrf-атак и перенаправляет пользователя по созданной ссылке. После аутентификации по этой ссылке GitHub перенаправит пользователя на эндпоинт /v1/github/callback

    Формат входных данных: отсутствует

    Формат выходных данных: отсутствует

    GitHub callback

    Тип запроса: GET

    Путь: /v1/github/callback

    Авторизация: требует jwt-токен в заголовке (см. раздел "Аутентификация" в документации)

    Статус-код: 200 OK

    Описание: эндпоинт, на который GitHub перенаправляет пользователя после аутентификации

    Подробнее: в параметрах запроса будут переданы code и state. Code - краткоживущий код, который Prism обменивает на access_token для дальнейшего использования. Этот access_token используется для запросов к GitHub API. State - код, который генерируется ещё в эндпоинте /v1/github/login и используется для защиты от csrf-атак.

    Формат входных данных: отсутствует

    Формат выходных данных: json

    // json
    {
        "access_token" : "token",
        "token_type" : "token type",
        "scope": "scope"
    }

    Профиль пользователя GitHub

    Тип запроса: GET

    Путь: /v1/github/me

    Авторизация: требует jwt-токен в заголовке (см. раздел "Аутентификация" в документации)

    Статус-код: 200 OK

    Описание: получение профиля пользователя на GitHub

    Формат входных данных: отсутствует

    Формат выходных данных: json

    // json
    {
      "login": "login",
      "name": "name",
      "email": "email",
      "avatar_url": "avatar url",
      "bio": "bio",
      "public_repos": public_repositories,
      "followers": followers,
      "following": following
    }

    GitHub-ивенты пользователя

    Тип запроса: GET

    Путь: /v1/github/events

    Авторизация: требует jwt-токен в заголовке (см. раздел "Аутентификация" в документации)

    Статус-код: 200 OK

    Описание: получение ивентов пользователя на GitHub

    Формат входных данных: отсутствует

    Формат выходных данных: json (!!! Обратите внимание, что этот ответ действует только по состоянию на 5 августа 2026 года. Проверьте API GitHub, если хотите точно узнать текущий ответ.)

    // json
    [
      {
        "id": "id",
        "type": "type",
        "actor": {
            "id": id,
            "login": "login",
            "display_login": "display login",
            "gravatar_id": "gravatar id",
            "url": "url",
            "avatar_url": "avatar url"
        },
        "repo": {
            "id": id,
            "name": "name",
            "url": "url"
        },
        "payload": {
            "repository_id": repository id,
            "push_id": push id,
            "ref": "ref",
            "head": "head",
            "before": "before"
        },
        "public": true/false,
        "created_at": "created at"
      }, // etc...
    ]

    GitHub-репозитории пользователя

    Тип запроса: GET

    Путь: /v1/github/repositories

    Авторизация: требует jwt-токен в заголовке (см. раздел "Аутентификация" в документации)

    Статус-код: 200 OK

    Описание: получение репозиториев пользователя на GitHub

    Формат входных данных: отсутствует

    Формат выходных данных: json (!!! Обратите внимание, что этот ответ действует только по состоянию на 5 августа 2026 года. Проверьте API GitHub, если хотите точно узнать текущий ответ.)

    // json
    [
      {
        "id": id,
        "node_id": "node_id",
        "name": "name",
        "full_name": "full name",
        "private": true/false,
        "owner": {
            "login": "login",
            "id": id,
            "node_id": "node id",
            "avatar_url": "avatar url",
            "gravatar_id": "gravatar id",
            "url": "url",
            "html_url": "html url",
            "followers_url": "followers url",
            "following_url": "following url",
            "gists_url": "gists url",
            "starred_url": "starred url",
            "subscriptions_url": "subscriptions url",
            "organizations_url": "organizations url",
            "repos_url": "repos url",
            "events_url": "events url",
            "received_events_url": "received events url",
            "type": "type",
            "user_view_type": "user view type",
            "site_admin": true/false
        },
        "html_url": "html url",
        "description": description/null,
        "fork": true/false,
        "url": "url",
        "forks_url": forks url",
        "keys_url": "keys url",
        "collaborators_url": "collaborators url",
        "teams_url": "teams url",
        "hooks_url": "hooks url",
        "issue_events_url": "issues url",
        "events_url": "events url",
        "assignees_url": "assignees url",
        "branches_url": "branches url",
        "tags_url": "tags url",
        "blobs_url": "blobs url",
        "git_tags_url": "git tags url",
        "git_refs_url": "git refs url",
        "trees_url": "trees url",
        "statuses_url": "statuses url",
        "languages_url": "languages url",
        "stargazers_url": "stargazers url",
        "contributors_url": "contributors url",
        "subscribers_url": "subscribers url",
        "subscription_url": "subscription url",
        "commits_url": "commits url",
        "git_commits_url": "git commits url",
        "comments_url": "comments url",
        "issue_comment_url": "issue comment url",
        "contents_url": "contents url",
        "compare_url": "compare url",
        "merges_url": "merges url",
        "archive_url": "archive url",
        "downloads_url": "downloads url",
        "issues_url": "issues url",
        "pulls_url": "pulls url",
        "milestones_url": "milestones url",
        "notifications_url": "notifications url",
        "labels_url": "labels url",
        "releases_url": "releases url",
        "deployments_url": "deployments url",
        "created_at": "created at",
        "updated_at": "updated at",
        "pushed_at": "pushed at",
        "git_url": "git url",
        "ssh_url": "ssh url",
        "clone_url": "clone url",
        "svn_url": "svn url",
        "homepage": homepage/null,
        "size": size,
        "stargazers_count": stargazers count,
        "watchers_count": watchers count,
        "language": "language",
        "has_issues": true/false,
        "has_projects": true/false,
        "has_downloads": true/false,
        "has_wiki": true/false,
        "has_pages": true/false,
        "has_discussions": true/false,
        "forks_count": forks count,
        "mirror_url": mirror url/null,
        "archived": true/false,
        "disabled": true/false,
        "open_issues_count": open issues count,
        "license": license/null,
        "allow_forking": true/false,
        "is_template": true/false,
        "web_commit_signoff_required": true/false,
        "has_pull_requests": true/false,
        "pull_request_creation_policy": "pull request creation policy",
        "topics": topics,
        "visibility": "visibility",
        "forks": forks,
        "open_issues": open issues,
        "watchers": watchers,
        "default_branch": "default branch",
        "permissions": {
            "admin": true/false,
            "maintain": true/false,
            "push": true/false,
            "triage": true/false,
            "pull": true/false
        }
      }, // etc...
    ]

    GitHub-коммиты в репозитории

    Тип запроса: GET

    Путь: /v1/github/{repo}/commits

    Параметры:

  • repo - название репозитория (например, prism), регистр не важен
  • Авторизация: требует jwt-токен в заголовке (см. раздел "Аутентификация" в документации)

    Статус-код: 200 OK

    Описание: получение коммитов в репозитории на GitHub

    Формат входных данных: отсутствует

    Формат выходных данных: json (!!! Обратите внимание, что этот ответ действует только по состоянию на 5 августа 2026 года. Проверьте API GitHub, если хотите точно узнать текущий ответ.)

    // json
    [
      {
        "sha": "sha",
        "node_id": "node id",
        "commit": {
            "author": {
                "name": "name",
                "email": "email",
                "date": "date"
            },
            "committer": {
                "name": "name",
                "email": "email",
                "date": "date"
            },
            "message": "message",
            "tree": {
                "sha": "sha",
                "url": "url"
            },
            "url": "url",
            "comment_count": comment count,
            "verification": {
                "verified": true/false,
                "reason": "reason",
                "signature": signature,
                "payload": payload,
                "verified_at": verified at
            }
        },
        "url": "url",
        "html_url": "html url",
        "comments_url": "comment url",
        "author": {
            "login": "login",
            "id": id,
            "node_id": "node id",
            "avatar_url": "avatar url",
            "gravatar_id": "gravatar url",
            "url": "url",
            "html_url": "html url",
            "followers_url": "followers url",
            "following_url": "following url",
            "gists_url": "gists url",
            "starred_url": "starred url",
            "subscriptions_url": "subscriptions url",
            "organizations_url": "organizations url",
            "repos_url": "repos url",
            "events_url": "events url",
            "received_events_url": "received events url",
            "type": "type",
            "user_view_type": "user view type",
            "site_admin": true/false
        },
        "committer": {
            "login": "login",
            "id": id,
            "node_id": "node id",
            "avatar_url": "avatar url",
            "gravatar_id": "gravatar id",
            "url": "url",
            "html_url": "html url",
            "followers_url": "followers url",
            "following_url": "following url",
            "gists_url": "gists url",
            "starred_url": "starred url",
            "subscriptions_url": "subscriptions url",
            "organizations_url": "organizations url",
            "repos_url": "repositories url",
            "events_url": "events url",
            "received_events_url": "received events url",
            "type": "type",
            "user_view_type": "user view type",
            "site_admin": true/false
        },
        "parents": [
            {
                "sha": "sha",
                "url": "url",
                "html_url": "html url"
            }
        ]
      }
    ]

    GitHub-пул-реквесты в репозитории

    Тип запроса: GET

    Путь: /v1/github/{repo}/pulls

    Параметры:

  • repo - название репозитория (например, prism), регистр не важен
  • Авторизация: требует jwt-токен в заголовке (см. раздел "Аутентификация" в документации)

    Статус-код: 200 OK

    Описание: получение пул-реквестов в репозитории на GitHub

    Формат входных данных: отсутствует

    Формат выходных данных: json (!!! Обратите внимание, что этот ответ действует только по состоянию на 5 августа 2026 года. Проверьте API GitHub, если хотите точно узнать текущий ответ.)

    // json
    [
        {
            "url": "url",
            "id": id,
            "node_id": "node id",
            "html_url": "html url",
            "diff_url": "diff url",
            "patch_url": "patch url",
            "issue_url": "issue url",
            "number": number,
            "state": "state",
            "locked": true/false,
            "title": "title",
            "user": {
                "login": "user",
                "id": id,
                "node_id": "node id",
                "avatar_url": "avatar url",
                "gravatar_id": "gravatar url",
                "url": "url",
                "html_url": "html url",
                "followers_url": "followers url",
                "following_url": "following url",
                "gists_url": "gists url",
                "starred_url": "starred url",
                "subscriptions_url": "subscriptions url",
                "organizations_url": "organizations url",
                "repos_url": "repos url",
                "events_url": "events url",
                "received_events_url": "received events url",
                "type": "type",
                "user_view_type": "user view type",
                "site_admin": true/false
            },
            "body": body,
            "created_at": "created at",
            "updated_at": "updated at",
            "closed_at": "closed at",
            "merged_at": merged at,
            "merge_commit_sha": merge commit sha,
            "assignees": assignees,
            "requested_reviewers": requested reviewers,
            "requested_teams": requested teams,
            "labels": labels,
            "milestone": milestone,
            "draft": true/false,
            "commits_url": "commits url",
            "review_comments_url": "review comments url",
            "review_comment_url": "review comment url",
            "comments_url": "comments url",
            "statuses_url": "statuses url",
            "head": {
                "label": "label",
                "ref": "ref",
                "sha": "sha",
                "user": {
                    "login": "login",
                    "id": id,
                    "node_id": "node id",
                    "avatar_url": "avatar url",
                    "gravatar_id": "gravatar id",
                    "url": "url",
                    "html_url": "html url",
                    "followers_url": "followers url",
                    "following_url": "following url",
                    "gists_url": "gists url",
                    "starred_url": "starred url",
                    "subscriptions_url": "subscriptions url",
                    "organizations_url": "organizations url",
                    "repos_url": "repositories url",
                    "events_url": "events url",
                    "received_events_url": "received events url",
                    "type": "type",
                    "user_view_type": "user view type",
                    "site_admin": true/false
                },
                "repo": {
                    "id": id,
                    "node_id": "node id",
                    "name": "name",
                    "full_name": "full name",
                    "private": true/false,
                    "owner": {
                        "login": "login",
                        "id": id,
                        "node_id": "node id",
                        "avatar_url": "avatar url",
                        "gravatar_id": "gravatar id",
                        "url": "url",
                        "html_url": "html url",
                        "followers_url": "followers url",
                        "following_url": "following url",
                        "gists_url": "gists url",
                        "starred_url": "starred url",
                        "subscriptions_url": "subscriptions url",
                        "organizations_url": "organizations url",
                        "repos_url": "repos url",
                        "events_url": "events url",
                        "received_events_url": "received events url",
                        "type": "type",
                        "user_view_type": "user view type",
                        "site_admin": true/false
                    },
                    "html_url": "html url",
                    "description": description/null,
                    "fork": true/false,
                    "url": "url",
                    "forks_url": "forks url",
                    "keys_url": "keys url",
                    "collaborators_url": "collaborators url",
                    "teams_url": "teams url",
                    "hooks_url": "hooks url",
                    "issue_events_url": "issue events url",
                    "events_url": "events url",
                    "assignees_url": "assignees url",
                    "branches_url": "branches url",
                    "tags_url": "tags url",
                    "blobs_url": "blobs url",
                    "git_tags_url": "git tags url",
                    "git_refs_url": "git refs url",
                    "trees_url": "trees url",
                    "statuses_url": "statuses url",
                    "languages_url": "languages url",
                    "stargazers_url": "stargazers url",
                    "contributors_url": "contributors url",
                    "subscribers_url": "subscribers url",
                    "subscription_url": "subscription url",
                    "commits_url": "commits url",
                    "git_commits_url": "git commits url",
                    "comments_url": "comments url",
                    "issue_comment_url": "issue comment url",
                    "contents_url": "contents url",
                    "compare_url": "compare url",
                    "merges_url": "merges url",
                    "archive_url": "archive url",
                    "downloads_url": "downloads url",
                    "issues_url": "issues url",
                    "pulls_url": "pulls url",
                    "milestones_url": "milestones url",
                    "notifications_url": "notifications url",
                    "labels_url": "labels url",
                    "releases_url": "releases url",
                    "deployments_url": "deployments url",
                    "created_at": "created at",
                    "updated_at": "updated at",
                    "pushed_at": "pushed at",
                    "git_url": "git url",
                    "ssh_url": "ssh url",
                    "clone_url": "clone url",
                    "size": size,
                    "stargazers_count": stargazers count,
                    "watchers_count": watchers count,
                    "language": language/null,
                    "has_issues": true/false,
                    "has_projects": true/false,
                    "has_downloads": true/false,
                    "has_wiki": true/false,
                    "has_pages": true/false,
                    "has_discussions": true/false,
                    "forks_count": forks count,
                    "mirror_url": mirror url/null,
                    "archived": true/false,
                    "disabled": true/false,
                    "open_issues_count": open issues count,
                    "license": license/null,
                    "allow_forking": true/false,
                    "is_template": true/false,
                    "web_commit_signoff_required": true/false,
                    "has_pull_requests": true/false,
                    "pull_request_creation_policy": "pull request creation policy",
                    "topics": topics,
                    "visibility": "visibility",
                    "forks": forks,
                    "open_issues": open issues,
                    "watchers": watchers,
                    "default_branch": "default branch"
                }
            },
            "base": {
                "label": "label",
                "ref": "ref",
                "sha": "sha",
                "user": {
                    "login": "login",
                    "id": id,
                    "node_id": "node id",
                    "avatar_url": "avatar url",
                    "gravatar_id": "gravatar id",
                    "url": "url",
                    "following_url": "following url",
                    "gists_url": "gists url",
                    "starred_url": "starred url",
                    "subscriptions_url": "subscriptions url",
                    "organizations_url": "organizations url",
                    "repos_url": "repositories url",
                    "events_url": "events url",
                    "received_events_url": "received events url",
                    "type": "type",
                    "user_view_type": "user view type",
                    "site_admin": true/false
                },
                "repo": {
                    "id": id,
                    "node_id": "node id",
                    "name": "name",
                    "full_name": "full name",
                    "private": true/false,
                    "owner": {
                        "login": "login",
                        "id": id,
                        "node_id": "node id",
                        "avatar_url": "avatar url",
                        "gravatar_id": "gravatar id",
                        "url": "url",
                        "following_url": "following url",
                        "gists_url": "gists url",
                        "starred_url": "starred url",
                        "subscriptions_url": "subscriptions url",
                        "organizations_url": "organizations url",
                        "repos_url": "repositories url",
                        "events_url": "events url",
                        "received_events_url": "received events url",
                        "type": "type",
                        "user_view_type": "user view type",
                        "site_admin": true/false
                    },
                    "html_url": "html url",
                    "fork": true/false,
                    "url": "url",
                    "forks_url": "forks url",
                    "keys_url": "keys url",
                    "collaborators_url": "collaborators url",
                    "teams_url": "teams url",
                    "hooks_url": "hooks url",
                    "issue_events_url": "issue events url",
                    "events_url": "events url",
                    "assignees_url": "assignees url",
                    "branches_url": "branches url",
                    "tags_url": "tags url",
                    "blobs_url": "blobs url",
                    "git_tags_url": "git tags url",
                    "git_refs_url": "git refs url",
                    "trees_url": "trees url",
                    "statuses_url": "statuses url",
                    "languages_url": "languages url",
                    "stargazers_url": "stargazers url",
                    "contributors_url": "contributors url",
                    "subscribers_url": "subscribers url",
                    "subscription_url": "subscription url",
                    "commits_url": "commits url",
                    "git_commits_url": "git commits url",
                    "comments_url": "comments url",
                    "issue_comment_url": "issue comment url",
                    "contents_url": "contents url",
                    "compare_url": "compare url",
                    "merges_url": "merges url",
                    "archive_url": "archive url",
                    "downloads_url": "downloads url",
                    "issues_url": "issues url",
                    "pulls_url": "pulls url",
                    "milestones_url": "milestones url",
                    "notifications_url": "notifications url",
                    "labels_url": "labels url",
                    "releases_url": "releases url",
                    "deployments_url": "deployments url",
                    "created_at": "created at",
                    "updated_at": "updated at",
                    "pushed_at": "pushed at",
                    "git_url": "git url",
                    "ssh_url": "ssh url",
                    "clone_url": "clone url",
                    "size": size,
                    "stargazers_count": stargazers count,
                    "watchers_count": watchers count,
                    "language": language/null,
                    "has_issues": true/false,
                    "has_projects": true/false,
                    "has_downloads": true/false,
                    "has_wiki": true/false,
                    "has_pages": true/false,
                    "has_discussions": true/false,
                    "forks_count": forks count,
                    "mirror_url": mirror url/null,
                    "archived": true/false,
                    "disabled": true/false,
                    "open_issues_count": open issues count,
                    "license": license/null,
                    "allow_forking": true/false,
                    "is_template": true/false,
                    "web_commit_signoff_required": true/false,
                    "has_pull_requests": true/false,
                    "pull_request_creation_policy": "pull request creation policy",
                    "topics": topics,
                    "visibility": "visibility",
                    "forks": forks,
                    "open_issues": open issues,
                    "watchers": watchers,
                    "default_branch": "default branch"
                }
            },
            "_links": {
                "self": {
                    "href": "href"
                },
                "html": {
                    "href": "href"
                },
                "issue": {
                    "href": "href"
                },
                "comments": {
                    "href": "href"
                },
                "review_comments": {
                    "href": "href"
                },
                "review_comment": {
                    "href": "href"
                },
                "commits": {
                    "href": "href"
                },
                "statuses": {
                    "href": "href"
                }
            },
            "author_association": "author association",
            "auto_merge": auto merge/null,
            "assignee": assignee/null,
            "active_lock_reason": active lock reason/null
        }
    ]

    GitHub issues в репозитории

    Тип запроса: GET

    Путь: /v1/github/{repo}/issues

    Параметры:

  • repo - название репозитория (например, prism), регистр не важен
  • Авторизация: требует jwt-токен в заголовке (см. раздел "Аутентификация" в документации)

    Статус-код: 200 OK

    Описание: получение issues в репозитории на GitHub

    Формат входных данных: отсутствует

    Формат выходных данных: json (!!! Обратите внимание, что этот ответ действует только по состоянию на 5 августа 2026 года. Проверьте API GitHub, если хотите точно узнать текущий ответ.)

    // json
    [
        {
            "url": "url",
            "repository_url": "repository url",
            "labels_url": "labels url",
            "comments_url": "comments url",
            "events_url": "events url",
            "html_url": "html url",
            "id": id,
            "node_id": "node id",
            "number": number,
            "title": "title",
            "user": {
                "login": "login",
                "id": id,
                "node_id": "node id",
                "avatar_url": "avatar url",
                "gravatar_id": "gravatar id",
                "url": "url",
                "html_url": "html url",
                "followers_url": "followers url",
                "following_url": "following url",
                "gists_url": "gists url",
                "starred_url": "starred url",
                "subscriptions_url": "subscriptions url",
                "organizations_url": "organizations url",
                "repos_url": "repos url",
                "events_url": "events url",
                "received_events_url": "received events url",
                "type": "type",
                "user_view_type": "user view type",
                "site_admin": true/false
            },
            "labels": labels,
            "state": "state",
            "locked": true/false,
            "assignees": assignees,
            "milestone": milestone/null,
            "comments": comments,
            "created_at": "created at",
            "updated_at": "updated at",
            "closed_at": "closed at",
            "assignee": assignee/null,
            "author_association": "author association",
            "active_lock_reason": active lock reason/null,
            "draft": true/false,
            "pull_request": {
                "url": "url",
                "html_url": "html url",
                "diff_url": "diff url",
                "patch_url": "patch url",
                "merged_at": merged at/null
            },
            "body": body/null,
            "closed_by": {
                "login": "login",
                "id": id,
                "node_id": "node id",
                "avatar_url": "avatar url",
                "gravatar_id": "gravatar id",
                "url": "url",
                "html_url": "html url",
                "followers_url": "followers url",
                "following_url": "following url",
                "gists_url": "gists url",
                "starred_url": "starred url",
                "subscriptions_url": "subscriptions url",
                "organizations_url": "organizations url",
                "repos_url": "repos url",
                "events_url": "events url",
                "received_events_url": "received events url",
                "type": "type",
                "user_view_type": "user view type",
                "site_admin": true/false
            },
            "reactions": {
                "url": "url",
                "total_count": total count,
                "+1": +1,
                "-1": -1,
                "laugh": laugh,
                "hooray": hooray,
                "confused": confused,
                "heart": heart,
                "rocket": rocket,
                "eyes": eyes
            },
            "timeline_url": "timeline url",
            "performed_via_github_app": performed via github app/null,
            "state_reason": state reason/null
        }
    ]

    GitHub-лента

    Тип запроса: GET

    Путь: /v1/github/feed

    Параметры:

    Авторизация: требует jwt-токен в заголовке (см. раздел "Аутентификация" в документации)

    Статус-код: 200 OK

    Описание: получение Prism-ленты с GitHub

    Формат входных данных: отсутствует

    Формат выходных данных: json (!!! Обратите внимание, что этот ответ действует только по состоянию на 5 августа 2026 года. Проверьте API GitHub, если хотите точно узнать текущий ответ.)

    // json
    {
      "events": [
        "events (the structure is already indicated above)"
      ],
      "commits": [
        "commits (the structure is already indicated above)"
      ],
      "pull_requests": [
        "pulls (the structure is already indicated above)"
      ],
      "issues": [
        "issues (the structure is already indicated above)"
      ],
      "total_count": total count
    }