openapi: 3.0.1
info:
title: Thatch for Platforms Deductions 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: ''
servers:
- url: //partners.thatchcloud.com/api/partners/v1/
security:
- Bearer: []
tags:
- name: Deductions
description: 'Payroll deductions track the costs of plan premiums
to employees.
'
paths:
/deductions:
get:
tags:
- Deductions
summary: List employee payroll deductions
description: List employee payroll deductions
operationId: getDeductions
parameters:
- name: employer_id
in: query
description: Employer ID
required: true
schema:
type: string
example: empl_01j9w59xh2p5d03z0zxgcv2vag
- 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
- name: periods[start_after]
in: query
description: Periods with pay date on or after date, in ISO 8601 format
schema:
type: string
format: date
example: '2024-01-01'
- name: periods[end_before]
in: query
description: Periods with pay date on or before date, in ISO 8601 format
schema:
type: string
format: date
example: '2024-01-01'
responses:
'200':
description: List employee payroll deductions
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedEmployeeDeductionsList'
components:
schemas:
DeductionPeriod:
required:
- end_date
- start_date
type: object
properties:
start_date:
type: string
description: Start date of the period (aligned to the start of the month)
example: '2024-05-01'
end_date:
type: string
description: End date of the period (aligned to the end of the month)
example: '2024-05-31'
deductions:
type: array
description: Deductions for the period. There should always be two DeductionAmount records. In general, one will be $0 and the other will be non-zero. However, employees could end up with only a portion of their deduction being eligible to be Section 125 pre-tax. If that happens, the remainder would be post-tax.
items:
$ref: '#/components/schemas/DeductionAmount'
DeductionAmount:
required:
- amount
- type
type: object
properties:
amount:
type: object
description: Amount of the deduction
allOf:
- $ref: '#/components/schemas/Money'
type:
type: string
description: Type of the deduction
example: s125_pretax
enum:
- s125_pretax
- posttax
applied_correction:
type: object
description: Applied correction
allOf:
- $ref: '#/components/schemas/Money'
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
EmployeeDeduction:
required:
- employee_id
type: object
properties:
employee_id:
type: string
description: The unique identifier for the employee associated with the deductions
example: employee_01j85kpd8yxkabyrm83d3h2ya3
periods:
type: array
items:
$ref: '#/components/schemas/DeductionPeriod'
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
description: Next page number
format: int32
nullable: true
example: 2
prev_page:
type: integer
description: Previous page number
format: int32
nullable: true
PaginatedEmployeeDeductionsList:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/EmployeeDeduction'
pagination:
$ref: '#/components/schemas/Pagination'
description: PaginatedEmployeeDeductionsList model
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'