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

# Justworks

> Justworks company, members, employment, time off, payroll, paystubs, deductions and subscriptions from the Justworks Public API, read with a company-owned OAuth application.

Justworks is a US HR, payroll, benefits and PEO platform. Parable reads the Justworks Public API with an OAuth application that Justworks issues to the company.

**Overview**

Connect Parable to Justworks to read who works at the company and how they are paid: members, employment history, departments, offices, managers, time off, payrolls, paystubs, deductions and the company's Justworks subscriptions. Parable uses `members` as an identity directory, so a Justworks member links to the same person's accounts in other Providers by work email.

#### People

Members, active and terminated, employment history, departments, offices, managers, custom fields

#### Time off

Policies, requests, balances, and request notes

#### Payroll

Payrolls, fees, paystubs with earnings and deductions, member pay, configured deductions

## Data streams

This Provider Plugin defines 22 data streams. Streams marked off hold sensitive data (pay, payroll, deductions, dates of birth, sex, personal contacts, custom field values, time off notes, the company's tax ID); each lands in its own table and stays off until a Workspace administrator turns it on. Pay, payroll, deduction, date-of-birth and sex streams also need the connection that grants their scopes.

| Stream | Description | Sync | Default |
| - | - | - | - |
| `company` | The connected Justworks company: names, entity structure, addresses, phones, departments and offices. | full | on |
| `company_tax_ids` | The connected Justworks company's tax identification number. | full | off |
| `company_business_info` | Officers and state entity filings of the connected Justworks company. | full | on |
| `company_custom_fields` | Custom member fields the company defined in Justworks: label, category, type and options. | full | on |
| `company_jurisdictions` | State, province or region codes Justworks associates with the company. | full | on |
| `members` | Every member of the Justworks company: name, work email, title, department, office, manager and employment history. | full | on |
| `member_contacts` | Members' work and home email addresses, phone numbers and home addresses. | full | off |
| `member_pay` | Members' current pay rate, pay frequency and pay history. | full | off |
| `member_birth_dates` | Members' dates of birth. | full | off |
| `member_sex` | Members' sex assigned at birth, as Justworks records it. | full | off |
| `member_custom_field_values` | Each member's values for the company's custom fields. | full | off |
| `time_off_policies` | The company's time off policies: name, type, status and dates. | full | on |
| `time_off_requests` | Every time off request: member, policy, dates, amount, status and notes. | full | on |
| `time_off_request_notes` | The notes employees wrote on their time off requests. | full | off |
| `time_off_balances` | Each member's available and used time off per policy, from a Justworks balance report. | full | on |
| `payrolls` | Each payroll the company ran: debit and pay dates, payment method and company totals. | full | off |
| `payroll_fees` | Fees Justworks charged on each payroll, per member or paystub. | full | off |
| `paystubs` | Each member's paystub on each payroll: pay period, pay date, gross and net pay. | full | off |
| `paystub_details` | The earnings, employee deductions and employer contributions on each paystub. | full | off |
| `deduction_types` | The deduction types Justworks supports: code and description. | full | off |
| `deductions` | Each member's configured payroll deductions: type, frequency, amount and dates. | full | off |
| `subscriptions` | The Justworks products the company subscribes to, with prices, discounts and add-ons. | full | on |

Parable does not read members' Social Security numbers (`/v1/members/{member_id}/tax-id`) or the company bank account (`/v1/company/bank-account`). Justworks defines `benefits:read` and `invoice:read` scopes but publishes no read operation for either.

**Setup Guide**

### Justworks OAuth 2.0 (company OAuth application)

The standard connection: people, employment, departments, offices, time off and the company's Justworks subscriptions. It never grants pay, payroll, paystubs, deductions, dates of birth or sex.

#### What You'll Need

| Credential | What it is |
| - | - |
| **Client ID** | Client ID of the company's Justworks OAuth application |
| **Client Secret** | Client secret of the same application |

> **Info:** **Setup access in Justworks.** A Justworks administrator of the company creates or requests the OAuth application and approves Parable's access. If that is not you, ask your Justworks administrator.

Justworks does not offer API keys. Justworks states that OAuth application creation is not self-service for every account.

#### Step 1: Get a Justworks OAuth application

1. Sign in to Justworks as an administrator and open **Integrations** ([secure.justworks.com/integrations](https://secure.justworks.com/integrations)).
2. Create an OAuth application for the Justworks Public API. If you cannot create one there, ask Justworks support or your Justworks representative to create one for your company.
3. Give it these values:

| Setting | Value |
| - | - |
| Application name | `Parable` |
| Redirect URI | `https://{workspace}.parable.work/platform/providers/oauth/callback`, with your Parable Workspace subdomain; Parable shows the exact value in Step 2 |
| Scopes | `company.basic:read`, `company.detail:read`, `member.basic:read`, `member.detail:read`, `member.employment:read`, `time_off:read`, `subscriptions:read` (all read-only) |

4. Note the **Client ID** and **Client Secret**.

#### Step 2: Create the connection in Parable

1. Open the Justworks Provider in Parable, add a connection and choose **Justworks OAuth 2.0 (company OAuth application)**.
2. Enter a **connection name**.
3. Copy the **Redirect URI** shown on the form, and make sure it is registered exactly on the Justworks OAuth application.
4. Click **Continue to OAuth setup**.

#### Step 3: Authorize Parable

1. On the OAuth authorization screen, enter the **Client ID** and **Client Secret**.
2. Click **Connect with OAuth**. Justworks asks you to sign in and approve the scopes.
3. After you approve, Parable stores the tokens and validates the connection.

> **Info:** Justworks access tokens last 24 hours and refresh tokens 30 days. Parable refreshes the access token on its own; a connection that does not sync for 30 days must be authorized again with **Re-authorize with OAuth**.

### Justworks OAuth 2.0 with pay, payroll and personal data

Choose this connection only when the company wants Parable to read pay, payroll, paystubs, deductions, dates of birth or sex. Those streams stay off until a Workspace administrator turns each one on; set a Provider Policy for its table under **Protection** first.

#### What You'll Need

| Credential | What it is |
| - | - |
| **Client ID** | Client ID of the company's Justworks OAuth application |
| **Client Secret** | Client secret of the same application |

> **Info:** **Setup access in Justworks.** A Justworks administrator of the company creates or requests the OAuth application and approves Parable's access. If that is not you, ask your Justworks administrator.

Justworks does not offer API keys. Justworks states that OAuth application creation is not self-service for every account.

#### Step 1: Get a Justworks OAuth application

1. Sign in to Justworks as an administrator and open **Integrations** ([secure.justworks.com/integrations](https://secure.justworks.com/integrations)).
2. Create an OAuth application for the Justworks Public API. If you cannot create one there, ask Justworks support or your Justworks representative to create one for your company.
3. Give it these values:

| Setting | Value |
| - | - |
| Application name | `Parable` |
| Redirect URI | `https://{workspace}.parable.work/platform/providers/oauth/callback`, with your Parable Workspace subdomain; Parable shows the exact value in Step 2 |
| Scopes | `company.basic:read`, `company.detail:read`, `member.basic:read`, `member.detail:read`, `member.employment:read`, `time_off:read`, `subscriptions:read`, `member.pay:read`, `member.dob:read`, `member.sex:read`, `payroll:read`, `paystub:read`, `deductions:read` (all read-only) |

4. Note the **Client ID** and **Client Secret**.

#### Step 2: Create the connection in Parable

1. Open the Justworks Provider in Parable, add a connection and choose **Justworks OAuth 2.0 with pay, payroll and personal data**.
2. Enter a **connection name**.
3. Copy the **Redirect URI** shown on the form, and make sure it is registered exactly on the Justworks OAuth application.
4. Click **Continue to OAuth setup**.

#### Step 3: Authorize Parable

1. On the OAuth authorization screen, enter the **Client ID** and **Client Secret**.
2. Click **Connect with OAuth**. Justworks asks you to sign in and approve the scopes.
3. After you approve, Parable stores the tokens and validates the connection.

> **Info:** Justworks access tokens last 24 hours and refresh tokens 30 days. Parable refreshes the access token on its own; a connection that does not sync for 30 days must be authorized again with **Re-authorize with OAuth**.

**Permissions**

Parable requests only Justworks `:read` scopes. When a scope is missing, Justworks leaves out the fields it covers instead of failing the request, so empty columns usually mean a missing scope.

| Scope | Connection | What Parable reads with it |
| - | - | - |
| `company.basic:read`, `company.detail:read` | Both | The company record, legal name and tax ID, business info, custom field definitions, jurisdictions, office addresses |
| `member.basic:read` | Both | The member list: ID, name, active flag, job title, department, office, dates |
| `member.detail:read` | Both | Email addresses, phones, addresses, manager, member type, custom field values |
| `member.employment:read` | Both | Current employment and employment history, termination date |
| `time_off:read` | Both | Time off policies, requests, notes and balance reports |
| `subscriptions:read` | Both | The company's Justworks subscriptions |
| `member.pay:read` | Pay, payroll and personal data | Current pay, pay frequency and pay history |
| `member.dob:read`, `member.sex:read` | Pay, payroll and personal data | Date of birth; sex assigned at birth |
| `payroll:read`, `paystub:read` | Pay, payroll and personal data | Payrolls, payroll fees, paystubs and their line items |
| `deductions:read` | Pay, payroll and personal data | Deduction types and members' configured deductions |

> **Company**
>
> Developer identifier: `company`
>
> **Company.** The connected Justworks company: display and legal names, entity structure, addresses, phone, departments and offices.
>
> * **Enables:** Read the company's department and office lists (`company__departments`, `company__offices`) to build teams and locations, and label the Workspace's HR source.
>
> * **Scope:** Reads Justworks `GET /v1/company` as a full synchronization of one record. The company's tax ID is not part of this stream; it lands in `company_tax_ids`. Legal name and office addresses need `company.detail:read`.
>
> > **Addresses**
> >
> > Developer identifier: `company.addresses`
> >
> > **Addresses.** List of addresses associated with the company.
> >
> > * **Enables:** List each entry of a company's addresses in the `company__addresses` child table, one row per entry joined to the company by `parent_pk`.
> > * **Interpretation:** Justworks reports it as a list.
>
> > **City**
> >
> > Developer identifier: `company.addresses.city`
> >
> > **City.** City of the address.
> >
> > * **Enables:** Group or locate company records by city in `company__addresses.city`.
> > * **Interpretation:** Justworks reports it as a part of an address.
>
> > **Country Code**
> >
> > Developer identifier: `company.addresses.country_code`
> >
> > **Country Code.** ISO 3166-1 alpha-2 country code of the address.
> >
> > * **Enables:** Group or locate company records by country code in `company__addresses.country_code`.
> > * **Interpretation:** Justworks reports it as a part of an address.
>
> > **Line1**
> >
> > Developer identifier: `company.addresses.line1`
> >
> > **Line1.** Primary address line of the address. Usually the street number and name.
> >
> > * **Enables:** Group or locate company records by line1 in `company__addresses.line1`.
> > * **Interpretation:** Justworks reports it as a part of an address.
>
> > **Line2**
> >
> > Developer identifier: `company.addresses.line2`
> >
> > **Line2.** Secondary address line of the address. Usually the apartment, suite, or unit number.
> >
> > * **Enables:** Group or locate company records by line2 in `company__addresses.line2`.
> > * **Interpretation:** Justworks reports it as a part of an address.
>
> > **Postal Code**
> >
> > Developer identifier: `company.addresses.postal_code`
> >
> > **Postal Code.** Postal or ZIP code of the address.
> >
> > * **Enables:** Group or locate company records by postal code in `company__addresses.postal_code`.
> > * **Interpretation:** Justworks reports it as a part of an address.
>
> > **Type**
> >
> > Developer identifier: `company.addresses.type`
> >
> > **Type.** Type of the address.
> >
> > * **Enables:** Separate company records by type in `company__addresses.type`.
> > * **Interpretation:** Justworks reports it as a code. Values include `home`, `office`, `mailing`, `primary`; keep unknown values as they arrive.
>
> > **Zone Code**
> >
> > Developer identifier: `company.addresses.zone_code`
> >
> > **Zone Code.** State, province, or region code of the address.
> >
> > * **Enables:** Group or locate company records by zone code in `company__addresses.zone_code`.
> > * **Interpretation:** Justworks reports it as a part of an address.
>
> > **Country Data**
> >
> > Developer identifier: `company.country_data`
> >
> > **Country Data.** Country-specific data of the company, keyed by ISO 3166-1 alpha-2 country code.
> >
> > * **Enables:** Read the country data of a company from `company.country_data`.
> > * **Interpretation:** Justworks reports it as a nested object.
>
> > **United States**
> >
> > Developer identifier: `company.country_data.US`
> >
> > **United States.** Country-specific data of the company for the United States.
> >
> > * **Enables:** Read the united states of a company from `company.country_data__US`.
> > * **Interpretation:** Justworks reports it as a nested object. It may be absent.
>
> > **Structure**
> >
> > Developer identifier: `company.country_data.US.structure`
> >
> > **Structure.** Legal entity structure of the company.
> >
> > * **Enables:** Separate company records by structure in `company.country_data__US__structure`.
> > * **Interpretation:** Justworks reports it as a code. Values include `corporation`, `llc`, `single_member_llc`, `partnership`, `sole_proprietorship`, `nonprofit`; keep unknown values as they arrive. It may be absent.
>
> > **Created At**
> >
> > Developer identifier: `company.created_at`
> >
> > **Created At.** Timestamp when the company was created.
> >
> > * **Enables:** Order company records by created at in `company.created_at`.
> > * **Interpretation:** Justworks reports it as a timestamp.
>
> > **Departments**
> >
> > Developer identifier: `company.departments`
> >
> > **Departments.** List of departments within the company.
> >
> > * **Enables:** List each entry of a company's departments in the `company__departments` child table, one row per entry joined to the company by `parent_pk`.
> > * **Interpretation:** Justworks reports it as a list.
>
> > **ID**
> >
> > Developer identifier: `company.departments.id`
> >
> > **ID.** Unique identifier of the department.
> >
> > * **Enables:** Join company records to the Justworks record that `company__departments.id` names.
> > * **Interpretation:** Justworks reports it as an identifier in its own namespace that means nothing outside Justworks.
>
> > **Name**
> >
> > Developer identifier: `company.departments.name`
> >
> > **Name.** Name of the department.
> >
> > * **Enables:** Label company records with the name in `company__departments.name`.
> > * **Interpretation:** Justworks reports it as text that can change and is not unique.
>
> > **Display Name**
> >
> > Developer identifier: `company.display_name`
> >
> > **Display Name.** Display name of the company.
> >
> > * **Enables:** Label company records with the display name in `company.display_name`.
> > * **Interpretation:** Justworks reports it as text that can change and is not unique.
>
> > **ID**
> >
> > Developer identifier: `company.id`
> >
> > **ID.** Unique identifier of the company.
> >
> > * **Enables:** Join company records to the Justworks record that `company.id` names.
> > * **Interpretation:** Justworks reports it as an identifier in its own namespace that means nothing outside Justworks.
>
> > **Legal Name**
> >
> > Developer identifier: `company.legal_name`
> >
> > **Legal Name.** Legal name of the company.
> >
> > * **Enables:** Label company records with the legal name in `company.legal_name`.
> > * **Interpretation:** Justworks reports it as text that can change and is not unique. Justworks leaves it out when the token lacks `company.detail:read`. It may be absent.
>
> > **Offices**
> >
> > Developer identifier: `company.offices`
> >
> > **Offices.** List of offices within the company.
> >
> > * **Enables:** List each entry of a company's offices in the `company__offices` child table, one row per entry joined to the company by `parent_pk`.
> > * **Interpretation:** Justworks reports it as a list.
>
> > **Address**
> >
> > Developer identifier: `company.offices.address`
> >
> > **Address.** Address of the office.
> >
> > * **Enables:** Read the address of a company from `company__offices.address`.
> > * **Interpretation:** Justworks reports it as a nested object. Justworks leaves it out when the token lacks `company.detail:read`. It may be absent.
>
> > **ID**
> >
> > Developer identifier: `company.offices.id`
> >
> > **ID.** Unique identifier of the office.
> >
> > * **Enables:** Join company records to the Justworks record that `company__offices.id` names.
> > * **Interpretation:** Justworks reports it as an identifier in its own namespace that means nothing outside Justworks.
>
> > **Name**
> >
> > Developer identifier: `company.offices.name`
> >
> > **Name.** Name of the office.
> >
> > * **Enables:** Label company records with the name in `company__offices.name`.
> > * **Interpretation:** Justworks reports it as text that can change and is not unique.
>
> > **Phones**
> >
> > Developer identifier: `company.phones`
> >
> > **Phones.** List of phone numbers associated with the company.
> >
> > * **Enables:** List each entry of a company's phones in the `company__phones` child table, one row per entry joined to the company by `parent_pk`.
> > * **Interpretation:** Justworks reports it as a list.
>
> > **Phone**
> >
> > Developer identifier: `company.phones.phone`
> >
> > **Phone.** Phone number in E.164 format.
> >
> > * **Enables:** Reach the company at the number in `company__phones.phone`.
> > * **Interpretation:** Justworks reports it as a phone number in E.164 format.
>
> > **Type**
> >
> > Developer identifier: `company.phones.type`
> >
> > **Type.** Type of the phone number.
> >
> > * **Enables:** Separate company records by type in `company__phones.type`.
> > * **Interpretation:** Justworks reports it as a code. Values include `home`, `cell`, `office`, `primary`; keep unknown values as they arrive.
>
> > **Updated At**
> >
> > Developer identifier: `company.updated_at`
> >
> > **Updated At.** Timestamp when the company was last updated.
> >
> > * **Enables:** Order company records by updated at in `company.updated_at`.
> > * **Interpretation:** Justworks reports it as a timestamp.

> **Company Business Info**
>
> Developer identifier: `company_business_info`
>
> **Company Business Info.** The connected company's officers with their titles, and the entity identifiers filed for it in each state.
>
> * **Enables:** List the company's officers and the states where it is registered, with filing numbers and issue dates.
>
> * **Scope:** Reads Justworks `GET /v1/company/business-info` once per company as a full synchronization, with `company.detail:read`. Officers land in `company_business_info__officers` and filings in `company_business_info__entity_identifiers`.
>
> > **Company ID**
> >
> > Developer identifier: `company_business_info.company_id`
> >
> > **Company ID.** The ID of the company this record was read for, copied from the parent `company` row.
> >
> > * **Enables:** Join each row of `company_business_info` to its `company.id` row.
> > * **Interpretation:** Parable writes this value while it reads the company's records; Justworks does not return it on this endpoint.
>
> > **Entity Identifiers**
> >
> > Developer identifier: `company_business_info.entity_identifiers`
> >
> > **Entity Identifiers.** Entity identifiers filed for the company.
> >
> > * **Enables:** List each entry of a company's entity identifiers in the `company_business_info__entity_identifiers` child table, one row per entry joined to the company by `parent_pk`.
> > * **Interpretation:** Justworks reports it as a list.
>
> > **File Number**
> >
> > Developer identifier: `company_business_info.entity_identifiers.file_number`
> >
> > **File Number.** Filing number assigned to the entity identifier.
> >
> > * **Enables:** Join company records to the Justworks record that `company_business_info__entity_identifiers.file_number` names.
> > * **Interpretation:** Justworks reports it as an identifier in its own namespace that means nothing outside Justworks.
>
> > **Issue Date**
> >
> > Developer identifier: `company_business_info.entity_identifiers.issue_date`
> >
> > **Issue Date.** Date when the entity identifier was issued.
> >
> > * **Enables:** Filter or order company records by issue date in `company_business_info__entity_identifiers.issue_date`.
> > * **Interpretation:** Justworks reports it as a calendar date with no time of day.
>
> > **State**
> >
> > Developer identifier: `company_business_info.entity_identifiers.state`
> >
> > **State.** State where the entity identifier was issued.
> >
> > * **Enables:** Group or locate company records by state in `company_business_info__entity_identifiers.state`.
> > * **Interpretation:** Justworks reports it as a part of an address.
>
> > **Officers**
> >
> > Developer identifier: `company_business_info.officers`
> >
> > **Officers.** Officers associated with the company.
> >
> > * **Enables:** List each entry of a company's officers in the `company_business_info__officers` child table, one row per entry joined to the company by `parent_pk`.
> > * **Interpretation:** Justworks reports it as a list.
>
> > **Name**
> >
> > Developer identifier: `company_business_info.officers.name`
> >
> > **Name.** Full name of the company officer.
> >
> > * **Enables:** Label company records with the name in `company_business_info__officers.name`.
> > * **Interpretation:** Justworks reports it as text that can change and is not unique.
>
> > **Titles**
> >
> > Developer identifier: `company_business_info.officers.titles`
> >
> > **Titles.** Titles held by the company officer.
> >
> > * **Enables:** List each entry of a company's titles in `company_business_info__officers.titles`, one row per entry joined to the company by `parent_pk`.
> > * **Interpretation:** Justworks reports it as a list.

> **Company Custom Fields**
>
> Developer identifier: `company_custom_fields`
>
> **Company Custom Fields.** The custom member fields the company defined in Justworks, with label, category, data type, cardinality and selection options.
>
> * **Enables:** Name the values in `member_custom_field_values` by joining their `id` to `company_custom_fields.id`.
>
> * **Scope:** Reads Justworks `GET /v1/company/custom-fields` as a full synchronization, with `company.detail:read`. Which fields exist depends on the company's own setup.
>
> > **Cardinality**
> >
> > Developer identifier: `company_custom_fields.cardinality`
> >
> > **Cardinality.** Number of values the custom field can contain.
> >
> > * **Enables:** Separate custom fields by cardinality in `company_custom_fields.cardinality`.
> > * **Interpretation:** Justworks reports it as a code. Values include `single`, `multiple`, `unknown`; keep unknown values as they arrive.
>
> > **Category**
> >
> > Developer identifier: `company_custom_fields.category`
> >
> > **Category.** Category of member information captured by the custom field.
> >
> > * **Enables:** Separate custom fields by category in `company_custom_fields.category`.
> > * **Interpretation:** Justworks reports it as a code. Values include `personal`, `job`, `other`, `unknown`; keep unknown values as they arrive.
>
> > **ID**
> >
> > Developer identifier: `company_custom_fields.id`
> >
> > **ID.** Unique identifier of the custom field.
> >
> > * **Enables:** Join custom fields to the Justworks record that `company_custom_fields.id` names.
> > * **Interpretation:** Justworks reports it as an identifier in its own namespace that means nothing outside Justworks.
>
> > **Label**
> >
> > Developer identifier: `company_custom_fields.label`
> >
> > **Label.** Display label of the custom field.
> >
> > * **Enables:** Label custom fields with the label in `company_custom_fields.label`.
> > * **Interpretation:** Justworks reports it as text that can change and is not unique.
>
> > **Options**
> >
> > Developer identifier: `company_custom_fields.options`
> >
> > **Options.** Available values for selection custom fields.
> >
> > * **Enables:** List each entry of a custom field's options in `company_custom_fields.options`, one row per entry joined to the custom field by `parent_pk`.
> > * **Interpretation:** Justworks reports it as a list. It may be absent.
>
> > **Type**
> >
> > Developer identifier: `company_custom_fields.type`
> >
> > **Type.** Data entry type of the custom field.
> >
> > * **Enables:** Separate custom fields by type in `company_custom_fields.type`.
> > * **Interpretation:** Justworks reports it as a code. Values include `text`, `selection`, `unknown`; keep unknown values as they arrive.

> **Company Jurisdictions**
>
> Developer identifier: `company_jurisdictions`
>
> **Company Jurisdictions.** The states, provinces or regions Justworks associates with the company.
>
> * **Enables:** List where the company operates for payroll and HR purposes, by `company_jurisdictions.zone_code`.
>
> * **Scope:** Reads Justworks `GET /v1/company/jurisdictions` as a full synchronization, with `company.detail:read` and `member.detail:read`.
>
> > **Zone Code**
> >
> > Developer identifier: `company_jurisdictions.zone_code`
> >
> > **Zone Code.** State, province, region, or equivalent zone code.
> >
> > * **Enables:** Group or locate jurisdictions by zone code in `company_jurisdictions.zone_code`.
> > * **Interpretation:** Justworks reports it as a part of an address.

> **Company Tax IDs**
>
> Developer identifier: `company_tax_ids`
>
> **Company Tax IDs.** The tax identification number Justworks holds for the connected company.
>
> * **Enables:** Confirm which legal entity the Justworks connection belongs to, by tax ID in `company_tax_ids.tax_id`.
>
> * **Scope:** Reads the `tax_id` field of Justworks `GET /v1/company` as a full synchronization of one record, with `company.detail:read`. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **ID**
> >
> > Developer identifier: `company_tax_ids.id`
> >
> > **ID.** Unique identifier of the company.
> >
> > * **Enables:** Join company records to the Justworks record that `company_tax_ids.id` names.
> > * **Interpretation:** Justworks reports it as an identifier in its own namespace that means nothing outside Justworks. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Tax ID**
> >
> > Developer identifier: `company_tax_ids.tax_id`
> >
> > **Tax ID.** Tax identification number of the company.
> >
> > * **Enables:** Join company records to the Justworks record that `company_tax_ids.tax_id` names.
> > * **Interpretation:** Justworks reports it as an identifier in its own namespace that means nothing outside Justworks. Justworks leaves it out when the token lacks `company.detail:read`. It may be absent. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Updated At**
> >
> > Developer identifier: `company_tax_ids.updated_at`
> >
> > **Updated At.** Timestamp when the company was last updated.
> >
> > * **Enables:** Order company records by updated at in `company_tax_ids.updated_at`.
> > * **Interpretation:** Justworks reports it as a timestamp. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.

> **Deduction Types**
>
> Developer identifier: `deduction_types`
>
> **Deduction Types.** The deduction types Justworks supports, each with its code and description.
>
> * **Enables:** Name each member deduction by joining `deductions.deduction_type_code` to `deduction_types.code`.
>
> * **Scope:** Reads Justworks `GET /v1/deduction-types` as a full synchronization, with `deductions:read`.
>
> > **Code**
> >
> > Developer identifier: `deduction_types.code`
> >
> > **Code.** Unique code of the deduction type.
> >
> > * **Enables:** Join deduction types to the Justworks record that `deduction_types.code` names.
> > * **Interpretation:** Justworks reports it as an identifier in its own namespace that means nothing outside Justworks.
>
> > **Description**
> >
> > Developer identifier: `deduction_types.description`
> >
> > **Description.** Description of the deduction type.
> >
> > * **Enables:** Read the description of a deduction type from `deduction_types.description`.
> > * **Interpretation:** Justworks reports it as text.

> **Deductions**
>
> Developer identifier: `deductions`
>
> **Deductions.** Each member's configured payroll deductions, with type code, description, frequency, fixed or percent amount, and start and end dates.
>
> * **Enables:** List the deductions in effect for a member on a date, by `deductions.member_id` and the start and end dates.
>
> * **Scope:** Reads Justworks `GET /v1/deductions` as a full synchronization, with `deductions:read`. Fixed amounts are integers in cents of `currency`. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Amount**
> >
> > Developer identifier: `deductions.amount`
> >
> > **Amount.** The deduction's amount, in the unit `amount_type` names.
> >
> > * **Enables:** Compare deductions across members in `deductions.amount`, reading `amount_type` first.
> > * **Interpretation:** When `amount_type` is `fixed`, an integer number of cents of `currency` (`4500` is 45.00). When it is `percent`, a percentage times 10,000 (`37000` is 3.7%). Never sum the two kinds together. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Amount Type**
> >
> > Developer identifier: `deductions.amount_type`
> >
> > **Amount Type.** Type of the deduction amount.
> >
> > * **Enables:** Separate deductions by amount type in `deductions.amount_type`.
> > * **Interpretation:** Justworks reports it as a code. Values include `fixed`, `percent`; keep unknown values as they arrive. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Currency**
> >
> > Developer identifier: `deductions.currency`
> >
> > **Currency.** Currency of the deduction amount.
> >
> > * **Enables:** Read the currency of the amounts on the same row from `deductions.currency`.
> > * **Interpretation:** Justworks reports it as a currency code. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Deduction Type Code**
> >
> > Developer identifier: `deductions.deduction_type_code`
> >
> > **Deduction Type Code.** Type code of the deduction.
> >
> > * **Enables:** Read the deduction type code of a deduction from `deductions.deduction_type_code`.
> > * **Interpretation:** Justworks reports it as text. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Description**
> >
> > Developer identifier: `deductions.description`
> >
> > **Description.** Description of the deduction.
> >
> > * **Enables:** Read the description of a deduction from `deductions.description`.
> > * **Interpretation:** Justworks reports it as text. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **End Date**
> >
> > Developer identifier: `deductions.end_date`
> >
> > **End Date.** Date when the deduction ends.
> >
> > * **Enables:** Filter or order deductions by end date in `deductions.end_date`.
> > * **Interpretation:** Justworks reports it as a calendar date with no time of day. It may be absent. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Frequency**
> >
> > Developer identifier: `deductions.frequency`
> >
> > **Frequency.** Frequency at which the deduction is taken.
> >
> > * **Enables:** Separate deductions by frequency in `deductions.frequency`.
> > * **Interpretation:** Justworks reports it as a code. Values include `one_time`, `every_paycheck`, `first`, `second`, `first_second`, `regular`, `split_month`, `split_year`, `never`; keep unknown values as they arrive. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **ID**
> >
> > Developer identifier: `deductions.id`
> >
> > **ID.** Unique identifier of the deduction.
> >
> > * **Enables:** Join deductions to the Justworks record that `deductions.id` names.
> > * **Interpretation:** Justworks reports it as an identifier in its own namespace that means nothing outside Justworks. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Member ID**
> >
> > Developer identifier: `deductions.member_id`
> >
> > **Member ID.** Unique identifier of the member associated with the deduction.
> >
> > * **Enables:** Join deductions to the Justworks record that `deductions.member_id` names.
> > * **Interpretation:** Justworks reports it as an identifier in its own namespace that means nothing outside Justworks. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Start Date**
> >
> > Developer identifier: `deductions.start_date`
> >
> > **Start Date.** Date when the deduction starts.
> >
> > * **Enables:** Filter or order deductions by start date in `deductions.start_date`.
> > * **Interpretation:** Justworks reports it as a calendar date with no time of day. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.

> **Member Birth Dates**
>
> Developer identifier: `member_birth_dates`
>
> **Member Birth Dates.** Each member's date of birth.
>
> * **Enables:** Read a member's date of birth from `member_birth_dates.date_of_birth` where an HR process needs it.
>
> * **Scope:** Reads the `date_of_birth` field of Justworks `GET /v1/members` as a full synchronization, with `member.dob:read`. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Date Of Birth**
> >
> > Developer identifier: `member_birth_dates.date_of_birth`
> >
> > **Date Of Birth.** Date of birth of the member.
> >
> > * **Enables:** Filter or order members by date of birth in `member_birth_dates.date_of_birth`.
> > * **Interpretation:** Justworks reports it as a calendar date with no time of day. Justworks leaves it out when the token lacks `member.dob:read`. It may be absent. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Member ID**
> >
> > Developer identifier: `member_birth_dates.member_id`
> >
> > **Member ID.** Unique identifier of the member.
> >
> > * **Enables:** Join members to the Justworks record that `member_birth_dates.member_id` names.
> > * **Interpretation:** Justworks reports it as an identifier in its own namespace that means nothing outside Justworks. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Updated At**
> >
> > Developer identifier: `member_birth_dates.updated_at`
> >
> > **Updated At.** Timestamp when the member record was last updated.
> >
> > * **Enables:** Order members by updated at in `member_birth_dates.updated_at`.
> > * **Interpretation:** Justworks reports it as a timestamp. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.

> **Member Contacts**
>
> Developer identifier: `member_contacts`
>
> **Member Contacts.** Each member's work and home email addresses, phone numbers and addresses.
>
> * **Enables:** Reach a member at the addresses and numbers Justworks holds, in the `member_contacts__emails`, `member_contacts__phones` and `member_contacts__addresses` child tables.
>
> * **Scope:** Reads the contact fields of Justworks `GET /v1/members` as a full synchronization, with `member.detail:read`. Parable matches people on the work email in `members.work_email`, never on these personal addresses. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Addresses**
> >
> > Developer identifier: `member_contacts.addresses`
> >
> > **Addresses.** List of addresses associated with the member.
> >
> > * **Enables:** List each entry of a member's addresses in the `member_contacts__addresses` child table, one row per entry joined to the member by `parent_pk`.
> > * **Interpretation:** Justworks reports it as a list. Justworks leaves it out when the token lacks `member.detail:read`. It may be absent. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **City**
> >
> > Developer identifier: `member_contacts.addresses.city`
> >
> > **City.** City of the address.
> >
> > * **Enables:** Group or locate members by city in `member_contacts__addresses.city`.
> > * **Interpretation:** Justworks reports it as a part of an address. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Country Code**
> >
> > Developer identifier: `member_contacts.addresses.country_code`
> >
> > **Country Code.** ISO 3166-1 alpha-2 country code of the address.
> >
> > * **Enables:** Group or locate members by country code in `member_contacts__addresses.country_code`.
> > * **Interpretation:** Justworks reports it as a part of an address. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Line1**
> >
> > Developer identifier: `member_contacts.addresses.line1`
> >
> > **Line1.** Primary address line of the address. Usually the street number and name.
> >
> > * **Enables:** Group or locate members by line1 in `member_contacts__addresses.line1`.
> > * **Interpretation:** Justworks reports it as a part of an address. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Line2**
> >
> > Developer identifier: `member_contacts.addresses.line2`
> >
> > **Line2.** Secondary address line of the address. Usually the apartment, suite, or unit number.
> >
> > * **Enables:** Group or locate members by line2 in `member_contacts__addresses.line2`.
> > * **Interpretation:** Justworks reports it as a part of an address. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Postal Code**
> >
> > Developer identifier: `member_contacts.addresses.postal_code`
> >
> > **Postal Code.** Postal or ZIP code of the address.
> >
> > * **Enables:** Group or locate members by postal code in `member_contacts__addresses.postal_code`.
> > * **Interpretation:** Justworks reports it as a part of an address. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Type**
> >
> > Developer identifier: `member_contacts.addresses.type`
> >
> > **Type.** Type of the address.
> >
> > * **Enables:** Separate members by type in `member_contacts__addresses.type`.
> > * **Interpretation:** Justworks reports it as a code. Values include `home`, `office`, `mailing`, `primary`; keep unknown values as they arrive. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Zone Code**
> >
> > Developer identifier: `member_contacts.addresses.zone_code`
> >
> > **Zone Code.** State, province, or region code of the address.
> >
> > * **Enables:** Group or locate members by zone code in `member_contacts__addresses.zone_code`.
> > * **Interpretation:** Justworks reports it as a part of an address. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Emails**
> >
> > Developer identifier: `member_contacts.emails`
> >
> > **Emails.** List of email addresses associated with the member.
> >
> > * **Enables:** List each entry of a member's emails in the `member_contacts__emails` child table, one row per entry joined to the member by `parent_pk`.
> > * **Interpretation:** Justworks reports it as a list. Justworks leaves it out when the token lacks `member.detail:read`. It may be absent. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Email**
> >
> > Developer identifier: `member_contacts.emails.email`
> >
> > **Email.** Email address.
> >
> > * **Enables:** Reach the member at the address in `member_contacts__emails.email`.
> > * **Interpretation:** Justworks reports it as an email address that can change and can be shared. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Type**
> >
> > Developer identifier: `member_contacts.emails.type`
> >
> > **Type.** Type of the email address.
> >
> > * **Enables:** Separate members by type in `member_contacts__emails.type`.
> > * **Interpretation:** Justworks reports it as a code. Values include `home`, `work`; keep unknown values as they arrive. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Member ID**
> >
> > Developer identifier: `member_contacts.member_id`
> >
> > **Member ID.** Unique identifier of the member.
> >
> > * **Enables:** Join members to the Justworks record that `member_contacts.member_id` names.
> > * **Interpretation:** Justworks reports it as an identifier in its own namespace that means nothing outside Justworks. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Phones**
> >
> > Developer identifier: `member_contacts.phones`
> >
> > **Phones.** List of phone numbers associated with the member.
> >
> > * **Enables:** List each entry of a member's phones in the `member_contacts__phones` child table, one row per entry joined to the member by `parent_pk`.
> > * **Interpretation:** Justworks reports it as a list. Justworks leaves it out when the token lacks `member.detail:read`. It may be absent. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Phone**
> >
> > Developer identifier: `member_contacts.phones.phone`
> >
> > **Phone.** Phone number in E.164 format.
> >
> > * **Enables:** Reach the member at the number in `member_contacts__phones.phone`.
> > * **Interpretation:** Justworks reports it as a phone number in E.164 format. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Type**
> >
> > Developer identifier: `member_contacts.phones.type`
> >
> > **Type.** Type of the phone number.
> >
> > * **Enables:** Separate members by type in `member_contacts__phones.type`.
> > * **Interpretation:** Justworks reports it as a code. Values include `home`, `cell`, `office`, `primary`; keep unknown values as they arrive. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Updated At**
> >
> > Developer identifier: `member_contacts.updated_at`
> >
> > **Updated At.** Timestamp when the member record was last updated.
> >
> > * **Enables:** Order members by updated at in `member_contacts.updated_at`.
> > * **Interpretation:** Justworks reports it as a timestamp. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.

> **Member Custom Field Values**
>
> Developer identifier: `member_custom_field_values`
>
> **Member Custom Field Values.** Each member's values for the company's custom fields.
>
> * **Enables:** Read a member's value for a custom field by joining `member_custom_field_values.id` to `company_custom_fields.id`.
>
> * **Scope:** Reads Justworks `GET /v1/members/{member_id}/custom-field-values` once per member as a full synchronization, with `member.detail:read`. The company defines these fields, including fields in its `personal` category. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **ID**
> >
> > Developer identifier: `member_custom_field_values.id`
> >
> > **ID.** Unique identifier of the custom field.
> >
> > * **Enables:** Join custom field values to the Justworks record that `member_custom_field_values.id` names.
> > * **Interpretation:** Justworks reports it as an identifier in its own namespace that means nothing outside Justworks. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Member ID**
> >
> > Developer identifier: `member_custom_field_values.member_id`
> >
> > **Member ID.** The ID of the member this record was read for, copied from the parent `members` row.
> >
> > * **Enables:** Join each row of `member_custom_field_values` to its `members.id` row.
> > * **Interpretation:** Parable writes this value while it reads the member's records; Justworks does not return it on this endpoint. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Row Key**
> >
> > Developer identifier: `member_custom_field_values.value_key`
> >
> > **Row Key.** A key Parable derives for each row from `member_id`, `id`, because Justworks gives this record no single identifier.
> >
> > * **Enables:** Keep one row per custom field value across repeated reads, so a re-sync never duplicates it.
> > * **Interpretation:** Parable builds it from those fields. It means nothing outside this table. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Values**
> >
> > Developer identifier: `member_custom_field_values.values`
> >
> > **Values.** Values assigned to the custom field for the member.
> >
> > * **Enables:** List each entry of a custom field value's values in `member_custom_field_values.values`, one row per entry joined to the custom field value by `parent_pk`.
> > * **Interpretation:** Justworks reports it as a list. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.

> **Member Pay**
>
> Developer identifier: `member_pay`
>
> **Member Pay.** Each member's current pay rate, pay basis, FLSA status, pay frequency and pay history.
>
> * **Enables:** Compare pay rates and their effective dates across members, and rebuild a member's pay on a given date from `member_pay__pay_history`.
>
> * **Scope:** Reads the pay fields of Justworks `GET /v1/members` as a full synchronization, with `member.pay:read`. Rates are integers in cents of `pay_currency`. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Current Pay**
> >
> > Developer identifier: `member_pay.current_pay`
> >
> > **Current Pay.** Current pay details of the member.
> >
> > * **Enables:** Read the current pay of a member from `member_pay.current_pay`.
> > * **Interpretation:** Justworks reports it as a nested object. Justworks leaves it out when the token lacks `member.pay:read`. It may be absent. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Country Data**
> >
> > Developer identifier: `member_pay.current_pay.country_data`
> >
> > **Country Data.** Country-specific data of the pay rate, keyed by ISO 3166-1 alpha-2 country code.
> >
> > * **Enables:** Read the country data of a member from `member_pay.current_pay__country_data`.
> > * **Interpretation:** Justworks reports it as a nested object. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **United States**
> >
> > Developer identifier: `member_pay.current_pay.country_data.US`
> >
> > **United States.** Country-specific data of the pay rate for the United States.
> >
> > * **Enables:** Read the united states of a member from `member_pay.current_pay__country_data__US`.
> > * **Interpretation:** Justworks reports it as a nested object. It may be absent. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **FLSA Status**
> >
> > Developer identifier: `member_pay.current_pay.country_data.US.flsa_status`
> >
> > **FLSA Status.** FLSA (Fair Labor Standards Act) exempt status of the member.
> >
> > * **Enables:** Separate members by flsa status in `member_pay.current_pay__country_data__US__flsa_status`.
> > * **Interpretation:** Justworks reports it as a code. Values include `exempt`, `non_exempt`, `unset`; keep unknown values as they arrive. It may be absent. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Effective Date**
> >
> > Developer identifier: `member_pay.current_pay.effective_date`
> >
> > **Effective Date.** Date when the pay rate becomes effective.
> >
> > * **Enables:** Filter or order members by effective date in `member_pay.current_pay__effective_date`.
> > * **Interpretation:** Justworks reports it as a calendar date with no time of day. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Pay Basis**
> >
> > Developer identifier: `member_pay.current_pay.pay_basis`
> >
> > **Pay Basis.** Pay basis of the pay rate.
> >
> > * **Enables:** Separate members by pay basis in `member_pay.current_pay__pay_basis`.
> > * **Interpretation:** Justworks reports it as a code. Values include `annual`, `hourly`, `unpaid`, `unknown`; keep unknown values as they arrive. It may be absent. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Pay Currency**
> >
> > Developer identifier: `member_pay.current_pay.pay_currency`
> >
> > **Pay Currency.** Currency code of the pay rate.
> >
> > * **Enables:** Read the currency of the amounts on the same row from `member_pay.current_pay__pay_currency`.
> > * **Interpretation:** Justworks reports it as a currency code. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Pay Rate**
> >
> > Developer identifier: `member_pay.current_pay.pay_rate`
> >
> > **Pay Rate.** Pay rate amount in cents.
> >
> > * **Enables:** Sum or compare pay rate across members in `member_pay.current_pay__pay_rate`, in cents of the row's currency.
> > * **Interpretation:** Justworks reports it as an integer number of cents. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Current Pay Frequency**
> >
> > Developer identifier: `member_pay.current_pay_frequency`
> >
> > **Current Pay Frequency.** Current pay frequency of the member.
> >
> > * **Enables:** Separate members by current pay frequency in `member_pay.current_pay_frequency`.
> > * **Interpretation:** Justworks reports it as a code. Values include `monthly`, `semimonthly`, `biweekly`, `biweekly_in_arrears`, `weekly`, `weekly_in_arrears`; keep unknown values as they arrive. Justworks leaves it out when the token lacks `member.pay:read`. It may be absent. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Member ID**
> >
> > Developer identifier: `member_pay.member_id`
> >
> > **Member ID.** Unique identifier of the member.
> >
> > * **Enables:** Join members to the Justworks record that `member_pay.member_id` names.
> > * **Interpretation:** Justworks reports it as an identifier in its own namespace that means nothing outside Justworks. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Pay History**
> >
> > Developer identifier: `member_pay.pay_history`
> >
> > **Pay History.** Historical pay records for the member, ordered by the oldest effective date first.
> >
> > * **Enables:** List each entry of a member's pay history in the `member_pay__pay_history` child table, one row per entry joined to the member by `parent_pk`.
> > * **Interpretation:** Justworks reports it as a list. Justworks leaves it out when the token lacks `member.pay:read`. It may be absent. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Updated At**
> >
> > Developer identifier: `member_pay.updated_at`
> >
> > **Updated At.** Timestamp when the member record was last updated.
> >
> > * **Enables:** Order members by updated at in `member_pay.updated_at`.
> > * **Interpretation:** Justworks reports it as a timestamp. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.

> **Member Sex**
>
> Developer identifier: `member_sex`
>
> **Member Sex.** Each member's sex assigned at birth, as Justworks records it for payroll and benefits.
>
> * **Enables:** Read the value from `member_sex.sex_assigned_at_birth` where an HR or compliance report needs it.
>
> * **Scope:** Reads the `sex_assigned_at_birth` field of Justworks `GET /v1/members` as a full synchronization, with `member.sex:read`. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Member ID**
> >
> > Developer identifier: `member_sex.member_id`
> >
> > **Member ID.** Unique identifier of the member.
> >
> > * **Enables:** Join members to the Justworks record that `member_sex.member_id` names.
> > * **Interpretation:** Justworks reports it as an identifier in its own namespace that means nothing outside Justworks. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Sex Assigned At Birth**
> >
> > Developer identifier: `member_sex.sex_assigned_at_birth`
> >
> > **Sex Assigned At Birth.** Sex assigned at birth of the member.
> >
> > * **Enables:** Separate members by sex assigned at birth in `member_sex.sex_assigned_at_birth`.
> > * **Interpretation:** Justworks reports it as a code. Values include `male`, `female`; keep unknown values as they arrive. Justworks leaves it out when the token lacks `member.sex:read`. It may be absent. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Updated At**
> >
> > Developer identifier: `member_sex.updated_at`
> >
> > **Updated At.** Timestamp when the member record was last updated.
> >
> > * **Enables:** Order members by updated at in `member_sex.updated_at`.
> > * **Interpretation:** Justworks reports it as a timestamp. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.

> **Members**
>
> Developer identifier: `members`
>
> **Members.** Every member of the connected Justworks company, with name, work email, job title, member type, department, office, manager, employment status and employment history.
>
> * **Enables:** Match Justworks members to the same people in other Providers by member ID, work email and name; group people by department, office and manager; and tell current members from members whose employment ended.
>
> * **Scope:** Reads Justworks `GET /v1/members` as a full synchronization, 100 members per page. Home email, phones, home addresses, pay, date of birth and sex are not part of this stream; each lands in its own stream. Justworks leaves out a field whose scope is missing instead of failing the request. A later complete read treats a member who is no longer returned as removed.
>
> > **Active**
> >
> > Developer identifier: `members.active`
> >
> > **Active.** Indicates whether the member is currently active.
> >
> > * **Enables:** Filter members on active in `members.active`.
> > * **Interpretation:** Justworks reports it as true or false.
>
> > **Company ID**
> >
> > Developer identifier: `members.company_id`
> >
> > **Company ID.** Unique identifier of the company the member belongs to.
> >
> > * **Enables:** Join members to the Justworks record that `members.company_id` names.
> > * **Interpretation:** Justworks reports it as an identifier in its own namespace that means nothing outside Justworks.
>
> > **Created At**
> >
> > Developer identifier: `members.created_at`
> >
> > **Created At.** Timestamp when the member record was created.
> >
> > * **Enables:** Order members by created at in `members.created_at`.
> > * **Interpretation:** Justworks reports it as a timestamp.
>
> > **Current Employment**
> >
> > Developer identifier: `members.current_employment`
> >
> > **Current Employment.** Current employment details of the member.
> >
> > * **Enables:** Read the current employment of a member from `members.current_employment`.
> > * **Interpretation:** Justworks reports it as a nested object. Justworks leaves it out when the token lacks `member.employment:read`. It may be absent.
>
> > **Effective Date**
> >
> > Developer identifier: `members.current_employment.effective_date`
> >
> > **Effective Date.** Date when the employment became effective.
> >
> > * **Enables:** Filter or order members by effective date in `members.current_employment__effective_date`.
> > * **Interpretation:** Justworks reports it as a calendar date with no time of day.
>
> > **Job Title**
> >
> > Developer identifier: `members.current_employment.job_title`
> >
> > **Job Title.** Job title of the member of the employment.
> >
> > * **Enables:** Group or label members by job title in `members.current_employment__job_title`.
> > * **Interpretation:** Justworks reports it as free text the company enters. It may be absent.
>
> > **Status**
> >
> > Developer identifier: `members.current_employment.status`
> >
> > **Status.** Status of the member of the employment.
> >
> > * **Enables:** Separate members by status in `members.current_employment__status`.
> > * **Interpretation:** Justworks reports it as a code. Values include `active`, `terminated`; keep unknown values as they arrive. It may be absent.
>
> > **Type**
> >
> > Developer identifier: `members.current_employment.type`
> >
> > **Type.** Type of the member of the employment.
> >
> > * **Enables:** Separate members by type in `members.current_employment__type`.
> > * **Interpretation:** Justworks reports it as a code. Values include `unpaid_owner`, `paid_owner`, `contractor`, `full_time_employee`, `third_party_admin`, `part_time_employee`, `temp`, `vendor`, `international_employee`, `international_contractor`, `employee_eor`, `paid_intern`; keep unknown values as they arrive. It may be absent.
>
> > **Date Added To Justworks**
> >
> > Developer identifier: `members.date_added_to_justworks`
> >
> > **Date Added To Justworks.** Date the member was added to the platform.
> >
> > * **Enables:** Filter or order members by date added to justworks in `members.date_added_to_justworks`.
> > * **Interpretation:** Justworks reports it as a calendar date with no time of day. It may be absent.
>
> > **Department**
> >
> > Developer identifier: `members.department`
> >
> > **Department.** Department the member belongs to within the company.
> >
> > * **Enables:** Read the department of a member from `members.department`.
> > * **Interpretation:** Justworks reports it as a nested object. It may be absent.
>
> > **ID**
> >
> > Developer identifier: `members.department.id`
> >
> > **ID.** Unique identifier of the department.
> >
> > * **Enables:** Join members to the Justworks record that `members.department__id` names.
> > * **Interpretation:** Justworks reports it as an identifier in its own namespace that means nothing outside Justworks.
>
> > **Name**
> >
> > Developer identifier: `members.department.name`
> >
> > **Name.** Name of the department.
> >
> > * **Enables:** Label members with the name in `members.department__name`.
> > * **Interpretation:** Justworks reports it as text that can change and is not unique.
>
> > **Employment History**
> >
> > Developer identifier: `members.employment_history`
> >
> > **Employment History.** Historical employment records for the member, ordered by the oldest effective date first.
> >
> > * **Enables:** List each entry of a member's employment history in the `members__employment_history` child table, one row per entry joined to the member by `parent_pk`.
> > * **Interpretation:** Justworks reports it as a list. Justworks leaves it out when the token lacks `member.employment:read`. It may be absent.
>
> > **Employment Location Type**
> >
> > Developer identifier: `members.employment_location_type`
> >
> > **Employment Location Type.** Location type where the member works.
> >
> > * **Enables:** Separate members by employment location type in `members.employment_location_type`.
> > * **Interpretation:** Justworks reports it as a code. Values include `office`, `remote`; keep unknown values as they arrive. It may be absent.
>
> > **Employment Start Date**
> >
> > Developer identifier: `members.employment_start_date`
> >
> > **Employment Start Date.** Date the member started working at the company.
> >
> > * **Enables:** Filter or order members by employment start date in `members.employment_start_date`.
> > * **Interpretation:** Justworks reports it as a calendar date with no time of day. It may be absent.
>
> > **Employment Termination Date**
> >
> > Developer identifier: `members.employment_termination_date`
> >
> > **Employment Termination Date.** Date the member was terminated from the company.
> >
> > * **Enables:** Filter or order members by employment termination date in `members.employment_termination_date`.
> > * **Interpretation:** Justworks reports it as a calendar date with no time of day. Justworks leaves it out when the token lacks `member.employment:read`. It may be absent.
>
> > **Member ID**
> >
> > Developer identifier: `members.id`
> >
> > **Member ID.** Justworks' identifier for the member, the key for every member row.
> >
> > * **Enables:** Keep one row per member in `members.id` across full reads; join every Justworks table that names a `member_id` to this row; and link the member to an identity account.
> > * **Interpretation:** Justworks issues it in its own namespace, prefixed `member_`; it does not identify the person outside Justworks. It is the record key, and Parable uses it as the account's ID when it links the account to a person.
>
> > **Job Title**
> >
> > Developer identifier: `members.job_title`
> >
> > **Job Title.** Job title of the member.
> >
> > * **Enables:** Group or label members by job title in `members.job_title`.
> > * **Interpretation:** Justworks reports it as free text the company enters. It may be absent.
>
> > **Manager**
> >
> > Developer identifier: `members.manager`
> >
> > **Manager.** The member Justworks records as this member's manager.
> >
> > * **Enables:** Follow `members.manager_id` to the manager's own `members` row to build reporting lines and manager teams.
> > * **Interpretation:** Needs `member.detail:read`. Parable keeps only the manager's member ID, as the `manager_id` reference; the manager's name and work email live on the manager's own row.
>
> > **Full Preferred Name**
> >
> > Developer identifier: `members.manager.full_preferred_name`
> >
> > **Full Preferred Name.** Full preferred name of the manager.
> >
> > * **Enables:** Label members with the full preferred name in `members.manager__full_preferred_name`.
> > * **Interpretation:** Justworks reports it as text that can change and is not unique.
>
> > **ID**
> >
> > Developer identifier: `members.manager.id`
> >
> > **ID.** Unique identifier of the manager.
> >
> > * **Enables:** Join members to the Justworks record that `members.manager__id` names.
> > * **Interpretation:** Justworks reports it as an identifier in its own namespace that means nothing outside Justworks.
>
> > **Name**
> >
> > Developer identifier: `members.name`
> >
> > **Name.** Name of the member.
> >
> > * **Enables:** Read the name of a member from `members.name`.
> > * **Interpretation:** Justworks reports it as a nested object.
>
> > **Additional Names**
> >
> > Developer identifier: `members.name.additional_names`
> >
> > **Additional Names.** Additional names or middle name.
> >
> > * **Enables:** Label members with the additional names in `members.name__additional_names`.
> > * **Interpretation:** Justworks reports it as text that can change and is not unique. It may be absent.
>
> > **Family Name**
> >
> > Developer identifier: `members.name.family_name`
> >
> > **Family Name.** Family name or last name.
> >
> > * **Enables:** Label members with the family name in `members.name__family_name`.
> > * **Interpretation:** Justworks reports it as text that can change and is not unique.
>
> > **Full Preferred Name**
> >
> > Developer identifier: `members.name.full_preferred_name`
> >
> > **Full Preferred Name.** Full name combining preferred name, additional names, and family name.
> >
> > * **Enables:** Label members with the full preferred name in `members.name__full_preferred_name`.
> > * **Interpretation:** Justworks reports it as text that can change and is not unique. Parable uses this field as the person's name.
>
> > **Given Name**
> >
> > Developer identifier: `members.name.given_name`
> >
> > **Given Name.** Given name or first name.
> >
> > * **Enables:** Label members with the given name in `members.name__given_name`.
> > * **Interpretation:** Justworks reports it as text that can change and is not unique.
>
> > **Preferred Name**
> >
> > Developer identifier: `members.name.preferred_name`
> >
> > **Preferred Name.** Preferred name or given name.
> >
> > * **Enables:** Label members with the preferred name in `members.name__preferred_name`.
> > * **Interpretation:** Justworks reports it as text that can change and is not unique. It may be absent.
>
> > **Office**
> >
> > Developer identifier: `members.office`
> >
> > **Office.** Office the member belongs to within the company.
> >
> > * **Enables:** Read the office of a member from `members.office`.
> > * **Interpretation:** Justworks reports it as a nested object. It may be absent.
>
> > **Address**
> >
> > Developer identifier: `members.office.address`
> >
> > **Address.** Address of the office.
> >
> > * **Enables:** Read the address of a member from `members.office__address`.
> > * **Interpretation:** Justworks reports it as a nested object. Justworks leaves it out when the token lacks `company.detail:read`. It may be absent.
>
> > **City**
> >
> > Developer identifier: `members.office.address.city`
> >
> > **City.** City of the address.
> >
> > * **Enables:** Group or locate members by city in `members.office__address__city`.
> > * **Interpretation:** Justworks reports it as a part of an address.
>
> > **Country Code**
> >
> > Developer identifier: `members.office.address.country_code`
> >
> > **Country Code.** ISO 3166-1 alpha-2 country code of the address.
> >
> > * **Enables:** Group or locate members by country code in `members.office__address__country_code`.
> > * **Interpretation:** Justworks reports it as a part of an address.
>
> > **Line1**
> >
> > Developer identifier: `members.office.address.line1`
> >
> > **Line1.** Primary address line of the address. Usually the street number and name.
> >
> > * **Enables:** Group or locate members by line1 in `members.office__address__line1`.
> > * **Interpretation:** Justworks reports it as a part of an address.
>
> > **Line2**
> >
> > Developer identifier: `members.office.address.line2`
> >
> > **Line2.** Secondary address line of the address. Usually the apartment, suite, or unit number.
> >
> > * **Enables:** Group or locate members by line2 in `members.office__address__line2`.
> > * **Interpretation:** Justworks reports it as a part of an address.
>
> > **Postal Code**
> >
> > Developer identifier: `members.office.address.postal_code`
> >
> > **Postal Code.** Postal or ZIP code of the address.
> >
> > * **Enables:** Group or locate members by postal code in `members.office__address__postal_code`.
> > * **Interpretation:** Justworks reports it as a part of an address.
>
> > **Type**
> >
> > Developer identifier: `members.office.address.type`
> >
> > **Type.** Type of the address.
> >
> > * **Enables:** Separate members by type in `members.office__address__type`.
> > * **Interpretation:** Justworks reports it as a code. Values include `home`, `office`, `mailing`, `primary`; keep unknown values as they arrive.
>
> > **Zone Code**
> >
> > Developer identifier: `members.office.address.zone_code`
> >
> > **Zone Code.** State, province, or region code of the address.
> >
> > * **Enables:** Group or locate members by zone code in `members.office__address__zone_code`.
> > * **Interpretation:** Justworks reports it as a part of an address.
>
> > **ID**
> >
> > Developer identifier: `members.office.id`
> >
> > **ID.** Unique identifier of the office.
> >
> > * **Enables:** Join members to the Justworks record that `members.office__id` names.
> > * **Interpretation:** Justworks reports it as an identifier in its own namespace that means nothing outside Justworks.
>
> > **Name**
> >
> > Developer identifier: `members.office.name`
> >
> > **Name.** Name of the office.
> >
> > * **Enables:** Label members with the name in `members.office__name`.
> > * **Interpretation:** Justworks reports it as text that can change and is not unique.
>
> > **Partner Settings**
> >
> > Developer identifier: `members.partner_settings`
> >
> > **Partner Settings.** Partner settings associated with the member.
> >
> > * **Enables:** Read the partner settings of a member from `members.partner_settings`.
> > * **Interpretation:** Justworks reports it as a nested object.
>
> > **Type**
> >
> > Developer identifier: `members.type`
> >
> > **Type.** Type of the member.
> >
> > * **Enables:** Separate members by type in `members.type`.
> > * **Interpretation:** Justworks reports it as a code. Values include `unpaid_owner`, `paid_owner`, `contractor`, `full_time_employee`, `third_party_admin`, `part_time_employee`, `temp`, `vendor`, `international_employee`, `international_contractor`, `employee_eor`, `paid_intern`; keep unknown values as they arrive. Justworks leaves it out when the token lacks `member.detail:read`. It may be absent.
>
> > **Updated At**
> >
> > Developer identifier: `members.updated_at`
> >
> > **Updated At.** Timestamp when the member record was last updated.
> >
> > * **Enables:** Order members by updated at in `members.updated_at`.
> > * **Interpretation:** Justworks reports it as a timestamp.
>
> > **Work Email**
> >
> > Developer identifier: `members.work_email`
> >
> > **Work Email.** The member's work email address, lifted from Justworks' `emails` list so it can identify the person.
> >
> > * **Enables:** Match the member in `members.work_email` to the same person's accounts in other Providers by exact email.
> > * **Interpretation:** Parable computes this column while it reads the page: the first `emails` entry whose `type` is `work`. It is empty when the member has no work address or the token lacks `member.detail:read`. Home addresses are never used. Parable uses this field as the account's email when it links the account to a person.
>
> > **Work ID**
> >
> > Developer identifier: `members.work_id`
> >
> > **Work ID.** Company-assigned work identifier of the member.
> >
> > * **Enables:** Join members to the Justworks record that `members.work_id` names.
> > * **Interpretation:** Justworks reports it as an identifier in its own namespace that means nothing outside Justworks. It may be absent.

> **Payroll Fees**
>
> Developer identifier: `payroll_fees`
>
> **Payroll Fees.** The fees Justworks charged on each payroll, with name, type, amount and the member or paystub each fee belongs to.
>
> * **Enables:** Sum Justworks fees per payroll and per member, by `payroll_id` and `member_id`.
>
> * **Scope:** Reads Justworks `GET /v1/payrolls/{payroll_id}/fees` once for each payroll the `payrolls` stream reads, with `payroll:read`. Amounts are integers in cents of `currency`. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Amount**
> >
> > Developer identifier: `payroll_fees.amount`
> >
> > **Amount.** Amount of the fee, in cents.
> >
> > * **Enables:** Sum or compare amount across payroll fees in `payroll_fees.amount`, in cents of the row's currency.
> > * **Interpretation:** Justworks reports it as an integer number of cents. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Currency**
> >
> > Developer identifier: `payroll_fees.currency`
> >
> > **Currency.** Currency of the fee.
> >
> > * **Enables:** Read the currency of the amounts on the same row from `payroll_fees.currency`.
> > * **Interpretation:** Justworks reports it as a currency code. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Row Key**
> >
> > Developer identifier: `payroll_fees.fee_key`
> >
> > **Row Key.** A key Parable derives for each row from `payroll_id`, `reference_type`, `reference_id`, `member_id`, `currency`, `type`, because Justworks gives this record no single identifier.
> >
> > * **Enables:** Keep one row per payroll fee across repeated reads, so a re-sync never duplicates it.
> > * **Interpretation:** Parable builds it from those fields. It means nothing outside this table. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Member ID**
> >
> > Developer identifier: `payroll_fees.member_id`
> >
> > **Member ID.** Unique identifier of the member associated with the fee.
> >
> > * **Enables:** Join payroll fees to the Justworks record that `payroll_fees.member_id` names.
> > * **Interpretation:** Justworks reports it as an identifier in its own namespace that means nothing outside Justworks. It may be absent. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Name**
> >
> > Developer identifier: `payroll_fees.name`
> >
> > **Name.** Name of the fee.
> >
> > * **Enables:** Label payroll fees with the name in `payroll_fees.name`.
> > * **Interpretation:** Justworks reports it as text that can change and is not unique. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Payroll ID**
> >
> > Developer identifier: `payroll_fees.payroll_id`
> >
> > **Payroll ID.** The ID of the payroll this record was read for, copied from the parent `payrolls` row.
> >
> > * **Enables:** Join each row of `payroll_fees` to its `payrolls.id` row.
> > * **Interpretation:** Parable writes this value while it reads the payroll's records; Justworks does not return it on this endpoint. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Reference ID**
> >
> > Developer identifier: `payroll_fees.reference_id`
> >
> > **Reference ID.** Unique identifier of the entity associated with the fee.
> >
> > * **Enables:** Join payroll fees to the Justworks record that `payroll_fees.reference_id` names.
> > * **Interpretation:** Justworks reports it as an identifier in its own namespace that means nothing outside Justworks. It may be absent. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Reference Type**
> >
> > Developer identifier: `payroll_fees.reference_type`
> >
> > **Reference Type.** Type of entity associated with the fee.
> >
> > * **Enables:** Separate payroll fees by reference type in `payroll_fees.reference_type`.
> > * **Interpretation:** Justworks reports it as a code. Values include `member`, `paystub`; keep unknown values as they arrive. It may be absent. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Type**
> >
> > Developer identifier: `payroll_fees.type`
> >
> > **Type.** Type of the fee.
> >
> > * **Enables:** Separate payroll fees by type in `payroll_fees.type`.
> > * **Interpretation:** Justworks reports it as a code. Values include `payment_fee_first`, `payment_fee_additional`, `employee_fee_first`, `employee_fee_additional`, `employee_fee`, `monthly_fee`, `contractor_payment_fee`, `expense_reimbursement_fee`, `work_comp`, `work_comp_imputed`, `expense_constant_ny`, `wc_expense_constant`, and 50 more; keep unknown values as they arrive. It may be absent. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.

> **Payrolls**
>
> Developer identifier: `payrolls`
>
> **Payrolls.** Each payroll the company ran, with debit and pay dates, payment method, the amount debited and the company totals of gross pay, net pay and employee and employer taxes.
>
> * **Enables:** Sum payroll cost by pay date and compare gross and net totals across payrolls; each paystub and fee joins back on `payroll_id`.
>
> * **Scope:** Reads Justworks `GET /v1/payrolls` over every processing date on each sync, so a payroll that was late, corrected, or ran before this stream was turned on still lands, with `payroll:read`. Amounts are integers in cents of `currency`. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Company Debit**
> >
> > Developer identifier: `payrolls.company_debit`
> >
> > **Company Debit.** Amount debited from the company's account, in cents.
> >
> > * **Enables:** Sum or compare company debit across payrolls in `payrolls.company_debit`, in cents of the row's currency.
> > * **Interpretation:** Justworks reports it as an integer number of cents. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Currency**
> >
> > Developer identifier: `payrolls.currency`
> >
> > **Currency.** Currency of the payroll.
> >
> > * **Enables:** Read the currency of the amounts on the same row from `payrolls.currency`.
> > * **Interpretation:** Justworks reports it as a currency code. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Debit Date**
> >
> > Developer identifier: `payrolls.debit_date`
> >
> > **Debit Date.** Date when the payroll was debited from the company's account.
> >
> > * **Enables:** Filter or order payrolls by debit date in `payrolls.debit_date`.
> > * **Interpretation:** Justworks reports it as a calendar date with no time of day. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Employee Taxes**
> >
> > Developer identifier: `payrolls.employee_taxes`
> >
> > **Employee Taxes.** Sum of taxes paid by employees, in cents.
> >
> > * **Enables:** Sum or compare employee taxes across payrolls in `payrolls.employee_taxes`, in cents of the row's currency.
> > * **Interpretation:** Justworks reports it as an integer number of cents. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Employer Taxes**
> >
> > Developer identifier: `payrolls.employer_taxes`
> >
> > **Employer Taxes.** Sum of taxes paid by the employer, in cents.
> >
> > * **Enables:** Sum or compare employer taxes across payrolls in `payrolls.employer_taxes`, in cents of the row's currency.
> > * **Interpretation:** Justworks reports it as an integer number of cents. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Gross Pay**
> >
> > Developer identifier: `payrolls.gross_pay`
> >
> > **Gross Pay.** Sum of employees' gross pay, in cents.
> >
> > * **Enables:** Sum or compare gross pay across payrolls in `payrolls.gross_pay`, in cents of the row's currency.
> > * **Interpretation:** Justworks reports it as an integer number of cents. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **ID**
> >
> > Developer identifier: `payrolls.id`
> >
> > **ID.** Unique identifier of the payroll.
> >
> > * **Enables:** Join payrolls to the Justworks record that `payrolls.id` names.
> > * **Interpretation:** Justworks reports it as an identifier in its own namespace that means nothing outside Justworks. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Net Pay**
> >
> > Developer identifier: `payrolls.net_pay`
> >
> > **Net Pay.** Sum of employees' net pay, in cents.
> >
> > * **Enables:** Sum or compare net pay across payrolls in `payrolls.net_pay`, in cents of the row's currency.
> > * **Interpretation:** Justworks reports it as an integer number of cents. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Pay Date**
> >
> > Developer identifier: `payrolls.pay_date`
> >
> > **Pay Date.** Date when employees were paid.
> >
> > * **Enables:** Filter or order payrolls by pay date in `payrolls.pay_date`.
> > * **Interpretation:** Justworks reports it as a calendar date with no time of day. It may be absent. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Payment Method**
> >
> > Developer identifier: `payrolls.payment_method`
> >
> > **Payment Method.** Payment method used for the payroll.
> >
> > * **Enables:** Separate payrolls by payment method in `payrolls.payment_method`.
> > * **Interpretation:** Justworks reports it as a code. Values include `bank_account`, `wallet`, `unknown`; keep unknown values as they arrive. It may be absent. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.

> **Paystub Details**
>
> Developer identifier: `paystub_details`
>
> **Paystub Details.** The line items of each paystub: earnings, employee deductions (pre-tax, tax, after-tax) and employer contributions.
>
> * **Enables:** Break a paystub's gross and net pay into its earnings, taxes, deductions and employer contributions, by `paystub_id`.
>
> * **Scope:** Reads Justworks `GET /v1/paystubs/{paystub_id}` once for each paystub the `paystubs` stream reads, with `paystub:read`. The paystub's own dates and totals stay in `paystubs`. Amounts are integers in cents of `currency`. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Earnings**
> >
> > Developer identifier: `paystub_details.earnings`
> >
> > **Earnings.** List of earnings associated with the paystub.
> >
> > * **Enables:** List each entry of a paystub's earnings in the `paystub_details__earnings` child table, one row per entry joined to the paystub by `parent_pk`.
> > * **Interpretation:** Justworks reports it as a list. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Amount**
> >
> > Developer identifier: `paystub_details.earnings.amount`
> >
> > **Amount.** Amount of the earnings item, in cents.
> >
> > * **Enables:** Sum or compare amount across paystubs in `paystub_details__earnings.amount`, in cents of the row's currency.
> > * **Interpretation:** Justworks reports it as an integer number of cents. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Currency**
> >
> > Developer identifier: `paystub_details.earnings.currency`
> >
> > **Currency.** Currency of the earnings item.
> >
> > * **Enables:** Read the currency of the amounts on the same row from `paystub_details__earnings.currency`.
> > * **Interpretation:** Justworks reports it as a currency code. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Name**
> >
> > Developer identifier: `paystub_details.earnings.name`
> >
> > **Name.** Name of the earnings item.
> >
> > * **Enables:** Label paystubs with the name in `paystub_details__earnings.name`.
> > * **Interpretation:** Justworks reports it as text that can change and is not unique. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Type**
> >
> > Developer identifier: `paystub_details.earnings.type`
> >
> > **Type.** Type of the earnings item.
> >
> > * **Enables:** Separate paystubs by type in `paystub_details__earnings.type`.
> > * **Interpretation:** Justworks reports it as a code. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Employee Deductions**
> >
> > Developer identifier: `paystub_details.employee_deductions`
> >
> > **Employee Deductions.** List of deductions taken from the employee's pay.
> >
> > * **Enables:** List each entry of a paystub's employee deductions in the `paystub_details__employee_deductions` child table, one row per entry joined to the paystub by `parent_pk`.
> > * **Interpretation:** Justworks reports it as a list. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Amount**
> >
> > Developer identifier: `paystub_details.employee_deductions.amount`
> >
> > **Amount.** Amount of the deduction, in cents.
> >
> > * **Enables:** Sum or compare amount across paystubs in `paystub_details__employee_deductions.amount`, in cents of the row's currency.
> > * **Interpretation:** Justworks reports it as an integer number of cents. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Category**
> >
> > Developer identifier: `paystub_details.employee_deductions.category`
> >
> > **Category.** Category of the deduction.
> >
> > * **Enables:** Separate paystubs by category in `paystub_details__employee_deductions.category`.
> > * **Interpretation:** Justworks reports it as a code. Values include `pretax`, `tax`, `aftertax`, `unknown`; keep unknown values as they arrive. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Currency**
> >
> > Developer identifier: `paystub_details.employee_deductions.currency`
> >
> > **Currency.** Currency of the deduction.
> >
> > * **Enables:** Read the currency of the amounts on the same row from `paystub_details__employee_deductions.currency`.
> > * **Interpretation:** Justworks reports it as a currency code. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Name**
> >
> > Developer identifier: `paystub_details.employee_deductions.name`
> >
> > **Name.** Name of the employee deduction.
> >
> > * **Enables:** Label paystubs with the name in `paystub_details__employee_deductions.name`.
> > * **Interpretation:** Justworks reports it as text that can change and is not unique. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Type**
> >
> > Developer identifier: `paystub_details.employee_deductions.type`
> >
> > **Type.** Type of the deduction.
> >
> > * **Enables:** Separate paystubs by type in `paystub_details__employee_deductions.type`.
> > * **Interpretation:** Justworks reports it as a code. It may be absent. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Employer Contributions**
> >
> > Developer identifier: `paystub_details.employer_contributions`
> >
> > **Employer Contributions.** List of employer contributions associated with the paystub.
> >
> > * **Enables:** List each entry of a paystub's employer contributions in the `paystub_details__employer_contributions` child table, one row per entry joined to the paystub by `parent_pk`.
> > * **Interpretation:** Justworks reports it as a list. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Amount**
> >
> > Developer identifier: `paystub_details.employer_contributions.amount`
> >
> > **Amount.** Amount of the employer contribution, in cents.
> >
> > * **Enables:** Sum or compare amount across paystubs in `paystub_details__employer_contributions.amount`, in cents of the row's currency.
> > * **Interpretation:** Justworks reports it as an integer number of cents. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Category**
> >
> > Developer identifier: `paystub_details.employer_contributions.category`
> >
> > **Category.** Category of the employer contribution.
> >
> > * **Enables:** Separate paystubs by category in `paystub_details__employer_contributions.category`.
> > * **Interpretation:** Justworks reports it as a code. Values include `tax`, `hsa`, `401k`, `benefit`, `unknown`; keep unknown values as they arrive. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Currency**
> >
> > Developer identifier: `paystub_details.employer_contributions.currency`
> >
> > **Currency.** Currency of the employer contribution.
> >
> > * **Enables:** Read the currency of the amounts on the same row from `paystub_details__employer_contributions.currency`.
> > * **Interpretation:** Justworks reports it as a currency code. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Name**
> >
> > Developer identifier: `paystub_details.employer_contributions.name`
> >
> > **Name.** Name of the employer contribution.
> >
> > * **Enables:** Label paystubs with the name in `paystub_details__employer_contributions.name`.
> > * **Interpretation:** Justworks reports it as text that can change and is not unique. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Type**
> >
> > Developer identifier: `paystub_details.employer_contributions.type`
> >
> > **Type.** Type of the employer contribution.
> >
> > * **Enables:** Separate paystubs by type in `paystub_details__employer_contributions.type`.
> > * **Interpretation:** Justworks reports it as a code. It may be absent. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Paystub ID**
> >
> > Developer identifier: `paystub_details.paystub_id`
> >
> > **Paystub ID.** Unique identifier of the paystub.
> >
> > * **Enables:** Join paystubs to the Justworks record that `paystub_details.paystub_id` names.
> > * **Interpretation:** Justworks reports it as an identifier in its own namespace that means nothing outside Justworks. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.

> **Paystubs**
>
> Developer identifier: `paystubs`
>
> **Paystubs.** Each member's paystub on each payroll, with pay period, pay date, pay group and gross and net pay.
>
> * **Enables:** Sum gross and net pay per member and pay period, by joining `paystubs.member_id` to `members.id`.
>
> * **Scope:** Reads Justworks `GET /v1/payrolls/{payroll_id}/paystubs` once for each payroll the `payrolls` stream reads, with `paystub:read`. Amounts are integers in cents of `currency`. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Currency**
> >
> > Developer identifier: `paystubs.currency`
> >
> > **Currency.** Currency of the paystub.
> >
> > * **Enables:** Read the currency of the amounts on the same row from `paystubs.currency`.
> > * **Interpretation:** Justworks reports it as a currency code. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Gross Pay**
> >
> > Developer identifier: `paystubs.gross_pay`
> >
> > **Gross Pay.** Gross pay amount, in cents.
> >
> > * **Enables:** Sum or compare gross pay across paystubs in `paystubs.gross_pay`, in cents of the row's currency.
> > * **Interpretation:** Justworks reports it as an integer number of cents. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Member ID**
> >
> > Developer identifier: `paystubs.member_id`
> >
> > **Member ID.** Unique identifier of the member associated with the paystub.
> >
> > * **Enables:** Join paystubs to the Justworks record that `paystubs.member_id` names.
> > * **Interpretation:** Justworks reports it as an identifier in its own namespace that means nothing outside Justworks. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Net Pay**
> >
> > Developer identifier: `paystubs.net_pay`
> >
> > **Net Pay.** Net pay amount, in cents.
> >
> > * **Enables:** Sum or compare net pay across paystubs in `paystubs.net_pay`, in cents of the row's currency.
> > * **Interpretation:** Justworks reports it as an integer number of cents. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Pay Date**
> >
> > Developer identifier: `paystubs.pay_date`
> >
> > **Pay Date.** Date when the paystub was issued.
> >
> > * **Enables:** Filter or order paystubs by pay date in `paystubs.pay_date`.
> > * **Interpretation:** Justworks reports it as a calendar date with no time of day. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Pay Group**
> >
> > Developer identifier: `paystubs.pay_group`
> >
> > **Pay Group.** Pay group the employee belonged to at the time of the paystub.
> >
> > * **Enables:** Read the pay group of a paystub from `paystubs.pay_group`.
> > * **Interpretation:** Justworks reports it as text. It may be absent. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Pay Period End**
> >
> > Developer identifier: `paystubs.pay_period_end`
> >
> > **Pay Period End.** End date of the pay period.
> >
> > * **Enables:** Filter or order paystubs by pay period end in `paystubs.pay_period_end`.
> > * **Interpretation:** Justworks reports it as a calendar date with no time of day. It may be absent. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Pay Period Start**
> >
> > Developer identifier: `paystubs.pay_period_start`
> >
> > **Pay Period Start.** Start date of the pay period.
> >
> > * **Enables:** Filter or order paystubs by pay period start in `paystubs.pay_period_start`.
> > * **Interpretation:** Justworks reports it as a calendar date with no time of day. It may be absent. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Payroll ID**
> >
> > Developer identifier: `paystubs.payroll_id`
> >
> > **Payroll ID.** The ID of the payroll this record was read for, copied from the parent `payrolls` row.
> >
> > * **Enables:** Join each row of `paystubs` to its `payrolls.id` row.
> > * **Interpretation:** Parable writes this value while it reads the payroll's records; Justworks does not return it on this endpoint. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Paystub ID**
> >
> > Developer identifier: `paystubs.paystub_id`
> >
> > **Paystub ID.** Unique identifier of the paystub.
> >
> > * **Enables:** Join paystubs to the Justworks record that `paystubs.paystub_id` names.
> > * **Interpretation:** Justworks reports it as an identifier in its own namespace that means nothing outside Justworks. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.

> **Subscriptions**
>
> Developer identifier: `subscriptions`
>
> **Subscriptions.** The Justworks products the company subscribes to, such as PEO or Payroll, with status, dates, unit prices per entity type, discounts and bundled add-ons.
>
> * **Enables:** List which Justworks plan the company is on and what it pays per employee type, from `subscriptions`, `subscriptions__prices` and `subscriptions__discounts`.
>
> * **Scope:** Reads Justworks `GET /v1/subscriptions` with expired subscriptions included, as a full synchronization, with `subscriptions:read`. Add-ons are subscriptions of the same shape and land as one list column.
>
> > **Add Ons**
> >
> > Developer identifier: `subscriptions.add_ons`
> >
> > **Add Ons.** Child subscriptions bundled under this subscription.
> >
> > * **Enables:** List each entry of a subscription's add ons in the `subscriptions__add_ons` child table, one row per entry joined to the subscription by `parent_pk`.
> > * **Interpretation:** Justworks reports it as a list.
>
> > **Company ID**
> >
> > Developer identifier: `subscriptions.company_id`
> >
> > **Company ID.** Canonical ID of the company this subscription belongs to.
> >
> > * **Enables:** Join subscriptions to the Justworks record that `subscriptions.company_id` names.
> > * **Interpretation:** Justworks reports it as an identifier in its own namespace that means nothing outside Justworks.
>
> > **Discounts**
> >
> > Developer identifier: `subscriptions.discounts`
> >
> > **Discounts.** Pricing adjustments that reduce the subscription cost.
> >
> > * **Enables:** List each entry of a subscription's discounts in the `subscriptions__discounts` child table, one row per entry joined to the subscription by `parent_pk`.
> > * **Interpretation:** Justworks reports it as a list.
>
> > **Amount**
> >
> > Developer identifier: `subscriptions.discounts.amount`
> >
> > **Amount.** Discount amount broken down by entity type. Which fields are populated depends on the discount strategy and the entity types it applies to.
> >
> > * **Enables:** Read the amount of a subscription from `subscriptions__discounts.amount`.
> > * **Interpretation:** Justworks reports it as a nested object.
>
> > **Administrator**
> >
> > Developer identifier: `subscriptions.discounts.amount.administrator`
> >
> > **Administrator.** Tier-based adjustment amounts for a single entity type.
> >
> > * **Enables:** Read the administrator of a subscription from `subscriptions__discounts.amount__administrator`.
> > * **Interpretation:** Justworks reports it as a nested object. It may be absent.
>
> > **Consumable Current Counts**
> >
> > Developer identifier: `subscriptions.discounts.amount.administrator.consumable_current_counts`
> >
> > **Consumable Current Counts.** Current un-used prepaid seat counts.
> >
> > * **Enables:** Compare consumable current counts across subscriptions in `subscriptions__discounts.amount__employee_full_time__consumable_current_counts`.
> > * **Interpretation:** Justworks reports it as an integer. It may be absent.
>
> > **Consumable Initial Counts**
> >
> > Developer identifier: `subscriptions.discounts.amount.administrator.consumable_initial_counts`
> >
> > **Consumable Initial Counts.** Initial prepaid seat counts at purchase or migration.
> >
> > * **Enables:** Compare consumable initial counts across subscriptions in `subscriptions__discounts.amount__employee_full_time__consumable_initial_counts`.
> > * **Interpretation:** Justworks reports it as an integer. It may be absent.
>
> > **Consumable Unit Price**
> >
> > Developer identifier: `subscriptions.discounts.amount.administrator.consumable_unit_price`
> >
> > **Consumable Unit Price.** Per-seat unit price for prepaid adjustments.
> >
> > * **Enables:** Compare consumable unit price across subscriptions in `subscriptions__discounts.amount__employee_full_time__consumable_unit_price`.
> > * **Interpretation:** Justworks reports it as a decimal amount written as text. It may be absent.
>
> > **Flat**
> >
> > Developer identifier: `subscriptions.discounts.amount.administrator.flat`
> >
> > **Flat.** Flat discount amount.
> >
> > * **Enables:** Compare flat across subscriptions in `subscriptions__discounts.amount__employee_full_time__flat`.
> > * **Interpretation:** Justworks reports it as a decimal amount written as text. It may be absent.
>
> > **Tier 1**
> >
> > Developer identifier: `subscriptions.discounts.amount.administrator.tier_1`
> >
> > **Tier 1.** Tier 1 (low) discount amount.
> >
> > * **Enables:** Compare tier 1 across subscriptions in `subscriptions__discounts.amount__employee_full_time__tier_1`.
> > * **Interpretation:** Justworks reports it as a decimal amount written as text. It may be absent.
>
> > **Tier 2**
> >
> > Developer identifier: `subscriptions.discounts.amount.administrator.tier_2`
> >
> > **Tier 2.** Tier 2 (high) discount amount.
> >
> > * **Enables:** Compare tier 2 across subscriptions in `subscriptions__discounts.amount__employee_full_time__tier_2`.
> > * **Interpretation:** Justworks reports it as a decimal amount written as text. It may be absent.
>
> > **Company**
> >
> > Developer identifier: `subscriptions.discounts.amount.company`
> >
> > **Company.** Tier-based adjustment amounts for a single entity type.
> >
> > * **Enables:** Read the company of a subscription from `subscriptions__discounts.amount__company`.
> > * **Interpretation:** Justworks reports it as a nested object. It may be absent.
>
> > **Contractor**
> >
> > Developer identifier: `subscriptions.discounts.amount.contractor`
> >
> > **Contractor.** Tier-based adjustment amounts for a single entity type.
> >
> > * **Enables:** Read the contractor of a subscription from `subscriptions__discounts.amount__contractor`.
> > * **Interpretation:** Justworks reports it as a nested object. It may be absent.
>
> > **Employee Any**
> >
> > Developer identifier: `subscriptions.discounts.amount.employee_any`
> >
> > **Employee Any.** Tier-based adjustment amounts for a single entity type.
> >
> > * **Enables:** Read the employee any of a subscription from `subscriptions__discounts.amount__employee_any`.
> > * **Interpretation:** Justworks reports it as a nested object. It may be absent.
>
> > **Employee Full Time**
> >
> > Developer identifier: `subscriptions.discounts.amount.employee_full_time`
> >
> > **Employee Full Time.** Tier-based adjustment amounts for a single entity type.
> >
> > * **Enables:** Read the employee full time of a subscription from `subscriptions__discounts.amount__employee_full_time`.
> > * **Interpretation:** Justworks reports it as a nested object. It may be absent.
>
> > **Employee Part Time**
> >
> > Developer identifier: `subscriptions.discounts.amount.employee_part_time`
> >
> > **Employee Part Time.** Tier-based adjustment amounts for a single entity type.
> >
> > * **Enables:** Read the employee part time of a subscription from `subscriptions__discounts.amount__employee_part_time`.
> > * **Interpretation:** Justworks reports it as a nested object. It may be absent.
>
> > **Intl Contractor**
> >
> > Developer identifier: `subscriptions.discounts.amount.intl_contractor`
> >
> > **Intl Contractor.** Tier-based adjustment amounts for a single entity type.
> >
> > * **Enables:** Read the intl contractor of a subscription from `subscriptions__discounts.amount__intl_contractor`.
> > * **Interpretation:** Justworks reports it as a nested object. It may be absent.
>
> > **Vendor Company**
> >
> > Developer identifier: `subscriptions.discounts.amount.vendor_company`
> >
> > **Vendor Company.** Tier-based adjustment amounts for a single entity type.
> >
> > * **Enables:** Read the vendor company of a subscription from `subscriptions__discounts.amount__vendor_company`.
> > * **Interpretation:** Justworks reports it as a nested object. It may be absent.
>
> > **Workplace**
> >
> > Developer identifier: `subscriptions.discounts.amount.workplace`
> >
> > **Workplace.** Tier-based adjustment amounts for a single entity type.
> >
> > * **Enables:** Read the workplace of a subscription from `subscriptions__discounts.amount__workplace`.
> > * **Interpretation:** Justworks reports it as a nested object. It may be absent.
>
> > **End Date**
> >
> > Developer identifier: `subscriptions.discounts.end_date`
> >
> > **End Date.** ISO 8601 date-time when the discount ends.
> >
> > * **Enables:** Filter or order subscriptions by end date in `subscriptions__discounts.end_date`.
> > * **Interpretation:** Justworks reports it as a calendar date with no time of day. It may be absent.
>
> > **ID**
> >
> > Developer identifier: `subscriptions.discounts.id`
> >
> > **ID.** Unique identifier for the discount.
> >
> > * **Enables:** Join subscriptions to the Justworks record that `subscriptions__discounts.id` names.
> > * **Interpretation:** Justworks reports it as an identifier in its own namespace that means nothing outside Justworks.
>
> > **Name**
> >
> > Developer identifier: `subscriptions.discounts.name`
> >
> > **Name.** Display name of the discount.
> >
> > * **Enables:** Label subscriptions with the name in `subscriptions__discounts.name`.
> > * **Interpretation:** Justworks reports it as text that can change and is not unique.
>
> > **Rule Type**
> >
> > Developer identifier: `subscriptions.discounts.rule_type`
> >
> > **Rule Type.** Rule type governing discount eligibility: STANDARD, CUSTOM, or OVERRIDE.
> >
> > * **Enables:** Separate subscriptions by rule type in `subscriptions__discounts.rule_type`.
> > * **Interpretation:** Justworks reports it as a code.
>
> > **Start Date**
> >
> > Developer identifier: `subscriptions.discounts.start_date`
> >
> > **Start Date.** ISO 8601 date-time when the discount takes effect.
> >
> > * **Enables:** Filter or order subscriptions by start date in `subscriptions__discounts.start_date`.
> > * **Interpretation:** Justworks reports it as a calendar date with no time of day.
>
> > **Strategy**
> >
> > Developer identifier: `subscriptions.discounts.strategy`
> >
> > **Strategy.** How the discount is calculated: FIXED\_ENTITY, FIXED\_TOTAL, PERCENTAGE, or PREPAID\_SEAT.
> >
> > * **Enables:** Separate subscriptions by strategy in `subscriptions__discounts.strategy`.
> > * **Interpretation:** Justworks reports it as a code.
>
> > **End Date**
> >
> > Developer identifier: `subscriptions.end_date`
> >
> > **End Date.** ISO 8601 date-time when the subscription ends.
> >
> > * **Enables:** Filter or order subscriptions by end date in `subscriptions.end_date`.
> > * **Interpretation:** Justworks reports it as a calendar date with no time of day. It may be absent.
>
> > **ID**
> >
> > Developer identifier: `subscriptions.id`
> >
> > **ID.** Unique identifier for the subscription.
> >
> > * **Enables:** Join subscriptions to the Justworks record that `subscriptions.id` names.
> > * **Interpretation:** Justworks reports it as an identifier in its own namespace that means nothing outside Justworks.
>
> > **Prices**
> >
> > Developer identifier: `subscriptions.prices`
> >
> > **Prices.** Pricing per entity type for this subscription.
> >
> > * **Enables:** List each entry of a subscription's prices in the `subscriptions__prices` child table, one row per entry joined to the subscription by `parent_pk`.
> > * **Interpretation:** Justworks reports it as a list.
>
> > **Amount**
> >
> > Developer identifier: `subscriptions.prices.amount`
> >
> > **Amount.** Unit price amount for this entity type.
> >
> > * **Enables:** Compare amount across subscriptions in `subscriptions__prices.amount`.
> > * **Interpretation:** Justworks reports it as a decimal amount written as text.
>
> > **Style**
> >
> > Developer identifier: `subscriptions.prices.style`
> >
> > **Style.** Pricing style: FLAT or STEP\_TIER.
> >
> > * **Enables:** Separate subscriptions by style in `subscriptions__prices.style`.
> > * **Interpretation:** Justworks reports it as a code.
>
> > **Type**
> >
> > Developer identifier: `subscriptions.prices.type`
> >
> > **Type.** The entity type this price applies to (e.g. EMPLOYEE\_FULL\_TIME, CONTRACTOR).
> >
> > * **Enables:** Separate subscriptions by type in `subscriptions__prices.type`.
> > * **Interpretation:** Justworks reports it as a code.
>
> > **Product Name**
> >
> > Developer identifier: `subscriptions.product_name`
> >
> > **Product Name.** Name of the subscribed product (e.g. PEO, Payroll PEPM, Payroll Base).
> >
> > * **Enables:** Label subscriptions with the product name in `subscriptions.product_name`.
> > * **Interpretation:** Justworks reports it as text that can change and is not unique.
>
> > **Start Date**
> >
> > Developer identifier: `subscriptions.start_date`
> >
> > **Start Date.** ISO 8601 date-time when billing for this subscription began.
> >
> > * **Enables:** Filter or order subscriptions by start date in `subscriptions.start_date`.
> > * **Interpretation:** Justworks reports it as a calendar date with no time of day.
>
> > **Status**
> >
> > Developer identifier: `subscriptions.status`
> >
> > **Status.** Lifecycle status of the subscription: ACTIVE, EXPIRED, or PENDING.
> >
> > * **Enables:** Separate subscriptions by status in `subscriptions.status`.
> > * **Interpretation:** Justworks reports it as a code.

> **Time Off Balances**
>
> Developer identifier: `time_off_balances`
>
> **Time Off Balances.** Each member's available and used time off for each policy, as of the sync.
>
> * **Enables:** Compare available and used time off across members and policies, by joining `member_id` to `members.id` and `policy_id` to `time_off_policies.id`.
>
> * **Scope:** Starts a Justworks balance report with `POST /v1/time-off/balances`, polls `GET /v1/time-off/balances/{report_id}` until it is ready, and reads it as a full synchronization, with `time_off:read`.
>
> > **Available**
> >
> > Developer identifier: `time_off_balances.available`
> >
> > **Available.** Amount of time off available.
> >
> > * **Enables:** Sum available across time off balances in `time_off_balances.available`, in the row's `unit_type`.
> > * **Interpretation:** Justworks reports it as a number.
>
> > **Row Key**
> >
> > Developer identifier: `time_off_balances.balance_key`
> >
> > **Row Key.** A key Parable derives for each row from `member_id`, `policy_id`, because Justworks gives this record no single identifier.
> >
> > * **Enables:** Keep one row per time off balance across repeated reads, so a re-sync never duplicates it.
> > * **Interpretation:** Parable builds it from those fields. It means nothing outside this table.
>
> > **Member ID**
> >
> > Developer identifier: `time_off_balances.member_id`
> >
> > **Member ID.** Unique identifier of the member associated with the balance.
> >
> > * **Enables:** Join time off balances to the Justworks record that `time_off_balances.member_id` names.
> > * **Interpretation:** Justworks reports it as an identifier in its own namespace that means nothing outside Justworks.
>
> > **Policy ID**
> >
> > Developer identifier: `time_off_balances.policy_id`
> >
> > **Policy ID.** Unique identifier of the time off policy associated with the balance.
> >
> > * **Enables:** Join time off balances to the Justworks record that `time_off_balances.policy_id` names.
> > * **Interpretation:** Justworks reports it as an identifier in its own namespace that means nothing outside Justworks.
>
> > **Unit Type**
> >
> > Developer identifier: `time_off_balances.unit_type`
> >
> > **Unit Type.** Unit of time represented by `used` and `available`.
> >
> > * **Enables:** Separate time off balances by unit type in `time_off_balances.unit_type`.
> > * **Interpretation:** Justworks reports it as a code. Values include `minutes`, `hours`, `days`; keep unknown values as they arrive.
>
> > **Used**
> >
> > Developer identifier: `time_off_balances.used`
> >
> > **Used.** Amount of time off used.
> >
> > * **Enables:** Sum used across time off balances in `time_off_balances.used`, in the row's `unit_type`.
> > * **Interpretation:** Justworks reports it as a number.

> **Time Off Policies**
>
> Developer identifier: `time_off_policies`
>
> **Time Off Policies.** The company's time off policies, with name, type (vacation, sick leave, other, international), status and effective and deactivation dates.
>
> * **Enables:** Name the policy of each time off request and balance by joining `policy_id` to `time_off_policies.id`.
>
> * **Scope:** Reads Justworks `GET /v1/time-off/policies` as a full synchronization, with `time_off:read`. Whether Justworks returns inactive policies without a status filter is not documented, so a policy missing from a later read is not treated as removed.
>
> > **Deactivation Date**
> >
> > Developer identifier: `time_off_policies.deactivation_date`
> >
> > **Deactivation Date.** Date when the time off policy is deactivated.
> >
> > * **Enables:** Filter or order time off policies by deactivation date in `time_off_policies.deactivation_date`.
> > * **Interpretation:** Justworks reports it as a calendar date with no time of day. It may be absent.
>
> > **Effective Date**
> >
> > Developer identifier: `time_off_policies.effective_date`
> >
> > **Effective Date.** Date when the time off policy becomes effective.
> >
> > * **Enables:** Filter or order time off policies by effective date in `time_off_policies.effective_date`.
> > * **Interpretation:** Justworks reports it as a calendar date with no time of day.
>
> > **ID**
> >
> > Developer identifier: `time_off_policies.id`
> >
> > **ID.** Unique identifier of the time off policy.
> >
> > * **Enables:** Join time off policies to the Justworks record that `time_off_policies.id` names.
> > * **Interpretation:** Justworks reports it as an identifier in its own namespace that means nothing outside Justworks.
>
> > **Name**
> >
> > Developer identifier: `time_off_policies.name`
> >
> > **Name.** Name of the time off policy.
> >
> > * **Enables:** Label time off policies with the name in `time_off_policies.name`.
> > * **Interpretation:** Justworks reports it as text that can change and is not unique.
>
> > **Status**
> >
> > Developer identifier: `time_off_policies.status`
> >
> > **Status.** Status of the time off policy.
> >
> > * **Enables:** Separate time off policies by status in `time_off_policies.status`.
> > * **Interpretation:** Justworks reports it as a code. Values include `active`, `inactive`; keep unknown values as they arrive.
>
> > **Type**
> >
> > Developer identifier: `time_off_policies.type`
> >
> > **Type.** Type of the time off policy.
> >
> > * **Enables:** Separate time off policies by type in `time_off_policies.type`.
> > * **Interpretation:** Justworks reports it as a code. Values include `vacation`, `sick_leave`, `other`, `international`; keep unknown values as they arrive.

> **Time Off Request Notes**
>
> Developer identifier: `time_off_request_notes`
>
> **Time Off Request Notes.** The free-text note an employee wrote on each time off request.
>
> * **Enables:** Read the note for a request by joining `time_off_request_notes.time_off_request_id` to `time_off_requests.id`.
>
> * **Scope:** Reads the `notes` field of Justworks `GET /v1/time-off/requests` over every request date, with `time_off:read`. Notes can mention health or family reasons. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Notes**
> >
> > Developer identifier: `time_off_request_notes.notes`
> >
> > **Notes.** Notes submitted by the employee for the request.
> >
> > * **Enables:** Read the notes of a time off request from `time_off_request_notes.notes`.
> > * **Interpretation:** Justworks reports it as text. It may be absent. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Time Off Request ID**
> >
> > Developer identifier: `time_off_request_notes.time_off_request_id`
> >
> > **Time Off Request ID.** Unique identifier of the time off request.
> >
> > * **Enables:** Join time off requests to the Justworks record that `time_off_request_notes.time_off_request_id` names.
> > * **Interpretation:** Justworks reports it as an identifier in its own namespace that means nothing outside Justworks. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.
>
> > **Updated At**
> >
> > Developer identifier: `time_off_request_notes.updated_at`
> >
> > **Updated At.** Timestamp when the time off request was last updated.
> >
> > * **Enables:** Order time off requests by updated at in `time_off_request_notes.updated_at`.
> > * **Interpretation:** Justworks reports it as a timestamp. Sensitive: this stream is off until a Workspace administrator turns it on, and its fields land only in this table.

> **Time Off Requests**
>
> Developer identifier: `time_off_requests`
>
> **Time Off Requests.** Every time off request in the company: member, policy, start and end dates, amount and unit, status and the employee's notes.
>
> * **Enables:** Count approved time away per member and day, by joining `time_off_requests.member_id` to `members.id`, so time off is not read as missing work.
>
> * **Scope:** Reads Justworks `GET /v1/time-off/requests` as a full synchronization over every request date, with `time_off:read`. Notes are free text the employee wrote and can mention health or family reasons.
>
> > **Amount**
> >
> > Developer identifier: `time_off_requests.amount`
> >
> > **Amount.** Amount of time off requested.
> >
> > * **Enables:** Sum amount across time off requests in `time_off_requests.amount`, in the row's `unit_type`.
> > * **Interpretation:** Justworks reports it as a number.
>
> > **Created At**
> >
> > Developer identifier: `time_off_requests.created_at`
> >
> > **Created At.** Timestamp when the time off request was created.
> >
> > * **Enables:** Order time off requests by created at in `time_off_requests.created_at`.
> > * **Interpretation:** Justworks reports it as a timestamp. It may be absent.
>
> > **End Date**
> >
> > Developer identifier: `time_off_requests.end_date`
> >
> > **End Date.** Date when the time off request ends.
> >
> > * **Enables:** Filter or order time off requests by end date in `time_off_requests.end_date`.
> > * **Interpretation:** Justworks reports it as a calendar date with no time of day.
>
> > **ID**
> >
> > Developer identifier: `time_off_requests.id`
> >
> > **ID.** Unique identifier of the time off request.
> >
> > * **Enables:** Join time off requests to the Justworks record that `time_off_requests.id` names.
> > * **Interpretation:** Justworks reports it as an identifier in its own namespace that means nothing outside Justworks.
>
> > **Member ID**
> >
> > Developer identifier: `time_off_requests.member_id`
> >
> > **Member ID.** Unique identifier of the member who requested the time off.
> >
> > * **Enables:** Join time off requests to the Justworks record that `time_off_requests.member_id` names.
> > * **Interpretation:** Justworks reports it as an identifier in its own namespace that means nothing outside Justworks.
>
> > **Policy ID**
> >
> > Developer identifier: `time_off_requests.policy_id`
> >
> > **Policy ID.** Unique identifier of the time off policy associated with the request.
> >
> > * **Enables:** Join time off requests to the Justworks record that `time_off_requests.policy_id` names.
> > * **Interpretation:** Justworks reports it as an identifier in its own namespace that means nothing outside Justworks.
>
> > **Start Date**
> >
> > Developer identifier: `time_off_requests.start_date`
> >
> > **Start Date.** Date when the time off request starts.
> >
> > * **Enables:** Filter or order time off requests by start date in `time_off_requests.start_date`.
> > * **Interpretation:** Justworks reports it as a calendar date with no time of day.
>
> > **Status**
> >
> > Developer identifier: `time_off_requests.status`
> >
> > **Status.** Status of the time off request.
> >
> > * **Enables:** Separate time off requests by status in `time_off_requests.status`.
> > * **Interpretation:** Justworks reports it as a code. Values include `requested`, `approved`, `declined`, `cancelled`, `deleted`, `manual`; keep unknown values as they arrive.
>
> > **Unit Type**
> >
> > Developer identifier: `time_off_requests.unit_type`
> >
> > **Unit Type.** Unit of time represented by `amount`.
> >
> > * **Enables:** Separate time off requests by unit type in `time_off_requests.unit_type`.
> > * **Interpretation:** Justworks reports it as a code. Values include `minutes`, `hours`, `days`; keep unknown values as they arrive.
>
> > **Updated At**
> >
> > Developer identifier: `time_off_requests.updated_at`
> >
> > **Updated At.** Timestamp when the time off request was last updated.
> >
> > * **Enables:** Order time off requests by updated at in `time_off_requests.updated_at`.
> > * **Interpretation:** Justworks reports it as a timestamp.

**Troubleshooting**

| Error | Meaning | Solution |
| - | - | - |
| Authorization redirect fails | Redirect URI mismatch | Register the Redirect URI from the Parable form exactly on the Justworks OAuth application, including your Workspace subdomain |
| `401 Unauthorized` on authorization | Wrong client credentials | Check the Client ID and Client Secret on the OAuth authorization screen |
| Emails, manager or employment fields are empty | Scope not granted | Grant the scope on the OAuth application, then click **Re-authorize with OAuth** |
| Pay or payroll streams stay empty | The standard connection does not grant their scopes | Reconnect with **Justworks OAuth 2.0 with pay, payroll and personal data** |
| Connection stops validating after a month | Refresh token expired | Justworks refresh tokens expire after 30 days unused; click **Re-authorize with OAuth** |
| Time off balances stay empty | Balance report failed or timed out | Parable polls the Justworks report for up to 15 minutes; check the sync's errors for the report status |
| `429 Too Many Requests` | Rate limit | Justworks allows 300 requests per minute per OAuth application; Parable waits for `Retry-After` |

**[Justworks Public API](https://public-api.justworks.com/v1/docs)** — Official API reference


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