forked from phoenix/litellm-mirror
(docs) /user/new
This commit is contained in:
parent
c9958eb329
commit
3f2f864cc8
2 changed files with 77 additions and 3 deletions
|
@ -1,4 +1,4 @@
|
||||||
# Virtual Keys
|
# Virtual Keys, Users
|
||||||
Track Spend, Set budgets and create virtual keys for the proxy
|
Track Spend, Set budgets and create virtual keys for the proxy
|
||||||
|
|
||||||
Grant other's temporary access to your proxy, with keys that expire after a set duration.
|
Grant other's temporary access to your proxy, with keys that expire after a set duration.
|
||||||
|
@ -278,6 +278,80 @@ Request Params:
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## /user/new
|
||||||
|
|
||||||
|
### Request
|
||||||
|
|
||||||
|
All [key/generate params supported](#keygenerate) for creating a user
|
||||||
|
```shell
|
||||||
|
curl 'http://0.0.0.0:4000/user/new' \
|
||||||
|
--header 'Authorization: Bearer sk-1234' \
|
||||||
|
--header 'Content-Type: application/json' \
|
||||||
|
--data-raw '{
|
||||||
|
"user_id": "ishaan1",
|
||||||
|
"user_email": "ishaan@litellm.ai",
|
||||||
|
"user_role": "admin",
|
||||||
|
"team_id": "cto-team",
|
||||||
|
"max_budget": 20,
|
||||||
|
"budget_duration": "1h"
|
||||||
|
|
||||||
|
}'
|
||||||
|
```
|
||||||
|
|
||||||
|
Request Params:
|
||||||
|
|
||||||
|
- user_id: str (optional - defaults to uuid) - The unique identifier for the user.
|
||||||
|
- user_email: str (optional - defaults to "") - The email address associated with the user.
|
||||||
|
- user_role: str (optional - defaults to "app_user") - The role assigned to the user. Can be "admin", "app_owner", "app_user"
|
||||||
|
|
||||||
|
**Possible `user_role` values**
|
||||||
|
```
|
||||||
|
"admin" - Maintaining the proxy and owning the overall budget
|
||||||
|
"app_owner" - employees maintaining the apps, each owner may own more than one app
|
||||||
|
"app_user" - users who know nothing about the proxy. These users get created when you pass `user` to /chat/completions
|
||||||
|
```
|
||||||
|
- team_id: str (optional - defaults to "") - The identifier for the team to which the user belongs.
|
||||||
|
- max_budget: float (optional - defaults to `null`) - The maximum budget allocated for the user. No budget checks done if `max_budget==null`
|
||||||
|
- budget_duration: str (optional - defaults to `null`) - The duration for which the budget is valid, e.g., "1h", "1d"
|
||||||
|
|
||||||
|
### Response
|
||||||
|
A key will be generated for the new user created
|
||||||
|
|
||||||
|
```shell
|
||||||
|
{
|
||||||
|
"models": [],
|
||||||
|
"spend": 0.0,
|
||||||
|
"max_budget": null,
|
||||||
|
"user_id": "ishaan1",
|
||||||
|
"team_id": null,
|
||||||
|
"max_parallel_requests": null,
|
||||||
|
"metadata": {},
|
||||||
|
"tpm_limit": null,
|
||||||
|
"rpm_limit": null,
|
||||||
|
"budget_duration": null,
|
||||||
|
"allowed_cache_controls": [],
|
||||||
|
"key_alias": null,
|
||||||
|
"duration": null,
|
||||||
|
"aliases": {},
|
||||||
|
"config": {},
|
||||||
|
"key": "sk-JflB33ucTqc2NYvNAgiBCA",
|
||||||
|
"key_name": null,
|
||||||
|
"expires": null
|
||||||
|
}
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
Request Params:
|
||||||
|
- keys: List[str] - List of keys to delete
|
||||||
|
|
||||||
|
### Response
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"deleted_keys": ["sk-kdEXbIqZRwEeEiHwdg7sFA"]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
## Default /key/generate params
|
## Default /key/generate params
|
||||||
Use this, if you need to control the default `max_budget` or any `key/generate` param per key.
|
Use this, if you need to control the default `max_budget` or any `key/generate` param per key.
|
||||||
|
|
||||||
|
|
|
@ -3008,9 +3008,9 @@ async def new_user(data: NewUserRequest):
|
||||||
if "user_role" in data_json:
|
if "user_role" in data_json:
|
||||||
user_role = data_json["user_role"]
|
user_role = data_json["user_role"]
|
||||||
if user_role is not None:
|
if user_role is not None:
|
||||||
if user_role not in ["proxy_admin", "app_owner", "app_user"]:
|
if user_role not in ["admin", "app_owner", "app_user"]:
|
||||||
raise ProxyException(
|
raise ProxyException(
|
||||||
message=f"Invalid user role, passed in {user_role}. Must be one of 'proxy_admin', 'app_owner', 'app_user'",
|
message=f"Invalid user role, passed in {user_role}. Must be one of 'admin', 'app_owner', 'app_user'",
|
||||||
type="invalid_user_role",
|
type="invalid_user_role",
|
||||||
param="user_role",
|
param="user_role",
|
||||||
code=status.HTTP_400_BAD_REQUEST,
|
code=status.HTTP_400_BAD_REQUEST,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue