11. PUT /repos/{owner}/{repo}/collaborators/{username} — добавить или обновить права пользователя

11. PUT /repos/{owner}/{repo}/collaborators/{username} — добавить или обновить права пользователя
New

Описание

Добавляет пользователя как соавтора репозитория или обновляет его уровень доступа.

Уровень доступа задаётся в теле запроса и может принимать одно из следующих значений:

  • "read" — просмотр;
  • "write" — чтение и запись;
  • "admin" — полный доступ, включая настройки репозитория.

⚠️ Требуются права администратора текущего репозитория для выполнения операции.

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

ПараметрОбязательныйОписание
ownerДаЛогин владельца репозитория
repoДаНазвание репозитория
usernameДаЛогин пользователя, которому даются/обновляются права

Тело запроса

{
  "permission": "write"
}
ПолеОбязательныйОписание
permissionДаУровень доступа: "read", "write" или "admin"

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

curl -X PUT "https://api.gitverse.ru/repos/dlborun/APInewTestRepo4.3/collaborators/gammaUser" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Accept: application/vnd.gitverse+json;version=1" \
  -H "Content-Type: application/json" \
  -d '{
        "permission": "write"
      }'

Ответ (200 OK):

{
  "id": 12,
  "repository": {
    "id": 27,
    "name": "myCatAndGrepUtils",
    "full_name": "dlborun/myCatAndGrepUtils",
    "owner": {
      "login": "dlborun",
      "id": 1,
      "avatar_url": "http://localhost:3000/avatars/3bfba3c4f86761021789182cf44ab8eea9e37b3f1df7d1a7d85e1fa41b1b690c",
      "url": "https://api.gitverse.ru/users/dlborun",  
      "html_url": "http://localhost:3000/dlborun",
      "followers_url": "https://api.gitverse.ru/users/dlborun/followers",  
      "following_url": "https://api.gitverse.ru/users/dlborun/following{/other_user}",  
      "organizations_url": "https://api.gitverse.ru/users/dlborun/orgs",  
      "repos_url": "https://api.gitverse.ru/users/dlborun/repos",  
      "type": "User",
      "site_admin": false
    },
    "private": false,
    "html_url": "http://localhost:3000/dlborun/myCatAndGrepUtils",
    "description": "для тестов",
    "fork": false,
    "url": "https://api.gitverse.ru/repos/dlborun/myCatAndGrepUtils",  
    "contents_url": "https://api.gitverse.ru/repos/dlborun/myCatAndGrepUtils/contents/{+path}",  
    "forks_url": "https://api.gitverse.ru/repos/dlborun/myCatAndGrepUtils/forks",  
    "issue_comment_url": "https://api.gitverse.ru/repos/dlborun/myCatAndGrepUtils/issues/comments{/number}",  
    "issues_url": "https://api.gitverse.ru/repos/dlborun/myCatAndGrepUtils/issues{/number}",  
    "languages_url": "https://api.gitverse.ru/repos/dlborun/myCatAndGrepUtils/languages",  
    "pulls_url": "https://api.gitverse.ru/repos/dlborun/myCatAndGrepUtils/pulls{/number}"  
  },
  "invitee": {
    "login": "gammaUser",
    "id": 7,
    "avatar_url": "http://localhost:3000/avatars/e1cf1cd078ba1d62d0cc49a02413de637d290aa1cc0ec7f7469cd915ec8d7d3a",
    "url": "https://api.gitverse.ru/users/gammaUser",  
    "html_url": "http://localhost:3000/gammaUser",
    "followers_url": "https://api.gitverse.ru/users/gammaUser/followers",  
    "following_url": "https://api.gitverse.ru/users/gammaUser/following{/other_user}",  
    "organizations_url": "https://api.gitverse.ru/users/gammaUser/orgs",  
    "repos_url": "https://api.gitverse.ru/users/gammaUser/repos",  
    "type": "User",
    "site_admin": true
  },
  "inviter": {
    "login": "dlborun",
    "id": 1,
    "avatar_url": "http://localhost:3000/avatars/3bfba3c4f86761021789182cf44ab8eea9e37b3f1df7d1a7d85e1fa41b1b690c",
    "url": "https://api.gitverse.ru/users/dlborun",  
    "html_url": "http://localhost:3000/dlborun",
    "followers_url": "https://api.gitverse.ru/users/dlborun/followers",  
    "following_url": "https://api.gitverse.ru/users/dlborun/following{/other_user}",  
    "organizations_url": "https://api.gitverse.ru/users/dlborun/orgs",  
    "repos_url": "https://api.gitverse.ru/users/dlborun/repos",  
    "type": "User",
    "site_admin": false
  },
  "permissions": "write",
  "created_at": "2025-06-10T09:10:01Z"
}
ПолеОписание
idУникальный ID приглашения
repositoryИнформация о репозитории
inviteeИнформация о пользователе, которому выданы права
inviterИнформация о пользователе, который предоставил доступ
permissionsУровень предоставленных прав: "read", "write" или "admin"
created_atДата и время выдачи прав