---
title: "Team Member Add"
method: POST
path: "/team/member_add"
tags: ["team management"]
---

# Team Member Add

`POST /team/member_add`

Add new members (either via user_email or user_id) to a team

If user doesn't exist, new user row will also be added to User Table

Only proxy_admin or admin of team, allowed to access this endpoint.
```

curl -X POST 'http://0.0.0.0:4000/team/member_add'     -H 'Authorization: Bearer sk-1234'     -H 'Content-Type: application/json'     -d '{"team_id": "45e3e396-ee08-4a61-a88e-16b3ce7e0849", "member": {"role": "user", "user_id": "krrish247652@berri.ai"}}'

```

## Request body

- TeamMemberAddRequest — Request body for adding members to a team. Example: ```json { "team_id": "45e3e396-ee08-4a61-a88e-16b3ce7e0849", "member": { "role": "user", "user_id": "user123" }, "max_budget_in_team": 100.0 } ```
  - `member` union, required — Member object or list of member objects to add. Each member must include either user_id or user_email, and a role
    - Member[]
      - `user_id` string, nullable — The unique ID of the user to add. Either user_id or user_email must be provided
      - `user_email` string, nullable — The email address of the user to add. Either user_id or user_email must be provided
      - `role` 'admin' | 'user', required — The role of the user within the team. 'admin' users can manage team settings and members, 'user' is a regular team member
    - Member
      - `user_id` string, nullable — The unique ID of the user to add. Either user_id or user_email must be provided
      - `user_email` string, nullable — The email address of the user to add. Either user_id or user_email must be provided
      - `role` 'admin' | 'user', required — The role of the user within the team. 'admin' users can manage team settings and members, 'user' is a regular team member
  - `team_id` string, required — The ID of the team to add the member to
  - `max_budget_in_team` number, nullable — Maximum budget allocated to this user within the team. If not set, user has unlimited budget within team limits

## Response `200`

Successful Response

