latestOpenAPI 3.1.02026-08-197104501.1 MB

8fbaab4fc7c5

project management

New Project

Create a new project. Projects sit between teams and keys in the hierarchy.

Only admins or team admins can create projects.

Parameters

  • project_alias: Optional[str] - The name of the project.
  • description: Optional[str] - Description of the project's purpose and use case.
  • team_id: str - The team id that this project belongs to. Required.
  • models: List - The models the project has access to.
  • budget_id: Optional[str] - The id for a budget (tpm/rpm/max budget) for the project.

IF NO BUDGET ID - CREATE ONE WITH THESE PARAMS

  • max_budget: Optional[float] - Max budget for project
  • tpm_limit: Optional[int] - Max tpm limit for project
  • rpm_limit: Optional[int] - Max rpm limit for project
  • max_parallel_requests: Optional[int] - Max parallel requests for project
  • soft_budget: Optional[float] - Get a slack alert when this soft budget is reached. Don't block requests.
  • model_max_budget: Optional[dict] - Max budget for a specific model. Example: {"gpt-4": 100.0, "gpt-3.5-turbo": 50.0}
  • model_rpm_limit: Optional[dict] - RPM limits per model. Example: {"gpt-4": 1000, "gpt-3.5-turbo": 5000}
  • model_tpm_limit: Optional[dict] - TPM limits per model. Example: {"gpt-4": 50000, "gpt-3.5-turbo": 100000}
  • budget_duration: Optional[str] - Frequency of reseting project budget
  • metadata: Optional[dict] - Metadata for project, store information for project. Example metadata - {"use_case_id": "SNOW-12345", "responsible_ai_id": "RAI-67890"}
  • tags: Optional[list] - Tags for the project. Example: ["production", "api"]
  • blocked: bool - Flag indicating if the project is blocked or not - will stop all calls from keys with this project_id.
  • object_permission: Optional[LiteLLM_ObjectPermissionBase] - project-specific object permission. Example - {"vector_stores": ["vector_store_1", "vector_store_2"]}. IF null or {} then no object permission.

Example 1: Create new project without a budget_id, with model-specific limits

curl --location 'http://0.0.0.0:4000/project/new' \
--header 'Authorization: Bearer sk-1234' \
--header 'Content-Type: application/json' \
--data '{
    "project_alias": "flight-search-assistant",
    "description": "AI-powered flight search and booking assistant",
    "team_id": "team-123",
    "models": ["gpt-4", "gpt-3.5-turbo"],
    "max_budget": 100,
    "model_rpm_limit": {
        "gpt-4": 1000,
        "gpt-3.5-turbo": 5000
    },
    "model_tpm_limit": {
        "gpt-4": 50000,
        "gpt-3.5-turbo": 100000
    },
    "metadata": {
        "use_case_id": "SNOW-12345",
        "responsible_ai_id": "RAI-67890"
    }
}'

Example 2: Create new project with a budget_id

curl --location 'http://0.0.0.0:4000/project/new' \
--header 'Authorization: Bearer sk-1234' \
--header 'Content-Type: application/json' \
--data '{
    "project_alias": "hotel-recommendations",
    "description": "Personalized hotel recommendation engine",
    "team_id": "team-123",
    "models": ["claude-3-sonnet"],
    "budget_id": "428eeaa8-f3ac-4e85-a8fb-7dc8d7aa8689",
    "metadata": {
        "use_case_id": "SNOW-54321"
    }
}'
post/project/new

Request body

budget_idstring nullable
soft_budgetnumber nullable
max_budgetnumber nullable
max_parallel_requestsinteger nullable
tpm_limitinteger nullable
rpm_limitinteger nullable
model_max_budgetobject nullable
budget_durationstring nullable
allowed_modelsstring[] nullable
project_idstring nullable
project_aliasstring nullable
descriptionstring nullable
team_idstring required
metadataobject nullable
tagsstring[] nullable
guardrailsstring[] nullable
policiesstring[] nullable
modelsstring[]
model_rpm_limitobject nullable
model_tpm_limitobject nullable
blockedboolean

Response

Successful Response

project_idstring required
project_aliasstring nullable
descriptionstring nullable
team_idstring nullable
budget_idstring nullable
metadataobject nullable
modelsstring[]
spendnumber
model_spendobject nullable
model_rpm_limitobject nullable
model_tpm_limitobject nullable
blockedboolean
object_permission_idstring nullable
created_bystring required
updated_bystring required
created_atstring date-time required
updated_atstring date-time required