Skip to content
Product Docs

Organizations

List Organizations
GET/api/v2/organizations
Create Organization
POST/api/v2/organizations
Get Organization
GET/api/v2/organizations/{organization_id}
Update Organization
PUT/api/v2/organizations/{organization_id}
Delete Organization
DELETE/api/v2/organizations/{organization_id}
Get Organization Usage
GET/api/v1/organizations/{organization_id}/usage
ModelsExpand Collapse
Organization object { id, name, created_at, 2 more }

API response schema for an organization.

id: string

The organization’s unique identifier.

name: string

The organization’s display name.

created_at: optional string

Creation datetime

formatdate-time
metadata: optional map[unknown]

Additional organization metadata.

updated_at: optional string

Update datetime

formatdate-time
OrganizationMember object { id, organization_id, roles, 7 more }

A user’s membership in an organization, including roles.

id: string

Unique identifier

formatuuid
organization_id: string

The organization’s ID.

formatuuid
roles: array of UserOrganizationRole { id, organization_id, role, 4 more }

The roles of the user in the organization.

id: string

Unique identifier

formatuuid
organization_id: string

The organization’s ID.

formatuuid
role: Role { id, name, permissions, 2 more }

The role.

id: string

Unique identifier

formatuuid
name: string

A name for the role.

maxLength3000
minLength1
permissions: array of object { id, access, description, 3 more }

The actual permissions of the role.

id: string

Unique identifier

formatuuid
access: boolean

Whether the permission is granted or not.

description: string

A description for the permission.

name: string

A name for the permission.

maxLength3000
minLength1
created_at: optional string

Creation datetime

formatdate-time
updated_at: optional string

Update datetime

formatdate-time
created_at: optional string

Creation datetime

formatdate-time
updated_at: optional string

Update datetime

formatdate-time
user_id: string

The user’s ID.

created_at: optional string

Creation datetime

formatdate-time
project_ids: optional array of string

The project ID scope.

updated_at: optional string

Update datetime

formatdate-time
created_at: optional string

Creation datetime

formatdate-time
email: optional string

The user’s email address.

formatemail
Deprecatedinvited_by_user_email: optional string

The email address of the user who added the user to the organization.

formatemail
invited_by_user_id: optional string

The user ID of the user who added the user to the organization.

pending: optional boolean

Whether the user’s membership is pending account signup.

updated_at: optional string

Update datetime

formatdate-time
user_id: optional string

The user’s ID.

Role object { id, name, permissions, 2 more }

Schema for a role.

id: string

Unique identifier

formatuuid
name: string

A name for the role.

maxLength3000
minLength1
permissions: array of object { id, access, description, 3 more }

The actual permissions of the role.

id: string

Unique identifier

formatuuid
access: boolean

Whether the permission is granted or not.

description: string

A description for the permission.

name: string

A name for the permission.

maxLength3000
minLength1
created_at: optional string

Creation datetime

formatdate-time
updated_at: optional string

Update datetime

formatdate-time
created_at: optional string

Creation datetime

formatdate-time
updated_at: optional string

Update datetime

formatdate-time
UsageAndPlan object { plan, usage }
plan: object { limits, name, plan_frequency, 7 more }
limits: object { allow_pay_as_you_go, max_concurrent_index_jobs, max_concurrent_parse_jobs_other, 24 more }
allow_pay_as_you_go: boolean

Whether usage is allowed after credit grants are exhausted

max_concurrent_index_jobs: number
max_concurrent_parse_jobs_other: number
max_concurrent_parse_jobs_premium: number
max_data_sinks: number
max_data_sources: number
max_embedding_models: number
max_extraction_agents: number
max_extraction_jobs: number
max_extraction_runs: number
max_files_per_index: number
max_indexes: number
max_monthly_invoice_total_usd: number
max_organizations: number
max_pages_per_index: number
max_projects: number
max_published_agents: number
max_report_agent_sessions: number
max_users: number
mfa_enabled: boolean
sso_enabled: boolean
subscription_cost_usd: number
max_directories: optional number
max_directory_files_per_directory: optional number
max_directory_ingest_files: optional number
max_directory_sync_plan_actions: optional number
spending_soft_alerts_usd_cents: optional array of number

The amount of USD cents at which a soft alert should be triggered

