H1 · OpenAPI Overlay 1.0.0

API Evangelist enhancements for H1 Price Transparency v2

6 actions 6 updates update extends openapi/h1-price-transparency-v2-openapi.json
Generated by API Evangelist Written by API Evangelist tooling for H1's API. It is a proposal applied on top of the contract, not a document H1 publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-breaking-changex-apievangelist-providerx-apievangelist-slugx-apievangelist-productx-apievangelist-legacy-brandx-apievangelist-docsx-apievangelist-harvestedx-apievangelist-spec-source

Targets 4

$.info
$.servers[0]
$.paths['/v2/pricing/locations/procedures'].get
$.paths['/v2/pricing/locations/care-clusters'].get

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for H1 Price Transparency v2
  version: 1.0.0
extends: openapi/h1-price-transparency-v2-openapi.json
x-generated: '2026-08-15'
x-method: generated
x-source: >-
  API Evangelist enrichment pass 2026-08-15. Annotations over the Price Transparency v2 contract
  assembled verbatim from the seven per-operation OpenAPI documents H1 publishes on its own
  documentation host (https://ribbon.readme.io/reference/getv2*.md). The originals are never mutated.
actions:

- target: $.info
  description: >-
    Record operator identity and provenance. H1 acquired Ribbon Health; the spec is titled "H1's API"
    while the host, docs subdomain and legacy paths still carry the Ribbon brand.
  update:
    x-apievangelist-provider: H1
    x-apievangelist-slug: h1
    x-apievangelist-product: H1 Price Transparency v2
    x-apievangelist-legacy-brand: Ribbon Health
    x-apievangelist-docs: https://ribbon.readme.io/reference/getv2procedures
    x-apievangelist-harvested: '2026-08-15'
    x-apievangelist-spec-source: https://ribbon.readme.io/reference/getv2procedures.md

- target: $.info
  description: Attach the derived artifacts that carry the semantics the contract itself does not state.
  update:
    x-apievangelist-authentication: authentication/h1-authentication.yml
    x-apievangelist-rate-limits: rate-limits/h1-rate-limits.yml
    x-apievangelist-conventions: conventions/h1-conventions.yml
    x-apievangelist-errors: errors/h1-problem-types.yml
    x-apievangelist-lifecycle: lifecycle/h1-lifecycle.yml
    x-apievangelist-plans: plans/h1-plans-pricing.yml

- target: $.info
  description: >-
    Record the runtime facts an agent needs and the contract omits - the per-key rate limit, the account
    entitlement that gates every /v2 path, and the shared response envelope.
  update:
    x-apievangelist-rate-limit: 1000 requests per minute, per key, across all /v2/* endpoints
    x-apievangelist-entitlement: doctors.can_price_transparency
    x-apievangelist-response-envelope: [parameters, total_count, page, page_size, data]

- target: $.servers[0]
  description: >-
    The v2 surface is served from the host root (https://api.ribbonhealth.com) with the version in the
    path, while the v1 surface pins /v1 into the server URL. Same host, two different base conventions.
  update:
    x-apievangelist-note: >-
      v2 paths carry their own /v2 prefix; do not append /v1. Carrier identifiers here are string
      business ids from GET /v2/carriers and are NOT interchangeable with v1 carrier UUIDs.

- target: $.paths['/v2/pricing/locations/procedures'].get
  description: >-
    Flag the behavioural break from v1 that will silently change results for anyone porting code: v1
    defaulted an absent location to New York City, v2 returns 400.
  update:
    x-apievangelist-breaking-change: >-
      Location is now REQUIRED - supply `address` or both `lat` and `lng`. v1 silently defaulted to a
      New York City address; v2 returns HTTP 400.

- target: $.paths['/v2/pricing/locations/care-clusters'].get
  description: Same required-location break as the procedures search.
  update:
    x-apievangelist-breaking-change: >-
      Location is now REQUIRED - supply `address` or both `lat` and `lng`; missing, partial or
      un-geocodable input returns HTTP 400.