Thatch Health Employers API
Platforms onboard employers into Thatch, and have employees enrolled in plans.
Platforms onboard employers into Thatch, and have employees enrolled in plans.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/thatch-health-employers-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Thatch for Platforms Deductions Employers API
description: '<p><a href="https://thatch.com/platforms">Thatch for Platforms</a> is a set of APIs and
embeddable components, enabling you to effortlessly bring ICHRA (Individual Coverage Health
Reimbursement Arrangement) benefits to your customers.</p><p>Thatch for Platforms is only
available to specific partners. Get in touch with us at
<a href="mailto:platforms@thatch.com">platforms@thatch.com</a> to set up an account.</p>
'
version: '1.0'
servers:
- url: //partners.thatchcloud.com/api/partners/v1/
security:
- Bearer: []
tags:
- name: Employers
description: 'Platforms onboard employers into Thatch, and have employees
enrolled in plans.
'
paths:
/employers:
get:
tags:
- Employers
summary: List employers
description: List employers
operationId: getEmployers
parameters:
- name: page[number]
in: query
description: Page number
schema:
minimum: 1
type: integer
format: int32
default: 1
- name: page[size]
in: query
description: Number of items per page. Must be between 1 and 1,000 (inclusive). Defaults to 20.
schema:
maximum: 1000
minimum: 1
type: integer
format: int32
default: 20
responses:
'200':
description: List employers
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedEmployerList'
post:
tags:
- Employers
summary: Create an employer
description: Create an employer
operationId: postEmployers
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/postEmployers'
required: true
responses:
'201':
description: Create an employer
content:
application/json:
schema:
$ref: '#/components/schemas/Employer'
x-codegen-request-body-name: postEmployers
/employers/{employer_id}:
get:
tags:
- Employers
summary: Get an employer
description: Get an employer
operationId: getEmployersEmployerId
parameters:
- name: employer_id
in: path
description: Employer ID
required: true
schema:
type: string
responses:
'200':
description: Get an employer
content:
application/json:
schema:
$ref: '#/components/schemas/Employer'
patch:
tags:
- Employers
summary: Update an employer
description: Update an employer
operationId: patchEmployersEmployerId
parameters:
- name: employer_id
in: path
description: Employer ID
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/patchEmployersEmployerId'
required: true
responses:
'200':
description: Update an employer
content:
application/json:
schema:
$ref: '#/components/schemas/Employer'
x-codegen-request-body-name: patchEmployersEmployerId
components:
schemas:
Pricing:
type: object
properties:
platform_fee:
type: object
description: The employer's platform fee
example:
amount: 4500
currency_code: USD
allOf:
- $ref: '#/components/schemas/Money'
patchEmployersEmployerId:
type: object
properties:
offers_health_insurance_today:
type: boolean
description: Whether the employer offers health insurance today
example: true
current_health_insurance:
type: object
properties:
individual_deductible:
type: integer
description: The individual deductible for the health insurance plan
format: int32
example: 1500
individual_oop_max:
type: integer
description: The individual out-of-pocket maximum for the health insurance plan
format: int32
example: 5000
network_type:
type: string
description: The network type for the health insurance plan (HMO, PPO, ...)
example: hmo
enum:
- hmo
- ppo
- epo
- pos
metal_tier:
type: string
description: The metal tier for the health insurance plan (bronze, silver, gold...)
example: silver
enum:
- catastrophic
- bronze
- expanded_bronze
- silver
- gold
- platinum
description: Current health insurance plan details
example:
individual_deductible: 1500
individual_oop_max: 5000
network_type: hmo
metal_tier: silver
coverage_start_date:
type: string
description: The desired start date for the employer's new health insurance coverage
format: date
example: '2027-01-01'
pricing:
type: object
properties:
platform_fee:
type: object
properties:
amount:
type: number
description: The amount of the platform fee in cents
format: float
example: 4500
currency_code:
type: string
description: The currency of the platform fee
example: USD
enum:
- USD
description: The platform fee for the employer
example:
amount: 4500
currency_code: USD
description: The monthly pricing for the employer. Must be greater than the expected commission.
example:
platform_fee:
amount: 4500
currency_code: USD
metadata:
type: object
additionalProperties:
type: string
description: Set of key-value pairs that you can attach to an API resource. This can be useful for storing additional information about the resource in a structured format. Individual keys can be unset by posting an empty string value (`""`) to them. All keys can be unset by posting an empty object value (`{}`) to `metadata`.
example:
key: value
description: Update an employer
PaginatedEmployerList:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Employer'
pagination:
$ref: '#/components/schemas/Pagination'
description: PaginatedEmployerList model
Money:
required:
- amount
- currency_code
type: object
properties:
amount:
type: integer
description: Amount as an integer in the smallest currency unit (e.g. 100 cents for $1.00)
format: int32
example: 1099
currency_code:
type: string
description: Three-letter ISO currency code
example: USD
postEmployers:
required:
- address_line1
- business_type
- city
- ein
- email
- name
- state
- zip
type: object
properties:
email:
type: string
description: Email address for the employer's administrator
example: admin@employer.test
name:
type: string
description: Employer's legal business name
example: Acme Corp
business_type:
type: string
description: Employer's business type
example: c_corp
enum:
- c_corp
- s_corp
- llc
- llp
- partnership
- sole_proprietorship
- non_profit
ein:
type: string
description: Employer's EIN (Employer Identification Number)
example: 12-3456789
dba:
type: string
description: Employer's DBA (Doing Business As) name, if different from the employer's legal business name
example: ''
industry_code:
type: string
description: 'Employer''s industry NAICS code (2-6 digits). Valid prefixes are: 11, 21, 22, 23, 31, 32, 33, 42, 44, 45, 48, 49, 51, 52, 53, 54, 55, 56, 61, 62, 71, 72, 81, 92'
example: '111110'
address_line1:
type: string
description: Employer's address (line 1)
example: 123 Main St
address_line2:
type: string
description: Employer's address (line 2)
example: ''
city:
type: string
description: Employer's city
example: San Francisco
state:
type: string
description: Employer's state
example: CA
enum:
- AK
- AL
- AR
- AZ
- CA
- CO
- CT
- DC
- DE
- FL
- GA
- HI
- IA
- ID
- IL
- IN
- KS
- KY
- LA
- MA
- MD
- ME
- MI
- MN
- MO
- MS
- MT
- NC
- ND
- NE
- NH
- NJ
- NM
- NV
- NY
- OH
- OK
- OR
- PA
- RI
- SC
- SD
- TN
- TX
- UT
- VA
- VT
- WA
- WI
- WV
- WY
zip:
type: string
description: Employer's ZIP code, with optional +4
example: '94108'
phone_number:
type: string
description: Employer's phone number
example: 415-555-1212
first_name:
type: string
description: First name of the employer administrator
example: Jane
last_name:
type: string
description: Last name of the employer administrator
example: Smith
offers_health_insurance_today:
type: boolean
description: Whether the employer offers health insurance today
example: true
current_health_insurance:
type: object
properties:
individual_deductible:
type: integer
description: The individual deductible for the health insurance plan
format: int32
example: 1500
individual_oop_max:
type: integer
description: The individual out-of-pocket maximum for the health insurance plan
format: int32
example: 5000
network_type:
type: string
description: The network type for the health insurance plan (HMO, PPO, ...)
example: hmo
enum:
- hmo
- ppo
- epo
- pos
metal_tier:
type: string
description: The metal tier for the health insurance plan (bronze, silver, gold...)
example: silver
enum:
- catastrophic
- bronze
- expanded_bronze
- silver
- gold
- platinum
description: Current health insurance plan details
example:
individual_deductible: 1500
individual_oop_max: 5000
network_type: hmo
metal_tier: silver
coverage_start_date:
type: string
description: The desired start date for the employer's new health insurance coverage
format: date
example: '2027-01-01'
pricing:
type: object
properties:
platform_fee:
type: object
properties:
amount:
type: number
description: The amount of the platform fee in cents
format: float
example: 4500
currency_code:
type: string
description: The currency of the platform fee
example: USD
enum:
- USD
description: The platform fee for the employer
example:
amount: 4500
currency_code: USD
description: The monthly pricing for the employer. Must be greater than the expected commission.
example:
platform_fee:
amount: 4500
currency_code: USD
metadata:
type: object
additionalProperties:
type: string
description: Set of key-value pairs that you can attach to an API resource. This can be useful for storing additional information about the resource in a structured format. Individual keys can be unset by posting an empty string value (`""`) to them. All keys can be unset by posting an empty object value (`{}`) to `metadata`.
example:
key: value
description: Create an employer
Employer:
required:
- address_line1
- business_type
- city
- ein
- id
- lifecycle_events
- metadata
- name
- pay_schedules
- state
- zip
type: object
properties:
id:
type: string
description: The employer's unique identifier
example: empl_01j2j3smtwx656y2tbqm7ty6gr
onboarding_status:
type: string
description: The employer's onboarding status as an employer lifecycle event
example: employees_invited
enum:
- onboarding_launched
- quote_created
- quote_finalized
- payroll_connected
- bank_account_connected
- employees_invited
name:
type: string
description: The employer's legal business name
example: Acme Corp
business_type:
type: string
description: The employer's business type
example: c_corp
enum:
- c_corp
- s_corp
- llc
- llp
- partnership
- sole_proprietorship
- non_profit
ein:
type: string
description: The employer's EIN (employer identification number)
example: 12-3456789
dba:
type:
- string
- 'null'
description: The employer's DBA (doing business as) name, if different from the employer's legal business name
address_line1:
type: string
description: The employer's address (line 1)
example: 123 Main St
address_line2:
type:
- string
- 'null'
description: The employer's address (line 2)
city:
type: string
description: The employer's city
example: San Francisco
state:
type: string
description: The employer's state
example: CA
enum:
- AK
- AL
- AR
- AZ
- CA
- CO
- CT
- DC
- DE
- FL
- GA
- HI
- IA
- ID
- IL
- IN
- KS
- KY
- LA
- MA
- MD
- ME
- MI
- MN
- MO
- MS
- MT
- NC
- ND
- NE
- NH
- NJ
- NM
- NV
- NY
- OH
- OK
- OR
- PA
- RI
- SC
- SD
- TN
- TX
- UT
- VA
- VT
- WA
- WI
- WV
- WY
zip:
type: string
description: The employer's ZIP code, with optional +4
example: '94108'
phone_number:
type:
- string
- 'null'
description: The employer's phone number
example: '+14152370005'
industry:
type:
- string
- 'null'
description: The employer's industry
example: professional_scientific_and_technical_services
enum:
- accommodation_and_food_services
- administrative_and_support_and_waste_management_services
- agriculture_forestry_fishing_and_hunting
- arts_entertainment_and_recreation
- construction
- educational_services
- finance_and_insurance
- health_care_and_social_assistance
- information_and_technology
- management_of_companies_and_enterprises
- manufacturing
- mining_quarrying_and_oil_and_gas_extraction
- other_services_except_public_administration
- professional_scientific_and_technical_services
- public_administration
- real_estate_and_rental_and_leasing
- retail_trade
- transportation_and_warehousing
- utilities
- wholesale_trade
- other
lifecycle_events:
type: array
description: The employer's lifecycle events, ordered from oldest to newest
items:
$ref: '#/components/schemas/EmployerLifecycleEvent'
pay_schedules:
type: array
description: The employer's pay schedules
items:
$ref: '#/components/schemas/PaySchedule'
pricing:
type: object
description: The employer's pricing
allOf:
- $ref: '#/components/schemas/Pricing'
metadata:
type: object
properties: {}
description: Set of key-value pairs that you can attach to an API resource. This can be useful for storing additional information about the resource in a structured format.
example:
key: value
description: Employer model
Pagination:
required:
- current_page
- next_page
- prev_page
- total_pages
- total_records
type: object
properties:
total_records:
type: integer
description: Total number of records
format: int32
example: 25
current_page:
type: integer
description: Current page number
format: int32
example: 1
total_pages:
type: integer
description: Total number of pages
format: int32
example: 3
next_page:
type:
- integer
- 'null'
description: Next page number
format: int32
example: 2
prev_page:
type:
- integer
- 'null'
description: Previous page number
format: int32
PaySchedule:
required:
- active
- bank_closure_strategy
- frequency
- id
- name
- start_date
type: object
properties:
id:
type: string
description: Pay schedule ID
example: paysch_1234
name:
type: string
description: Pay schedule name
example: Bi-Weekly Payroll
reference_pay_date:
type:
- string
- 'null'
description: Reference pay date for weekly/bi-weekly schedules
format: date
example: '2024-01-01'
start_date:
type: string
description: Pay schedule start date
format: date
example: '2024-01-01'
end_date:
type:
- string
- 'null'
description: Pay schedule end date
format: date
example: '2024-12-31'
frequency:
type: string
description: Pay schedule frequency
example: bi_weekly
enum:
- monthly
- semi_monthly
- bi_weekly
- weekly
first_day:
type:
- integer
- 'null'
description: First pay day of the month (1-31, required for monthly/semi-monthly)
format: int32
example: 15
second_day:
type:
- integer
- 'null'
description: Second pay day of the month (1-31, required for semi-monthly)
format: int32
example: 30
bank_closure_strategy:
type: string
description: Strategy for handling bank closures (before/after/closest/ignore)
example: before
enum:
- before
- after
- closest
- ignore
remote_id:
type:
- string
- 'null'
description: Remote ID from payroll integration
example: remote_123
active:
type: boolean
description: Whether the pay schedule is active
example: true
description: PaySchedule model
EmployerLifecycleEvent:
required:
- event_type
- id
- timestamp
type: object
properties:
id:
type: string
description: The lifecycle event's unique identifier
example: lcevent_01j2j3smtwx656y2tbqm7ty6gr
event_type:
type: string
description: The type of lifecycle event
example: employees_invited
enum:
- onboarding_launched
- quote_created
- quote_viewed
- quote_finalized
- payroll_connected
- bank_account_connected
- employees_invited
- employer_renewed
- employer_churned
- first_employee_signed_up
- first_employee_plan_selected
- initial_enrollment_period_completed
timestamp:
type: string
description: The ISO 8601 date and time the lifecycle event occurred
example: '2024-11-01T00:00:00Z'
securitySchemes:
Bearer:
type: apiKey
description: Provide your API key in a `Bearer` token header (as in, **Bearer sk_123**).
name: Authorization
in: header
x-original-swagger-version: '2.0'