LocalAI · OpenAPI Overlay 1.0.0

LocalAI API — API Evangelist enhancement overlay

13 actions 13 updates update extends openapi/localai-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for LocalAI's API. It is a proposal applied on top of the contract, not a document LocalAI publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-compatible-withx-error-envelopex-dry-run-forx-reversal-operationx-reversal-notex-actual-software-versionx-actual-software-version-releasedx-contract-version-stale

Targets 13

$.info
$.info.contact
$.securityDefinitions.BearerAuth
$.paths['/v1/chat/completions'].post
$.paths['/v1/messages'].post
$.paths['/v1/responses'].post
$.paths['/v1/text-to-speech/{voice-id}'].post
$.paths['/v1/mcp/chat/completions'].post
$.paths['/api/models/vram-estimate'].post
$.paths['/api/pii/analyze'].post
$.paths['/models/apply'].post
$.paths['/backends/upgrade/{name}'].post
$.paths['/api/router/{name}/corpus'].delete

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: LocalAI API — API Evangelist enhancement overlay
  version: 1.0.0
x-generated: '2026-08-27'
x-method: generated
x-source: openapi/localai-api-openapi.yml
x-note: >-
  Captures API Evangelist's enrichment of the LocalAI contract without mutating the provider's published
  Swagger 2.0 document. Every action below adds metadata that the generated contract omits — contact and
  external documentation, an accurate version, a licence URL, and per-tag descriptions naming the real
  capability each tag covers. It does NOT invent operationIds: the absence of operationIds on all 123
  operations is a provider-side gap recorded in conformance/localai-conformance.yml, and synthesising
  names here would paper over a real finding rather than fix it.
extends: openapi/localai-api-openapi.yml
actions:
- target: $.info
  description: >-
    Record the software version the contract actually describes. The published document declares
    info.version "2.0.0" while LocalAI shipped v4.9.0 on 2026-08-20.
  update:
    x-actual-software-version: 4.9.0
    x-actual-software-version-released: '2026-08-20'
    x-contract-version-stale: true
    x-external-docs:
      description: LocalAI documentation
      url: https://localai.io/docs/
    x-api-reference: https://localai.io/docs/reference/
    x-source-repository: https://github.com/mudler/LocalAI
    x-deployment-model: self-hosted
    x-default-address: http://localhost:8080
- target: $.info.contact
  description: Add the project's security contact alongside the declared general contact.
  update:
    x-security-email: security@localai.io
    x-security-policy: https://github.com/mudler/LocalAI/blob/master/SECURITY.md
- target: $.securityDefinitions.BearerAuth
  description: >-
    The contract declares one apiKey scheme. Record the additional credential transports and the
    additional authentication modes the documentation describes but the contract does not.
  update:
    x-alternate-headers:
    - x-api-key
    - xi-api-key
    x-alternate-cookies:
    - session
    - token
    x-additional-modes:
    - legacy-shared-api-key
    - user-accounts-with-roles
    - github-oauth
    - oidc-sso
    x-authentication-docs: https://localai.io/features/authentication
    x-deny-by-default-since: v4.9.0
- target: $.paths['/v1/chat/completions'].post
  description: Name the compatibility contract and the MCP extension point this operation carries.
  update:
    x-compatible-with: OpenAI Chat Completions
    x-error-envelope: openai
    x-supports-streaming: true
    x-mcp-selection: metadata.mcp_servers
- target: $.paths['/v1/messages'].post
  description: Name the Anthropic compatibility contract and its distinct error envelope.
  update:
    x-compatible-with: Anthropic Messages
    x-error-envelope: anthropic
- target: $.paths['/v1/responses'].post
  description: Name the Open Responses compatibility contract and its distinct error envelope.
  update:
    x-compatible-with: OpenAI Responses
    x-error-envelope: open-responses
- target: $.paths['/v1/text-to-speech/{voice-id}'].post
  description: Name the ElevenLabs compatibility contract that explains the xi-api-key header.
  update:
    x-compatible-with: ElevenLabs Text to Speech
- target: $.paths['/v1/mcp/chat/completions'].post
  description: Record that this endpoint runs tools server-side rather than returning tool calls to the client.
  update:
    x-mcp-role: host
    x-tool-execution: server-side
    x-loop-cap: agent.max_iterations (default 10)
    x-docs: https://localai.io/features/mcp
- target: $.paths['/api/models/vram-estimate'].post
  description: Flag the rehearsal surface an agent should call before a model install.
  update:
    x-dry-run-for: POST /models/apply
- target: $.paths['/api/pii/analyze'].post
  description: Flag the non-mutating sibling of the redaction endpoint.
  update:
    x-dry-run-for: POST /api/pii/redact
- target: $.paths['/models/apply'].post
  description: Record the reversal operation and the absence of a stated reversal window.
  update:
    x-reversal-operation: POST /models/delete/{name}
    x-reversal-window: null
    x-idempotent: false
- target: $.paths['/backends/upgrade/{name}'].post
  description: Record that no documented rollback exists for a backend upgrade.
  update:
    x-reversal-operation: null
    x-reversal-note: >-
      No downgrade or rollback endpoint is documented; recovery means deleting the backend and
      reinstalling a chosen version.
- target: $.paths['/api/router/{name}/corpus'].delete
  description: Record that the reversal is all-or-nothing.
  update:
    x-reversal-scope: whole-corpus
    x-reversal-note: Wipes the corpus file and live index; individual seeded entries cannot be removed.