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.
What the actions change
contactx-documentationx-api-referencex-supportx-status-pagex-terms-of-servicex-privacy-policyx-conventions
Targets 3
$.info
$
$.securityDefinitions.OAuth2Implicit
OpenAPI Overlay
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.