Thatch Health Deductions API

Payroll deductions track the costs of plan premiums to employees.

OpenAPI Specification

thatch-health-deductions-api-openapi.yml Raw ↑
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'