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

GET /users/{username}/repos

Описание

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

Требования

Убедитесь, что ключ API указан корректно и обладает необходимыми правами.

Токен

Требуется токен с правами на Чтение для Репозитория.

Параметры URL

ПараметрТипОбязательныйОписание
usernamestringДаЛогин пользователя

Параметры запроса

ПараметрТипОбязательныйОписаниеПо умолчанию
typestringНетТип репозиториев: all, owner, memberowner
sortstringНетПоле сортировки: created, updated, pushed, full_namefull_name
directionstringНетНаправление сортировки: asc или desc. Для full_name по умолчанию используется asc, для остальных полей — descЗависит от sort
per_pageintegerНетКоличество репозиториев на странице, максимум — 10030
pageintegerНетНомер страницы результатов1

Тело запроса

Данный метод не требует тела запроса.

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

curl -X GET "https://api.gitverse.ru/users/user1/repos?type=owner&sort=updated&direction=desc&page=1&per_page=20" \
  -H "Authorization: Bearer <TOKEN>" \
  -H "Accept: application/vnd.gitverse.object+json;version=latest"

Ответ (200 OK)

Пример JSON-ответа:

[
  {
    "id": 12345,
    "name": "user",
    "full_name": "user1/user",
    "owner": {
      "login": "user1",
      "id": 100000,
      "avatar_url": "https://api.gitverse.ru/sc/avatars/example-hash-1",
      "url": "https://api.gitverse.ru/users/user1",
      "html_url": "https://gitverse.ru/user1",
      "followers_url": "https://api.gitverse.ru/users/user1/followers",
      "following_url": "https://api.gitverse.ru/users/user1/following{/other_user}",
      "organizations_url": "https://api.gitverse.ru/users/user1/orgs",
      "repos_url": "https://api.gitverse.ru/users/user1/repos",
      "type": "User",
      "site_admin": false
    },
    "private": false,
    "description": "Project description",
    "fork": false,
    "forks": 2,
    "forks_count": 2,
    "language": "Go",
    "stargazers_count": 5,
    "watchers": 3,
    "watchers_count": 3,
    "size": 1024,
    "default_branch": "main",
    "open_issues": 1,
    "open_issues_count": 1,
    "is_template": false,
    "topics": null,
    "archived": false,
    "disabled": false,
    "visibility": "public",
    "pushed_at": "2025-12-01T10:00:00Z",
    "has_issues": true,
    "has_wiki": true,
    "created_at": "2025-01-15T08:30:00Z",
    "updated_at": "2025-12-01T10:00:00Z",
    "allow_merge_commit": true,
    "allow_squash_merge": true,
    "allow_rebase_merge": false,
    "delete_branch_on_merge": false,
    "html_url": "https://gitverse.ru/user1/user",
    "clone_url": "https://gitverse.ru/user1/user.git",
    "ssh_url": "git@gitverse.ru:user1/user.git",
    "mirror_url": "https://gitverse.ru/user1/user.git",
    "url": "https://api.gitverse.ru/repos/user1/user",
    "contents_url": "https://api.gitverse.ru/repos/user1/user/contents/{+path}",
    "forks_url": "https://api.gitverse.ru/repos/user1/user/forks",
    "issue_comment_url": "https://api.gitverse.ru/repos/user1/user/issues/comments{/number}",
    "issues_url": "https://api.gitverse.ru/repos/user1/user/issues{/number}",
    "languages_url": "https://api.gitverse.ru/repos/user1/user/languages",
    "pulls_url": "https://api.gitverse.ru/repos/user1/user/pulls{/number}",
    "permissions": {
      "pull": true,
      "push": true,
      "admin": true
    },
    "template_repository": null,
    "parent": null
  }
]

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

application/vnd.gitverse.object+json;version=latest

Поля ответа

ПолеТипОписание
idintegerУникальный идентификатор репозитория
namestringИмя репозитория
full_namestringПолное имя репозитория в формате owner/name
ownerobjectИнформация о владельце
privatebooleanЯвляется ли репозиторий приватным
descriptionstring или nullОписание репозитория
forkbooleanЯвляется ли репозиторий форком
html_urlstringСсылка на репозиторий в веб-интерфейсе
urlstringAPI-ссылка на репозиторий
clone_urlstringСсылка для клонирования по HTTPS
ssh_urlstringСсылка для клонирования по SSH
default_branchstringВетка по умолчанию
languagestring или nullОсновной язык программирования
created_atstringДата создания репозитория
updated_atstringДата последнего обновления
pushed_atstring или nullДата последнего push
stargazers_countintegerКоличество звезд
watchers_countintegerКоличество наблюдателей
forks_countintegerКоличество форков
open_issues_countintegerКоличество открытых задач и запросов на слияние
permissionsobjectПрава текущего пользователя

Объект owner

ПолеТипОписание
loginstringЛогин владельца
idintegerУникальный идентификатор владельца
avatar_urlstringURL аватара
urlstringAPI URL пользователя
html_urlstringURL профиля владельца
followers_urlstringAPI URL подписчиков
following_urlstringAPI URL подписок
organizations_urlstringAPI URL организаций
repos_urlstringAPI URL репозиториев
typestringТип владельца: User или Organization
site_adminbooleanЯвляется ли владелец администратором платформы

Объект permissions

ПолеТипОписание
pullbooleanПрава на чтение
pushbooleanПрава на запись
adminbooleanПрава администратора

Коды ответа

КодСтатусОписание
200OKСписок репозиториев успешно получен
400Bad RequestНекорректные параметры запроса
401UnauthorizedТокен отсутствует или недействителен
403ForbiddenДоступ запрещен
404Not FoundПользователь не найден
429Too Many RequestsПревышен лимит запросов
500Internal Server ErrorВнутренняя ошибка сервера