Coregit
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=0

Response 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/:slug

Returns 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/:slug

Deletes the repository and all associated snapshots. Git objects in storage are cleaned up asynchronously.

On this page