- TeamAddMemberResponse
  - `team_alias` string, nullable
  - `team_id` string, required
  - `organization_id` string, nullable
  - `admins` unknown[]
    - unknown
  - `members` unknown[]
    - unknown
  - `members_with_roles` Member[]
    - `user_id` string, nullable — The unique ID of the user to add. Either user_id or user_email must be provided
    - `user_email` string, nullable — The email address of the user to add. Either user_id or user_email must be provided
    - `role` 'admin' | 'user', required — The role of the user within the team. 'admin' users can manage team settings and members, 'user' is a regular team member
  - `team_member_permissions` string[], nullable
  - `metadata` object, nullable
  - `tpm_limit` integer, nullable
  - `rpm_limit` integer, nullable
  - `max_budget` number, nullable
  - `soft_budget` number, nullable
  - `budget_duration` string, nullable
  - `models` unknown[]
    - unknown
  - `blocked` boolean
  - `router_settings` object, nullable
  - `access_group_ids` string[], nullable
  - `spend` number, nullable
  - `max_parallel_requests` integer, nullable
  - `budget_reset_at` string, date-time, nullable
  - `model_id` integer, nullable
  - `litellm_model_table` LiteLLMModelTableOutput
    - `id` integer, nullable
    - `model_aliases` union
      - object
      - string
    - `created_by` string, required
    - `updated_by` string, required
    - `team` LiteLLMTeamTableOutput
      - `team_alias` string, nullable
      - `team_id` string, required
      - `organization_id` string, nullable
      - `admins` unknown[]
        - unknown
      - `members` unknown[]
        - unknown
      - `members_with_roles` Member[]
        - `user_id` string, nullable — The unique ID of the user to add. Either user_id or user_email must be provided
        - `user_email` string, nullable — The email address of the user to add. Either user_id or user_email must be provided
        - `role` 'admin' | 'user', required — The role of the user within the team. 'admin' users can manage team settings and members, 'user' is a regular team member
      - `team_member_permissions` string[], nullable
      - `metadata` object, nullable
      - `tpm_limit` integer, nullable
      - `rpm_limit` integer, nullable
      - `max_budget` number, nullable
      - `soft_budget` number, nullable
      - `budget_duration` string, nullable
      - `models` unknown[]
        - unknown
      - `blocked` boolean
      - `router_settings` object, nullable
      - `access_group_ids` string[], nullable
      - `spend` number, nullable
      - `max_parallel_requests` integer, nullable
      - `budget_reset_at` string, date-time, nullable
      - `model_id` integer, nullable
      - `litellm_model_table` LiteLLMModelTableOutput — recursive
      - `object_permission` LiteLLMObjectPermissionTable — Represents a LiteLLM_ObjectPermissionTable record
        - `object_permission_id` string, required
        - `mcp_servers` string[], nullable
        - `mcp_access_groups` string[], nullable
        - `mcp_tool_permissions` object, nullable
        - `vector_stores` string[], nullable
        - `agents` string[], nullable
        - `agent_access_groups` string[], nullable
      - `updated_at` string, date-time, nullable
      - `created_at` string, date-time, nullable
      - `object_permission_id` string, nullable
  - `object_permission` LiteLLMObjectPermissionTable — Represents a LiteLLM_ObjectPermissionTable record
    - `object_permission_id` string, required
    - `mcp_servers` string[], nullable
    - `mcp_access_groups` string[], nullable
    - `mcp_tool_permissions` object, nullable
    - `vector_stores` string[], nullable
    - `agents` string[], nullable
    - `agent_access_groups` string[], nullable
  - `updated_at` string, date-time, nullable
  - `created_at` string, date-time, nullable
  - `object_permission_id` string, nullable
  - `updated_users` LiteLLMUserTableOutput[], required
    - `user_id` string, required
    - `max_budget` number, nullable
    - `spend` number
    - `model_max_budget` object, nullable
    - `model_spend` object, nullable
    - `user_email` string, nullable
    - `user_alias` string, nullable
    - `models` unknown[]
      - unknown
    - `tpm_limit` integer, nullable
    - `rpm_limit` integer, nullable
    - `user_role` string, nullable
    - `organization_memberships` LiteLLMOrganizationMembershipTable[], nullable
      - `user_id` string, required
      - `organization_id` string, required
      - `user_role` string, nullable
      - `spend` number
      - `budget_id` string, nullable
      - `created_at` string, date-time, required
      - `updated_at` string, date-time, required
      - `user` unknown
      - `litellm_budget_table` LiteLLMBudgetTable — Represents user-controllable params for a LiteLLM_BudgetTable record
        - `budget_id` string, nullable
        - `soft_budget` number, nullable
        - `max_budget` number, nullable
        - `max_parallel_requests` integer, nullable
        - `tpm_limit` integer, nullable
        - `rpm_limit` integer, nullable
        - `model_max_budget` object, nullable
        - `budget_duration` string, nullable
      - `user_email` string, nullable
    - `teams` string[]
    - `sso_user_id` string, nullable
    - `budget_duration` string, nullable
    - `budget_reset_at` string, date-time, nullable
    - `metadata` object, nullable
    - `created_at` string, date-time, nullable
    - `updated_at` string, date-time, nullable
    - `object_permission` LiteLLMObjectPermissionTable — Represents a LiteLLM_ObjectPermissionTable record
      - `object_permission_id` string, required
      - `mcp_servers` string[], nullable
      - `mcp_access_groups` string[], nullable
      - `mcp_tool_permissions` object, nullable
      - `vector_stores` string[], nullable
      - `agents` string[], nullable
      - `agent_access_groups` string[], nullable
  - `updated_team_memberships` LiteLLMTeamMembership[], required
    - `user_id` string, required
    - `team_id` string, required
    - `budget_id` string, nullable
    - `spend` number, nullable
    - `litellm_budget_table` LiteLLMBudgetTable, required — Represents user-controllable params for a LiteLLM_BudgetTable record
      - `budget_id` string, nullable
      - `soft_budget` number, nullable
      - `max_budget` number, nullable
      - `max_parallel_requests` integer, nullable
      - `tpm_limit` integer, nullable
      - `rpm_limit` integer, nullable
      - `model_max_budget` object, nullable
      - `budget_duration` string, nullable

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/sea-lion/apis/litellm-api.md) · [All operations](https://skmtc.net/sea-lion/apis/litellm-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/sea-lion/litellm-api/revisions/1e929292ddd5/schema)
