Delete a branch
Mark a branch as deleted and return the deleted branch. The commits and the event history of the branch stay available. The service validates if you can delete the main branch. You must have permission to delete branches.
bearerAuthAuthorizationBearer <token>project_id*stringOwning project identifier. Nonempty, at most 128 UTF-8 bytes, with no control characters. Project creation belongs to the project service.
branch_id*stringStable UUIDv7 branch identity. Rename preserves identity; deletion tombstones it.
uuidapplication/json- body
Tombstone the stable branch identity. Historical commits and branch events remain readable.
idempotencyKey*catalog.IdempotencyKeyNonempty opaque retry key, at most 128 UTF-8 bytes, scoped to project and authenticated actor. Identical retries return the saved result; reuse for a different operation or request is rejected.
Success
application/json- response
branchId*catalog.BranchIdStable UUIDv7 branch identity. Rename preserves identity; deletion tombstones it.
uuidcreatedAtMicros*|deletedAtMicros?||nullheadCommitId*catalog.CommitIdImmutable UUIDv7 project commit identity.
uuidlastBranchEventId*catalog.BranchEventIdImmutable UUIDv7 branch event identity.
uuidname*catalog.BranchNameSlash-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/branches/497f6eca-6276-4993-bfeb-53cbbbba6f08/delete' \ -H 'Content-Type: application/json' \ -d '{ "idempotencyKey": "string"}'{ "branchId": "712f308d-801e-48bc-b072-9c404734ceb7", "createdAtMicros": "string", "deletedAtMicros": "string", "headCommitId": "ccbbf3ab-15f4-491f-bfd0-0193cd890679", "lastBranchEventId": "26c3ae27-e158-44c2-95aa-45b0c7e8349c", "name": "string"}