Thatch Enrollments API

Enrollments use member objects to track employee coverage status.

OpenAPI Specification

thatch-enrollments-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Thatch for Platforms Deductions Enrollments API
  version: v1
  description: Thatch for Platforms is a set of REST APIs and embeddable JavaScript components that let partners bring ICHRA (Individual Coverage Health Reimbursement Arrangement) benefits to their customers. Partners onboard employers, manage employees, run the employer onboarding flow through an embedded iframe, track enrollments and members, model pay schedules, and retrieve payroll deductions. Access is limited to approved partners; contact platforms@thatch.com to set up an account and generate an API key in the Thatch dashboard.
  contact:
    name: Thatch for Platforms
    email: platforms@thatch.com
    url: https://docs.thatch.com/
  x-apisjson-generated: '2026-07-21'
  x-apisjson-method: generated
  x-apisjson-source: https://docs.thatch.com/api/
servers:
- url: https://partners.thatchcloud.com/api/partners/v1
  description: Production
security:
- Bearer: []
tags:
- name: Enrollments
  description: Enrollments use member objects to track employee coverage status.
paths:
  /enrollments:
    get:
      tags:
      - Enrollments
      operationId: listEnrollments
      summary: List enrollments
      parameters:
      - $ref: '#/components/parameters/PageNumber'
      - $ref: '#/components/parameters/PageSize'
      - name: member_id
        in: query
        description: Member ID
        schema:
          type: string
        example: mbr_01j7h53qa133q71z25n7a3w0n4
      - name: status
        in: query
        description: Enrollment status
        schema:
          type: string
          enum:
          - in_member_cart
          - member_confirmed
          - submission_processing
          - carrier_processing
          - completed
          - canceled
        example: completed
      responses:
        '200':
          description: List enrollments
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Enrollment'
                  pagination:
                    $ref: '#/components/schemas/Pagination'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /enrollments/{id}:
    parameters:
    - name: id
      in: path
      required: true
      description: Enrollment ID
      schema:
        type: string
      example: enrlmt_01j7h53qgy8m2q1f7563hbvpqj
    get:
      tags:
      - Enrollments
      operationId: getEnrollment
      summary: Get an enrollment
      responses:
        '200':
          description: Get an enrollment
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Enrollment'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  parameters:
    PageNumber:
      name: page[number]
      in: query
      description: Page number
      schema:
        type: integer
        format: int32
        minimum: 1
        default: 1
    PageSize:
      name: page[size]
      in: query
      description: Number of items per page. Must be between 1 and 1,000 (inclusive). Defaults to 20.
      schema:
        type: integer
        format: int32
        minimum: 1
        maximum: 1000
        default: 20
  responses:
    NotFound:
      description: The requested resource was not found.
    Unauthorized:
      description: Authentication failed or API key missing/invalid.
  schemas:
    Enrollment:
      type: object
      properties:
        id:
          type: string
          example: enrlmt_01j7h53qgy8m2q1f7563hbvpqj
        member_id:
          type: string
          example: mbr_01j7h53qa133q71z25n7a3w0n4
        coverage_types:
          type: array
          items:
            type: string
          example:
          - medical
        status:
          type: string
          enum:
          - in_member_cart
          - member_confirmed
          - submission_processing
          - carrier_processing
          - completed
          - canceled
        status_events:
          type: array
          items:
            $ref: '#/components/schemas/StatusEvent'
        plan:
          $ref: '#/components/schemas/Plan'
        plan_id:
          type: string
        plan_code:
          type: string
          example: standard
        premium:
          $ref: '#/components/schemas/Money'
        broker:
          $ref: '#/components/schemas/Broker'
        enrollment_coverages:
          type: array
          items:
            $ref: '#/components/schemas/EnrollmentCoverage'
    Broker:
      type: object
      properties:
        name:
          type: string
          example: Thatch Health Insurance Services LLC
        npn:
          type: string
          example: '20782309'
    EnrollmentCoverage:
      type: object
      properties:
        first_name:
          type: string
        last_name:
          type: string
        relationship:
          type: string
          example: self
        date_of_birth:
          type: string
          format: date
        gender:
          type: string
          example: female
        start_date:
          type: string
          format: date
        end_date:
          type: string
          format: date
    Money:
      type: object
      description: A monetary amount in minor units with an ISO 4217 currency code.
      properties:
        amount:
          type: integer
          description: Amount in the smallest currency unit (e.g. cents).
        currency_code:
          type: string
          example: USD
    StatusEvent:
      type: object
      properties:
        status:
          type: string
          example: completed
        timestamp:
          type: string
          format: date-time
    Plan:
      type: object
      properties:
        id:
          type: string
          example: mdpln_01j7h53nf2j0hc5a235b6xmxn4
        name:
          type: string
          example: Anthem Bronze 60 D HMO
        carrier_name:
          type: string
          example: Anthem
        hsa_eligible:
          type: boolean
        logo_url:
          type: string
        sbc_url:
          type: string
    Pagination:
      type: object
      properties:
        total_records:
          type: integer
          example: 25
        current_page:
          type: integer
          example: 1
        total_pages:
          type: integer
          example: 3
        next_page:
          type: integer
          example: 2
        prev_page:
          type: integer
          example: 0
  securitySchemes:
    Bearer:
      type: http
      scheme: bearer
      description: 'All requests are authenticated with your API key using Bearer token authentication. Include the header `Authorization: Bearer <YOUR_API_KEY>`. Generate an API key in the Thatch dashboard.'