University of Amsterdam Health API

The health API from University of Amsterdam — 16 operation(s) for health.

Operations 19

GET /test Test Endpoint #
GET /health/services Health Services Endpoint #
GET /health Health Endpoint #
GET /health/history Health Check History Endpoint #
GET /health/latest Latest Health Checks Endpoint #
GET /health/shared-status Shared Health Check Status Endpoint #
GET /health/license Health License Endpoint #
GET /active/callbacks Active Callbacks #
GET /settings Active Callbacks #
GET /health/readiness Health Readiness #
OPTIONS /health/readiness Health Readiness Options #
GET /health/readiness/details Health Readiness Details #
GET /health/backlog Health Backlog #
GET /health/drain Health Drain #
GET /health/liveness Health Liveliness #
OPTIONS /health/liveness Health Liveliness Options #
GET /health/liveliness Health Liveliness #
OPTIONS /health/liveliness Health Liveliness Options #
POST /health/test_connection Test Model Connection #

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-health-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-health-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: LiteLLM Health 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: health
paths:
  /test:
    get:
      tags:
      - health
      summary: Test Endpoint
      description: "[DEPRECATED] use `/health/liveliness` instead.\n\nA test endpoint that pings the proxy server to check if it's healthy.\n\nParameters:\n    request (Request): The incoming request.\n\nReturns:\n    dict: A dictionary containing the route of the request URL."
      operationId: test_endpoint_test_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
      security:
      - APIKeyHeader: []
  /health/services:
    get:
      tags:
      - health
      summary: Health Services Endpoint
      description: 'Use this admin-only endpoint to check if the service is healthy.


        Example:

        ```

        curl -L -X GET ''http://0.0.0.0:4000/health/services?service=datadog''     -H ''Authorization: Bearer sk-1234''

        ```'
      operationId: health_services_endpoint_health_services_get
      security:
      - APIKeyHeader: []
      parameters:
      - name: service
        in: query
        required: true
        schema:
          anyOf:
          - enum:
            - slack_budget_alerts
            - langfuse
            - langfuse_otel
            - slack
            - openmeter
            - webhook
            - email
            - braintrust
            - datadog
            - datadog_llm_observability
            - generic_api
            - arize
            - galileo
            - newrelic
            - sqs
            type: string
          - type: string
          description: Specify the service being hit.
          title: Service
        description: Specify the service being hit.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /health:
    get:
      tags:
      - health
      summary: Health Endpoint
      description: "\U0001F6A8 USE `/health/liveliness` to health check the proxy \U0001F6A8\n\nSee more \U0001F449 https://docs.litellm.ai/docs/proxy/health\n\n\nCheck the health of all the endpoints in config.yaml\n\nTo run health checks in the background, add this to config.yaml:\n```\ngeneral_settings:\n    # ... other settings\n    background_health_checks: True\n```\nelse, the health checks will be run on models when /health is called.\n\nTo skip deployments that set ``model_info.disable_background_health_check: true``\non ``GET /health`` as well as in the background loop, set\n``general_settings.health_check_skip_disabled_background_models: true``."
      operationId: health_endpoint_health_get
      security:
      - APIKeyHeader: []
      parameters:
      - name: model
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Specify the model name (optional)
          title: Model
        description: Specify the model name (optional)
      - name: model_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Specify the model ID (optional)
          title: Model Id
        description: Specify the model ID (optional)
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /health/history:
    get:
      tags:
      - health
      summary: Health Check History Endpoint
      description: 'Get health check history for models


        Returns historical health check data with optional filtering.'
      operationId: health_check_history_endpoint_health_history_get
      security:
      - APIKeyHeader: []
      parameters:
      - name: model
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Filter by specific model name
          title: Model
        description: Filter by specific model name
      - name: status_filter
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Filter by status (healthy/unhealthy)
          title: Status Filter
        description: Filter by status (healthy/unhealthy)
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 1000
          minimum: 1
          description: Number of records to return
          default: 100
          title: Limit
        description: Number of records to return
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          minimum: 0
          description: Number of records to skip
          default: 0
          title: Offset
        description: Number of records to skip
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /health/latest:
    get:
      tags:
      - health
      summary: Latest Health Checks Endpoint
      description: 'Get the latest health check status for all models


        Returns the most recent health check result for each model.'
      operationId: latest_health_checks_endpoint_health_latest_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
      security:
      - APIKeyHeader: []
  /health/shared-status:
    get:
      tags:
      - health
      summary: Shared Health Check Status Endpoint
      description: 'Get the status of shared health check coordination across pods.


        Returns information about Redis connectivity, lock status, and cache status.'
      operationId: shared_health_check_status_endpoint_health_shared_status_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
      security:
      - APIKeyHeader: []
  /health/license:
    get:
      tags:
      - health
      summary: Health License Endpoint
      description: Return metadata about the configured LiteLLM license without exposing the key.
      operationId: health_license_endpoint_health_license_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
      security:
      - APIKeyHeader: []
  /active/callbacks:
    get:
      tags:
      - health
      summary: Active Callbacks
      description: "Returns a list of litellm level settings\n\nThis is useful for debugging and ensuring the proxy server is configured correctly.\n\nResponse schema:\n```\n{\n    \"alerting\": _alerting,\n    \"litellm.callbacks\": litellm_callbacks,\n    \"litellm.input_callback\": litellm_input_callbacks,\n    \"litellm.failure_callback\": litellm_failure_callbacks,\n    \"litellm.success_callback\": litellm_success_callbacks,\n    \"litellm._async_success_callback\": litellm_async_success_callbacks,\n    \"litellm._async_failure_callback\": litellm_async_failure_callbacks,\n    \"litellm._async_input_callback\": litellm_async_input_callbacks,\n    \"all_litellm_callbacks\": all_litellm_callbacks,\n    \"num_callbacks\": len(all_litellm_callbacks),\n    \"num_alerting\": _num_alerting,\n    \"litellm.request_timeout\": litellm.request_timeout,\n}\n```"
      operationId: active_callbacks_active_callbacks_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
      security:
      - APIKeyHeader: []
  /settings:
    get:
      tags:
      - health
      summary: Active Callbacks
      description: "Returns a list of litellm level settings\n\nThis is useful for debugging and ensuring the proxy server is configured correctly.\n\nResponse schema:\n```\n{\n    \"alerting\": _alerting,\n    \"litellm.callbacks\": litellm_callbacks,\n    \"litellm.input_callback\": litellm_input_callbacks,\n    \"litellm.failure_callback\": litellm_failure_callbacks,\n    \"litellm.success_callback\": litellm_success_callbacks,\n    \"litellm._async_success_callback\": litellm_async_success_callbacks,\n    \"litellm._async_failure_callback\": litellm_async_failure_callbacks,\n    \"litellm._async_input_callback\": litellm_async_input_callbacks,\n    \"all_litellm_callbacks\": all_litellm_callbacks,\n    \"num_callbacks\": len(all_litellm_callbacks),\n    \"num_alerting\": _num_alerting,\n    \"litellm.request_timeout\": litellm.request_timeout,\n}\n```"
      operationId: active_callbacks_settings_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
      security:
      - APIKeyHeader: []
  /health/readiness:
    get:
      tags:
      - health
      summary: Health Readiness
      description: 'Public readiness probe. Returns a low-detail payload safe to expose to

        unauthenticated load balancers — `status` plus `db` so orchestrators and

        external probes can distinguish "healthy" from "DB unreachable" without a

        credential. Admins can opt into the legacy detailed payload with

        general_settings.allow_public_health_readiness_details.'
      operationId: health_readiness_health_readiness_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
    options:
      tags:
      - health
      summary: Health Readiness Options
      description: Options endpoint for health/readiness check.
      operationId: health_readiness_options_health_readiness_options
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  /health/readiness/details:
    get:
      tags:
      - health
      summary: Health Readiness Details
      description: Authenticated readiness diagnostics with DB/cache/callback metadata.
      operationId: health_readiness_details_health_readiness_details_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
      security:
      - APIKeyHeader: []
  /health/backlog:
    get:
      tags:
      - health
      summary: Health Backlog
      description: 'Returns the number of HTTP requests currently in-flight on this uvicorn worker.


        Use this to measure per-pod queue depth. A high value means the worker is

        processing many concurrent requests — requests arriving now will have to wait

        for the event loop to get to them, adding latency before LiteLLM even starts

        its own timer.'
      operationId: health_backlog_health_backlog_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
      security:
      - APIKeyHeader: []
  /health/drain:
    get:
      tags:
      - health
      summary: Health Drain
      description: "Graceful-drain probe for Kubernetes ``preStop`` hooks.\n\nDisabled by default and returns 404 unless ``general_settings`` sets\n``enable_drain_endpoint: true``. Calling it flips a process-wide\nshutting-down flag, so a successful call permanently takes the worker out\nof rotation until the pod restarts.\n\nBecause the kubelet calls preStop hooks without proxy credentials, the\nendpoint does not require ``user_api_key_auth``. To prevent any\npod-reachable caller from triggering shutdown, set\n``general_settings.drain_endpoint_token`` (or the ``DRAIN_ENDPOINT_TOKEN``\nenv var) and supply the same value on the ``X-Drain-Token`` header from\nthe preStop hook. Calls without the header (or with a wrong value) get a\n401 and have no side effect.\n\nWhen enabled, it marks the worker as shutting down (so /health/readiness\nand /health/liveliness immediately start returning 503, removing the pod\nfrom service) and blocks until the in-flight request counter drains to\nzero or ``GRACEFUL_SHUTDOWN_TIMEOUT`` elapses. Unlike a fixed ``sleep``,\nthis returns as soon as real in-flight work is done.\n\nWire it up as:\n\n```yaml\nlifecycle:\n  preStop:\n    httpGet:\n      path: /health/drain\n      port: 4000\n      httpHeaders:\n        - name: X-Drain-Token\n          value: <same value as drain_endpoint_token>\n```"
      operationId: health_drain_health_drain_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  /health/liveness:
    get:
      tags:
      - health
      summary: Health Liveliness
      description: 'Unprotected endpoint for checking if worker is alive.


        Returns 503 once graceful shutdown has begun so Kubernetes stops counting

        the draining pod as live and terminates it on schedule.'
      operationId: health_liveliness_health_liveness_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
    options:
      tags:
      - health
      summary: Health Liveliness Options
      description: Options endpoint for health/liveliness check.
      operationId: health_liveliness_options_health_liveness_options
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  /health/liveliness:
    get:
      tags:
      - health
      summary: Health Liveliness
      description: 'Unprotected endpoint for checking if worker is alive.


        Returns 503 once graceful shutdown has begun so Kubernetes stops counting

        the draining pod as live and terminates it on schedule.'
      operationId: health_liveliness_health_liveliness_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
    options:
      tags:
      - health
      summary: Health Liveliness Options
      description: Options endpoint for health/liveliness check.
      operationId: health_liveliness_options_health_liveliness_options
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  /health/test_connection:
    post:
      tags:
      - health
      summary: Test Model Connection
      description: "Test a direct connection to a specific model.\n\nThis endpoint allows you to verify if your proxy can successfully connect to a specific model.\nIt's useful for troubleshooting model connectivity issues without going through the full proxy routing.\n\nExample:\n```bash\n# If model is configured in proxy_config.yaml, you only need to specify the model name:\ncurl -X POST 'http://localhost:4000/health/test_connection' \\\n  -H 'Authorization: Bearer sk-1234' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\n    \"litellm_params\": {\n        \"model\": \"gpt-4o\"\n    },\n    \"mode\": \"chat\"\n  }'\n\n# The endpoint will automatically use api_key, api_base, etc. from proxy_config.yaml\n\n# You can also override specific params or test with custom credentials:\ncurl -X POST 'http://localhost:4000/health/test_connection' \\\n  -H 'Authorization: Bearer sk-1234' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\n    \"litellm_params\": {\n        \"model\": \"azure/gpt-4o\",\n        \"api_key\": \"os.environ/AZURE_OPENAI_API_KEY\",\n        \"api_base\": \"os.environ/AZURE_OPENAI_ENDPOINT\",\n        \"api_version\": \"2024-10-21\"\n    },\n    \"mode\": \"chat\"\n  }'\n```\n\nNote: \n- If the model is configured in proxy_config.yaml, credentials (api_key, api_base, etc.) \n  will be automatically loaded from the config (with resolved environment variables).\n- You can override specific params by including them in the request.\n- You can use `os.environ/VARIABLE_NAME` syntax to reference environment variables,\n  which will be resolved automatically (same as in proxy_config.yaml).\n\nReturns:\n    dict: A dictionary containing the health check result with either success information or error details."
      operationId: test_model_connection_health_test_connection_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Body_test_model_connection_health_test_connection_post'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - APIKeyHeader: []
components:
  schemas:
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    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
    Body_test_model_connection_health_test_connection_post:
      properties:
        mode:
          anyOf:
          - type: string
            enum:
            - chat
            - completion
            - embedding
            - audio_speech
            - audio_transcription
            - image_generation
            - video_generation
            - batch
            - rerank
            - realtime
            - responses
            - ocr
          - type: 'null'
          title: Mode
          description: The mode to test the model with. If not provided, auto-detected from model capabilities.
        litellm_params:
          additionalProperties: true
          type: object
          title: Litellm Params
          description: Parameters for litellm.completion, litellm.embedding for the health check
        model_info:
          additionalProperties: true
          type: object
          title: Model Info
          description: Model info for the health check
      type: object
      title: Body_test_model_connection_health_test_connection_post
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      description: Bearer token
      in: header
      name: x-litellm-api-key