For the complete documentation index, see llms.txt. This page is also available as Markdown.

Organizations

List Organizations Endpoint

get

Endpoint to list organizations.

Args: name: Filter by organization name. offset: Query offset. limit: Query limit. auth_context: The authentication context. rbac: RBAC component. organization_manager: Organization manager owner_id: Id of the Organization owner owner_username: Username of the Organization owner

Returns: List of organization models.

Authorizations
OAuth2clientCredentialsRequired
Token URL:

OAuth2authorizationCodeRequired
Authorization URL: Token URL: Refresh URL:
Query parameters
namestring · nullableOptional
offsetintegerOptionalDefault: 0
limitintegerOptionalDefault: 100
owner_idstring · uuid · nullableOptional
owner_usernamestring · nullableOptional
Responses
200

Successful Response

application/json

Model for viewing organizations.

namestringRequired
descriptionstring · nullableOptional
logo_urlstring · nullableOptional
idstring · uuidRequired
createdstring · date-timeRequired
updatedstring · date-timeRequired
trusted_domainsstring[]Optional

Trusted email domains configured for this organization.

has_active_subscriptionboolean · nullableOptional

If the organization has an active subscription. This means the subscription is either in the trial period or the organization is billed for it.

trial_expiryinteger · nullableOptional

Time in seconds until the trial expires. If the organization is not in trial, this will be None.

get/organizations
GET /organizations HTTP/1.1
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
[
  {
    "name": "text",
    "description": "text",
    "logo_url": "text",
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "created": "2026-01-01T00:00:00.000Z",
    "updated": "2026-01-01T00:00:00.000Z",
    "owner": {
      "password": "text",
      "password_expired": true,
      "name": "text",
      "avatar_url": "text",
      "company": "text",
      "job_title": "text",
      "metadata": {
        "ANY_ADDITIONAL_PROPERTY": "anything"
      },
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "username": "text",
      "email": "text",
      "oauth_provider": "text",
      "oauth_id": "text",
      "is_active": true,
      "is_superuser": false,
      "is_service_account": false,
      "organization_id": "123e4567-e89b-12d3-a456-426614174000",
      "password_changed_at": "2026-01-01T00:00:00.000Z",
      "is_onboarded": false
    },
    "links": [
      {
        "label": "text",
        "url": "text"
      }
    ],
    "announcements": [
      {
        "id": "123e4567-e89b-12d3-a456-426614174000",
        "message": "text",
        "dismissable": false,
        "link": {
          "label": "text",
          "url": "text"
        },
        "type": "info"
      }
    ],
    "trusted_domains": [
      "text"
    ],
    "has_active_subscription": true,
    "trial_expiry": 1,
    "enabled_features": [
      "user"
    ]
  }
]

Create Organization Endpoint

post

Endpoint to create an organization.

Args: organization: The organization to create. user: The authenticated user. rbac: RBAC component. organization_manager: Organization manager

Raises: IllegalOperationError: If the user is not allowed to create an organization for another user or to set sensitive user fields. Also raised if the user is a service account. OrganizationLimitExceeded: If the user already has an organization.

Returns: Model of the created organization.

Authorizations
OAuth2clientCredentialsRequired
Token URL:

OAuth2authorizationCodeRequired
Authorization URL: Token URL: Refresh URL:
Body

Model for creating organizations.

idstring · uuid · nullableOptional
namestring · min: 1 · max: 50Required
descriptionstring · min: 1 · max: 256 · nullableOptional
logo_urlstring · nullableOptional
trusted_domainsstring[] · nullableOptional

Trusted email domains for organization-scoped user discovery and invitation policy. Values must be hostname-only domains, for example 'example.com'. Superusers only can set this field.

owner_idstring · uuid · nullableOptional

The UUID of the organization owner. If not set, the current user is set as the owner.

Responses
200

Successful Response

application/json

Model for viewing organizations.

namestringRequired
descriptionstring · nullableOptional
logo_urlstring · nullableOptional
idstring · uuidRequired
createdstring · date-timeRequired
updatedstring · date-timeRequired
trusted_domainsstring[]Optional

Trusted email domains configured for this organization.

has_active_subscriptionboolean · nullableOptional

If the organization has an active subscription. This means the subscription is either in the trial period or the organization is billed for it.

