---
source: CrewKit documentation
url: https://crewkit.io/docs/api-organizations.md
title: "Organizations API"
description: "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/:id
```

### Update organization

```
PATCH /api/v1/organizations/:id
Content-Type: application/json

{
  "name": "Acme Corporation"
}
```

### Delete organization

```
DELETE /api/v1/organizations/:id
```

### Check slug availability

```
GET /api/v1/organizations/slug-available?slug=acme-corp
```

---

## Members

All member endpoints are organization-scoped: `/:org_id/members`.

### List members

```
GET /:org_id/members
```

### Show member

```
GET /:org_id/members/:user_id
```

### Update member role

```
PATCH /:org_id/members/:user_id
Content-Type: application/json

{
  "role_id": "role_abc123"
}
```

### Remove member

```
DELETE /:org_id/members/:user_id
```

### Transfer ownership

```
POST /:org_id/members/:user_id/transfer_ownership
```

---

## Invitations

Nested under members: `/:org_id/members/invitations`.

### List invitations

```
GET /:org_id/members/invitations
```

### Create 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/resend
```

### Cancel invitation

```
DELETE /:org_id/members/invitations/:token
```

---

## Accepting 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  # Decline
```

---

## Roles

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
```

---

## Next steps

- [Projects API](/docs/api-projects)
- [API overview](/docs/api-overview)
