Organizations API
Manage organizations and team members.
Organizations are the top-level container for projects, resources, and members.
Organizations
List organizations
GET /api/v1/organizations
Authorization: Bearer <token>Returns all organizations the authenticated user belongs to.
Create organization
POST /api/v1/organizations
Content-Type: application/json
{
"name": "Acme Corp",
"slug": "acme-corp"
}Show organization
GET /api/v1/organizations/:idUpdate organization
PATCH /api/v1/organizations/:id
Content-Type: application/json
{
"name": "Acme Corporation"
}Delete organization
DELETE /api/v1/organizations/:idCheck slug availability
GET /api/v1/organizations/slug-available?slug=acme-corpMembers
All member endpoints are organization-scoped: /:org_id/members.
List members
GET /:org_id/membersShow member
GET /:org_id/members/:user_idUpdate member role
PATCH /:org_id/members/:user_id
Content-Type: application/json
{
"role_id": "role_abc123"
}Remove member
DELETE /:org_id/members/:user_idTransfer ownership
POST /:org_id/members/:user_id/transfer_ownershipInvitations
Nested under members: /:org_id/members/invitations.
List invitations
GET /:org_id/members/invitationsCreate invitation
POST /:org_id/members/invitations
Content-Type: application/json
{
"email": "user@example.com",
"role_id": "role_abc123"
}Resend invitation
POST /:org_id/members/invitations/:token/resendCancel invitation
DELETE /:org_id/members/invitations/:tokenAccepting invitations
These endpoints are not org-scoped — they use the invitation token directly:
GET /api/v1/invitations/:token # View invitation details
POST /api/v1/invitations/:token/accept # Accept
POST /api/v1/invitations/:token/decline # DeclineRoles
Custom role management: /:org_id/roles.
GET /:org_id/roles # List roles
POST /:org_id/roles # Create role
GET /:org_id/roles/:id # Show role
PATCH /:org_id/roles/:id # Update role
DELETE /:org_id/roles/:id # Delete role