trial_expiryinteger · nullableOptional

Time in seconds until the trial expires. If the organization is not in trial, this will be None.

post/organizations
POST /organizations HTTP/1.1
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 395

{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "name": "text",
  "description": "text",
  "logo_url": "text",
  "links": [
    {
      "label": "text",
      "url": "text"
    }
  ],
  "announcements": [
    {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "message": "text",
      "dismissable": false,
      "link": {
        "label": "text",
        "url": "text"
      },
      "type": "info"
    }
  ],
  "trusted_domains": [
    "text"
  ],
  "owner_id": "123e4567-e89b-12d3-a456-426614174000",
  "enabled_features": [
    "user"
  ]
}
{
  "name": "text",
  "description": "text",
  "logo_url": "text",
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "created": "2026-01-01T00:00:00.000Z",
  "updated": "2026-01-01T00:00:00.000Z",
  "owner": {
    "password": "text",
    "password_expired": true,
    "name": "text",
    "avatar_url": "text",
    "company": "text",
    "job_title": "text",
    "metadata": {
      "ANY_ADDITIONAL_PROPERTY": "anything"
    },
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "username": "text",
    "email": "text",
    "oauth_provider": "text",
    "oauth_id": "text",
    "is_active": true,
    "is_superuser": false,
    "is_service_account": false,
    "organization_id": "123e4567-e89b-12d3-a456-426614174000",
    "password_changed_at": "2026-01-01T00:00:00.000Z",
    "is_onboarded": false
  },
  "links": [
    {
      "label": "text",
      "url": "text"
    }
  ],
  "announcements": [
    {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "message": "text",
      "dismissable": false,
      "link": {
        "label": "text",
        "url": "text"
      },
      "type": "info"
    }
  ],
  "trusted_domains": [
    "text"
  ],
  "has_active_subscription": true,
  "trial_expiry": 1,
  "enabled_features": [
    "user"
  ]
}

Get Organization Endpoint

get

Endpoint to get an organization.

Args: organization_id_or_name: ID or name of the organization to get. include_subscription_status: Whether to include the subscription status of the org auth_context: The authentication context. rbac: RBAC component. organization_manager: Organization manager

Returns: Model of the organization.

Authorizations
OAuth2clientCredentialsRequired
Token URL:

OAuth2authorizationCodeRequired
Authorization URL: Token URL: Refresh URL:
Path parameters
organization_id_or_nameany ofRequired
string · uuidOptional
or
stringOptional
Query parameters
include_subscription_statusbooleanOptionalDefault: false
Responses
200

Successful Response

application/json

Model for viewing organizations.

namestringRequired
descriptionstring · nullableOptional
logo_urlstring · nullableOptional
idstring · uuidRequired
createdstring · date-timeRequired
updatedstring · date-timeRequired
trusted_domainsstring[]Optional

Trusted email domains configured for this organization.

has_active_subscriptionboolean · nullableOptional

If the organization has an active subscription. This means the subscription is either in the trial period or the organization is billed for it.

trial_expiryinteger · nullableOptional

Time in seconds until the trial expires. If the organization is not in trial, this will be None.

get/organizations/{organization_id_or_name}
GET /organizations/{organization_id_or_name} HTTP/1.1
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
  "name": "text",
  "description": "text",
  "logo_url": "text",
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "created": "2026-01-01T00:00:00.000Z",
  "updated": "2026-01-01T00:00:00.000Z",
  "owner": {
    "password": "text",
    "password_expired": true,
    "name": "text",
    "avatar_url": "text",
    "company": "text",
    "job_title": "text",
    "metadata": {
      "ANY_ADDITIONAL_PROPERTY": "anything"
    },
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "username": "text",
    "email": "text",
    "oauth_provider": "text",
    "oauth_id": "text",
    "is_active": true,
    "is_superuser": false,
    "is_service_account": false,
    "organization_id": "123e4567-e89b-12d3-a456-426614174000",
    "password_changed_at": "2026-01-01T00:00:00.000Z",
    "is_onboarded": false
  },
  "links": [
    {
      "label": "text",
      "url": "text"
    }
  ],
  "announcements": [
    {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "message": "text",
      "dismissable": false,
      "link": {
        "label": "text",
        "url": "text"
      },
      "type": "info"
    }
  ],
  "trusted_domains": [
    "text"
  ],
  "has_active_subscription": true,
  "trial_expiry": 1,
  "enabled_features": [
    "user"
  ]
}

