overlay: 1.0.0
info:
title: API Evangelist enhancements for Metriport Consolidated Document API
version: 1.0.0
x-generated: '2026-08-14'
x-method: generated
x-source: 'Extends openapi/metriport-document-api-openapi.yml with the runtime semantics Metriport documents
in prose but does not express in a machine-readable contract: published per-operation rate limits,
ETag concurrency, cursor pagination, the error envelope, and the retirement status of the Devices
API operations. The original OpenAPI is never mutated.'
extends: openapi/metriport-document-api-openapi.yml
actions:
- target: $.info
description: Record the cross-cutting runtime semantics Metriport documents outside the spec.
update:
x-conventions: conventions/metriport-conventions.yml
x-errors: errors/metriport-problem-types.yml
x-lifecycle: lifecycle/metriport-lifecycle.yml
x-rate-limits: rate-limits/metriport-rate-limits.yml
x-webhooks: asyncapi/metriport-webhooks.yml
x-error-envelope: Every failure returns {"status","name","title","detail"} as application/json. RFC
7807-inspired, not RFC 7807 or RFC 9457 conformant. See https://docs.metriport.com/medical-api/more-info/error-responses
x-idempotency: Not supported. Metriport documents no Idempotency-Key header; retrying a POST is not
safe by contract. Updates use ETag/If-Match optimistic concurrency instead (412 on mismatch).
x-rate-limit-headers: None published. No X-RateLimit-* or RateLimit-* response headers and no documented
status code on exhaustion.
- target: $.paths['/medical/v1/document/query'].get
description: Annotate getDocumentQueryStatus.
update:
x-status: legacy
x-superseded-by: Network Query (https://docs.metriport.com/medical-api/api-reference/network/start-network-query)
- target: $.paths['/medical/v1/document'].get
description: Annotate listDocuments.
update:
x-pagination:
style: cursor
params:
- count
- fromItem
- toItem
default_count: 50
max_count: 500
response:
- meta.itemsOnPage
- meta.itemsInTotal
- meta.nextPage
- meta.prevPage
source: https://docs.metriport.com/medical-api/handling-data/pagination
- target: $.paths['/medical/v1/document/query'].post
description: Annotate startDocumentQuery.
update:
x-rate-limit:
limit: '20'
window: minute
rate: 1 every 3 seconds
scope: account
source: https://docs.metriport.com/medical-api/more-info/limits
x-status: legacy
x-superseded-by: Network Query (https://docs.metriport.com/medical-api/api-reference/network/start-network-query)
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.