Публичный APIРепозитории1. GET /repos/{owner}/{repo} — получить информацию о репозитории

1. GET /repos/{owner}/{repo} — получить информацию о репозитории

Описание

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

⚠️ Доступ к приватным репозиториям возможен только при наличии соответствующих прав у аутентифицированного пользователя.

Параметры URL

ПараметрОбязательныйОписание
ownerДаВладелец репозитория (пользователь или организация)
repoДаНазвание репозитория (без расширения .git)

Тело запроса

Не требуется.

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

curl -X GET "https://api.gitverse.ru/repos/awesome-org/project-x" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Accept: application/vnd.gitverse.object+json;version=latest"

Ответ (200 OK)

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

{
  "id": 54321,
  "name": "project-x",
  "full_name": "awesome-org/project-x",
  "private": false,
  "owner": {
    "login": "awesome-org",
    "id": 11223,
    "avatar_url": "https://gitverse.ru/avatars/awesome-org.png"
  },
  "html_url": "https://gitverse.ru/awesome-org/project-x",
  "description": "Пример проекта для демонстрации API",
  "fork": false,
  "created_at": "2024-01-15T08:30:00Z",
  "updated_at": "2025-03-22T14:12:00Z",
  "pushed_at": "2025-04-01T09:45:00Z",
  "homepage": "https://project-x.example.com",
  "size": 2048,
  "stargazers_count": 42,
  "watchers_count": 10,
  "language": "TypeScript",
  "has_issues": true,
  "has_wiki": false,
  "has_pages": true,
  "has_downloads": true,
  "default_branch": "main",
  "permissions": {
    "admin": false,
    "push": true,
    "pull": true
  },
  "clone_url": "https://gitverse.ru/awesome-org/project-x.git",
  "ssh_url": "git@gitverse.ru:awesome-org/project-x.git",
  "forks_count": 5,
  "open_issues_count": 3,
  "visibility": "public",
  "archived": false,
  "disabled": false,
  "allow_merge_commit": true,
  "allow_rebase_merge": true,
  "allow_squash_merge": true,
  "delete_branch_on_merge": false,
  "is_template": false,
  "topics": ["api", "example", "gitverse"]
}

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

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

Поля ответа

ПолеТипОписание
idintegerУникальный числовой идентификатор репозитория
namestringНазвание репозитория
full_namestringПолное имя репозитория (owner/repo)
privatebooleanПризнак приватности: true — приватный, false — публичный
ownerobjectИнформация о владельце: login (строка), id (целое число), avatar_url (строка)
html_urlstringСсылка на страницу репозитория в веб-интерфейсе
descriptionstring или nullОписание репозитория
forkbooleanЯвляется ли репозиторий форком
created_atstringДата и время создания (ISO 8601)
updated_atstringДата последнего обновления метаданных
pushed_atstringДата последнего пуша
homepagestring или nullURL домашней страницы проекта
sizeintegerРазмер репозитория в килобайтах
stargazers_countintegerКоличество пользователей, поставивших «звезду»
watchers_countintegerКоличество наблюдателей
languagestring или nullОсновной язык программирования
has_issuesbooleanВключены ли задачи (issues)
has_wikibooleanВключена ли вики
has_pagesbooleanРазвернуты ли GitVerse Pages
has_downloadsbooleanВключены ли загрузки файлов
default_branchstringИмя основной ветки
permissionsobjectПрава текущего пользователя: admin, push, pull (все — boolean)
clone_urlstringСсылка для клонирования по HTTPS
ssh_urlstringСсылка для клонирования по SSH
forks_countintegerКоличество форков
open_issues_countintegerКоличество открытых задач и PR
visibilitystringВидимость: public, private или internal
archivedbooleanАрхивирован ли репозиторий
disabledbooleanОтключен ли репозиторий
allow_merge_commitbooleanРазрешено ли создание merge-коммитов
allow_rebase_mergebooleanРазрешено ли rebase-слияние
allow_squash_mergebooleanРазрешено ли squash-слияние
delete_branch_on_mergebooleanУдалять ли ветку после слияния
is_templatebooleanЯвляется ли репозиторий шаблоном
topicsarray[string]Список тем (тегов) репозитория

💡 Поле parent (если репозиторий является форком) содержит полный объект репозитория с теми же полями. Аналогично — template_repository, если репозиторий создан из шаблона.

Коды ответа

КодСтатусОписание
200OKИнформация о репозитории успешно получена
400Bad RequestНекорректные параметры запроса
401UnauthorizedНе передан или невалиден токен авторизации
403ForbiddenНет доступа к приватному репозиторию
404Not FoundРепозиторий {owner}/{repo} не существует
422Unprocessable EntityОшибка обработки запроса
500Internal Server ErrorВнутренняя ошибка сервера