team management

New Team

Allow users to create a new team. Apply user permissions to their team.

👉 Detailed Doc on setting team budgets

Parameters:

  • team_alias: Optional[str] - User defined team alias
  • team_id: Optional[str] - The team id of the user. If none passed, we'll generate it.
  • members_with_roles: List[{"role": "admin" or "user", "user_id": "<user-id>"}] - A list of users and their roles in the team. Get user_id when making a new user via /user/new.
  • team_member_permissions: Optional[List[str]] - A list of routes that non-admin team members can access. example: ["/key/generate", "/key/update", "/key/delete"]
  • metadata: Optional[dict] - Metadata for team, store information for team. Example metadata = {"extra_info": "some info"}
  • tpm_limit: Optional[int] - The TPM (Tokens Per Minute) limit for this team - all keys with this team_id will have at max this TPM limit
  • rpm_limit: Optional[int] - The RPM (Requests Per Minute) limit for this team - all keys associated with this team_id will have at max this RPM limit
  • max_budget: Optional[float] - The maximum budget allocated to the team - all keys for this team_id will have at max this max_budget
  • budget_duration: Optional[str] - The duration of the budget for the team. Doc here
  • models: Optional[list] - A list of models associated with the team - all keys for this team_id will have at most, these models. If empty, assumes all models are allowed.
  • blocked: bool - Flag indicating if the team is blocked or not - will stop all calls from keys with this team_id.
  • members: Optional[List] - Control team members via /team/member/add and /team/member/delete.
  • tags: Optional[List[str]] - Tags for tracking spend and/or doing tag-based routing.
  • prompts: Optional[List[str]] - List of prompts that the team is allowed to use.
  • organization_id: Optional[str] - The organization id of the team. Default is None. Create via /organization/new.
  • model_aliases: Optional[dict] - Model aliases for the team. Docs
  • guardrails: Optional[List[str]] - Guardrails for the team. Docs
  • prompts: Optional[List[str]] - List of prompts that the team is allowed to use.
  • object_permission: Optional[LiteLLM_ObjectPermissionBase] - team-specific object permission. Example - {"vector_stores": ["vector_store_1", "vector_store_2"]}. IF null or {} then no object permission.
  • team_member_budget: Optional[float] - The maximum budget allocated to an individual team member.
  • team_member_rpm_limit: Optional[int] - The RPM (Requests Per Minute) limit for individual team members.
  • team_member_tpm_limit: Optional[int] - The TPM (Tokens Per Minute) limit for individual team members.
  • team_member_key_duration: Optional[str] - The duration for a team member's key. e.g. "1d", "1w", "1mo"
  • prompts: Optional[List[str]] - List of allowed prompts for the team. If specified, the team will only be able to use these specific prompts.

Returns:

  • team_id: (str) Unique team id - used for tracking spend across multiple keys for same team id.

_deprecated_params:

  • admins: list - A list of user_id's for the admin role
  • users: list - A list of user_id's for the user role

Example Request:

curl --location 'http://0.0.0.0:4000/team/new'     --header 'Authorization: Bearer sk-1234'     --header 'Content-Type: application/json'     --data '{
  "team_alias": "my-new-team_2",
  "members_with_roles": [{"role": "admin", "user_id": "user-1234"},
    {"role": "user", "user_id": "user-2434"}]
}'

curl --location 'http://0.0.0.0:4000/team/new'     --header 'Authorization: Bearer sk-1234'     --header 'Content-Type: application/json'     --data '{
           "team_alias": "QA Prod Bot",
           "max_budget": 0.000000001,
           "budget_duration": "1d"
       }'
post/team/new

Request

  • Base URL: https://api.aiaw.app (the document declares no server; this is the origin it was published from)
  • URL: https://api.aiaw.app/team/new
  • Auth: one of:
    • API key in header x-litellm-api-key
    • API key in header x-litellm-api-key
    • API key in header x-litellm-api-key
    • API key in header x-litellm-api-key
    • API key in header x-litellm-api-key
    • API key in header x-litellm-api-key

Headers

litellm-changed-bystring nullable

The litellm-changed-by header enables tracking of actions performed by authorized users on behalf of other users, providing an audit trail for accountability

Request body

team_aliasstring nullable
team_idstring nullable
organization_idstring nullable
team_member_permissionsstring[] nullable
metadataobject nullable
tpm_limitinteger nullable
rpm_limitinteger nullable
max_budgetnumber nullable
budget_durationstring nullable
blockedboolean
model_aliasesobject nullable
guardrailsstring[] nullable
promptsstring[] nullable
team_member_budgetnumber nullable
team_member_rpm_limitinteger nullable
team_member_tpm_limitinteger nullable
team_member_key_durationstring nullable

Response

Successful Response

team_aliasstring nullable
team_idstring required
organization_idstring nullable
team_member_permissionsstring[] nullable
metadataobject nullable
tpm_limitinteger nullable
rpm_limitinteger nullable
max_budgetnumber nullable
budget_durationstring nullable
blockedboolean
spendnumber nullable
max_parallel_requestsinteger nullable
budget_reset_atstring date-time nullable
model_idinteger nullable
updated_atstring date-time nullable
created_atstring date-time nullable
object_permission_idstring nullable

Changes

No recorded changes to this operation across all 1 revision of this API.