{% extends "docs/base.html" %} {% block docs_content %}
Update mutable repo fields by owner path and slug.
PUT /api/v1/teams/{team_slug}/repos/{repo_slug}
PUT /api/v1/users/{username}/repos/{repo_slug}
JSON body (all optional):
namedescriptionaboutvisibility (public or private)default_branchpublic_repo_pull_policy (any, team, or owner; team only for public team repos)max_disk_bytes (absolute bytes; staff only)is_activecurl --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"
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"
}
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.