> ## 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.

# Symmetry I-9

> Symmetry I-9 Scenario seeding parameters, nested fields, and examples

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

Symmetry I-9 API: employers, employees, admins, I-9 submission history, E-Verify cases, themes, webhook configuration.

## 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": "Symmetry I-9 eval fixture",
  "twins": [
    "symmetry_i9"
  ],
  "seed_config": {
    "symmetry_i9": {
      "employers": [
        {
          "id": "00000000-0000-4000-8000-000000000001",
          "name": "Example Employer",
          "federalEIN": "00-0000000",
          "timezone": "America/New_York",
          "address": {
            "streetAddress1": "1 Test Street",
            "city": "Boston",
            "state": "MA",
            "country": "US",
            "zipCode": "02110"
          }
        }
      ],
      "employees": [
        {
          "employerId": "00000000-0000-4000-8000-000000000001",
          "firstName": "Test",
          "lastName": "Person",
          "emailAddress": "test@example.test",
          "dateOfBirth": "1990-01-01",
          "employment": {
            "status": "active"
          }
        }
      ],
      "admins": [],
      "submissions": [],
      "everify_cases": [],
      "themes": {
        "00000000-0000-4000-8000-000000000001": {
          "body": {
            "color": "#222222",
            "fontSize": "16px"
          },
          "formControl": {
            "borderColor": "#cccccc",
            "borderRadius": "4px"
          }
        }
      },
      "everify_settings": {
        "00000000-0000-4000-8000-000000000001": {
          "companyId": "synthetic-company",
          "programAdministratorEmail": "admin@example.test",
          "programAdministratorFirstName": "Test",
          "programAdministratorId": "synthetic-admin",
          "programAdministratorLastName": "Admin",
          "programAdministratorPhone": "+12025550123",
          "webServicePassword": "synthetic-password",
          "webServiceUsername": "synthetic-user",
          "everifyAuthenticated": false
        }
      }
    }
  }
}
```

## Parameters

The following fields belong directly inside `seed_config.symmetry_i9`. 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. |
| `employees` | `object[]` | Employees fixtures in provider-native format. |
| `admins` | `array` | Admins fixtures in provider-native format. |
| `submissions` | `array` | Submissions fixtures in provider-native format. |
| `everify_cases` | `array` | Everify cases fixtures in provider-native format. |
| `themes` | `map<string, object>` | Themes keyed by identifier or resource name. |
| `everify_settings` | `map<string, object>` | Everify settings keyed by identifier or resource name. |
| `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. |
| `token_secret` | `string` | Token secret. |
| `base_time` | `string` | Reference clock for repeatable fixtures. Omit to use the current clock. |
| `api_token_ttl_seconds` | `integer` | Api token ttl seconds, in seconds. Minimum: 1. |
| `embedded_origin` | `string` | Embedded origin. |
| `rate_limiting_enabled` | `boolean` | Enable request rate limiting. |
| `rate_limit_per_minute` | `integer` | Rate limit per minute. Minimum: 1. |
| `deleted_employer_ids` | `string[]` | Deleted employer ids fixtures in provider-native format. |
| `promotions` | `map<string, string>` | Promotions keyed by identifier or resource name. |
| `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. |
| `federalEIN` | `string` | FederalEIN. |
| `timezone` | `string` | Timezone. |
| `address` | `object` | Address. |

### `employees[]`

| Parameter | Type | Description |
| - | - | - |
| `employerId` | `string` | EmployerId. |
| `firstName` | `string` | FirstName. |
| `lastName` | `string` | LastName. |
| `emailAddress` | `string` | EmailAddress. |
| `dateOfBirth` | `string` | DateOfBirth. |
| `employment` | `object` | Employment. |

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.