University of Amsterdam tag management API

The tag management API from University of Amsterdam — 12 operation(s) for tag management.

Operations 12

POST /tag/new New Tag #
POST /tag/update Update Tag #
POST /tag/info Info Tag #
GET /tag/list List Tags #
POST /tag/delete Delete Tag #
GET /tag/daily/activity Get Tag Daily Activity #
GET /tag/distinct Get Distinct User Agent Tags #
GET /tag/dau Get Daily Active Users #
GET /tag/wau Get Weekly Active Users #
GET /tag/mau Get Monthly Active Users #
GET /tag/summary Get Tag Summary #
GET /tag/user-agent/per-user-analytics Get Per User Analytics #

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-tag-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-tag-management-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: LiteLLM tag management API
  description: "Enterprise Edition \n\nProxy Server to call 100+ LLMs in the OpenAI format. [**Customize Swagger Docs**](https://docs.litellm.ai/docs/proxy/enterprise#swagger-docs---custom-routes--branding)\n\n\U0001F449 [```LiteLLM Admin Panel on /ui```](/ui). Create, Edit Keys with SSO. Having issues? Try [```Fallback Login```](/fallback/login)\n\n\U0001F4B8 [```LiteLLM Model Cost Map```](https://models.litellm.ai/).\n\n\U0001F50E [```LiteLLM Model Hub```](/ui/model_hub_table). See available models on the proxy. [**Docs**](https://docs.litellm.ai/docs/proxy/ai_hub)"
  version: 1.95.0
  x-operator: institution
  x-provenance:
    method: probed
    source: https://llmproxy.uva.nl/openapi.json
    retrieved: '2026-08-19'
    note: Document is generated by the LiteLLM proxy software the University of Amsterdam self-hosts; the deployment, the key issuance and the host (llmproxy.uva.nl, UvA Azure) are the institution's. servers[] added by API Evangelist because the served document omits it; nothing else altered.
servers:
- url: https://llmproxy.uva.nl
  description: University of Amsterdam / Amsterdam University of Applied Sciences shared AI gateway
