University of Amsterdam project management API

The project management API from University of Amsterdam — 5 operation(s) for project management.

Operations 5

POST /project/new New Project #
POST /project/update Update Project #
DELETE /project/delete Delete Project #
GET /project/info Project Info #
GET /project/list List Projects #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/university-of-amsterdam-project-management-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

university-of-amsterdam-project-management-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: LiteLLM project management API
  description: 'Enterprise Edition


    Proxy Server to call 100+ LLMs in the OpenAI format. **Customize Swagger Docs**


    👉 ```LiteLLM Admin Panel on /ui```. Create, Edit Keys with SSO. Having issues? Try ```Fallback Login```


    💸 ```LiteLLM Model Cost Map```.


    🔎 ```LiteLLM Model Hub```. See available models on the proxy. **Docs**'
  version: 1.95.0
tags:
- name: Project Management
paths:
  /project/new:
    post:
      tags:
      - Project Management
      summary: New Project
      description: '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


        ```bash

        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


        ```bash

        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"

        }

        }''

        ```'
      operationId: new_project_project_new_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewProjectRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NewProjectResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - APIKeyHeader: []
  /project/update:
    post:
      tags:
      - Project Management
      summary: Update Project
      description: 'Update a project


        Parameters:

        - project_id: *str* - The project id to update. Required.

        - project_alias: *Optional[str]* - Updated name for the project

        - description: *Optional[str]* - Updated description for the project

        - team_id: *Optional[str]* - Updated team_id for the project

        - metadata: *Optional[dict]* - Updated metadata for project

        - models: *Optional[list]* - Updated list of models for the project

        - blocked: *Optional[bool]* - Updated blocked status

        - max_budget: *Optional[float]* - Updated max budget

        - tpm_limit: *Optional[int]* - Updated tpm limit

        - rpm_limit: *Optional[int]* - Updated rpm limit

        - model_rpm_limit: *Optional[dict]* - Updated RPM limits per model

        - model_tpm_limit: *Optional[dict]* - Updated TPM limits per model

        - budget_duration: *Optional[str]* - Updated budget duration

        - tags: *Optional[list]* - Updated list of tags for the project

        - object_permission: Optional[LiteLLM_ObjectPermissionBase] - Updated object permission


        Example:

        ```bash

        curl --location ''http://0.0.0.0:4000/project/update'' \

        --header ''Authorization: Bearer sk-1234'' \

        --header ''Content-Type: application/json'' \

        --data ''{

        "project_id": "project-123",

        "description": "Updated flight search system with enhanced capabilities",

        "max_budget": 200,

        "model_rpm_limit": {

        "gpt-4": 2000,

        "gpt-3.5-turbo": 10000

        },

        "metadata": {

        "use_case_id": "SNOW-12345",

        "status": "active"

        }

        }''

        ```'
      operationId: update_project_project_update_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateProjectRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LiteLLM_ProjectTable'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - APIKeyHeader: []
  /project/delete:
    delete:
      tags:
      - Project Management
      summary: Delete Project
      description: 'Delete projects


        Parameters:

        - project_ids: *List[str]* - List of project ids to delete


        Example:

        ```bash

        curl --location --request DELETE ''http://0.0.0.0:4000/project/delete'' \

        --header ''Authorization: Bearer sk-1234'' \

        --header ''Content-Type: application/json'' \

        --data ''{

        "project_ids": ["project-123", "project-456"]

        }''

        ```'
      operationId: delete_project_project_delete_delete
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteProjectRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/LiteLLM_ProjectTable'
                type: array
                title: Response Delete Project Project Delete Delete
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - APIKeyHeader: []
  /project/info:
    get:
      tags:
      - Project Management
      summary: Project Info
      description: 'Get information about a specific project


        Parameters:

        - project_id: *str* - The project id to fetch info for


        Example:

        ```bash

        curl --location ''http://0.0.0.0:4000/project/info?project_id=project-123'' \

        --header ''Authorization: Bearer sk-1234''

        ```'
      operationId: project_info_project_info_get
      security:
      - APIKeyHeader: []
      parameters:
      - name: project_id
        in: query
        required: true
        schema:
          type: string
          title: Project Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LiteLLM_ProjectTable'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /project/list:
    get:
      tags:
      - Project Management
      summary: List Projects
      description: 'List all projects that the user has access to


        Example:

        ```bash

        curl --location ''http://0.0.0.0:4000/project/list'' \

        --header ''Authorization: Bearer sk-1234''

        ```'
      operationId: list_projects_project_list_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/LiteLLM_ProjectTable'
                type: array
                title: Response List Projects Project List Get
      security:
      - APIKeyHeader: []
components:
  schemas:
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    UpdateProjectRequest:
      properties:
        budget_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Budget Id
        soft_budget:
          anyOf:
          - type: number
          - type: 'null'
          title: Soft Budget
        max_budget:
          anyOf:
          - type: number
          - type: 'null'
          title: Max Budget
        max_parallel_requests:
          anyOf:
          - type: integer
          - type: 'null'
          title: Max Parallel Requests
        tpm_limit:
          anyOf:
          - type: integer
          - type: 'null'
          title: Tpm Limit
        rpm_limit:
          anyOf:
          - type: integer
          - type: 'null'
          title: Rpm Limit
        model_max_budget:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Model Max Budget
        budget_duration:
          anyOf:
          - type: string
          - type: 'null'
          title: Budget Duration
        allowed_models:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Allowed Models
        project_id:
          type: string
          title: Project Id
        project_alias:
          anyOf:
          - type: string
          - type: 'null'
          title: Project Alias
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        team_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Team Id
        metadata:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Metadata
        tags:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Tags
        guardrails:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Guardrails
        policies:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Policies
        models:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Models
        model_rpm_limit:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Model Rpm Limit
        model_tpm_limit:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Model Tpm Limit
        blocked:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Blocked
        object_permission:
          anyOf:
          - $ref: '#/components/schemas/LiteLLM_ObjectPermissionBase'
          - type: 'null'
      type: object
      required:
      - project_id
      title: UpdateProjectRequest
      description: Request model for POST /project/update
    LiteLLM_ProjectTable:
      properties:
        project_id:
          type: string
          title: Project Id
        project_alias:
          anyOf:
          - type: string
          - type: 'null'
          title: Project Alias
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        team_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Team Id
        budget_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Budget Id
        metadata:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Metadata
        models:
          items:
            type: string
          type: array
          title: Models
          default: []
        spend:
          type: number
          title: Spend
          default: 0.0
        model_spend:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Model Spend
        model_rpm_limit:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Model Rpm Limit
        model_tpm_limit:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Model Tpm Limit
        blocked:
          type: boolean
          title: Blocked
          default: false
        object_permission_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Object Permission Id
        created_by:
          anyOf:
          - type: string
          - type: 'null'
          title: Created By
        updated_by:
          anyOf:
          - type: string
          - type: 'null'
          title: Updated By
        created_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Created At
        updated_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Updated At
        litellm_budget_table:
          anyOf:
          - $ref: '#/components/schemas/LiteLLM_BudgetTable'
          - type: 'null'
        object_permission:
          anyOf:
          - $ref: '#/components/schemas/LiteLLM_ObjectPermissionTable'
          - type: 'null'
      type: object
      required:
      - project_id
      title: LiteLLM_ProjectTable
      description: Database model representation for project
    NewProjectRequest:
      properties:
        budget_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Budget Id
        soft_budget:
          anyOf:
          - type: number
          - type: 'null'
          title: Soft Budget
        max_budget:
          anyOf:
          - type: number
          - type: 'null'
          title: Max Budget
        max_parallel_requests:
          anyOf:
          - type: integer
          - type: 'null'
          title: Max Parallel Requests
        tpm_limit:
          anyOf:
          - type: integer
          - type: 'null'
          title: Tpm Limit
        rpm_limit:
          anyOf:
          - type: integer
          - type: 'null'
          title: Rpm Limit
        model_max_budget:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Model Max Budget
        budget_duration:
          anyOf:
          - type: string
          - type: 'null'
          title: Budget Duration
        allowed_models:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Allowed Models
        project_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Project Id
        project_alias:
          anyOf:
          - type: string
          - type: 'null'
          title: Project Alias
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        team_id:
          type: string
          title: Team Id
        metadata:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Metadata
        tags:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Tags
        guardrails:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Guardrails
        policies:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Policies
        models:
          items:
            type: string
          type: array
          title: Models
          default: []
        model_rpm_limit:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Model Rpm Limit
        model_tpm_limit:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Model Tpm Limit
        blocked:
          type: boolean
          title: Blocked
          default: false
        object_permission:
          anyOf:
          - $ref: '#/components/schemas/LiteLLM_ObjectPermissionBase'
          - type: 'null'
      type: object
      required:
      - team_id
      title: NewProjectRequest
      description: Request model for POST /project/new
    LiteLLM_BudgetTable:
      properties:
        budget_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Budget Id
        soft_budget:
          anyOf:
          - type: number
          - type: 'null'
          title: Soft Budget
        max_budget:
          anyOf:
          - type: number
          - type: 'null'
          title: Max Budget
        max_parallel_requests:
          anyOf:
          - type: integer
          - type: 'null'
          title: Max Parallel Requests
        tpm_limit:
          anyOf:
          - type: integer
          - type: 'null'
          title: Tpm Limit
        rpm_limit:
          anyOf:
          - type: integer
          - type: 'null'
          title: Rpm Limit
        model_max_budget:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Model Max Budget
        budget_duration:
          anyOf:
          - type: string
          - type: 'null'
          title: Budget Duration
        allowed_models:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Allowed Models
      type: object
      title: LiteLLM_BudgetTable
      description: 'Represents user-controllable params for a LiteLLM_BudgetTable record.


        Budget-write paths use `model_fields.keys()` on this class as an allowlist

        for user input. Keep server-managed fields (e.g. `budget_reset_at`) on

        `LiteLLM_BudgetTableFull` so they aren''t user-settable.'
    LiteLLM_ObjectPermissionBase:
      properties:
        mcp_servers:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Mcp Servers
        mcp_access_groups:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Mcp Access Groups
        mcp_tool_permissions:
          anyOf:
          - additionalProperties:
              items:
                type: string
              type: array
            type: object
          - type: 'null'
          title: Mcp Tool Permissions
        mcp_toolsets:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Mcp Toolsets
        blocked_tools:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Blocked Tools
        vector_stores:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Vector Stores
        agents:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Agents
        agent_access_groups:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Agent Access Groups
        models:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Models
        search_tools:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Search Tools
        mcp_tool_search_enabled:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Mcp Tool Search Enabled
      type: object
      title: LiteLLM_ObjectPermissionBase
    NewProjectResponse:
      properties:
        project_id:
          type: string
          title: Project Id
        project_alias:
          anyOf:
          - type: string
          - type: 'null'
          title: Project Alias
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        team_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Team Id
        budget_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Budget Id
        metadata:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Metadata
        models:
          items:
            type: string
          type: array
          title: Models
          default: []
        spend:
          type: number
          title: Spend
          default: 0.0
        model_spend:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Model Spend
        model_rpm_limit:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Model Rpm Limit
        model_tpm_limit:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Model Tpm Limit
        blocked:
          type: boolean
          title: Blocked
          default: false
        object_permission_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Object Permission Id
        created_by:
          anyOf:
          - type: string
          - type: 'null'
          title: Created By
        updated_by:
          anyOf:
          - type: string
          - type: 'null'
          title: Updated By
        created_at:
          type: string
          format: date-time
          title: Created At
        updated_at:
          type: string
          format: date-time
          title: Updated At
        litellm_budget_table:
          anyOf:
          - $ref: '#/components/schemas/LiteLLM_BudgetTable'
          - type: 'null'
        object_permission:
          anyOf:
          - $ref: '#/components/schemas/LiteLLM_ObjectPermissionTable'
          - type: 'null'
      type: object
      required:
      - project_id
      - created_at
      - updated_at
      title: NewProjectResponse
      description: Response model for POST /project/new
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    LiteLLM_ObjectPermissionTable:
      properties:
        object_permission_id:
          type: string
          title: Object Permission Id
        mcp_servers:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Mcp Servers
          default: []
        mcp_access_groups:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Mcp Access Groups
          default: []
        mcp_tool_permissions:
          anyOf:
          - additionalProperties:
              items:
                type: string
              type: array
            type: object
          - type: 'null'
          title: Mcp Tool Permissions
        vector_stores:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Vector Stores
          default: []
        agents:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Agents
          default: []
        agent_access_groups:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Agent Access Groups
          default: []
        models:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Models
          default: []
        mcp_toolsets:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Mcp Toolsets
        blocked_tools:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Blocked Tools
          default: []
        search_tools:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Search Tools
          default: []
        mcp_tool_search_enabled:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Mcp Tool Search Enabled
      type: object
      required:
      - object_permission_id
      title: LiteLLM_ObjectPermissionTable
      description: Represents a LiteLLM_ObjectPermissionTable record
    DeleteProjectRequest:
      properties:
        project_ids:
          items:
            type: string
          type: array
          title: Project Ids
      type: object
      required:
      - project_ids
      title: DeleteProjectRequest
      description: Request model for DELETE /project/delete
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      description: Bearer token
      in: header
      name: x-litellm-api-key