Semogram Docs
APIResources

Workspace and projects

Discover the key workspace and manage project boundaries

GET /organization requires org:read and returns {organization} for the key's workspace. The historical route name does not mean it lists every company or workspace.

GET /projects requires projects:read. Use slug for an exact slug, name for a name search and limit/offset for pagination. Returned projects are constrained by the key's allowlist.

Create a project

Use an unrestricted workspace key with projects:write. Restricted project keys cannot create a new workspace project.

curl --fail-with-body -X POST \
  -H "Authorization: Bearer $SEMOGRAM_API_KEY" \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: maintenance-project-001' \
  -d '{"slug":"maintenance","name":"Maintenance"}' \
  'https://platform.semogram.com/api/v1/projects'

The slug is a lowercase hyphenated identifier of up to 120 characters; name is a trimmed label of up to 200. HTTP 201 returns {project}. Retain its UUID for project routes. A duplicate slug conflicts.

GET /projects/{projectId} returns {project}. PATCH accepts a changed name and/or slug and requires projects:write. DELETE requires the same write scope but runs governed deletion checks; active work can block it with 409. Delete only after inspecting dependencies and work in progress.

Project creation does not create endpoint installations, imported records or a pipeline. Shared resources remain workspace-scoped.

On this page