ServicesCatalogHTTP APIProjects

Initialize a project catalog

POST
/api/catalog/projects/{project_id}/initialize

Prepare the Catalog of a project and return its main branch. You can send this request more than once. When the Catalog exists, the response contains the current main branch. You must have permission to initialize the project.

Authorization

bearerAuth
headerAuthorizationBearer <token>

Path Parameters

project_id*string

Owning project identifier. Nonempty, at most 128 UTF-8 bytes, with no control characters. Project creation belongs to the project service.

Response Body

Success

application/json
  1. response
branchId*catalog.BranchId

Stable UUIDv7 branch identity. Rename preserves identity; deletion tombstones it.

Formatuuid
createdAtMicros*|
deletedAtMicros?||null
headCommitId*catalog.CommitId

Immutable UUIDv7 project commit identity.

Formatuuid
lastBranchEventId*catalog.BranchEventId

Immutable UUIDv7 branch event identity.

Formatuuid
name*catalog.BranchName

Slash-separated branch name, at most 255 UTF-8 bytes. Empty, dot, trailing-dot, .lock, and control segments are rejected by the service.

curl -X POST 'https://api.spiraldb.dev/api/catalog/projects/string/initialize'
{  "branchId": "712f308d-801e-48bc-b072-9c404734ceb7",  "createdAtMicros": "string",  "deletedAtMicros": "string",  "headCommitId": "ccbbf3ab-15f4-491f-bfd0-0193cd890679",  "lastBranchEventId": "26c3ae27-e158-44c2-95aa-45b0c7e8349c",  "name": "string"}