API Dash · OpenAPI Overlay 1.0.0

API Evangelist enhancements for the API Dash APIs

5 actions 5 updates servers extends openapi/api-dash-openapi.yml
Derived by API Evangelist Built from the contracts API Dash publishes. API Dash did not publish this file.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-findingx-apievangelist-severityx-apievangelist-sourcex-apievangelist-harvestedx-apievangelist-providerx-apievangelist-subjectserversx-apievangelist-artifacts

Targets 4

$.info
$
$.components.securitySchemes.OAuth2PasswordBearer
$.paths['/auth/login'].post

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for the API Dash APIs
  version: 1.0.0
extends: openapi/api-dash-openapi.yml
x-provenance:
  generated: '2026-09-02'
  method: generated
  source: openapi/_original/api-dash-openapi.json
  note: >-
    Every action below records something API Evangelist measured against the live API on
    2026-09-02, applied as an overlay so the harvested contract at openapi/_original/ is never
    mutated. Nothing here invents behaviour: the servers[] entry is the host the provider's own
    dev guide and the foss42/api repository homepage name, and each x- extension points at the
    artifact in this repo carrying the evidence.
actions:
- target: $.info
  description: Record where this document was harvested from and what it describes.
  update:
    x-apievangelist-source: https://api.apidash.dev/openapi.json
    x-apievangelist-harvested: '2026-09-02'
    x-apievangelist-provider: api-dash
    x-apievangelist-subject: >-
      The API Dash APIs — the free, keyless, open-source utility API published by foss42 alongside
      the API Dash client. Distinct from the API Dash desktop/mobile application.
- target: $
  description: >-
    Add the production host. The published document ships NO servers[] block at all, which leaves
    every path relative and unresolvable for any consumer that did not fetch the spec from the API
    host itself. https://api.apidash.dev is named by the provider in
    doc/dev_guide/api_endpoints_for_testing.md and is the repository homepage of foss42/api.
  update:
    servers:
    - url: https://api.apidash.dev
      description: Production
- target: $.components.securitySchemes.OAuth2PasswordBearer
  description: >-
    Flag the token endpoint mismatch. The scheme declares tokenUrl "/login" but the operation that
    mints a token is POST /auth/login, so a client resolving the declared value against the server
    base gets a 404. Recorded rather than corrected — the overlay must not silently rewrite a
    provider's contract into one they did not publish.
  update:
    x-apievangelist-finding: >-
      tokenUrl "/login" does not resolve. The token-minting operation is
      login_for_access_token_auth_login_post at POST /auth/login.
    x-apievangelist-severity: high
- target: $.paths['/auth/login'].post
  description: Flag credentials carried in the query string.
  update:
    x-apievangelist-finding: >-
      username and password are declared as QUERY parameters. Credentials in a URL are logged by
      proxies, browsers and server access logs. A form or JSON body would avoid that.
    x-apievangelist-severity: high
- target: $.info
  description: Cross-link the derived artifacts so an agent reading only the spec can find the rest.
  update:
    x-apievangelist-artifacts:
      authentication: authentication/api-dash-authentication.yml
      conventions: conventions/api-dash-conventions.yml
      errors: errors/api-dash-problem-types.yml
      data-model: data-model/api-dash-data-model.yml
      conformance: conformance/api-dash-conformance.yml
      rate-limits: rate-limits/api-dash-rate-limits.yml
      sandbox: sandbox/api-dash-sandbox.yml
      mcp: mcp/api-dash-mcp.yml
      tool-crosswalk: mcp/api-dash-tool-crosswalk.yml
      skills: skills/_index.yml
    x-apievangelist-gaps:
      declared_error_statuses: [422]
      missing_error_statuses: [401, 403, 404, 429, 500]
      pagination: none
      idempotency: none
      rate_limit_headers: none
      note: >-
        Not one 401 or 403 is declared, including on the five operations that carry the OAuth2
        security requirement, so the contract does not tell an agent what an unauthenticated call
        returns.

Work with this as data

Every overlay 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 openapi overlays

4 MCP tools reach this
  • find_overlaysBrowse and filter every overlay in the catalog.
  • 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 overlay
curl "https://apis.io/api/v1/overlays/api-dash-openapi-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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.