| openai_list_usersA | List members of the OpenAI organization. Args:
emails: Filter by these email addresses.
after: Pagination cursor from a previous response's `last_id`.
limit: Maximum number of users to return per page.
|
| openai_get_userA | Get a single organization member's details. Args:
user_id: The member's user ID (see openai_list_users).
|
| openai_update_user_roleA | Change a member's role in the organization. Args:
user_id: The member's user ID (see openai_list_users).
role: New organization role — `owner` or `reader`.
|
| openai_remove_userA | Remove a member from the organization. Args:
user_id: The member's user ID (see openai_list_users).
|
| openai_invite_userA | Invite a new user to the OpenAI organization by email. The invite must be accepted by the user before they gain access. Its
"status" starts at `pending` until accepted.
Args:
email: Email address to invite.
role: Organization role to grant — `owner` or `reader`.
projects: Optional list of `{"id": <project_id>, "role": "owner"|"member"}`
to grant project membership at the same time the invite is accepted.
If omitted, the user is invited to the default project (legacy
behavior). Pass an empty list to invite them to no projects at all.
|
| openai_get_inviteA | Get a single invite's details, including its status. Args:
invite_id: The invite's ID (see openai_list_invites).
|
| openai_list_invitesA | List all invites in the organization. Each invite's "status" is one of `pending`, `accepted`, or `expired`.
Args:
after: Pagination cursor from a previous response's `last_id`.
limit: Maximum number of invites to return per page.
|
| openai_delete_inviteA | Revoke a pending invite. Invites that have already been accepted cannot be deleted. Args:
invite_id: The invite's ID (see openai_list_invites).
|
| openai_list_projectsA | List projects in the organization. Args:
include_archived: If True, also return archived projects (excluded by default).
after: Pagination cursor from a previous response's `last_id`.
limit: Maximum number of projects to return per page.
|
| openai_get_projectA | Get a single project's details. Args:
project_id: The project's ID (see openai_list_projects).
|
| openai_create_projectA | Create a new project in the organization. Args:
name: The project's friendly name (appears in usage/cost reports).
|
| openai_update_projectA | Rename a project. Args:
project_id: The project's ID (see openai_list_projects).
name: The new project name.
|
| openai_archive_projectA | Archive a project. Archived projects cannot be used or modified further,
and this action cannot be undone via the API. Args:
project_id: The project's ID (see openai_list_projects).
|
| openai_list_project_usersA | List members of a project. Args:
project_id: The project's ID (see openai_list_projects).
after: Pagination cursor from a previous response's `last_id`.
limit: Maximum number of users to return per page.
|
| openai_get_project_userA | Get a single project member's details. Args:
project_id: The project's ID (see openai_list_projects).
user_id: The member's user ID (see openai_list_project_users).
|
| openai_add_project_userA | Add an existing organization member to a project. The user must already be a member of the organization (see
openai_invite_user / openai_list_users) — this call cannot invite
someone new to the org.
Args:
project_id: The project's ID (see openai_list_projects).
user_id: The organization member's user ID (see openai_list_users).
role: Project role to grant — `owner` or `member`.
|
| openai_update_project_user_roleA | Change a member's role within a project. Args:
project_id: The project's ID (see openai_list_projects).
user_id: The member's user ID (see openai_list_project_users).
role: New project role — `owner` or `member`.
|
| openai_remove_project_userA | Remove a member from a project. Fails if the project is archived. Args:
project_id: The project's ID (see openai_list_projects).
user_id: The member's user ID (see openai_list_project_users).
|
| openai_list_service_accountsA | List service accounts in a project. Args:
project_id: The project's ID (see openai_list_projects).
after: Pagination cursor from a previous response's `last_id`.
limit: Maximum number of service accounts to return per page.
|
| openai_get_service_accountA | Get a single service account's details. Args:
project_id: The project's ID (see openai_list_projects).
service_account_id: The service account's ID (see openai_list_service_accounts).
|
| openai_create_service_accountA | Create a new service account in a project. By default this also creates a `member`-role project membership and an
API key for the account. IMPORTANT: the response contains the API key's
PLAINTEXT value — this is the only time it is ever shown. Surface it to
the user immediately so they can store it; it cannot be retrieved again.
Args:
project_id: The project's ID (see openai_list_projects).
name: Name for the new service account.
create_service_account_only: If True, skip creating the default role/API key.
|
| openai_update_service_accountA | Update a service account's name and/or role. Args:
project_id: The project's ID (see openai_list_projects).
service_account_id: The service account's ID (see openai_list_service_accounts).
name: New name for the service account.
role: New project role — `owner` or `member`.
|
| openai_delete_service_accountA | Delete a service account from a project. Fails if the project is archived. Args:
project_id: The project's ID (see openai_list_projects).
service_account_id: The service account's ID (see openai_list_service_accounts).
|
| openai_list_project_api_keysA | List API keys in a project. Key values are always redacted. Args:
project_id: The project's ID (see openai_list_projects).
owner_project_access: Filter by whether the key owner currently has
project access — `active`, `inactive`, or `any`.
after: Pagination cursor from a previous response's `last_id`.
limit: Maximum number of keys to return per page.
|
| openai_get_project_api_keyA | Get a single project API key's details (redacted value only). Args:
project_id: The project's ID (see openai_list_projects).
api_key_id: The API key's ID (see openai_list_project_api_keys).
|
| openai_delete_project_api_keyA | Delete an API key from a project. Fails if the key belongs to a service account — delete the service
account instead (openai_delete_service_account) to revoke that key.
Args:
project_id: The project's ID (see openai_list_projects).
api_key_id: The API key's ID (see openai_list_project_api_keys).
|
| openai_list_rate_limitsA | List per-model rate limit configs for a project. Args:
project_id: The project's ID (see openai_list_projects).
after: Pagination cursor from a previous response's `last_id`.
before: Pagination cursor to fetch the previous page.
limit: Maximum number of rate limit entries to return per page.
|
| openai_update_rate_limitA | Update a project's rate limit for one model. Each `max_*` field only applies to relevant model types (e.g.
max_images_per_1_minute only matters for image models) — check
openai_list_rate_limits first to see which fields are present for the
target model before changing them.
Args:
project_id: The project's ID (see openai_list_projects).
rate_limit_id: The rate limit entry's ID (see openai_list_rate_limits).
max_requests_per_1_minute: New requests-per-minute limit.
max_tokens_per_1_minute: New tokens-per-minute limit.
max_images_per_1_minute: New images-per-minute limit.
max_audio_megabytes_per_1_minute: New audio-megabytes-per-minute limit.
max_requests_per_1_day: New requests-per-day limit.
batch_1_day_max_input_tokens: New batch max input tokens per day.
|
| openai_list_audit_logsA | List user actions and configuration changes in the organization. Args:
effective_start_time: Only events at/after this Unix timestamp (seconds).
effective_end_time: Only events before this Unix timestamp (seconds).
actor_emails: Only events performed by users with these emails.
actor_ids: Only events performed by these actors (user, service
account, or API key tracking IDs).
event_types: Only events of these types, e.g. `project.created`,
`user.added`, `api_key.deleted`, `invite.sent`. See
https://platform.openai.com/docs/api-reference/audit-logs/object
for the full enum.
project_ids: Only events scoped to these projects.
resource_ids: Only events affecting these resource IDs.
after: Pagination cursor from a previous response's `last_id`.
before: Pagination cursor to fetch the previous page.
limit: Maximum number of events to return per page.
|
| openai_get_usageA | Query time-bucketed API usage for the organization. `limit` caps the number of time buckets returned, with different
defaults/maximums per bucket_width: 1d -> default 7, max 31; 1h ->
default 24, max 168; 1m -> default 60, max 1440.
Args:
category: Which usage type to query — one of: completions,
embeddings, moderations, images, audio_speeches,
audio_transcriptions, vector_stores, code_interpreter_sessions,
file_search_calls, web_search_calls.
start_time: Start of the query range, inclusive (Unix seconds).
end_time: End of the query range, exclusive (Unix seconds).
bucket_width: Time bucket size — `1m`, `1h`, or `1d` (default `1d`).
group_by: Fields to group by, e.g. project_id, user_id, api_key_id,
model, batch, service_tier (supported fields vary by category).
project_ids: Only include usage for these projects.
user_ids: Only include usage for these users.
api_key_ids: Only include usage for these API keys.
models: Only include usage for these models.
limit: Number of time buckets to return.
page: Pagination cursor from a previous response's `next_page`.
|
| openai_get_costsA | Query the organization's daily spend breakdown. Args:
start_time: Start of the query range, inclusive (Unix seconds).
end_time: End of the query range, exclusive (Unix seconds).
bucket_width: Time bucket size — only `1d` is currently supported.
group_by: Fields to group by — project_id, line_item, api_key_id.
project_ids: Only include costs for these projects.
api_key_ids: Only include costs for these API keys.
limit: Number of buckets to return (1-180, default 7).
page: Pagination cursor from a previous response's `next_page`.
|