Получение списка репозиториев пользователя

Получение списка репозиториев аутентифицированного пользователя
Beta
New

⚠️
Ограниченный доступ

Описание

Этот раздел документации описывает конечную точку для получения списка репозиториев, принадлежащих аутентифицированному пользователю. Возвращается информация о каждом репозитории, включая его описание, язык программирования, статус (публичный/приватный), количество звёзд и другие метаданные.

Общие замечания

  1. Для версий API указывайте заголовок Accept с соответствующей версией:
    Accept: application/vnd.gitverse+json;version=1
  2. Базовый URL для всех конечных точек:
    https://api.gitverse.ru
  3. Все даты возвращаются в формате ISO 8601.
  4. Если запрос завершается неудачно, API возвращает объект ошибки с кодом состояния HTTP и сообщением.

Скоупы

Для успешного выполнения этого запроса требуется один из следующих скоупов:

  • "read:public_api";
  • "public_api".

🔒 Обратите внимание: использование скоупа public_api предоставляет все возможности (чтение, запись, удаление), поэтому рекомендуется использовать минимально необходимые привилегии.

Конечная точка

GET /user/repos

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

Нет обязательных параметров пути. Конечная точка /user/repos автоматически определяет текущего аутентифицированного пользователя на основе предоставленного токена.

Заголовки запроса

  • Content-Type: application/json: указывает, что тело ответа будет в формате JSON;
  • Accept: application/vnd.gitverse+json;version=1: указывает версию API. В данном случае используется версия 1;
  • Authorization: Bearer {user_token}: требуется для аутентификации. Без токена доступ к этому маршруту запрещён.

Тело запроса

Тело запроса не требуется. Этот метод работает без передачи данных в теле запроса.

Пример успешного ответа

[
    {
        "id": 2,
        "owner": {
            "id": 1,
            "login": "dlborun",
            "full_name": "Milo Kachinsky",
            "type": "User"
        },
        "name": "myTetris",
        "full_name": "dlborun/myTetris",
        "description": "my emplementation original Tetris game",
        "private": false,
        "fork": false,
        "language": "C",
        "size": 2331,
        "stargazers_count": 0,
        "watchers_count": 1,
        "default_branch": "main",
        "created_at": "2025-04-28T13:46:42+03:00",
        "updated_at": "2025-05-05T11:31:09+03:00"
    },
    {
        "id": 1,
        "owner": {
            "id": 1,
            "login": "dlborun",
            "full_name": "Milo Kachinsky",
            "type": "User"
        },
        "name": "testRepo1.0",
        "full_name": "dlborun/testRepo1.0",
        "description": "старый пет-проект для локальных тестов",
        "private": false,
        "fork": false,
        "language": "Go",
        "size": 46,
        "stargazers_count": 0,
        "watchers_count": 1,
        "default_branch": "master",
        "created_at": "2025-04-28T12:09:56+03:00",
        "updated_at": "2025-05-16T14:50:38+03:00"
    }
]

⚠️ В целях улучшения читаемости документации, в примере выше показаны только основные поля. Полный список полей аналогичен тому, что указан в разделе "Поля ответа".

Поля ответа

Каждый элемент массива представляет собой объект репозитория со следующими полями:

ПолеТипОписание
idintegerУникальный ID репозитория.
owner.idintegerУникальный ID владельца.
owner.loginstringЛогин пользователя.
owner.full_namestringПолное имя пользователя.
namestringНазвание репозитория.
full_namestringПолное имя репозитория (имя_владельца/название).
descriptionstringОписание репозитория.
privatebooleanЯвляется ли репозиторий приватным.
languagestringОсновной язык программирования.
sizeintegerРазмер репозитория в килобайтах.
stargazers_countintegerКоличество звёзд.
watchers_countintegerКоличество наблюдателей.
default_branchstringВетка по умолчанию.
created_atstring (ISO 8601)Дата создания репозитория.
updated_atstring (ISO 8601)Дата последнего обновления репозитория.

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

Получение списка репозиториев текущего пользователя

GET https://api.gitverse.ru/user/repos
Content-Type: application/json
Accept: application/vnd.gitverse+json;version=1
Authorization: Bearer YOUR_ACCESS_TOKEN

Обработка ошибок

Если запрос завершается неудачно, API возвращает объект ошибки с кодом состояния HTTP и сообщением:

Пример ошибки

{
  "error": "Unauthorized",
  "message": "Authentication failed. Invalid or missing access token.",
  "status": 401
}

Возможные коды ошибок

  • 400 Bad Request — некорректный запрос;
  • 401 Unauthorized — необходима аутентификация. Отсутствует или неверен токен;
  • 403 Forbidden — у пользователя нет прав для доступа;
  • 500 Internal Server Error — внутренняя ошибка сервера.

Если у вас возникнут вопросы или потребуется дополнительная информация, пожалуйста, обращайтесь в службу поддержки или свяжитесь с командой разработки.