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.