tags:
- name: tag management
paths:
  /tag/new:
    post:
      tags:
      - tag management
      summary: New Tag
      description: 'Create a new tag.


        Parameters:

        - name: str - The name of the tag

        - description: Optional[str] - Description of what this tag represents

        - models: List[str] - List of either ''model_id'' or ''model_name'' allowed for this tag

        - budget_id: Optional[str] - The id for a budget (tpm/rpm/max budget) for the tag


        ### IF NO BUDGET ID - CREATE ONE WITH THESE PARAMS ###

        - max_budget: Optional[float] - Max budget for tag

        - tpm_limit: Optional[int] - Max tpm limit for tag

        - rpm_limit: Optional[int] - Max rpm limit for tag

        - max_parallel_requests: Optional[int] - Max parallel requests for tag

        - soft_budget: Optional[float] - Get a slack alert when this soft budget is reached

        - model_max_budget: Optional[dict] - Max budget for a specific model

        - budget_duration: Optional[str] - Frequency of resetting tag budget'
      operationId: new_tag_tag_new_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TagNewRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - APIKeyHeader: []
  /tag/update:
    post:
      tags:
      - tag management
      summary: Update Tag
      description: 'Update an existing tag.


        Parameters:

        - name: str - The name of the tag to update

        - description: Optional[str] - Updated description

        - models: List[str] - Updated list of allowed LLM models

        - budget_id: Optional[str] - The id for a budget to associate with the tag


        ### BUDGET UPDATE PARAMS ###

        - max_budget: Optional[float] - Max budget for tag

        - tpm_limit: Optional[int] - Max tpm limit for tag

        - rpm_limit: Optional[int] - Max rpm limit for tag

        - max_parallel_requests: Optional[int] - Max parallel requests for tag

        - soft_budget: Optional[float] - Get a slack alert when this soft budget is reached

        - model_max_budget: Optional[dict] - Max budget for a specific model

        - budget_duration: Optional[str] - Frequency of resetting tag budget'
      operationId: update_tag_tag_update_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TagUpdateRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - APIKeyHeader: []
  /tag/info:
    post:
      tags:
      - tag management
      summary: Info Tag
      description: 'Get information about specific tags.


        Parameters:

        - names: List[str] - List of tag names to get information for'
      operationId: info_tag_tag_info_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TagInfoRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - APIKeyHeader: []
  /tag/list:
    get:
      tags:
      - tag management
      summary: List Tags
      description: List all available tags with their budget information.
      operationId: list_tags_tag_list_get
      security:
      - APIKeyHeader: []
      parameters:
      - name: start_date
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Optional start date (YYYY-MM-DD). When provided together with end_date, dynamic tags are limited to those active in the window. Stored tags are always returned.
          title: Start Date
        description: Optional start date (YYYY-MM-DD). When provided together with end_date, dynamic tags are limited to those active in the window. Stored tags are always returned.
      - name: end_date
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Optional end date (YYYY-MM-DD). Must be given with start_date.
          title: End Date
        description: Optional end date (YYYY-MM-DD). Must be given with start_date.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /tag/delete:
    post:
      tags:
      - tag management
      summary: Delete Tag
      description: 'Delete a tag.


        Parameters:

        - name: str - The name of the tag to delete'
      operationId: delete_tag_tag_delete_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TagDeleteRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - APIKeyHeader: []
  /tag/daily/activity:
    get:
      tags:
      - tag management
      summary: Get Tag Daily Activity
      description: "Get daily activity for specific tags or all tags.\n\nArgs:\n    tags (Optional[str]): Comma-separated list of tags to filter by. If not provided, returns data for all tags.\n    start_date (Optional[str]): Start date for the activity period (YYYY-MM-DD).\n    end_date (Optional[str]): End date for the activity period (YYYY-MM-DD).\n    model (Optional[str]): Filter by model name.\n    api_key (Optional[str]): Filter by API key.\n    page (int): Page number for pagination.\n    page_size (int): Number of items per page.\n\nReturns:\n    SpendAnalyticsPaginatedResponse: Paginated response containing daily activity data."
      operationId: get_tag_daily_activity_tag_daily_activity_get
      security:
      - APIKeyHeader: []
      parameters:
      - name: tags
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Tags
      - name: start_date
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Start Date
      - name: end_date
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: End Date
      - name: model
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Model
      - name: api_key
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Api Key
      - name: page
        in: query
        required: false
        schema:
          type: integer
          default: 1
          title: Page
      - name: page_size
        in: query
        required: false
        schema:
          type: integer
          default: 10
          title: Page Size
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SpendAnalyticsPaginatedResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /tag/distinct:
    get:
      tags:
      - tag management
      summary: Get Distinct User Agent Tags
      description: "Get all distinct user agent tags up to a maximum of {MAX_TAGS} tags.\n\nThis endpoint returns all unique user agent tags found in the database,\nsorted by frequency of usage.\n\nReturns:\n    DistinctTagsResponse: List of distinct user agent tags"
      operationId: get_distinct_user_agent_tags_tag_distinct_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DistinctTagsResponse'
      security:
      - APIKeyHeader: []
  /tag/dau:
    get:
      tags:
      - tag management
      summary: Get Daily Active Users
      description: "Get Daily Active Users (DAU) by tags for the last {MAX_DAYS} days ending on UTC today + 1 day.\n\nThis endpoint efficiently calculates unique users per tag for each of the last {MAX_DAYS} days\nusing a single optimized SQL query, perfect for dashboard time series visualization.\n\nArgs:\n    tag_filter: Optional filter to specific tag (legacy)\n    tag_filters: Optional filter to multiple specific tags (takes precedence over tag_filter)\n\nReturns:\n    ActiveUsersAnalyticsResponse: DAU data by tag for each of the last {MAX_DAYS} days"
      operationId: get_daily_active_users_tag_dau_get
      security:
      - APIKeyHeader: []
      parameters:
      - name: tag_filter
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Filter by specific tag (optional)
          title: Tag Filter
        description: Filter by specific tag (optional)
      - name: tag_filters
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: string
          - type: 'null'
          description: Filter by multiple specific tags (optional, takes precedence over tag_filter)
          title: Tag Filters
        description: Filter by multiple specific tags (optional, takes precedence over tag_filter)
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActiveUsersAnalyticsResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /tag/wau:
    get:
      tags:
      - tag management
      summary: Get Weekly Active Users
      description: "Get Weekly Active Users (WAU) by tags for the last {MAX_WEEKS} weeks ending on UTC today + 1 day.\n\nShows week-by-week breakdown:\n- Week 1 (Jan 1): Earliest week (7 weeks ago)\n- Week 2 (Jan 8): Next week (6 weeks ago)\n- Week 3 (Jan 15): Next week (5 weeks ago)\n- ... and so on for {MAX_WEEKS} weeks total\n- Week 7: Most recent week ending on UTC today + 1 day\n\nArgs:\n    tag_filter: Optional filter to specific tag (legacy)\n    tag_filters: Optional filter to multiple specific tags (takes precedence over tag_filter)\n\nReturns:\n    ActiveUsersAnalyticsResponse: WAU data by tag for each of the last {MAX_WEEKS} weeks with descriptive week labels (e.g., \"Week 1 (Jan 1)\")"
      operationId: get_weekly_active_users_tag_wau_get
      security:
      - APIKeyHeader: []
      parameters:
      - name: tag_filter
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Filter by specific tag (optional)
          title: Tag Filter
        description: Filter by specific tag (optional)
      - name: tag_filters
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: string
          - type: 'null'
          description: Filter by multiple specific tags (optional, takes precedence over tag_filter)
          title: Tag Filters
        description: Filter by multiple specific tags (optional, takes precedence over tag_filter)
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActiveUsersAnalyticsResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /tag/mau:
    get:
      tags:
      - tag management
      summary: Get Monthly Active Users
      description: "Get Monthly Active Users (MAU) by tags for the last {MAX_MONTHS} months ending on UTC today + 1 day.\n\nShows month-by-month breakdown:\n- Month 1 (Nov): Earliest month (7 months ago, 30-day period)\n- Month 2 (Dec): Next month (6 months ago)\n- Month 3 (Jan): Next month (5 months ago)\n- ... and so on for {MAX_MONTHS} months total\n- Month 7: Most recent month ending on UTC today + 1 day\n\nArgs:\n    tag_filter: Optional filter to specific tag (legacy)\n    tag_filters: Optional filter to multiple specific tags (takes precedence over tag_filter)\n\nReturns:\n    ActiveUsersAnalyticsResponse: MAU data by tag for each of the last {MAX_MONTHS} months with descriptive month labels (e.g., \"Month 1 (Nov)\")"
      operationId: get_monthly_active_users_tag_mau_get
      security:
      - APIKeyHeader: []
      parameters:
      - name: tag_filter
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Filter by specific tag (optional)
          title: Tag Filter
        description: Filter by specific tag (optional)
      - name: tag_filters
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: string
          - type: 'null'
          description: Filter by multiple specific tags (optional, takes precedence over tag_filter)
          title: Tag Filters
        description: Filter by multiple specific tags (optional, takes precedence over tag_filter)
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActiveUsersAnalyticsResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /tag/summary:
    get:
      tags:
      - tag management
      summary: Get Tag Summary
      description: "Get summary analytics for tags including unique users, requests, tokens, and spend.\n\nArgs:\n    start_date: Start date for the analytics period (YYYY-MM-DD)\n    end_date: End date for the analytics period (YYYY-MM-DD)\n    tag_filter: Optional filter to specific tag (legacy)\n    tag_filters: Optional filter to multiple specific tags (takes precedence over tag_filter)\n\nReturns:\n    TagSummaryResponse: Summary analytics data by tag"
      operationId: get_tag_summary_tag_summary_get
      security:
      - APIKeyHeader: []
      parameters:
      - name: start_date
        in: query
        required: true
        schema:
          type: string
          description: Start date in YYYY-MM-DD format
          title: Start Date
        description: Start date in YYYY-MM-DD format
      - name: end_date
        in: query
        required: true
        schema:
          type: string
          description: End date in YYYY-MM-DD format
          title: End Date
        description: End date in YYYY-MM-DD format
      - name: tag_filter
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Filter by specific tag (optional)
          title: Tag Filter
        description: Filter by specific tag (optional)
      - name: tag_filters
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: string
          - type: 'null'
          description: Filter by multiple specific tags (optional, takes precedence over tag_filter)
          title: Tag Filters
        description: Filter by multiple specific tags (optional, takes precedence over tag_filter)
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TagSummaryResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /tag/user-agent/per-user-analytics:
    get:
      tags:
      - tag management
      summary: Get Per User Analytics
      description: "Get per-user analytics including successful requests, tokens, and spend by individual users.\n\nThis endpoint provides usage metrics broken down by individual users based on their\ntag activity during the last 30 days ending on UTC today + 1 day.\n\nArgs:\n    tag_filter: Optional filter to specific tag (legacy)\n    tag_filters: Optional filter to multiple specific tags (takes precedence over tag_filter)\n    page: Page number for pagination\n    page_size: Number of items per page\n\nReturns:\n    PerUserAnalyticsResponse: Analytics data broken down by individual users for the last 30 days"
      operationId: get_per_user_analytics_tag_user_agent_per_user_analytics_get
      security:
      - APIKeyHeader: []
      parameters:
      - name: tag_filter
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Filter by specific tag (optional)
          title: Tag Filter
        description: Filter by specific tag (optional)
      - name: tag_filters
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: string
          - type: 'null'
          description: Filter by multiple specific tags (optional, takes precedence over tag_filter)
          title: Tag Filters
        description: Filter by multiple specific tags (optional, takes precedence over tag_filter)
      - name: page
        in: query
        required: false
        schema:
          type: integer
          minimum: 1
          description: Page number for pagination
          default: 1
          title: Page
        description: Page number for pagination
      - name: page_size
        in: query
        required: false
        schema:
          type: integer
          maximum: 1000
          minimum: 1
          description: Items per page
          default: 50
          title: Page Size
        description: Items per page
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PerUserAnalyticsResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    TagActiveUsersResponse:
      properties:
        tag:
          type: string
          title: Tag
        active_users:
          type: integer
          title: Active Users
        date:
          type: string
          title: Date
        period_start:
          anyOf:
          - type: string
          - type: 'null'
          title: Period Start
        period_end:
          anyOf:
          - type: string
          - type: 'null'
          title: Period End
      type: object
      required:
      - tag
      - active_users
      - date
      title: TagActiveUsersResponse
      description: Response for tag active users metrics
    TagSummaryMetrics:
      properties:
        tag:
          type: string
          title: Tag
        unique_users:
          type: integer
          title: Unique Users
        total_requests:
          type: integer
          title: Total Requests
        successful_requests:
          type: integer
          title: Successful Requests
        failed_requests:
          type: integer
          title: Failed Requests
        total_tokens:
          type: integer
          title: Total Tokens
        total_spend:
          type: number
          title: Total Spend
      type: object
      required:
      - tag
      - unique_users
      - total_requests
      - successful_requests
      - failed_requests
      - total_tokens
      - total_spend
      title: TagSummaryMetrics
      description: Summary metrics for a tag
    DailySpendMetadata:
      properties:
        total_spend:
          type: number
          title: Total Spend
          default: 0.0
        total_prompt_tokens:
          type: integer
          title: Total Prompt Tokens
          default: 0
        total_completion_tokens:
          type: integer
          title: Total Completion Tokens
          default: 0
        total_tokens:
          type: integer
          title: Total Tokens
          default: 0
        total_api_requests:
          type: integer
          title: Total Api Requests
          default: 0
        total_successful_requests:
          type: integer
          title: Total Successful Requests
          default: 0
        total_failed_requests:
          type: integer
          title: Total Failed Requests
          default: 0
        total_cache_read_input_tokens:
          type: integer
          title: Total Cache Read Input Tokens
          default: 0
        total_cache_creation_input_tokens:
          type: integer
          title: Total Cache Creation Input Tokens
          default: 0
        total_compression_saved_tokens:
          type: integer
          title: Total Compression Saved Tokens
          default: 0
        total_compression_savings_spend:
          type: number
          title: Total Compression Savings Spend
          default: 0.0
        total_prompt_caching_savings_spend:
          type: number
          title: Total Prompt Caching Savings Spend
          default: 0.0
        page:
          type: integer
          title: Page
          default: 1
        total_pages:
          type: integer
          title: Total Pages
          default: 1
        has_more:
          type: boolean
          title: Has More
          default: false
      type: object
      title: DailySpendMetadata
    ActiveUsersAnalyticsResponse:
      properties:
        results:
          items:
            $ref: '#/components/schemas/TagActiveUsersResponse'
          type: array
          title: Results
      type: object
      required:
      - results
      title: ActiveUsersAnalyticsResponse
      description: Response for active users analytics
    DailySpendData:
      properties:
        date:
          type: string
          format: date
          title: Date
        metrics:
          $ref: '#/components/schemas/SpendMetrics'
        breakdown:
          $ref: '#/components/schemas/BreakdownMetrics'
      type: object
      required:
      - date
      - metrics
      title: DailySpendData
    MetricWithMetadata:
      properties:
        metrics:
          $ref: '#/components/schemas/SpendMetrics'
        metadata:
          additionalProperties: true
          type: object
          title: Metadata
        api_key_breakdown:
          additionalProperties:
            $ref: '#/components/schemas/KeyMetricWithMetadata'
          type: object
          title: Api Key Breakdown
      type: object
      required:
      - metrics
      title: MetricWithMetadata
    BreakdownMetrics:
      properties:
        mcp_servers:
          additionalProperties:
            $ref: '#/components/schemas/MetricWithMetadata'
          type: object
          title: Mcp Servers
        models:
          additionalProperties:
            $ref: '#/components/schemas/MetricWithMetadata'
          type: object
          title: Models
        model_groups:
          additionalProperties:
            $ref: '#/components/schemas/MetricWithMetadata'
          type: object
          title: Model Groups
        providers:
          additionalProperties:
            $ref: '#/components/schemas/MetricWithMetadata'
          type: object
          title: Providers
        endpoints:
          additionalProperties:
            $ref: '#/components/schemas/MetricWithMetadata'
          type: object
          title: Endpoints
        api_keys:
          additionalProperties:
            $ref: '#/components/schemas/KeyMetricWithMetadata'
          type: object
          title: Api Keys
        entities:
          additionalProperties:
            $ref: '#/components/schemas/MetricWithMetadata'
          type: object
          title: Entities
      type: object
      title: BreakdownMetrics
      description: Breakdown of spend by different dimensions
    TagUpdateRequest:
      properties:
        name:
          type: string
          title: Name
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        models:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Models
        model_info:
          anyOf:
          - additionalProperties:
              type: string
            type: object
          - type: 'null'
          title: Model Info
        budget_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Budget Id
        max_budget:
          anyOf:
          - type: number
          - type: 'null'
          title: Max Budget
        soft_budget:
          anyOf:
          - type: number
          - type: 'null'
          title: Soft 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
      type: object
      required:
      - name
      title: TagUpdateRequest
    DistinctTagsResponse:
      properties:
        results:
          items:
            $ref: '#/components/schemas/DistinctTagResponse'
          type: array
          title: Results
      type: object
      required:
      - results
      title: DistinctTagsResponse
      description: Response for all distinct user agent tags
    KeyMetadata:
      properties:
        key_alias:
          anyOf:
          - type: string
          - type: 'null'
          title: Key Alias
        team_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Team Id
      type: object
      title: KeyMetadata
      description: Metadata for a key
    SpendMetrics:
      properties:
        spend:
          type: number
          title: Spend
          default: 0.0
        prompt_tokens:
          type: integer
          title: Prompt Tokens
          default: 0
        completion_tokens:
          type: integer
          title: Completion Tokens
          default: 0
        cache_read_input_tokens:
          type: integer
          title: Cache Read Input Tokens
          default: 0
        cache_creation_input_tokens:
          type: integer
          title: Cache Creation Input Tokens
          default: 0
        compression_saved_tokens:
          type: integer
          title: Compression Saved Tokens
          default: 0
        compression_savings_spend:
          type: number
          title: Compression Savings Spend
          default: 0.0
        prompt_caching_savings_spend:
          type: number
          title: Prompt Caching Savings Spend
          default: 0.0
        total_tokens:
          type: integer
          title: Total Tokens
          default: 0
        successful_requests:
          type: integer
          title: Successful Requests
          default: 0
        failed_requests:
          type: integer
          title: Failed Requests
          default: 0
        api_requests:
          type: integer
          title: Api Requests
          default: 0
      type: object
      title: SpendMetrics
    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
    PerUserAnalyticsResponse:
      properties:
        results:
          items:
            $ref: '#/components/schemas/PerUserMetrics'
          type: array
          title: Results
        total_count:
          type: integer
          title: Total Count
        page:
          type: integer
          title: Page
        page_size:
          type: integer
          title: Page Size
        total_pages:
          type: integer
          title: Total Pages
      type: object
      required:
      - results
      - total_count
      - page
      - page_size
      - total_pages
      title: PerUserAnalyticsResponse
      description: Response for per-user analytics
    TagInfoRequest:
      properties:
        names:
          items:
            type: string
          type: array
          title: Names
      type: object
      required:
      - names
      title: TagInfoRequest
    TagNewRequest:
      properties:
        name:
          type: string
          title: Name
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        models:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Models
        model_info:
          anyOf:
          - additionalPr

# --- truncated at 32 KB (35 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/university-of-amsterdam/refs/heads/main/openapi/university-of-amsterdam-tag-management-api-openapi.yml