name: "enterprise" or "enterprise_contract" or "enterprise_poc" or 12 more
One of the following:
"enterprise"
"enterprise_contract"
"enterprise_poc"
"free"
"free_contract"
"free_v1"
"free_v2"
"llama_parse"
"pro"
"pro_v1"
"pro_v2"
"starter_v1"
"starter_v2"
"unknown"
"yc_deal_v1"
plan_frequency: "ANNUAL" or "MONTHLY" or "QUARTERLY"
One of the following:
"ANNUAL"
"MONTHLY"
"QUARTERLY"
id: optional string

The ID of the plan in Metronome

current_billing_period: optional object { end_date, start_date }

The current billing period

end_date: string
start_date: string
ending_before: optional string

The date the plan ends on

formatdate-time
failure_count: optional number

The number of payment failures for this organization

is_payment_failed: optional boolean

Whether the organization has a failed payment that requires support contact

recurring_credits: optional array of object { credit_amount, credit_type, name, 4 more }
credit_amount: number
credit_type: object { id, name }
id: string
name: string
name: string
priority: number
product_id: string

The ID of the product in Metronome used to represent the credit grant

rollover_fraction: number

The fraction of the credit that will roll over to the next period, between 0 and 1

periods_duration: optional number

How many billing periods the credit grant will last for

starting_on: optional string

The date the plan starts on

formatdate-time
usage: object { active_alerts, active_free_credits_usage, current_invoice_total_usd_cents, 4 more }

Account usage totals shown alongside the plan.

active_alerts: optional array of "configured_spend_limit_exceeded" or "free_credits_exhausted" or "has_spending_alert" or 3 more
One of the following:
"configured_spend_limit_exceeded"
"free_credits_exhausted"
"has_spending_alert"
"internal_spending_alert"
"plan_spend_limit_exceeded"
"plan_spend_limit_soft_alert"
active_free_credits_usage: optional array of object { expires_at, grant_name, remaining_balance, starting_balance }
expires_at: string
grant_name: string
remaining_balance: number
starting_balance: number
current_invoice_total_usd_cents: optional number
total_extraction_agents: optional number
total_indexed_pages: optional number
total_indexes: optional number
total_users: optional number
UserOrganizationRole object { id, organization_id, role, 4 more }

Schema for a user’s role in an organization.

id: string

Unique identifier

formatuuid
organization_id: string

The organization’s ID.

formatuuid
role: Role { id, name, permissions, 2 more }

The role.

id: string

Unique identifier

formatuuid
name: string

A name for the role.

maxLength3000
minLength1
permissions: array of object { id, access, description, 3 more }

The actual permissions of the role.

id: string

Unique identifier

formatuuid
access: boolean

Whether the permission is granted or not.

description: string

A description for the permission.

name: string

A name for the permission.

maxLength3000
minLength1
created_at: optional string

Creation datetime

formatdate-time
updated_at: optional string

Update datetime

formatdate-time
created_at: optional string

Creation datetime

formatdate-time
updated_at: optional string

Update datetime

formatdate-time
user_id: string

The user’s ID.

created_at: optional string

Creation datetime

formatdate-time
project_ids: optional array of string

The project ID scope.

updated_at: optional string

Update datetime

formatdate-time

OrganizationsUsers

List Organization Users
GET/api/v1/organizations/{organization_id}/users
Add Users To Organization
PUT/api/v1/organizations/{organization_id}/users
Remove Users From Organization
DELETE/api/v1/organizations/{organization_id}/users/{member_user_id}
Assign Role To User In Organization
PUT/api/v1/organizations/{organization_id}/users/roles
List Projects By User
GET/api/v1/organizations/{organization_id}/users/{user_id}/projects
Add User To Project
PUT/api/v1/organizations/{organization_id}/users/{user_id}/projects
Remove User From Project
DELETE/api/v1/organizations/{organization_id}/users/{user_id}/projects/{project_id}
ModelsExpand Collapse
UserListMembersResponse = array of OrganizationMember { id, organization_id, roles, 7 more }
id: string

Unique identifier

formatuuid
organization_id: string

The organization’s ID.

formatuuid
roles: array of UserOrganizationRole { id, organization_id, role, 4 more }

The roles of the user in the organization.

id: string