Delete Organization Endpoint

delete

Endpoint to delete an organization.

Args: organization_id: ID of the organization to delete. user: The authenticated user. organization_manager: Organization manager

Raises: IllegalOperationError: If the user does not have permissions to delete the organization.

Authorizations
OAuth2clientCredentialsRequired
Token URL:

OAuth2authorizationCodeRequired
Authorization URL: Token URL: Refresh URL:
Path parameters
organization_idstring · uuidRequired
Responses
200

Successful Response

application/json
anyOptional
delete/organizations/{organization_id}
DELETE /organizations/{organization_id} HTTP/1.1
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*

No content

Update Organization Endpoint

patch

Endpoint to update an organization.

Args: organization_id: ID of the organization to update. update: The organization update. user: The authenticated user. rbac: RBAC component. organization_manager: Organization manager user_manager: User manager

Returns: Model of the updated organization.

Raises: IllegalOperationError: If the user does not have permissions to update the organization.

Authorizations
OAuth2clientCredentialsRequired
Token URL:

OAuth2authorizationCodeRequired
Authorization URL: Token URL: Refresh URL:
Path parameters
organization_idstring · uuidRequired
Body

Model for updating organizations.

namestring · min: 1 · max: 50 · nullableOptional
descriptionstring · min: 1 · max: 256 · nullableOptional
logo_urlstring · nullableOptional
trusted_domainsstring[] · nullableOptional

Trusted email domains for organization-scoped user discovery and invitation policy. If set, replaces the entire list; an empty list clears all Trusted Domains.

owner_idstring · uuid · nullableOptional
Responses
200

Successful Response

application/json

Model for viewing organizations.

namestringRequired
descriptionstring · nullableOptional
logo_urlstring · nullableOptional
idstring · uuidRequired
createdstring · date-timeRequired
updatedstring · date-timeRequired
trusted_domainsstring[]Optional

Trusted email domains configured for this organization.

has_active_subscriptionboolean · nullableOptional

If the organization has an active subscription. This means the subscription is either in the trial period or the organization is billed for it.

trial_expiryinteger · nullableOptional

Time in seconds until the trial expires. If the organization is not in trial, this will be None.

patch/organizations/{organization_id}
PATCH /organizations/{organization_id} HTTP/1.1
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 351

{
  "name": "text",
  "description": "text",
  "logo_url": "text",
  "links": [
    {
      "label": "text",
      "url": "text"
    }
  ],
  "announcements": [
    {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "message": "text",
      "dismissable": false,
      "link": {
        "label": "text",
        "url": "text"
      },
      "type": "info"
    }
  ],
  "trusted_domains": [
    "text"
  ],
  "owner_id": "123e4567-e89b-12d3-a456-426614174000",
  "enabled_features": [
    "user"
  ]
}
{
  "name": "text",
  "description": "text",
  "logo_url": "text",
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "created": "2026-01-01T00:00:00.000Z",
  "updated": "2026-01-01T00:00:00.000Z",
  "owner": {
    "password": "text",
    "password_expired": true,
    "name": "text",
    "avatar_url": "text",
    "company": "text",
    "job_title": "text",
    "metadata": {
      "ANY_ADDITIONAL_PROPERTY": "anything"
    },
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "username": "text",
    "email": "text",
    "oauth_provider": "text",
    "oauth_id": "text",
    "is_active": true,
    "is_superuser": false,
    "is_service_account": false,
    "organization_id": "123e4567-e89b-12d3-a456-426614174000",
    "password_changed_at": "2026-01-01T00:00:00.000Z",
    "is_onboarded": false
  },
  "links": [
    {
      "label": "text",
      "url": "text"
    }
  ],
  "announcements": [
    {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "message": "text",
      "dismissable": false,
      "link": {
        "label": "text",
        "url": "text"
      },
      "type": "info"
    }
  ],
  "trusted_domains": [
    "text"
  ],
  "has_active_subscription": true,
  "trial_expiry": 1,
  "enabled_features": [
    "user"
  ]
}
ZenML Scarf

Last updated

Was this helpful?