Skip to main content
Organizations are groups of users that can collectively own and manage multiple projects. When a project belongs to an organization, all organization members inherit permissions to manage that project.

Get Organization

Retrieve a single organization by its ID or slug.

Path Parameters

string
required
The organization ID or slug

Response

string
The organization’s unique ID
string
The organization’s URL-safe slug
string
The organization’s name/title
string
The organization’s description
string
The ID of the organization’s team
string
URL to the organization’s icon
integer
Primary color extracted from the icon (as RGB integer)
array
Array of team members

Example Request

Example Response


Get Multiple Organizations

Retrieve multiple organizations by their IDs or slugs.

Query Parameters

string
required
JSON array of organization IDs or slugs as a string

Example Request


Create Organization

Create a new organization. Requires authentication and ORGANIZATION_CREATE scope.

Request Body

string
required
URL-safe organization slug (3-64 characters, lowercase letters, numbers, hyphens)
string
required
Organization name/title (3-64 characters)
string
required
Organization description (3-256 characters)

Response

Returns the newly created organization object with the creator as the owner.

Example Request

Limits

Users have a limit on the number of organizations they can create. If the limit is reached, the request will fail with a LimitReached error.

Edit Organization

Update an organization’s details. Requires authentication and ORGANIZATION_WRITE scope with EDIT_DETAILS permission.

Path Parameters

string
required
The organization ID or slug

Request Body

string
New organization name (3-64 characters)
string
New URL-safe slug (3-64 characters)
string
New organization description (3-256 characters)

Example Request

Notes

  • Slug changes must not collide with existing organization IDs or slugs
  • Returns 204 No Content on success
  • Requires EDIT_DETAILS organization permission

Delete Organization

Delete an organization. Requires authentication and ORGANIZATION_DELETE scope with DELETE_ORGANIZATION permission.

Path Parameters

string
required
The organization ID or slug

Behavior

When an organization is deleted:
  • All projects owned by the organization are transferred to the organization owner
  • The organization owner becomes the “Inherited Owner” of each project
  • Organization members are removed from project teams
  • The organization and its team are permanently deleted

Example Request


Get Organization Projects

List all projects owned by an organization.

Path Parameters

string
required
The organization ID or slug

Response

Returns an array of project objects owned by the organization. Only includes projects visible to the requesting user.

Example Request

Example Response


Add Project to Organization

Add an existing project to an organization. Requires authentication and both PROJECT_WRITE and ORGANIZATION_WRITE scopes.

Path Parameters

string
required
The organization ID or slug

Request Body

string
required
The project ID or slug to add

Requirements

  • You must be an owner of the project you’re adding
  • You must have ADD_PROJECT permission in the organization
  • The project must not already belong to another organization

Behavior

When a project is added to an organization:
  • The project’s organization_id is set
  • Former project owners lose their owner status
  • The organization owner is removed from the project team
  • Organization members inherit permissions to the project

Example Request


Remove Project from Organization

Remove a project from an organization and transfer it to a new owner. Requires authentication and both PROJECT_WRITE and ORGANIZATION_WRITE scopes.

Path Parameters

string
required
The organization ID or slug
string
required
The project ID or slug to remove

Request Body

string
required
User ID of the new project owner (must be an organization member)

Requirements

  • You must have REMOVE_PROJECT permission in the organization
  • The specified new owner must be a member of the organization
  • The project must currently be owned by the organization

Behavior

When a project is removed:
  • The project’s organization_id is set to null
  • The specified user becomes the project owner
  • If the new owner isn’t already a project team member, they’re added as “Inherited Owner”
  • Organization permissions are removed from the project

Example Request


Get Project’s Organization

Get the organization that owns a specific project.

Path Parameters

string
required
The project ID or slug

Response

Returns the organization object if the project belongs to an organization, otherwise returns 404.

Example Request


Update Organization Icon

Upload a new icon for the organization. Requires authentication and ORGANIZATION_WRITE scope with EDIT_DETAILS permission.

Path Parameters

string
required
The organization ID or slug

Query Parameters

string
required
Image file extension (png, jpg, jpeg, gif, webp, svg)

Request Body

Binary image data (max 256 KiB)

Behavior

  • Deletes the old icon if one exists
  • Uploads and optimizes the new icon
  • Extracts a primary color from the image
  • Updates the organization’s icon_url, raw_icon_url, and color fields

Example Request


Delete Organization Icon

Remove the organization’s icon. Requires authentication and ORGANIZATION_WRITE scope with EDIT_DETAILS permission.

Path Parameters

string
required
The organization ID or slug

Example Request


Get Organization Members

Get all members of an organization’s team.

Path Parameters

string
required
The organization ID or slug

Response

Returns an array of team member objects.

Example Request

Example Response


Organization Permissions

Organization members have specific permissions that control what they can do:
  • EDIT_DETAILS - Edit organization name, slug, description, and icon
  • MANAGE_INVITES - Invite new members to the organization
  • REMOVE_MEMBER - Remove members from the organization
  • EDIT_MEMBER - Edit member roles and permissions
  • ADD_PROJECT - Add projects to the organization
  • REMOVE_PROJECT - Remove projects from the organization
  • DELETE_ORGANIZATION - Delete the entire organization
These are separate from project permissions and are stored in the organization_permissions field of team members.

Common Use Cases

Creating an Organization
  1. Call POST /v3/organization with name, slug, and description
  2. You become the organization owner automatically
  3. Upload an icon with PATCH /v3/organization/{id}/icon
  4. Invite team members using the Teams API
Adding Projects to an Organization
  1. You must be the owner of the project
  2. You must have ADD_PROJECT permission in the organization
  3. Call POST /v3/organization/{id}/projects with the project ID
  4. All organization members now have access to the project
Managing Organization Teams
  • Use the standard Teams API endpoints with the organization’s team_id
  • Set organization_permissions when adding members
  • Organization owners have full permissions by default
Transferring Projects
  1. To move between organizations: Remove from old org, add to new org
  2. To make independent: Remove from org and specify new owner
  3. Original team members remain on the project team