Every API here is available over the APIs.io API and to AI agents over MCP.
openapi: 3.2.0
info:
title: HealthSherpa Public Enrollment Sessions Enrollments API
version: 0.1.0
description: 'Machine-readable contract for the currently available public HealthSherpa endpoints: GET /v1/ping, GET /v1/reference/counties, GET /v1/reference/issuers, GET /v1/reference/providers, POST /v1/quotes, the approval-gated POST /v1/enrollment-sessions, and the approval-gated direct enrollment endpoints GET /v1/enrollments, POST /v1/enrollments, PUT /v1/enrollments/{enrollment_id}, GET /v1/enrollments/{enrollment_id}, POST /v1/enrollments/{enrollment_id}/cancellations, POST /v1/enrollments/{enrollment_id}/terminations, POST /v1/enrollments/{enrollment_id}/submissions, GET /v1/enrollments/{enrollment_id}/payment_redirect, and POST /v1/enrollments/{enrollment_id}/supporting_documentation. Object schemas remain additive and clients should ignore response fields they do not recognize.
Most HealthSherpa-owned errors follow the unified `ErrorResponse` schema: `{ "error": { "code": string, "message": string, "details"?: object } }`. The direct enrollment endpoints instead return service failures as a top-level `errors[]` array: `{ "errors": [ { "code": string, "message": string, "field"?: string } ] }`. Edge-generated failures (API Gateway and WAF, before a request reaches the service) always use the unified `ErrorResponse` envelope, including on the direct enrollment endpoints — most notably a missing or invalid API key (`403 forbidden`).'
servers:
- url: https://api.one.healthsherpa.com
description: Production
security:
- ApiKeyAuth: []
tags:
- name: Enrollments
paths:
/v1/enrollments:
get:
tags:
- Enrollments
summary: List direct enrollment applications
description: Approval-gated direct enrollment API for listing off-exchange applications for the approved account. Send `product=ichra` and `exchange=off_exchange` as required query parameters so HealthSherpa ONE can validate the direct-enrollment routing channel. The response is paginated and can be filtered by policy status, partner or employer ids, plan identifiers, plan year, and last-updated timestamp. Only the documented list filters are supported; unsupported query parameters are rejected with `400 invalid_request`. Service failures are returned as a top-level `errors[]` array with `code`, `message`, and optional `field`; failures blocked at the API edge use the unified `error` envelope.
operationId: listEnrollments
parameters:
- name: product
in: query
required: true
description: Direct-enrollment product. Must be `ichra`.
schema:
type: string
enum:
- ichra
- name: exchange
in: query
required: true
description: Direct-enrollment routing channel. Must be `off_exchange`.
schema:
type: string
enum:
- off_exchange
- name: policy_status
in: query
required: false
description: Filter applications by carrier policy status.
schema:
type: string
enum:
- draft
- pending_effectuation
- effectuated
- submission_failed
- cancelled
- terminated
- name: external_id
in: query
required: false
description: Filter by the partner-supplied external application id.
schema:
type: string
- name: plan_year
in: query
required: false
description: Filter by application plan year.
schema:
type: integer
- name: issuer_hios_id
in: query
required: false
description: Filter by issuer HIOS id.
schema:
type: string
- name: plan_hios_id
in: query
required: false
description: Filter by plan HIOS id.
schema:
type: string
- name: employer_external_id
in: query
required: false
description: Filter by the employer's external identifier.
schema:
type: string
- name: updated_since
in: query
required: false
description: ISO 8601 timestamp. Returns applications updated after this time.
schema:
type: string
format: date-time
- name: limit
in: query
required: false
description: Maximum number of applications to return.
schema:
type: integer
minimum: 1
default: 25
maximum: 100
- name: offset
in: query
required: false
description: Zero-based pagination offset.
schema:
type: integer
minimum: 0
default: 0
responses:
'200':
$ref: '#/components/responses/EnrollmentListResponse'
'400':
$ref: '#/components/responses/EnrollmentError'
'401':
$ref: '#/components/responses/EnrollmentError'
'403':
$ref: '#/components/responses/EnrollmentError'
'429':
$ref: '#/components/responses/EnrollmentError'
'500':
$ref: '#/components/responses/EnrollmentError'
'502':
$ref: '#/components/responses/BadGateway'
'503':
$ref: '#/components/responses/EnrollmentError'
'504':
$ref: '#/components/responses/GatewayTimeout'
post:
tags:
- Enrollments
summary: Create a direct enrollment application
description: 'Approval-gated direct enrollment API for partners that need API-level control over off-exchange applications. Send the application payload at the request root and include the HealthSherpa ONE `context` object for routing. Direct enrollment currently supports `context.product = "ichra"` and `context.exchange = "off_exchange"`; other products and exchanges are not supported here. Use `POST /v1/enrollment-sessions` for on-exchange enrollment. HealthSherpa ONE uses `context` only for routing and applies the agent and TPA identifiers (`_agent_id`, `tpa_slug`) from your approved account setup; caller-supplied `_agent_id`, `tpa_slug`, `actor.agent_id`, and `agent_of_record` are rejected.
Successful responses include the application data, current validation state, and `next_actions[]` when actions are currently available. `next_actions[].href` values point to public `/v1/enrollments` routes. Service failures (missing or malformed idempotency keys, authorization failures, invalid JSON bodies, validation errors, and service-availability errors) are returned as a top-level `errors[]` array with `code`, `message`, and optional `field`. Edge-generated failures (API Gateway and WAF) instead use the unified `error` envelope: a missing or invalid API key returns `403 forbidden`, and `413`, `415`, edge `429`, and gateway `502`/`504` also use that envelope. See the `EnrollmentError` response for both shapes.'
operationId: createEnrollment
parameters:
- name: Idempotency-Key
in: header
required: true
description: Required partner-supplied request identifier (1-255 chars, `A-Z`, `a-z`, `0-9`, `-`, `_`). Scoped by API key and retained for 24 hours.
schema:
type: string
pattern: ^[A-Za-z0-9_\-]{1,255}$
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/EnrollmentRequest'
example:
context:
product: ichra
exchange: off_exchange
plan_year: 2026
external_id: crm-application-123
plan_hios_id: 12345CO1234501
desired_effective_date: '2026-01-01'
applicants:
primary:
first_name: Jane
last_name: Doe
date_of_birth: '1990-01-01'
gender: female
email: jane@example.com
phone: '5551234567'
signature: Jane Doe
residential_address:
street_address_1: 123 Main St
city: Denver
state: CO
zip_code: '80202'
special_enrollment_period:
event_type: offered_ichra
event_date: '2025-12-01'
responses:
'200':
$ref: '#/components/responses/EnrollmentResponse'
'201':
$ref: '#/components/responses/EnrollmentResponse'
'400':
$ref: '#/components/responses/EnrollmentError'
'401':
$ref: '#/components/responses/EnrollmentError'
'403':
$ref: '#/components/responses/EnrollmentError'
'409':
$ref: '#/components/responses/EnrollmentError'
'413':
$ref: '#/components/responses/PayloadTooLarge'
'422':
$ref: '#/components/responses/EnrollmentError'
'429':
$ref: '#/components/responses/EnrollmentError'
'500':
$ref: '#/components/responses/EnrollmentError'
'502':
$ref: '#/components/responses/BadGateway'
'503':
$ref: '#/components/responses/EnrollmentError'
'504':
$ref: '#/components/responses/GatewayTimeout'
/v1/enrollments/{enrollment_id}/submissions:
post:
tags:
- Enrollments
summary: Submit a direct enrollment application
description: 'Approval-gated direct enrollment API for submitting an off-exchange application to the carrier. Send the HealthSherpa ONE `context` object with `product = "ichra"` and `exchange = "off_exchange"`; `plan_year` is not required for submission. Check `errors[]` on the application response before calling; submission fails with `422` if the application still has outstanding errors. A successful call returns `202 Accepted`; submission processing can continue asynchronously, so poll `GET /v1/enrollments/{enrollment_id}?product=ichra&exchange=off_exchange` until `policy_status` reflects the final outcome. If a network timeout or other unknown-result failure occurs after calling submit, poll readback before retrying so you do not turn an already-accepted submission into a duplicate/no-change response.
For carriers that support post-enrollment changes, call `PUT /v1/enrollments/{enrollment_id}` to send supported changes, then call this endpoint again to resubmit the tracked changes. The API returns `422` if no changes have been made since the last submission. Service failures are returned as a top-level `errors[]` array with `code`, `message`, and optional `field`; failures blocked at the API edge use the unified `error` envelope.'
operationId: submitEnrollmentApplication
parameters:
- name: enrollment_id
in: path
required: true
description: Application id returned by `POST /v1/enrollments`.
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SubmitRequest'
example:
context:
product: ichra
exchange: off_exchange
responses:
'202':
$ref: '#/components/responses/SubmitEnrollmentResponse'
'400':
$ref: '#/components/responses/EnrollmentError'
'401':
$ref: '#/components/responses/EnrollmentError'
'403':
$ref: '#/components/responses/EnrollmentError'
'404':
$ref: '#/components/responses/EnrollmentError'
'422':
$ref: '#/components/responses/EnrollmentError'
'429':
$ref: '#/components/responses/EnrollmentError'
'500':
$ref: '#/components/responses/EnrollmentError'
'502':
$ref: '#/components/responses/BadGateway'
'503':
$ref: '#/components/responses/EnrollmentError'
'504':
$ref: '#/components/responses/GatewayTimeout'
/v1/enrollments/{enrollment_id}/cancellations:
post:
tags:
- Enrollments
summary: Cancel a direct enrollment application
description: Approval-gated direct enrollment API for cancelling an off-exchange application that is pending effectuation. Send the HealthSherpa ONE `context` object with `product = "ichra"` and `exchange = "off_exchange"`. Not all carriers support cancellation; check the application read response for carrier capabilities before calling. A successful response returns `202 Accepted` with the updated status-change data. If a network timeout or other unknown-result failure occurs after calling cancel, poll `GET /v1/enrollments/{enrollment_id}?product=ichra&exchange=off_exchange` before retrying so you do not turn an already-accepted cancellation into a misleading not-allowed/no-op retry response. Service failures use a top-level `errors[]` array with `code`, `message`, and optional `field`; cancellation-not-allowed responses use `400 invalid_field_value`. Failures blocked at the API edge use the unified `error` envelope.
operationId: cancelEnrollmentApplication
parameters:
- name: enrollment_id
in: path
required: true
description: Application id returned by `POST /v1/enrollments`.
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/EnrollmentActionContextRequest'
example:
context:
product: ichra
exchange: off_exchange
responses:
'202':
$ref: '#/components/responses/EnrollmentStatusChangeResponse'
'400':
$ref: '#/components/responses/EnrollmentError'
'401':
$ref: '#/components/responses/EnrollmentError'
'403':
$ref: '#/components/responses/EnrollmentError'
'404':
$ref: '#/components/responses/EnrollmentError'
'429':
$ref: '#/components/responses/EnrollmentError'
'500':
$ref: '#/components/responses/EnrollmentError'
'502':
$ref: '#/components/responses/BadGateway'
'503':
$ref: '#/components/responses/EnrollmentError'
'504':
$ref: '#/components/responses/GatewayTimeout'
/v1/enrollments/{enrollment_id}/terminations:
post:
tags:
- Enrollments
summary: Terminate an active policy
description: Approval-gated direct enrollment API for terminating an active off-exchange policy before its natural expiration date. Send the HealthSherpa ONE `context` object with `product = "ichra"` and `exchange = "off_exchange"`. Not all carriers support termination; check the application read response for carrier capabilities before calling. A successful response returns `202 Accepted` with the updated status-change data. If a network timeout or other unknown-result failure occurs after calling terminate, poll `GET /v1/enrollments/{enrollment_id}?product=ichra&exchange=off_exchange` before retrying so you do not turn an already-accepted termination into a misleading not-allowed/no-op retry response. Service failures use a top-level `errors[]` array with `code`, `message`, and optional `field`; termination-not-allowed responses use `400 invalid_field_value`. Failures blocked at the API edge use the unified `error` envelope.
operationId: terminateEnrollmentApplication
parameters:
- name: enrollment_id
in: path
required: true
description: Application id returned by `POST /v1/enrollments`.
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/EnrollmentActionContextRequest'
example:
context:
product: ichra
exchange: off_exchange
responses:
'202':
$ref: '#/components/responses/EnrollmentStatusChangeResponse'
'400':
$ref: '#/components/responses/EnrollmentError'
'401':
$ref: '#/components/responses/EnrollmentError'
'403':
$ref: '#/components/responses/EnrollmentError'
'404':
$ref: '#/components/responses/EnrollmentError'
'429':
$ref: '#/components/responses/EnrollmentError'
'500':
$ref: '#/components/responses/EnrollmentError'
'502':
$ref: '#/components/responses/BadGateway'
'503':
$ref: '#/components/responses/EnrollmentError'
'504':
$ref: '#/components/responses/GatewayTimeout'
/v1/enrollments/{enrollment_id}/payment_redirect:
get:
tags:
- Enrollments
summary: Get payment redirect data
description: 'Approval-gated direct enrollment API for retrieving the carrier payment redirect data for an off-exchange application. Send `product=ichra` and `exchange=off_exchange` as required query parameters so HealthSherpa ONE can validate the direct-enrollment routing channel. Use this when the application response includes `payment_instructions.payment_redirect_supported = true`.
The response includes the carrier endpoint URL, the HTTP method, and form fields to submit in the shopper''s browser. The keys and values in `fields` vary by carrier. Do not interpret, filter, rename, or modify them; include every returned field exactly as provided as hidden inputs in a form POST to `endpoint`. Service failures are returned as a top-level `errors[]` array with `code`, `message`, and optional `field`; failures blocked at the API edge use the unified `error` envelope.'
operationId: getEnrollmentPaymentRedirect
parameters:
- name: enrollment_id
in: path
required: true
description: Application id returned by `POST /v1/enrollments`.
schema:
type: string
- name: product
in: query
required: true
description: Direct-enrollment product. Must be `ichra`.
schema:
type: string
enum:
- ichra
- name: exchange
in: query
required: true
description: Direct-enrollment routing channel. Must be `off_exchange`.
schema:
type: string
enum:
- off_exchange
responses:
'200':
$ref: '#/components/responses/PaymentRedirectResponse'
'401':
$ref: '#/components/responses/EnrollmentError'
'403':
$ref: '#/components/responses/EnrollmentError'
'404':
$ref: '#/components/responses/EnrollmentError'
'422':
$ref: '#/components/responses/EnrollmentError'
'429':
$ref: '#/components/responses/EnrollmentError'
'500':
$ref: '#/components/responses/EnrollmentError'
'502':
$ref: '#/components/responses/BadGateway'
'503':
$ref: '#/components/responses/EnrollmentError'
'504':
$ref: '#/components/responses/GatewayTimeout'
/v1/enrollments/{enrollment_id}/supporting_documentation:
post:
tags:
- Enrollments
summary: Upload supporting documentation
description: 'Approval-gated direct enrollment API for uploading a document that supports SEP eligibility for an off-exchange application. Some carriers require documentation for certain SEP reasons before coverage is effectuated. Use `GET /v1/enrollments/{enrollment_id}?product=ichra&exchange=off_exchange` to check `document_status`.
Send the HealthSherpa ONE `context` object with `product = "ichra"` and `exchange = "off_exchange"` plus either `multipart/form-data` with a binary `file`, or `application/json` with the same file bytes in `file.content_base64`. HealthSherpa ONE does not persist the uploaded file after processing. Service failures are returned as a top-level `errors[]` array with `code`, `message`, and optional `field`; failures blocked at the API edge use the unified `error` envelope.'
operationId: uploadEnrollmentSupportingDocumentation
parameters:
- name: enrollment_id
in: path
required: true
description: Application id returned by `POST /v1/enrollments`.
schema:
type: string
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
required:
- context
- file
- document_type
properties:
context:
$ref: '#/components/schemas/EnrollmentActionContext'
file:
type: string
format: binary
description: The document file. Supported formats are PDF, JPEG, and PNG.
document_type:
type: string
enum:
- sep
description: Type of supporting document. Currently only `sep` is accepted.
application/json:
schema:
$ref: '#/components/schemas/SupportingDocumentationRequest'
example:
context:
product: ichra
exchange: off_exchange
file:
filename: sep-proof.pdf
content_type: application/pdf
content_base64: JVBERi0xLjQg...
document_type: sep
responses:
'200':
$ref: '#/components/responses/SupportingDocumentationResponse'
'201':
$ref: '#/components/responses/SupportingDocumentationResponse'
'400':
$ref: '#/components/responses/EnrollmentError'
'401':
$ref: '#/components/responses/EnrollmentError'
'403':
$ref: '#/components/responses/EnrollmentError'
'404':
$ref: '#/components/responses/EnrollmentError'
'413':
$ref: '#/components/responses/PayloadTooLarge'
'415':
$ref: '#/components/responses/UnsupportedMediaType'
'422':
$ref: '#/components/responses/EnrollmentError'
'429':
$ref: '#/components/responses/EnrollmentError'
'500':
$ref: '#/components/responses/EnrollmentError'
'502':
$ref: '#/components/responses/BadGateway'
'503':
$ref: '#/components/responses/EnrollmentError'
'504':
$ref: '#/components/responses/GatewayTimeout'
/v1/enrollments/{enrollment_id}:
get:
tags:
- Enrollments
summary: Fetch a direct enrollment application
description: 'Approval-gated direct enrollment API for reading an application. Send `product=ichra` and `exchange=off_exchange` as required query parameters so HealthSherpa ONE can validate the direct-enrollment routing channel. HealthSherpa ONE returns the application details for the supplied id. `product` and `exchange` are the only supported read query parameters; `include_events`, `plan_year`, and other read-time query parameters are not supported. The application plan year is returned in the response. Service failures (authorization failures, invalid routing context, and service-availability errors) are returned as a top-level `errors[]` array with `code`, `message`, and optional `field`. Edge-generated failures (API Gateway and WAF) instead use the unified `error` envelope: a missing or invalid API key returns `403 forbidden`, and gateway `502`/`504` also use that envelope. See the `EnrollmentError` response for both shapes.'
operationId: getEnrollment
parameters:
- name: enrollment_id
in: path
required: true
description: Application id returned by `POST /v1/enrollments`.
schema:
type: string
- name: product
in: query
required: true
description: Direct-enrollment product. Must be `ichra`.
schema:
type: string
enum:
- ichra
- name: exchange
in: query
required: true
description: Direct-enrollment routing channel. Must be `off_exchange`.
schema:
type: string
enum:
- off_exchange
responses:
'200':
$ref: '#/components/responses/EnrollmentResponse'
'400':
$ref: '#/components/responses/EnrollmentError'
'401':
$ref: '#/components/responses/EnrollmentError'
'403':
$ref: '#/components/responses/EnrollmentError'
'404':
$ref: '#/components/responses/EnrollmentError'
'429':
$ref: '#/components/responses/EnrollmentError'
'500':
$ref: '#/components/responses/EnrollmentError'
'502':
$ref: '#/components/responses/BadGateway'
'503':
$ref: '#/components/responses/EnrollmentError'
'504':
$ref: '#/components/responses/GatewayTimeout'
put:
tags:
- Enrollments
summary: Update a direct enrollment application
description: 'Approval-gated direct enrollment API for updating an off-exchange application. Treat `PUT` as a full replacement-style update. Send the HealthSherpa ONE `context` object with `product = "ichra"`, `exchange = "off_exchange"`, and `plan_year` plus the full current application payload, including unchanged fields you want to preserve. When sending `applicants.primary`, include the full current primary applicant object because omitted primary fields may be cleared. Other products and exchanges are not supported here. HealthSherpa ONE maps `context.plan_year` to the application `plan_year`; `context` is not part of the stored application payload. Before submission, all application fields may be updated. After submission, carriers may restrict updates; check `supports_changes`, `can_change_plan`, and `can_report_change` on `GET /v1/enrollments/{enrollment_id}?product=ichra&exchange=off_exchange` before attempting post-enrollment changes. HealthSherpa ONE applies the agent and TPA identifiers (`_agent_id`, `tpa_slug`) from your approved account setup; caller-supplied `_agent_id`, `tpa_slug`, `actor.agent_id`, and `agent_of_record` are rejected.
Successful responses include the updated application data and current validation state. Service failures (authorization failures, invalid JSON bodies, validation errors, and service-availability errors) are returned as a top-level `errors[]` array with `code`, `message`, and optional `field`. Edge-generated failures (API Gateway and WAF) instead use the unified `error` envelope: a missing or invalid API key returns `403 forbidden`, and `413`, `415`, edge `429`, and gateway `502`/`504` also use that envelope. See the `EnrollmentError` response for both shapes.'
operationId: updateEnrollment
parameters:
- name: enrollment_id
in: path
required: true
description: Application id returned by `POST /v1/enrollments`.
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/EnrollmentUpdateRequest'
example:
context:
product: ichra
exchange: off_exchange
plan_year: 2026
applicants:
primary:
first_name: Jane
last_name: Doe
date_of_birth: '1990-01-01'
gender: female
us_citizen: true
resides_in_state: true
uses_tobacco: false
language_spoken: english
language_written: english
email: jane.updated@example.com
phone: '5559876543'
signature: Jane Doe
responses:
'200':
$ref: '#/components/responses/EnrollmentResponse'
'400':
$ref: '#/components/responses/EnrollmentError'
'401':
$ref: '#/components/responses/EnrollmentError'
'403':
$ref: '#/components/responses/EnrollmentError'
'404':
$ref: '#/components/responses/EnrollmentError'
'409':
$ref: '#/components/responses/EnrollmentError'
'413':
$ref: '#/components/responses/PayloadTooLarge'
'415':
$ref: '#/components/responses/UnsupportedMediaType'
'422':
$ref: '#/components/responses/EnrollmentError'
'429':
$ref: '#/components/responses/EnrollmentError'
'500':
$ref: '#/components/responses/EnrollmentError'
'502':
$ref: '#/components/responses/BadGateway'
'503':
$ref: '#/components/responses/EnrollmentError'
'504':
$ref: '#/components/responses/GatewayTimeout'
components:
schemas:
MailingAddress:
allOf:
- $ref: '#/components/schemas/Address'
- type: object
properties:
different_from_home_address:
type: boolean
default: false
billing_use_only:
type: boolean
default: false
Dependent:
allOf:
- $ref: '#/components/schemas/ApplicantBase'
- type: object
required:
- first_name
- last_name
- date_of_birth
- gender
- relationship
properties:
gender:
type: string
enum:
- male
- female
description: Dependent applicant gender.
relationship:
type: string
enum:
- spouse
- domestic_partner
- child
- parent
- stepparent
- parent_in_law
- sibling
- other
description: '`spouse`, `domestic_partner`, and `child` are supported by all carriers. Other values are accepted by select carriers and states.'
alternate_address:
$ref: '#/components/schemas/AlternateAddress'
guardian:
$ref: '#/components/schemas/Guardian'
PrimaryApplicant:
allOf:
- $ref: '#/components/schemas/ApplicantBase'
- type: object
required:
- first_name
- last_name
- date_of_birth
- gender
properties:
phone_type:
type: string
enum:
- home
- work
- cell
secondary_phone:
type: string
description: Secondary contact phone number.
guardian:
$ref: '#/components/schemas/Guardian'
responsible_party:
$ref: '#/components/schemas/ResponsibleParty'
translator:
$ref: '#/components/schemas/Translator'
signature:
type: string
description: Primary applicant's typed full legal name. Required for submission. This field is on the applicant object, not under the top-level `signatures` object.
children_live_with_primary:
type: boolean
has_pediatric_dental_coverage:
type: boolean
previously_applied:
type: boolean
previously_applied_member_id:
type: string
primary_requesting_coverage:
type: boolean
description: Whether the primary applicant is requesting coverage for themselves.
PaymentRedirectResponse:
type: object
additionalProperties: true
required:
- application_id
- method
- endpoint
- fields
properties:
application_id:
type: string
description: Application id returned by `POST /v1/enrollments`.
method:
type: string
description: HTTP method to use. Always `POST`.
enum:
- POST
endpoint:
type: string
format: uri
description: The carrier payment URL. Submit the form POST to this URL.
fields:
type: array
description: Form fields to include as hidden inputs in the POST to `endpoint`. The fields vary by carrier payment integration. Include every returned field exactly as provided; do not filter, rename, or modify entries.
items:
type: object
required:
- name
- value
properties:
name:
type: string
# --- truncated at 32 KB (87 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/healthsherpa/refs/heads/main/openapi/healthsherpa-enrollments-api-openapi.yml