Checkrd

Organizations

Manage organizations, members, roles, and invitations.

Organizations

Organizations are the top-level container for agents, policies, API keys, and team members. Every user belongs to at least one personal organization.


List Organizations

GET /v1/orgs

Auth: JWT (viewer+)

Returns all organizations the authenticated user belongs to.

bash
curl https://api.checkrd.io/v1/orgs \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"

Response 200 OK

json
{
  "organizations": [
    {
      "id": "01916a3e-...",
      "name": "Acme Corp",
      "slug": "acme-corp",
      "plan_tier": "team",
      "is_personal": false
    }
  ],
  "active_org_id": "01916a3e-..."
}

Create an Organization

POST /v1/orgs

Auth: JWT (member+) | Plan: Team or Enterprise

ParameterTypeRequiredDescription
namestringYesOrganization name.

The creating user becomes the owner. Free-tier users cannot create team organizations.


List Members

GET /v1/orgs/:org_id/members

Auth: JWT (member+)

bash
curl https://api.checkrd.io/v1/orgs/01916a3e-.../members \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"

Response 200 OK

json
{
  "members": [
    {
      "id": "...",
      "user_id": "...",
      "role": "admin",
      "email": "alice@company.com",
      "user_name": "Alice",
      "accepted_at": "2026-04-10T14:30:00Z"
    }
  ]
}

Invite a Member

POST /v1/orgs/:org_id/members/invite

Auth: JWT (admin+)

ParameterTypeRequiredDescription
emailstringYesEmail address.
rolestringYesowner, admin, member, or viewer.

Subject to plan tier member limits (Free: 1, Team: 20, Enterprise: unlimited).


Update Member Role

PUT /v1/orgs/:org_id/members/:member_id/role

Auth: JWT (admin+)

ParameterTypeRequiredDescription
rolestringYesNew role.

Remove a Member

DELETE /v1/orgs/:org_id/members/:member_id

Auth: JWT (admin+)

Returns { "success": true }.