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):
namedescriptionaboutvisibility(publicorprivate)default_branchpublic_repo_pull_policy(any,team, orowner;teamonly 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 Forbiddenwhen caller lacks update access.403 Forbiddenwhen caller requests a disallowed update.404 Not Foundwhen owner/repo is not found.409 Conflictfor duplicate slug in owner scope or an invalidpublic_repo_pull_policyfor the owner type.
Common auth errors are documented on the API overview page.