> ## Documentation Index
> Fetch the complete documentation index at: https://docs.argalabs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Thatch

> Thatch Scenario seeding parameters, nested fields, and examples

Use `thatch` in `twins` and put this configuration under `seed_config.thatch`.

Thatch for Platforms ICHRA benefits: employers, employees/dependents, pay schedules, embedded employer onboarding, members, enrollments and monthly deductions.

## Example seed

This is the complete Scenario request body for [creating a Scenario](https://docs.argalabs.com/api-reference/post-create-a-scenario.md). You can also import it with `arga test-runner scenarios import --file scenario.json`.

```json theme={null}
{
  "name": "Thatch eval fixture",
  "twins": [
    "thatch"
  ],
  "seed_config": {
    "thatch": {
      "employers": [
        {
          "id": "empl_example",
          "name": "Example Inc",
          "email": "admin@example.test",
          "business_type": "c_corp",
          "ein": "12-3456789",
          "address_line1": "123 Example St",
          "city": "San Francisco",
          "state": "CA",
          "zip": "94103"
        }
      ],
      "pay_schedules": [
        {
          "id": "pay_example",
          "employer_id": "empl_example",
          "name": "Monthly",
          "frequency": "monthly",
          "bank_closure_strategy": "before",
          "first_pay_date": "2026-11-06"
        }
      ],
      "employees": [
        {
          "id": "employee_example",
          "employer_id": "empl_example",
          "pay_schedules": [
            {
              "id": "pay_example",
              "start_date": "2026-11-06"
            }
          ],
          "first_name": "Alex",
          "last_name": "Example",
          "date_of_birth": "1990-05-10",
          "zip": "94103",
          "dependents": [
            {
              "relationship": "child",
              "date_of_birth": "2018-04-05"
            }
          ]
        }
      ],
      "members": [
        {
          "id": "member_example",
          "employee_id": "employee_example",
          "first_name": "Alex",
          "last_name": "Example",
          "date_of_birth": "1990-05-10",
          "address_line1": "123 Example St",
          "city": "San Francisco",
          "state": "CA",
          "zip": "94103",
          "allowance": {
            "amount": 65000,
            "currency_code": "USD"
          },
          "balance": {
            "amount": 4500,
            "currency_code": "USD"
          }
        }
      ],
      "enrollments": [
        {
          "id": "enrollment_example",
          "member_id": "member_example",
          "coverage_types": [
            "medical"
          ],
          "status": "completed",
          "status_events": [
            {
              "status": "completed",
              "timestamp": "2026-11-06T12:00:00+00:00"
            }
          ],
          "plan_code": "example-medical-plan",
          "premium": {
            "amount": 50000,
            "currency_code": "USD"
          },
          "broker": {
            "name": "Example broker",
            "npn": "00000000"
          },
          "enrollment_coverages": [
            {
              "first_name": "Alex",
              "last_name": "Example",
              "date_of_birth": "1990-05-10",
              "relationship": "self",
              "gender": "non_binary",
              "start_date": "2026-11-01",
              "end_date": "2026-11-30"
            }
          ]
        }
      ],
      "deductions": [
        {
          "employee_id": "employee_example",
          "periods": [
            {
              "start_date": "2026-11-01",
              "end_date": "2026-11-30",
              "deductions": [
                {
                  "type": "s125_pretax",
                  "amount": {
                    "amount": 10000,
                    "currency_code": "USD"
                  }
                },
                {
                  "type": "posttax",
                  "amount": {
                    "amount": 0,
                    "currency_code": "USD"
                  }
                }
              ]
            }
          ]
        }
      ]
    }
  }
}
```

## Parameters

The following fields belong directly inside `seed_config.thatch`. Required nested fields are marked in their tables. Provider-native objects can contain service-specific fields beyond the representative record shapes below.

| Parameter | Type | Description |
| - | - | - |
| `employers` | `object[]` | Employers fixtures in provider-native format. |
| `pay_schedules` | `object[]` | Pay schedules fixtures in provider-native format. |
| `employees` | `object[]` | Employees fixtures in provider-native format. |
| `members` | `object[]` | Members fixtures in provider-native format. |
| `enrollments` | `object[]` | Enrollments fixtures in provider-native format. |
| `deductions` | `object[]` | Deductions fixtures in provider-native format. |
| `resources` | `map<string, object[]>` | Provider resource collections keyed by collection name. Preserve their native record fields and references. |
| `api_key` | `string` | Synthetic API key accepted by the twin. |
| `base_time` | `string` | Reference clock for repeatable fixtures. Omit to use the current clock. |
| `session_ttl_seconds` | `integer` | Session ttl seconds, in seconds. Minimum: 1. Maximum: 86400. |
| `rate_limiting_enabled` | `boolean` | Enable request rate limiting. |
| `rate_limit_per_minute` | `integer` | Rate limit per minute. Minimum: 1. |
| `partner_issues_policies` | `boolean` | Enable or set partner issues policies behavior. |
| `failure_rules` | `object[]` | Deterministic failure-injection rules. |

## Resource fields

These tables describe the record shapes used by the example. Keep native field names and casing. Map keys such as property names, IDs, and metadata keys are supplied by your fixture.

### `employers[]`

| Parameter | Type | Description |
| - | - | - |
| `id` | `string` | Explicit resource identifier, when supported. |
| `name` | `string` | Human-readable name. |
| `email` | `string` | Main account email address. |
| `business_type` | `string` | Business type. |
| `ein` | `string` | Ein. |
| `address_line1` | `string` | Address line1. |
| `city` | `string` | City. |
| `state` | `string` | State. |
| `zip` | `string` | Zip. |

### `pay_schedules[]`

| Parameter | Type | Description |
| - | - | - |
| `id` | `string` | Explicit resource identifier, when supported. |
| `employer_id` | `string` | Employer id. |
| `name` | `string` | Human-readable name. |
| `frequency` | `string` | Frequency. |
| `bank_closure_strategy` | `string` | Bank closure strategy. |
| `first_pay_date` | `string` | First pay date. |

### `employees[]`

| Parameter | Type | Description |
| - | - | - |
| `id` | `string` | Explicit resource identifier, when supported. |
| `employer_id` | `string` | Employer id. |
| `pay_schedules` | `object[]` | Pay schedules fixtures in provider-native format. |
| `first_name` | `string` | First name. |
| `last_name` | `string` | Last name. |
| `date_of_birth` | `string` | Date of birth. |
| `zip` | `string` | Zip. |
| `dependents` | `object[]` | Dependents fixtures in provider-native format. |

### `employees[].pay_schedules[]`

| Parameter | Type | Description |
| - | - | - |
| `id` | `string` | Explicit resource identifier, when supported. |
| `start_date` | `string` | Start date. |

### `employees[].dependents[]`

| Parameter | Type | Description |
| - | - | - |
| `relationship` | `string` | Relationship. |
| `date_of_birth` | `string` | Date of birth. |

### `members[]`

| Parameter | Type | Description |
| - | - | - |
| `id` | `string` | Explicit resource identifier, when supported. |
| `employee_id` | `string` | Employee id. |
| `first_name` | `string` | First name. |
| `last_name` | `string` | Last name. |
| `date_of_birth` | `string` | Date of birth. |
| `address_line1` | `string` | Address line1. |
| `city` | `string` | City. |
| `state` | `string` | State. |
| `zip` | `string` | Zip. |
| `allowance` | `object` | Allowance. |
| `balance` | `object` | Balance. |

### `enrollments[]`

| Parameter | Type | Description |
| - | - | - |
| `id` | `string` | Explicit resource identifier, when supported. |
| `member_id` | `string` | Member id. |
| `coverage_types` | `string[]` | Coverage types fixtures in provider-native format. |
| `status` | `string` | Status. |
| `status_events` | `object[]` | Status events fixtures in provider-native format. |
| `plan_code` | `string` | Plan code. |
| `premium` | `object` | Premium. |
| `broker` | `object` | Broker. |
| `enrollment_coverages` | `object[]` | Enrollment coverages fixtures in provider-native format. |

### `enrollments[].status_events[]`

| Parameter | Type | Description |
| - | - | - |
| `status` | `string` | Status. |
| `timestamp` | `string` | Timestamp. |

### `enrollments[].enrollment_coverages[]`

| Parameter | Type | Description |
| - | - | - |
| `first_name` | `string` | First name. |
| `last_name` | `string` | Last name. |
| `date_of_birth` | `string` | Date of birth. |
| `relationship` | `string` | Relationship. |
| `gender` | `string` | Gender. |
| `start_date` | `string` | Start date. |
| `end_date` | `string` | End date. |

### `deductions[]`

| Parameter | Type | Description |
| - | - | - |
| `employee_id` | `string` | Employee id. |
| `periods` | `object[]` | Periods fixtures in provider-native format. |

### `deductions[].periods[]`

| Parameter | Type | Description |
| - | - | - |
| `start_date` | `string` | Start date. |
| `end_date` | `string` | End date. |
| `deductions` | `object[]` | Deductions fixtures in provider-native format. |

### `deductions[].periods[].deductions[]`

| Parameter | Type | Description |
| - | - | - |
| `type` | `string` | Type. |
| `amount` | `object` | Amount. |

See [Scenario seeding](https://docs.argalabs.com/twins/seeding.md) for saving, provisioning, and resetting fixtures.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.