Flume Health · OpenAPI Overlay 1.0.0

API Evangelist enhancements for the Flume Console API

5 actions 5 updates update
Generated by API Evangelist Written by API Evangelist tooling for Flume Health's API. It is a proposal applied on top of the contract, not a document Flume Health publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

contactx-documentationx-api-referencex-supportx-status-pagex-terms-of-servicex-privacy-policyx-conventions

Targets 3

$.info
$
$.securityDefinitions.OAuth2Implicit

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for the Flume Console API
  version: 1.0.0
x-generated: '2026-08-16'
x-method: generated
x-source: openapi/flume-health-console-api-openapi.yml
x-extends: openapi/flume-health-console-api-openapi.yml
x-note: >-
  Overlay of API Evangelist's enrichment onto Flume Health's published Swagger 2.0 contract. It does not change any
  path, operation, parameter, or schema. It adds (1) the contact and licence metadata the contract leaves empty,
  (2) the OAuth grants and endpoints the live authorization server at auth.flumehealth.com advertises but the
  contract's securityDefinitions block omits, (3) the tenancy, pagination, error-envelope and tracing conventions
  documented in conventions/flume-health-conventions.yml, and (4) a pointer to the OAuth-protected MCP endpoint
  that sits inside the same /api/v1/context/ namespace. Never mutate the original.

actions:
- target: $.info
  description: Add the contact block the contract leaves as an empty object, taken from info.description's own mailto and Flume's public site.
  update:
    contact:
      name: Flume Health
      email: sales@flumehealth.com
      url: https://www.flumehealth.com/
    x-documentation: https://docs.flumehealth.com/
    x-api-reference: https://console.flumehealth.com/api/docs
    x-support: https://support.flumehealth.com/portal/en/home
    x-status-page: https://status.flumehealth.com/
    x-terms-of-service: https://www.flumehealth.com/terms
    x-privacy-policy: https://www.flumehealth.com/privacy

- target: $
  description: >-
    Record the runtime conventions that are true of the whole API but stated nowhere in the contract — the
    X-Flume-Account-ID tenancy header, cursor pagination, the vendor error envelope, the x-trace-id response
    header, the absence of idempotency keys, and the absence of any rate-limit signal.
  update:
    x-conventions:
      tenancy:
        header: X-Flume-Account-ID
        required_on: 122 of 153 operations
        source_of_ids: GET /api/v1/accounts
      pagination:
        style: cursor
        request: [pageToken, pageSize]
        response_field: nextPageToken
      sorting:
        request: [orderBy, orderDesc]
      custom_methods:
        style: aip-136-colon-verb
        examples: ['sessions/{id}:approve', 'knowledge/{id}:supersede', 'sourceFiles:search', 'objects/{objId}/instances:bulk']
      errors:
        schema: responses.ErrorResponse
        media_type: application/json
        rfc9457: false
      tracing:
        response_header: x-trace-id
      idempotency:
        supported: false
      rate_limits:
        documented: false
        headers: none
      versioning:
        style: uri-path
        live: [v1, v2]
        deprecation_policy: none-published

- target: $.securityDefinitions.OAuth2Implicit
  description: >-
    Annotate the single declared security scheme with what the live authorization-server metadata at
    auth.flumehealth.com actually advertises. The contract declares only the implicit flow; the deployed server
    supports authorization_code with PKCE, client_credentials, refresh_token, device_code and token exchange, and
    offers dynamic client registration.
  update:
    x-token-endpoint: https://auth.flumehealth.com/oauth/token
    x-issuer: https://auth.flumehealth.com/
    x-jwks-uri: https://auth.flumehealth.com/.well-known/jwks.json
    x-userinfo-endpoint: https://auth.flumehealth.com/userinfo
    x-revocation-endpoint: https://auth.flumehealth.com/oauth/revoke
    x-registration-endpoint: https://auth.flumehealth.com/oidc/register
    x-device-authorization-endpoint: https://auth.flumehealth.com/oauth/device/code
    x-end-session-endpoint: https://auth.flumehealth.com/oidc/logout
    x-discovery:
    - https://auth.flumehealth.com/.well-known/oauth-authorization-server
    - https://auth.flumehealth.com/.well-known/openid-configuration
    x-grant-types-supported:
    - authorization_code
    - client_credentials
    - refresh_token
    - implicit
    - password
    - 'urn:ietf:params:oauth:grant-type:device_code'
    - 'urn:ietf:params:oauth:grant-type:token-exchange'
    - 'urn:ietf:params:oauth:grant-type:jwt-bearer'
    x-code-challenge-methods-supported: [S256, plain]
    x-dpop-signing-alg-values-supported: [ES256]
    x-audience: https://console.flumehealth.com/api
    x-note: >-
      The spec's implicit flow is the browser flow the Console itself uses. Machine-to-machine integrators should
      use authorization_code + PKCE or client_credentials against the token endpoint above.

- target: $
  description: Point at the OAuth-protected Model Context Protocol endpoint served from the same host and namespace, which the contract itself does not describe.
  update:
    x-mcp:
      endpoint: https://console.flumehealth.com/api/v1/context/mcp
      transport: streamable-http
      auth: oauth2
      protected_resource_metadata: https://console.flumehealth.com/.well-known/oauth-protected-resource
      scopes_supported: [openid, profile, email, offline_access]
      tools_readable_anonymously: false
      note: >-
        Not declared in the contract. Discovered by probing /.well-known/oauth-protected-resource on this host;
        POST tools/list returns 401 with an RFC 9728 Bearer challenge.

- target: $
  description: Record the contract's own currency and provenance for downstream consumers.
  update:
    x-contract-provenance:
      spec_url: https://console.flumehealth.com/api/docs/docs.json
      rendered_at: https://console.flumehealth.com/api/docs
      renderer: Redoc
      format: swagger-2.0
      harvested: '2026-08-16'
      http_status: 200
      size_bytes: 644100
      paths: 108
      operations: 153
      definitions: 270
      upgrade_note: >-
        Swagger 2.0. Flume has not published an OpenAPI 3.x or 3.1 rendering, which limits JSON Schema 2020-12
        fidelity, callbacks, and multi-server declarations for consumers and tooling.