openapi: 3.2.0 info: title: Marketplace Enrollments API version: '1' description: '# About The Marketplace API delivers data that helps users find and evaluate health care insurance plans, providers, and coverage information on the marketplace.' servers: - url: https://marketplace.api.healthcare.gov/api/v1 security: - API Key: [] tags: - name: Enrollments description: Enrollment grouping validation and information. paths: /enrollment/validate: x-summary: Validate Enrollment Groups post: tags: - Enrollments description: 'Verify extended enrollment groups. The endpoint assumes an effective date of Jan 1 on enrollees ages unless effective_age is provided on the enrollees. If `is_custom` is true, the endpoint will validate that each group has available plans for enrollment, otherwise it will only verify that there are no address, hardship, or CSR conflicts. ### Note Use this JSON example in the **POST** Body in the request pane to view results ``` { "maxAPTC": 0, "year": 2019, "is_custom": false, "division": "HealthCare", "enrollment_groups": [ { "id": "a8007732-1425-43e3-81fc-f0e7b9331474", "effective_date": "2019-01-01", "csr": "Exchange variant (no CSR)", "enrollees": [ "1" ], "subscriber_id": "xxxxxxxxxx", "relationships": [ { "super_id": "1234567", "sub_id": "7654321", "relationship": "" } ] } ], "enrollees": [ { "id": "1234567", "name": "John", "gender": "Male", "dob": "1975-01-01", "location": { "city": "Philadelphia", "state": "PA", "street_1": "123 Fake Street", "street_2": "Apt. 237", "zipcode": "19123", "countyfips": "42101" }, "csr": "Exchange variant (no CSR)", "is_filer": true, "has_hardship": true, "relationship": "", "allowed_metal_levels": [ "Catastrophic" ], "allowed_plan_ids": [ "15614PA0010004" ], "current_enrollment": { "plan_id": "15614PA0010004", "effective_date": "2018-07-07", "is_smoker": false } } ] } ```' parameters: - $ref: '#/components/parameters/apikey' responses: '200': description: The extended enrollment info is valid content: application/json: schema: properties: suggested_groups: type: array items: $ref: '#/components/schemas/FlattenedEnrollmentGroup' '400': description: The extended enrollment info is not valid content: application/json: schema: properties: suggested_groups: type: array items: $ref: '#/components/schemas/FlattenedEnrollmentGroup' requestBody: content: application/json: schema: $ref: '#/components/schemas/ExtendedEnrollment' description: Extended enrollment information summary: Create enrollment validate x-summary-source: derived operationId: postEnrollmentValidate x-operation-id-source: derived components: schemas: GenderEnum: enum: - Male - Female type: string ExtendedEnrollment: properties: maxAPTC: description: The max aptc value for the enrollment type: number format: float year: x-example: 2019 description: The year coverage is being sought for type: number format: integer is_custom: description: Is this a default enrollment grouping provided by an FFM GetEnrollment request, or a custom grouping? type: boolean division: $ref: '#/components/schemas/ProductDivisionEnum' enrollment_groups: items: properties: id: description: The enrollment group id (uuid) type: string pattern: ^[0-9a-f-]+$ csr: $ref: '#/components/schemas/CostSharingReductionEnum' enrollees: description: Enrollee ids type: array items: type: string subscriber_id: type: string relationships: type: array items: $ref: '#/components/schemas/RelationshipEdge' effective_date: description: Date coverage goes into effect (ISO-8601 YYYY-MM-DD) type: string pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}$ x-example: '2020-01-01' type: array enrollees: type: array items: $ref: '#/components/schemas/ExtendedEnrollee' ProductDivisionEnum: enum: - HealthCare - Dental type: string MetalLevelEnum: enum: - Catastrophic - Silver - Bronze - Gold - Platinum type: string properties: {} Relationship: description: Should match one of the [listed valid relationships](#introduction/more-information-about-households). type: string properties: {} ExtendedEnrollee: properties: id: description: The enrollee's id (uuid) type: string pattern: ^[a-f0-9-]+$ name: description: The enrollee's name type: string gender: $ref: '#/components/schemas/GenderEnum' dob: description: The enrollee's date of birth (iso8601 date) type: string pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}$ location: $ref: '#/components/schemas/Address' csr: $ref: '#/components/schemas/CostSharingReductionEnum' is_filer: type: boolean effective_age: type: integer description: Effective age of the enrollee at time of enrollment. has_hardship: type: boolean relationship: $ref: '#/components/schemas/Relationship' allowed_metal_levels: type: array items: $ref: '#/components/schemas/MetalLevelEnum' allowed_plan_ids: type: array items: $ref: '#/components/schemas/PlanID' current_enrollment: $ref: '#/components/schemas/CurrentEnrollment' RelationshipEdge: properties: super_id: type: string description: enrollee id sub_id: type: string description: enrollee id relationship: $ref: '#/components/schemas/Relationship' FlattenedEnrollmentGroup: properties: id: type: string csr: $ref: '#/components/schemas/CostSharingReductionEnum' enrollees: type: array items: $ref: '#/components/schemas/ExtendedEnrollee' grouping_reason: type: string year: x-example: 2019 type: number format: integer subscriber_id: type: string relationships: type: array items: $ref: '#/components/schemas/RelationshipEdge' effective_date: type: string pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}$ x-example: '2020-01-01' Address: properties: city: type: string state: type: string street_1: type: string street_2: type: string zipcode: type: string countyfips: description: 5-digit county FIPS code type: string type: object CostSharingReductionEnum: type: string description: Cost-sharing reduction (CSR) enum: - Exchange variant (no CSR) - Zero Cost Sharing Plan Variation - Limited Cost Sharing Plan Variation - 73% AV Level Silver Plan CSR - 87% AV Level Silver Plan CSR - 94% AV Level Silver Plan CSR - Non-Exchange variant - Unknown CSR properties: {} CurrentEnrollment: description: Current/existing enrollment information used to determine tobacco status for CiC enrollments. This will ensure rate calculation is done correctly. required: - plan_id - effective_date - uses_tobacco properties: plan_id: $ref: '#/components/schemas/PlanID' effective_date: description: Date plan went into effect (ISO-8601 YYYY-MM-DD) type: string pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}$ x-example: '2020-01-01' uses_tobacco: type: boolean type: object PlanID: type: string pattern: ^[0-9]{5}[A-Z]{2}[0-9]{7}$ properties: {} parameters: apikey: name: apikey description: API key used for authentication in: query required: true x-example: d687412e7b53146b2631dc01974ad0a4 schema: type: string securitySchemes: API_Key: x-summary: API Key Auth description: Your API key should be included as a query parameter with the request. You can [fill out this form](https://cms.gov1.qualtrics.com/jfe/form/SV_4N2GHCJfNuX7n8x) to request an API key. type: apiKey in: query name: apikey x-example: d687412e7b53146b2631dc01974ad0a4