API Reference
Repositories
Create, list, update, and delete Git repositories via the API.
Create Repository
POST /v1/repos{
"slug": "my-repo",
"description": "An example repository",
"visibility": "private",
"default_branch": "main",
"init": true
}slug— Required. Lowercase letters, numbers, and hyphens (1–100 chars)description— Optional (max 500 chars)visibility—"public"or"private"(default:"private")default_branch— Default:"main"init— Create an initial empty commit (default:true)
Response 201:
{
"id": "repo_abc123",
"slug": "my-repo",
"description": "An example repository",
"visibility": "private",
"default_branch": "main",
"git_url": "https://api.coregit.dev/myorg/my-repo.git",
"api_url": "https://api.coregit.dev/v1/repos/my-repo",
"created_at": "2025-01-01T00:00:00Z"
}List Repositories
GET /v1/repos?limit=50&offset=0Response 200:
{
"repos": [
{
"id": "repo_abc123",
"slug": "my-repo",
"description": "An example repository",
"default_branch": "main",
"visibility": "private",
"created_at": "2025-01-01T00:00:00Z",
"updated_at": "2025-01-02T00:00:00Z"
}
],
"limit": 50,
"offset": 0
}Get Repository
GET /v1/repos/:slugReturns the full repository object including is_empty, git_url, and api_url.
Update Repository
PATCH /v1/repos/:slug{
"description": "Updated description",
"visibility": "public",
"default_branch": "develop"
}All fields are optional.
Delete Repository
DELETE /v1/repos/:slugDeletes the repository and all associated snapshots. Git objects in storage are cleaned up asynchronously.