1. GET/repos/{owner}/{repo}/collaborators — получить список всех соавторов репозитория
Описание
Возвращает список пользователей, имеющих доступ к репозиторию в качестве соавторов (collaborators), с указанием их прав.
Поддерживается пагинация и фильтрация по типу участия и уровню доступа.
Параметры URL
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
owner | string | Да | Владелец репозитория (пользователь или организация) |
repo | string | Да | Название репозитория |
Параметры запроса
| Параметр | Тип | Обязательный | Описание | По умолчанию |
|---|---|---|---|---|
affiliation | string | Нет | Фильтр по типу участия:outside — внешние пользователи,direct — напрямую добавленные,all — все | all |
permission | string | Нет | Фильтр по уровню доступа: read, write, admin | — |
page | integer | Нет | Номер страницы результатов | 1 |
per_page | integer | Нет | Количество соавторов на странице (максимум — 50) | 30 |
Тело запроса
Данный метод не требует тела запроса.
Пример запроса
curl -X GET "https://api.gitverse.ru/repos/gitverse/example-repo/collaborators?affiliation=all&permission=write&page=1&per_page=20" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Accept: application/vnd.gitverse.object+json;version=1"Ответ (200 OK)
Пример JSON-ответа:
[
{
"login": "alice",
"id": 789,
"avatar_url": "https://gitverse.ru/avatars/789.png",
"html_url": "https://gitverse.ru/alice",
"type": "User",
"site_admin": false,
"permissions": {
"admin": false,
"push": true,
"pull": true
}
},
{
"login": "bob",
"id": 456,
"avatar_url": "https://gitverse.ru/avatars/456.png",
"html_url": "https://gitverse.ru/bob",
"type": "User",
"site_admin": false,
"permissions": {
"admin": true,
"push": true,
"pull": true
}
}
]Формат ответа
application/vnd.gitverse.object+json;version=1
Поля каждого соавтора
| Поле | Тип | Описание |
|---|---|---|
login | string | Логин пользователя |
id | integer | Уникальный идентификатор |
avatar_url | string | Ссылка на аватар |
html_url | string | Ссылка на профиль в веб-интерфейсе |
type | string | Тип аккаунта (User или Organization) |
site_admin | boolean | Является ли пользователь администратором платформы |
permissions | object | Права доступа к репозиторию |
Подполе permissions
| Поле | Тип | Описание |
|---|---|---|
admin | boolean | Право на управление репозиторием (настройки, соавторы и т.д.) |
push | boolean | Право на запись (push) в репозиторий |
pull | boolean | Право на чтение (clone, pull) |
💡 Уровни доступа в терминах GitVerse:
read→pull: true,push: false,admin: falsewrite→pull: true,push: true,admin: falseadmin→pull: true,push: true,admin: true
Коды ответа
| Код | Статус | Описание |
|---|---|---|
| 200 | OK | Список соавторов успешно получен |
| 400 | Bad Request | Некорректные параметры запроса |
| 401 | Unauthorized | Токен отсутствует или недействителен |
| 403 | Forbidden | Недостаточно прав для просмотра соавторов |
| 404 | Not Found | Репозиторий не найден |
| 500 | Internal Server Error | Внутренняя ошибка сервера |