Update repo

Update mutable repo fields by owner path and slug.

Endpoints

PUT /api/v1/teams/{team_slug}/repos/{repo_slug}
PUT /api/v1/users/{username}/repos/{repo_slug}
Authenticated

Request

JSON body (all optional):

  • name
  • description
  • about
  • visibility (public or private)
  • default_branch
  • public_repo_pull_policy (any, team, or owner; team only for public team repos)
  • max_disk_bytes (absolute bytes; staff only)
  • is_active

Usage

curl --request PUT \
  --header "Authorization: Bearer $PEARING_API_TOKEN" \
  --header "Content-Type: application/json" \
  --data '{"name": "Website API", "description": "Backend APIs for the website", "about": "## Services\n\n- auth\n- billing", "visibility": "public", "max_disk_bytes": 1073741824}' \
  "$PEARING_API_URL/v1/teams/platform/repos/website"

Success

200 OK with the updated repo record, including created_by_uuid and created_by_username.

{
  "uuid": "...",
  "name": "Website API",
  "description": "Backend APIs for the website",
  "about": "## Services\n\n- auth\n- billing",
  "slug": "website",
  "clone_url": "https://git.example.com/teams/platform/website.git",
  "visibility": "public",
  "default_branch": "main",
  "public_repo_pull_policy": "team",
  "is_active": true,
  "created_at": "2026-03-09T12:00:00Z"
}

Errors

  • 403 Forbidden when caller lacks update access.
  • 403 Forbidden when caller requests a disallowed update.
  • 404 Not Found when owner/repo is not found.
  • 409 Conflict for duplicate slug in owner scope or an invalid public_repo_pull_policy for the owner type.

Common auth errors are documented on the API overview page.