Unique identifier

formatuuid
organization_id: string

The organization’s ID.

formatuuid
role: Role { id, name, permissions, 2 more }

The role.

id: string

Unique identifier

formatuuid
name: string

A name for the role.

maxLength3000
minLength1
permissions: array of object { id, access, description, 3 more }

The actual permissions of the role.

id: string

Unique identifier

formatuuid
access: boolean

Whether the permission is granted or not.

description: string

A description for the permission.

name: string

A name for the permission.

maxLength3000
minLength1
created_at: optional string

Creation datetime

formatdate-time
updated_at: optional string

Update datetime

formatdate-time
created_at: optional string

Creation datetime

formatdate-time
updated_at: optional string

Update datetime

formatdate-time
user_id: string

The user’s ID.

created_at: optional string

Creation datetime

formatdate-time
project_ids: optional array of string

The project ID scope.

updated_at: optional string

Update datetime

formatdate-time
created_at: optional string

Creation datetime

formatdate-time
email: optional string

The user’s email address.

formatemail
Deprecatedinvited_by_user_email: optional string

The email address of the user who added the user to the organization.

formatemail
invited_by_user_id: optional string

The user ID of the user who added the user to the organization.

pending: optional boolean

Whether the user’s membership is pending account signup.

updated_at: optional string

Update datetime

formatdate-time
user_id: optional string

The user’s ID.

UserAddResponse = array of OrganizationMember { id, organization_id, roles, 7 more }
id: string

Unique identifier

formatuuid
organization_id: string

The organization’s ID.

formatuuid
roles: array of UserOrganizationRole { id, organization_id, role, 4 more }

The roles of the user in the organization.

id: string

Unique identifier

formatuuid
organization_id: string

The organization’s ID.

formatuuid
role: Role { id, name, permissions, 2 more }

The role.

id: string

Unique identifier

formatuuid
name: string

A name for the role.

maxLength3000
minLength1
permissions: array of object { id, access, description, 3 more }

The actual permissions of the role.

id: string

Unique identifier

formatuuid
access: boolean

Whether the permission is granted or not.

description: string

A description for the permission.

name: string

A name for the permission.

maxLength3000
minLength1
created_at: optional string

Creation datetime

formatdate-time
updated_at: optional string

Update datetime

formatdate-time
created_at: optional string

Creation datetime

formatdate-time
updated_at: optional string

Update datetime

formatdate-time
user_id: string

The user’s ID.

created_at: optional string

Creation datetime

formatdate-time
project_ids: optional array of string

The project ID scope.

updated_at: optional string

Update datetime

formatdate-time
created_at: optional string

Creation datetime

formatdate-time
email: optional string

The user’s email address.

formatemail
Deprecatedinvited_by_user_email: optional string

The email address of the user who added the user to the organization.

formatemail
invited_by_user_id: optional string

The user ID of the user who added the user to the organization.

pending: optional boolean

Whether the user’s membership is pending account signup.

updated_at: optional string

Update datetime

formatdate-time
user_id: optional string

The user’s ID.

UserListProjectsResponse = array of object { id, name, organization_id, 3 more }
id: string

Unique identifier

formatuuid
name: string
organization_id: string

The Organization ID the project is under.

formatuuid
created_at: optional string

Creation datetime

formatdate-time
is_default: optional boolean

Whether this project is the default project for the user.

updated_at: optional string

Update datetime

formatdate-time
UserAddToProjectResponse = unknown
UserRemoveFromProjectResponse = unknown

OrganizationsRoles

List Roles
GET/api/v1/organizations/{organization_id}/roles
ModelsExpand Collapse
RoleListResponse = array of Role { id, name, permissions, 2 more }
id: string

Unique identifier

formatuuid
name: string

A name for the role.

maxLength3000
minLength1
permissions: array of object { id, access, description, 3 more }

The actual permissions of the role.

id: string

Unique identifier

formatuuid
access: boolean

Whether the permission is granted or not.

description: string

A description for the permission.

name: string

A name for the permission.

maxLength3000
minLength1
created_at: optional string

Creation datetime

formatdate-time
updated_at: optional string

Update datetime

formatdate-time
created_at: optional string

Creation datetime

formatdate-time
updated_at: optional string

Update datetime

formatdate-time