Skip to content

Projects

Projects define the operating context for participants, processes, and resolve requests.

Project reads follow status and read_access_mode. live projects use the configured read access mode. draft, test, and archived projects are visible only to admins and project owners. Project writes still require admin access or an owner row.

MethodPathRequired scope
GET/api/v1/projectsapi:projects:read
POST/api/v1/projectsapi:projects:write
GET/api/v1/projects/:idapi:projects:read
PATCH/api/v1/projects/:idapi:projects:write
DELETE/api/v1/projects/:idapi:projects:write
Terminal window
curl "https://roster.example.com/api/v1/projects?query=helios%20vendor&limit=10" \
-H "Authorization: Bearer ${ROSTER_API_KEY}"

query splits into words and matches all words against project name and description, case-insensitively. limit caps returned projects from 1 to 100. Responses include can_manage, read_access_mode, owners, and members so clients can distinguish read-only access from management access. They also include status so clients can show draft, test, live, and archived projects when the caller is allowed to see them.

Terminal window
curl -X POST "https://roster.example.com/api/v1/projects" \
-H "Authorization: Bearer ${ROSTER_API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"name": "Helios Onboarding",
"description": "Vendor onboarding and security review workflow.",
"status": "live",
"read_access_mode": "selected_members",
"owner_ids": ["usr_owner"],
"member_ids": ["usr_reader"]
}'

status accepts draft, test, live, or archived and defaults to live. read_access_mode accepts authenticated_users or selected_members. member_ids grants read-only project access; owner identities are implicit readers.

Archiving a project is a PATCH that sets status to archived. DELETE removes the project from active use.