UvA/HvA AI Gateway

The shared AI gateway the University of Amsterdam and the Amsterdam University of Applied Sciences run for their students, staff and developers. It fronts GPT, Claude and open-weight models behind one institution-issued key on an OpenAI-compatible surface, and it serves a complete OpenAPI 3.1 description at /openapi.json — 530 paths, 723 operations. The software is LiteLLM, but the deployment sits on the institution's own Azure estate under uva.nl, the key issuance is the institution's, and the setup guides are published by the institution's own GitHub organisation. This is the one contract in this profile that describes something the University of Amsterdam actually operates.

OpenAPI Specification

university-of-amsterdam-llm-gateway-openapi.json Raw ↑
{
 "openapi": "3.1.0",
 "info": {
  "title": "LiteLLM 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\ud83d\udc49 [```LiteLLM Admin Panel on /ui```](/ui). Create, Edit Keys with SSO. Having issues? Try [```Fallback Login```](/fallback/login)\n\n\ud83d\udcb8 [```LiteLLM Model Cost Map```](https://models.litellm.ai/).\n\n\ud83d\udd0e [```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."
  }
 },
 "paths": {
  "/models": {
   "get": {
    "tags": [
     "model management"
    ],
    "summary": "Model List",
    "description": "Use `/model/info` - to get detailed model information, example - pricing, mode, etc.\n\nThis is just for compatibility with openai projects like aider.\n\nQuery Parameters:\n- include_metadata: Include additional metadata in the response with fallback information\n- fallback_type: Type of fallbacks to include (\"general\", \"context_window\", \"content_policy\")\n                Defaults to \"general\" when include_metadata=true\n- scope: Optional scope parameter. Currently only accepts \"expand\".\n         When scope=expand is passed, proxy admins, team admins, and org admins\n         will receive all proxy models as if they are a proxy admin.\n- healthy_only: When true, hide models whose backing deployments are all marked\n                unhealthy by background health checks. Requires\n                `background_health_checks: true` in general_settings; without\n                health state the listing is returned unfiltered (fail open).\n                Models expanded from wildcard routes (e.g. `openai/*`) are not\n                filtered, and nothing is hidden when `allowed_fails_policy` is\n                configured (cooldown remains the sole exclusion mechanism).\n                Hiding is presentation-only: a hidden model can still be\n                called directly.",
    "operationId": "model_list_models_get",
    "security": [
     {
      "APIKeyHeader": []
     }
    ],
    "parameters": [
     {
      "name": "return_wildcard_routes",
      "in": "query",
      "required": false,
      "schema": {
       "anyOf": [
        {
         "type": "boolean"
        },
        {
         "type": "null"
        }
       ],
       "default": false,
       "title": "Return Wildcard Routes"
      }
     },
     {
      "name": "team_id",
      "in": "query",
      "required": false,
      "schema": {
       "anyOf": [
        {
         "type": "string"
        },
        {
         "type": "null"
        }
       ],
       "title": "Team Id"
      }
     },
     {
      "name": "include_model_access_groups",
      "in": "query",
      "required": false,
      "schema": {
       "anyOf": [
        {
         "type": "boolean"
        },
        {
         "type": "null"
        }
       ],
       "default": false,
       "title": "Include Model Access Groups"
      }
     },
     {
      "name": "only_model_access_groups",
      "in": "query",
      "required": false,
      "schema": {
       "anyOf": [
        {
         "type": "boolean"
        },
        {
         "type": "null"
        }
       ],
       "default": false,
       "title": "Only Model Access Groups"
      }
     },
     {
      "name": "include_metadata",
      "in": "query",
      "required": false,
      "schema": {
       "anyOf": [
        {
         "type": "boolean"
        },
        {
         "type": "null"
        }
       ],
       "default": false,
       "title": "Include Metadata"
      }
     },
     {
      "name": "fallback_type",
      "in": "query",
      "required": false,
      "schema": {
       "anyOf": [
        {
         "type": "string"
        },
        {
         "type": "null"
        }
       ],
       "title": "Fallback Type"
      }
     },
     {
      "name": "scope",
      "in": "query",
      "required": false,
      "schema": {
       "anyOf": [
        {
         "type": "string"
        },
        {
         "type": "null"
        }
       ],
       "title": "Scope"
      }
     },
     {
      "name": "healthy_only",
      "in": "query",
      "required": false,
      "schema": {
       "anyOf": [
        {
         "type": "boolean"
        },
        {
         "type": "null"
        }
       ],
       "default": false,
       "title": "Healthy Only"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Successful Response",
      "content": {
       "application/json": {
        "schema": {}
       }
      }
     },
     "422": {
      "description": "Validation Error",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/HTTPValidationError"
        }
       }
      }
     }
    }
   }
  },
  "/v1/models": {
   "get": {
    "tags": [
     "model management"
    ],
    "summary": "Model List",
    "description": "Use `/model/info` - to get detailed model information, example - pricing, mode, etc.\n\nThis is just for compatibility with openai projects like aider.\n\nQuery Parameters:\n- include_metadata: Include additional metadata in the response with fallback information\n- fallback_type: Type of fallbacks to include (\"general\", \"context_window\", \"content_policy\")\n                Defaults to \"general\" when include_metadata=true\n- scope: Optional scope parameter. Currently only accepts \"expand\".\n         When scope=expand is passed, proxy admins, team admins, and org admins\n         will receive all proxy models as if they are a proxy admin.\n- healthy_only: When true, hide models whose backing deployments are all marked\n                unhealthy by background health checks. Requires\n                `background_health_checks: true` in general_settings; without\n                health state the listing is returned unfiltered (fail open).\n                Models expanded from wildcard routes (e.g. `openai/*`) are not\n                filtered, and nothing is hidden when `allowed_fails_policy` is\n                configured (cooldown remains the sole exclusion mechanism).\n                Hiding is presentation-only: a hidden model can still be\n                called directly.",
    "operationId": "model_list_v1_models_get",
    "security": [
     {
      "APIKeyHeader": []
     }
    ],
    "parameters": [
     {
      "name": "return_wildcard_routes",
      "in": "query",
      "required": false,
      "schema": {
       "anyOf": [
        {
         "type": "boolean"
        },
        {
         "type": "null"
        }
       ],
       "default": false,
       "title": "Return Wildcard Routes"
      }
     },
     {
      "name": "team_id",
      "in": "query",
      "required": false,
      "schema": {
       "anyOf": [
        {
         "type": "string"
        },
        {
         "type": "null"
        }
       ],
       "title": "Team Id"
      }
     },
     {
      "name": "include_model_access_groups",
      "in": "query",
      "required": false,
      "schema": {
       "anyOf": [
        {
         "type": "boolean"
        },
        {
         "type": "null"
        }
       ],
       "default": false,
       "title": "Include Model Access Groups"
      }
     },
     {
      "name": "only_model_access_groups",
      "in": "query",
      "required": false,
      "schema": {
       "anyOf": [
        {
         "type": "boolean"
        },
        {
         "type": "null"
        }
       ],
       "default": false,
       "title": "Only Model Access Groups"
      }
     },
     {
      "name": "include_metadata",
      "in": "query",
      "required": false,
      "schema": {
       "anyOf": [
        {
         "type": "boolean"
        },
        {
         "type": "null"
        }
       ],
       "default": false,
       "title": "Include Metadata"
      }
     },
     {
      "name": "fallback_type",
      "in": "query",
      "required": false,
      "schema": {
       "anyOf": [
        {
         "type": "string"
        },
        {
         "type": "null"
        }
       ],
       "title": "Fallback Type"
      }
     },
     {
      "name": "scope",
      "in": "query",
      "required": false,
      "schema": {
       "anyOf": [
        {
         "type": "string"
        },
        {
         "type": "null"
        }
       ],
       "title": "Scope"
      }
     },
     {
      "name": "healthy_only",
      "in": "query",
      "required": false,
      "schema": {
       "anyOf": [
        {
         "type": "boolean"
        },
        {
         "type": "null"
        }
       ],
       "default": false,
       "title": "Healthy Only"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Successful Response",
      "content": {
       "application/json": {
        "schema": {}
       }
      }
     },
     "422": {
      "description": "Validation Error",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/HTTPValidationError"
        }
       }
      }
     }
    }
   }
  },
  "/models/{model_id}": {
   "get": {
    "tags": [
     "model management"
    ],
    "summary": "Model Info",
    "description": "Retrieve information about a specific model accessible to your API key.\n\nReturns model details only if the model is available to your API key/team.\nReturns 404 if the model doesn't exist or is not accessible.\n\nFollows OpenAI API specification for individual model retrieval.\nhttps://platform.openai.com/docs/api-reference/models/retrieve\n\nQuery parameters mirror `/v1/models` so the same caller context (team\nscoping, health filtering, paused deployments) drives both endpoints; the\nlisting's public id must resolve to the same internal deployment here.",
    "operationId": "model_info_models__model_id__get",
    "security": [
     {
      "APIKeyHeader": []
     }
    ],
    "parameters": [
     {
      "name": "model_id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string",
       "title": "Model Id"
      }
     },
     {
      "name": "team_id",
      "in": "query",
      "required": false,
      "schema": {
       "anyOf": [
        {
         "type": "string"
        },
        {
         "type": "null"
        }
       ],
       "title": "Team Id"
      }
     },
     {
      "name": "healthy_only",
      "in": "query",
      "required": false,
      "schema": {
       "anyOf": [
        {
         "type": "boolean"
        },
        {
         "type": "null"
        }
       ],
       "default": false,
       "title": "Healthy Only"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Successful Response",
      "content": {
       "application/json": {
        "schema": {}
       }
      }
     },
     "422": {
      "description": "Validation Error",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/HTTPValidationError"
        }
       }
      }
     }
    }
   }
  },
  "/v1/models/{model_id}": {
   "get": {
    "tags": [
     "model management"
    ],
    "summary": "Model Info",
    "description": "Retrieve information about a specific model accessible to your API key.\n\nReturns model details only if the model is available to your API key/team.\nReturns 404 if the model doesn't exist or is not accessible.\n\nFollows OpenAI API specification for individual model retrieval.\nhttps://platform.openai.com/docs/api-reference/models/retrieve\n\nQuery parameters mirror `/v1/models` so the same caller context (team\nscoping, health filtering, paused deployments) drives both endpoints; the\nlisting's public id must resolve to the same internal deployment here.",
    "operationId": "model_info_v1_models__model_id__get",
    "security": [
     {
      "APIKeyHeader": []
     }
    ],
    "parameters": [
     {
      "name": "model_id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string",
       "title": "Model Id"
      }
     },
     {
      "name": "team_id",
      "in": "query",
      "required": false,
      "schema": {
       "anyOf": [
        {
         "type": "string"
        },
        {
         "type": "null"
        }
       ],
       "title": "Team Id"
      }
     },
     {
      "name": "healthy_only",
      "in": "query",
      "required": false,
      "schema": {
       "anyOf": [
        {
         "type": "boolean"
        },
        {
         "type": "null"
        }
       ],
       "default": false,
       "title": "Healthy Only"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Successful Response",
      "content": {
       "application/json": {
        "schema": {}
       }
      }
     },
     "422": {
      "description": "Validation Error",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/HTTPValidationError"
        }
       }
      }
     }
    }
   }
  },
  "/openai/deployments/{model}/chat/completions": {
   "post": {
    "tags": [
     "chat/completions"
    ],
    "summary": "Chat Completion",
    "description": "Follows the exact same API spec as `OpenAI's Chat API https://platform.openai.com/docs/api-reference/chat`\n\n```bash\ncurl -X POST http://localhost:4000/v1/chat/completions \n-H \"Content-Type: application/json\" \n-H \"Authorization: Bearer sk-1234\" \n-d '{\n    \"model\": \"gpt-4o\",\n    \"messages\": [\n        {\n            \"role\": \"user\",\n            \"content\": \"Hello!\"\n        }\n    ]\n}'\n```",
    "operationId": "chat_completion_openai_deployments__model__chat_completions_post",
    "security": [
     {
      "APIKeyHeader": []
     }
    ],
    "parameters": [
     {
      "name": "model",
      "in": "path",
      "required": true,
      "schema": {
       "anyOf": [
        {
         "type": "string"
        },
        {
         "type": "null"
        }
       ],
       "title": "Model"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Successful response",
      "content": {
       "application/json": {
        "schema": {}
       }
      }
     },
     "401": {
      "description": "AuthenticationError",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/ErrorResponse"
        }
       }
      }
     },
     "404": {
      "description": "NotFoundError",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/ErrorResponse"
        }
       }
      }
     },
     "400": {
      "description": "ContentPolicyViolationError",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/ErrorResponse"
        }
       }
      }
     },
     "422": {
      "description": "UnprocessableEntityError",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/ErrorResponse"
        }
       }
      }
     },
     "408": {
      "description": "Timeout",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/ErrorResponse"
        }
       }
      }
     },
     "403": {
      "description": "PermissionDeniedError",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/ErrorResponse"
        }
       }
      }
     },
     "429": {
      "description": "\nUnified rate-limit error.\n\nEvery rate-limit condition surfaced by litellm \u2014 whether it originated from\nan upstream LLM provider, a vendor batch endpoint, or one of litellm's own\nproxy-side limiters (parallel-requests, dynamic-rate, batch-rate, budget,\nmax-iterations, etc.) \u2014 is raised as an instance of this class.\n\nThe :attr:`category` attribute lets callers distinguish the source. See\n:class:`RateLimitErrorCategory` for the available values.\n",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/ErrorResponse"
        }
       }
      }
     },
     "500": {
      "description": "JSONSchemaValidationError",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/ErrorResponse"
        }
       }
      }
     },
     "503": {
      "description": "APIConnectionError",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/ErrorResponse"
        }
       }
      }
     }
    },
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "required": [
         "model",
         "messages"
        ],
        "properties": {
         "model": {
          "title": "Model",
          "type": "string"
         },
         "messages": {
          "items": {
           "anyOf": [
            {
             "$ref": "#/components/schemas/ChatCompletionUserMessage"
            },
            {
             "$ref": "#/components/schemas/ChatCompletionAssistantMessage"
            },
            {
             "$ref": "#/components/schemas/ChatCompletionToolMessage"
            },
            {
             "$ref": "#/components/schemas/ChatCompletionSystemMessage"
            },
            {
             "$ref": "#/components/schemas/ChatCompletionFunctionMessage"
            },
            {
             "$ref": "#/components/schemas/ChatCompletionDeveloperMessage"
            }
           ]
          },
          "title": "Messages",
          "type": "array",
          "example": [
           {
            "role": "user",
            "content": "Hello, how are you?"
           }
          ]
         },
         "frequency_penalty": {
          "anyOf": [
           {
            "type": "number"
           },
           {
            "type": "null"
           }
          ],
          "default": null,
          "title": "Frequency Penalty"
         },
         "logit_bias": {
          "anyOf": [
           {
            "additionalProperties": {
             "type": "number"
            },
            "type": "object"
           },
           {
            "type": "null"
           }
          ],
          "default": null,
          "title": "Logit Bias"
         },
         "logprobs": {
          "anyOf": [
           {
            "type": "boolean"
           },
           {
            "type": "null"
           }
          ],
          "default": null,
          "title": "Logprobs"
         },
         "top_logprobs": {
          "anyOf": [
           {
            "type": "integer"
           },
           {
            "type": "null"
           }
          ],
          "default": null,
          "title": "Top Logprobs"
         },
         "max_tokens": {
          "anyOf": [
           {
            "type": "integer"
           },
           {
            "type": "null"
           }
          ],
          "default": null,
          "title": "Max Tokens"
         },
         "n": {
          "anyOf": [
           {
            "type": "integer"
           },
           {
            "type": "null"
           }
          ],
          "default": null,
          "title": "N"
         },
         "presence_penalty": {
          "anyOf": [
           {
            "type": "number"
           },
           {
            "type": "null"
           }
          ],
          "default": null,
          "title": "Presence Penalty"
         },
         "response_format": {
          "anyOf": [
           {
            "additionalProperties": true,
            "type": "object"
           },
           {
            "type": "null"
           }
          ],
          "default": null,
          "title": "Response Format"
         },
         "seed": {
          "anyOf": [
           {
            "type": "integer"
           },
           {
            "type": "null"
           }
          ],
          "default": null,
          "title": "Seed"
         },
         "service_tier": {
          "anyOf": [
           {
            "type": "string"
           },
           {
            "type": "null"
           }
          ],
          "default": null,
          "title": "Service Tier"
         },
         "stop": {
          "anyOf": [
           {
            "type": "string"
           },
           {
            "items": {
             "type": "string"
            },
            "type": "array"
           },
           {
            "type": "null"
           }
          ],
          "default": null,
          "title": "Stop"
         },
         "stream_options": {
          "anyOf": [
           {
            "additionalProperties": true,
            "type": "object"
           },
           {
            "type": "null"
           }
          ],
          "default": null,
          "title": "Stream Options"
         },
         "temperature": {
          "anyOf": [
           {
            "type": "number"
           },
           {
            "type": "null"
           }
          ],
          "default": null,
          "title": "Temperature"
         },
         "top_p": {
          "anyOf": [
           {
            "type": "number"
           },
           {
            "type": "null"
           }
          ],
          "default": null,
          "title": "Top P"
         },
         "tools": {
          "anyOf": [
           {
            "items": {
             "additionalProperties": true,
             "type": "object"
            },
            "type": "array"
           },
           {
            "type": "null"
           }
          ],
          "default": null,
          "title": "Tools"
         },
         "tool_choice": {
          "anyOf": [
           {
            "type": "string"
           },
           {
            "additionalProperties": true,
            "type": "object"
           },
           {
            "type": "null"
           }
          ],
          "default": null,
          "title": "Tool Choice"
         },
         "parallel_tool_calls": {
          "anyOf": [
           {
            "type": "boolean"
           },
           {
            "type": "null"
           }
          ],
          "default": null,
          "title": "Parallel Tool Calls"
         },
         "function_call": {
          "anyOf": [
           {
            "type": "string"
           },
           {
            "additionalProperties": true,
            "type": "object"
           },
           {
            "type": "null"
           }
          ],
          "default": null,
          "title": "Function Call"
         },
         "functions": {
          "anyOf": [
           {
            "items": {
             "additionalProperties": true,
             "type": "object"
            },
            "type": "array"
           },
           {
            "type": "null"
           }
          ],
          "default": null,
          "title": "Functions"
         },
         "user": {
          "anyOf": [
           {
            "type": "string"
           },
           {
            "type": "null"
           }
          ],
          "default": null,
          "title": "User"
         },
         "stream": {
          "anyOf": [
           {
            "type": "boolean"
           },
           {
            "type": "null"
           }
          ],
          "default": null,
          "title": "Stream"
         },
         "metadata": {
          "anyOf": [
           {
            "additionalProperties": true,
            "type": "object"
           },
           {
            "type": "null"
           }
          ],
          "default": null,
          "title": "Metadata"
         },
         "guardrails": {
          "anyOf": [
           {
            "items": {
             "type": "string"
            },
            "type": "array"
           },
           {
            "type": "null"
           }
          ],
          "default": null,
          "title": "Guardrails"
         },
         "caching": {
          "anyOf": [
           {
            "type": "boolean"
           },
           {
            "type": "null"
           }
          ],
          "default": null,
          "title": "Caching"
         },
         "num_retries": {
          "anyOf": [
           {
            "type": "integer"
           },
           {
            "type": "null"
           }
          ],
          "default": null,
          "title": "Num Retries"
         },
         "context_window_fallback_dict": {
          "anyOf": [
           {
            "additionalProperties": {
             "type": "string"
            },
            "type": "object"
           },
           {
            "type": "null"
           }
          ],
          "default": null,
          "title": "Context Window Fallback Dict"
         },
         "fallbacks": {
          "anyOf": [
           {
            "items": {
             "type": "string"
            },
            "type": "array"
           },
           {
            "type": "null"
           }
          ],
          "default": null,
          "title": "Fallbacks"
         }
        }
       }
      }
     }
    }
   }
  },
  "/engines/{model}/chat/completions": {
   "post": {
    "tags": [
     "chat/completions"
    ],
    "summary": "Chat Completion",
    "description": "Follows the exact same API spec as `OpenAI's Chat API https://platform.openai.com/docs/api-reference/chat`\n\n```bash\ncurl -X POST http://localhost:4000/v1/chat/completions \n-H \"Content-Type: application/json\" \n-H \"Authorization: Bearer sk-1234\" \n-d '{\n    \"model\": \"gpt-4o\",\n    \"messages\": [\n        {\n            \"role\": \"user\",\n            \"content\": \"Hello!\"\n        }\n    ]\n}'\n```",
    "operationId": "chat_completion_engines__model__chat_completions_post",
    "security": [
     {
      "APIKeyHeader": []
     }
    ],
    "parameters": [
     {
      "name": "model",
      "in": "path",
      "required": true,
      "schema": {
       "anyOf": [
        {
         "type": "string"
        },
        {
         "type": "null"
        }
       ],
       "title": "Model"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Successful Response",
      "content": {
       "application/json": {
        "schema": {}
       }
      }
     },
     "422": {
      "description": "Validation Error",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/HTTPValidationError"
        }
       }
      }
     }
    },
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "required": [
         "model",
         "messages"
        ],
        "properties": {
         "model": {
          "title": "Model",
          "type": "string"
         },
         "messages": {
          "items": {
           "anyOf": [
            {
             "$ref": "#/components/schemas/ChatCompletionUserMessage"
            },
            {
             "$ref": "#/components/schemas/ChatCompletionAssistantMessage"
            },
            {
             "$ref": "#/components/schemas/ChatCompletionToolMessage"
            },
            {
             "$ref": "#/components/schemas/ChatCompletionSystemMessage"
            },
            {
             "$ref": "#/components/schemas/ChatCompletionFunctionMessage"
            },
            {
             "$ref": "#/components/schemas/ChatCompletionDeveloperMessage"
            }
           ]
          },
          "title": "Messages",
          "type": "array",
          "example": [
           {
            "role": "user",
            "content": "Hello, how are you?"
           }
          ]
         },
         "frequency_penalty": {
          "anyOf": [
           {
            "type": "number"
           },
           {
            "type": "null"
           }
          ],
          "default": null,
          "title": "Frequency Penalty"
         },
         "logit_bias": {
          "anyOf": [
           {
            "additionalProperties": {
             "type": "number"
            },
            "type": "object"
           },
           {
            "type": "null"
           }
          ],
          "default": null,
          "title": "Logit Bias"
         },
         "logprobs": {
          "anyOf": [
           {
            "type": "boolean"
           },
           {
            "type": "null"
           }
          ],
          "default": null,
          "title": "Logprobs"
         },
         "top_logprobs": {
          "anyOf": [
           {
            "type": "integer"
           },
           {
            "type": "null"
           }
          ],
          "default": null,
          "title": "Top Logprobs"
         },
         "max_tokens": {
          "anyOf": [
           {
            "type": "integer"
           },
           {
            "type": "null"
           }
          ],
          "default": null,
          "title": "Max Tokens"
         },
         "n": {
          "anyOf": [
           {
            "type": "integer"
           },
           {
            "type": "null"
           }
          ],
          "default": null,
          "title": "N"
         },
         "presence_penalty": {
          "anyOf": [
           {
            "type": "number"
           },
           {
            "type": "null"
           }
          ],
          "default": null,
          "title": "Presence Penalty"
         },
         "response_format": {
          "anyOf": [
           {
            "additionalProperties": true,
            "type": "object"
           },
           {
            "type": "null"
           }
          ],
          "default": null,
          "title": "Response Format"
         },
         "seed": {
          "anyOf": [
           {
            "type": "integer"
           },
           {
            "type": "null"
           }
          ],
          "default": null,
          "title": "Seed"
         },
         "service_tier": {
          "anyOf": [
           {
            "type": "string"
           },
           {
            "type": "null"
           }
          ],
          "default": null,
          "title": "Service Tier"
         },
         "stop": {
          "anyOf": [
           {
            "type": "string"
           },
           {
            "items": {
             "type": "string"
            },
            "type": "array"
           },
           {
            "type": "null"
           }
          ],
          "default": null,
          "title": "Stop"
         },
         "stream_options": {
          "anyOf": [
           {
            "additionalProperties": true,
            "type": "object"
           },
           {
            "type": "null"
           }
          ],
          "default": null,
          "title": "Stream Options"
         },
         "temperature": {
          "anyOf": [
           {
            "type": "number"
           },
           {
            "type": "null"
           }
          ],
          "default": null,
          "title": "Temperature"
         },
         "top_p": {
          "anyOf": [
           {
            "type": "number"
           },
           {
            "type": "null"
           }
          ],
          "default": null,
          "title": "Top P"
         },
         "tools": {
          "anyOf": [
           {
            "items": {
             "additionalProperties": true,
             "type": "object"
            },
            "type": "array"
           },
           {
            "type": "null"
           }
          ],
          "default": null,
          "title": "Tools"
         },
         "tool_choice": {
          "anyOf": [
           {
            "type": "string"
           },
           {
            "additionalProperties": true,
            "type": "object"
           },
           {
            "type": "null

# --- truncated at 32 KB (1806 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/university-of-amsterdam/refs/heads/main/openapi/university-of-amsterdam-llm-gateway-openapi.json