---
updatedAt: 2026-10-22T16:11:09.000Z
agentTools:
  projectIndex: https://docs.checkhq.com/llms.txt
---

# Webhook event types

A list of Check supported webhook events

## Check-Topic header

Each webhook request has a `Check-Topic` header that represents which type of API event the webhook is associated with.

| Topic                              | Description                                                                                                 |
| :--------------------------------- | :---------------------------------------------------------------------------------------------------------- |
| payroll                            | Any [payroll lifecycle event](https://docs.checkhq.com/docs/webhook-event-types#payroll-events)                                       |
| company\_tax\_document             | Any [company tax document event](https://docs.checkhq.com/docs/webhook-event-types#document-events)                                   |
| company\_authorization\_document   | Any [company authorization document event](https://docs.checkhq.com/docs/webhook-event-types#document-events)                         |
| employee\_tax\_document            | Any [employee tax document event](https://docs.checkhq.com/docs/webhook-event-types#document-events)                                  |
| contractor\_tax\_document          | Any [contractor tax document event](https://docs.checkhq.com/docs/webhook-event-types#document-events)                                |
| setup\_document                    | Any [setup document event](https://docs.checkhq.com/reference/get-a-setup-document)                                                        |
| bank\_account                      | Any [bank account event](https://docs.checkhq.com/docs/webhook-event-types#bank-account-events)                                       |
| benefit                            | Any [benefit event](https://docs.checkhq.com/docs/webhook-event-types#benefit-events)                                                 |
| company\_benefit                   | Any [company benefit event](https://docs.checkhq.com/docs/webhook-event-types#company-benefit-events)                                 |
| post\_tax\_deduction               | Any [post-tax deduction event](https://docs.checkhq.com/docs/webhook-event-types#post-tax-deduction-events)                           |
| company                            | Any [company event](https://docs.checkhq.com/docs/webhook-event-types#company-events)                                                 |
| company\_terminated                | Any [company termination event](https://docs.checkhq.com/docs/webhook-event-types#company-terminated-events)                          |
| employee                           | Any [employee event](https://docs.checkhq.com/docs/webhook-event-types#employee-events)                                               |
| contractor                         | Any [contractor event](https://docs.checkhq.com/docs/webhook-event-types#contractor-events)                                           |
| workplace                          | Any [workplace event](https://docs.checkhq.com/docs/webhook-event-types#workplace-events)                                             |
| earning\_code                      | Any [earning code event](https://docs.checkhq.com/docs/webhook-event-types#earning-code-events)                                       |
| payment                            | Any [payment status change event](https://docs.checkhq.com/docs/webhook-event-types#payments-webhooks)                                |
| federal\_ein\_verification         | Any [federal EIN verification change event](https://docs.checkhq.com/docs/webhook-event-types#federal-ein-verification-events)        |
| requirement                        | Any [Requirements API](https://docs.checkhq.com/docs/requirements-api) events                                                         |
| company\_processing\_status        | Any [company processing status change event](https://docs.checkhq.com/docs/webhook-event-types#company-processing-status-events)      |
| pay\_schedule                      | Any [pay schedule event](https://docs.checkhq.com/docs/webhook-event-types#pay-schedule-events)                                       |
| earning\_rate                      | Any [earning rate event](https://docs.checkhq.com/docs/webhook-event-types#earning-rate-events)                                       |
| \[deprecating soon] tax\_filing    | Any [tax filing event](https://docs.checkhq.com/docs/webhook-event-types#deprecating-soon-tax-filing-event)                           |
| company\_filing                    | Any [company filing event](https://docs.checkhq.com/docs/webhook-event-types#company-filing-event)          |
| tax\_package                       | Any [tax package event](https://docs.checkhq.com/docs/webhook-event-types#tax-package-events)                                         |
| net\_pay\_split                    | Any [net pay split event](https://docs.checkhq.com/docs/webhook-event-types#net-pay-split-events)                                     |
| integration\_access                | Any [integration access event](https://docs.checkhq.com/docs/webhook-event-types#integration-access-events)                           |
| enrollment\_profile                | Any [enrollment profile event](https://docs.checkhq.com/reference/the-enrollment-profile-object)                                           |
| setup                              | Any [setup event](https://docs.checkhq.com/docs/webhook-event-types#setup-events)                                                     |
| fulfillment                        | Any [fulfillment event](https://docs.checkhq.com/docs/webhook-event-types#fulfillment-events)                                         |
| notification                       | Any [notification event](https://docs.checkhq.com/docs/webhook-event-types#notification-events)                                       |
| correction                         | Any [correction event](https://docs.checkhq.com/docs/webhook-event-types#correction-events)                                           |
| employee\_tax\_statement\_override | Any [employee tax statement override event](https://docs.checkhq.com/docs/webhook-event-types#employee-tax-statement-override-events) |

## Payroll Events

| Event          | Description                                                                                                                                                     |
| :------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| created        | A payroll was created                                                                                                                                           |
| deleted        | A payroll was deleted                                                                                                                                           |
| updated        | A payroll was updated *Note: This event is available in API version 2025-01-01 or later.*                                                                       |
| status\_change | A payroll instance's status changes (for example, a payroll moves from `pending` to `processing`). *Note: This event was deprecated in API version 2025-01-01.* |

**Example webhook event payload**

```json
{
    "event": "created",
    "data": {
        "id": "pay_Z26PNMC7Ky1wfFQzVqfF",
        "company": "com_sx3svU6K8c5ZkSFlOh5p",
        "period_start": "2019-06-16",
        "period_end": "2019-06-29",
        "approval_deadline": "2019-07-02T00:00:00.000000Z",
        "approved_at": "2019-06-29T18:26:56.848920Z",
        "payday": "2019-07-05",
        "status": "paid",
        "type": "regular",
        ... // remainder of payroll data
}
```

More detail on the [Payroll object](https://docs.checkhq.com/reference/payroll).

## Document Events

These events apply to employee, company, and contractor document resources.

| Event   | Description                                                                                                                                                            |
| :------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| created | A document was created (For example, this could be triggered when an employee submits a document through [Check Onboard](https://docs.checkhq.com/docs/check-onboard)) |
| deleted | A document was deleted                                                                                                                                                 |

**Example webhook event payload**\
Here is an example webhook event payload for an employee tax document:

```json
{
    "event": "created",
    "data": {
        "id": "doc_oSFuU4veTPqG8KRGAINc", 
        "year": 2021,
        "category": "employee_tax_document",
        "label": "Federal W-4", 
        "employee": "emp_jMjjmrBTSNzBCG1kRkh9", 
        "filed_on": "2021-02-18", 
        "jurisdiction": "FED"
    }
}
```

More detail on the [Document object](https://docs.checkhq.com/reference/the-document-object) (and the various document categories).

## Bank Account Events

| Event   | Description                |
| :------ | :------------------------- |
| created | A bank account was created |
| updated | A bank account was updated |
| deleted | A bank account was deleted |

**Example webhook event payload**

```json
{
    "event": "created",
    "data": {
        "id": "bnk_BcuzUyfy6Rt2Woa6TAHz",
        "company": "com_cHVEOcdE6bzMiBxpOzTQ",
        "status": "ownership_verified",
        "disabled_reason": null,
        "plaid_bank_account": {
            "name": "Plaid Checking",
            "plaid_public_token": "public-sandbox-023e3f0d-bcd8-46ee-b1dd-fcb67bcb4372",
            "institution_name": "Chase",
            "mask": "0000",
            "type": "depository",
            "subtype": "checking",
            "verified": true,
            "microdeposit_verification_status": null
        }
    }
}
```

More detail on the [Bank Account object](https://docs.checkhq.com/reference/the-bank-account-object).

## Benefit Events

| Event   | Description           |
| :------ | :-------------------- |
| created | A benefit was created |
| updated | A benefit was updated |
| deleted | A benefit was deleted |

**Example webhook event payload**

```json
{
    "event": "created",
    "data": {
        "id": "ben_x3BTJJjgRCHDRTffYUAJ",
        "benefit": "401k",
        "company_benefit": null,
        "employee": "emp_SXRWvWC6TYtZLHpCYxOi",
        "description": "Retirement",
        "effective_end": null,
        "effective_start": "2021-03-26",
        "hsa_contribution_limit": null,
        "company_contribution_amount": "1.00",
        "company_contribution_percent": null,
        "employee_contribution_amount": "1.00",
        "employee_contribution_percent": null
    },
}
```

More detail on the [Benefit object](https://docs.checkhq.com/reference/the-employee-benefit-object).

## Company Benefit Events

| Event   | Description                   |
| :------ | :---------------------------- |
| created | A company benefit was created |
| updated | A company benefit was updated |
| deleted | A company benefit was deleted |

**Example webhook event payload**

```json
{
    "event": "created",
    "data": {
        "id": "cbn_lrcYUhTk1FVZl2vSCOBP",
        "benefit": "401k",
        "company": "com_kKTK4VafMNc5pIbI0G9x",
        "description": "Guideline 401(k)",
        "effective_end": null,
        "effective_start": "2021-03-26",
        "company_contribution_amount": "1.00",
        "company_contribution_percent": null,
        "employee_contribution_amount": "1.00",
        "employee_contribution_percent": null
    },
}
```

More detail on the [The company benefit object](https://docs.checkhq.com/reference/the-company-benefit-object-1).

## Post-Tax Deduction Events

| Event   | Description                      |
| :------ | :------------------------------- |
| created | A post tax deduction was created |
| updated | A post tax deduction was updated |
| deleted | A post tax deduction was deleted |

**Example webhook event payload**

```json
{
    "event": "created",
    "data": {
        "id": "ptd_g4AGCxtz8VakIL4PmZ0r",
        "type": "miscellaneous",
        "employee": "emp_bvNhcPxrbvRqgyCrlUcj",
        "description": "Union dues",
        "effective_start": "2020-01-01",
        "effective_end": null,
        "miscellaneous": {
            "amount": "10.00",
            "percent": null,
            "total_amount": "50.00"
        }
    }
}
```

More detail on the [Post-Tax Deduction object](https://docs.checkhq.com/reference/the-post-tax-deduction-object).

## Company Events

| Event   | Description           |
| :------ | :-------------------- |
| created | A company was created |
| updated | A company was updated |

**Example webhook event payload**

```json
{
    "event": "created",
    "data": {
        "id": "com_sx3svU6K8c5ZkSFlOh5p",
        "legal_name": "Stark Industries, Inc.",
        "trade_name": "Stark Industries",
        "email": "payroll@starkindustries.com",
        "phone": "5551234567",
        "pay_frequency": "biweekly",
        ... // remainder of company object
    }
}
```

## Company Terminated Events

| Event   | Description                       |
| :------ | :-------------------------------- |
| created | A company termination was created |

Check sends this event once, when a company's termination is recorded. Check does not send another termination event when a termination is later changed.

**Terminated company payload fields**

| Attribute                        | Description                                                                |
| :------------------------------- | :------------------------------------------------------------------------- |
| `company`                        | Public ID of the terminated company.                                       |
| `effectively_terminated_at`      | When the company was effectively terminated.                               |
| `churn_reason`                   | Voluntary termination reason. `null` when the termination was involuntary. |
| `involuntary_termination_reason` | Involuntary termination reason. `null` when the termination was voluntary. |

Exactly one of `churn_reason` or `involuntary_termination_reason` is non-null.

Partner-selectable involuntary values are `customer_not_paying_partner` and `chargeback`. The voluntary `churn_reason` value `price` indicates the employer left due to pricing.

Webhook payloads may include other `involuntary_termination_reason` values when Check initiates the termination (for example `compliance_risk` or `funding_failure_strikes`). Treat both reason fields as open enums and tolerate unknown values.

**Example voluntary termination event payload**

```json
{
  "event": "created",
  "data": {
    "company": "com_123",
    "effectively_terminated_at": "2023-02-02T00:00:00Z",
    "churn_reason": "price",
    "involuntary_termination_reason": null
  }
}
```

**Example involuntary termination event payload**

```json
{
  "event": "created",
  "data": {
    "company": "com_123",
    "effectively_terminated_at": "2023-02-02T00:00:00Z",
    "churn_reason": null,
    "involuntary_termination_reason": "chargeback"
  }
}
```

More detail on the [Company object](https://docs.checkhq.com/reference/company).

## Employee Events

| Event   | Description             |
| :------ | :---------------------- |
| created | An employee was created |
| updated | An employee was updated |
| deleted | An employee was deleted |

Employees can be terminated by setting the termination\_date in the API request, and we will receive an updated webhook with the updated parameters.

**Example webhook event payload for an employee**

```json
{
    "event": "created",
    "data": {
        "id": "emp_zGGp6wYcxAeu1Ng8IA7v",
        "first_name": "Tony",
        "last_name": "Stark",
        "middle_name": null,
        "email": "tony@starkindustries.com",
        "dob": "1970-05-29",
        ... // remainder of employee object
    }
}
```

More detail on the [Employee object](https://docs.checkhq.com/reference/the-employee-object).

## Contractor Events

| Event   | Description              |
| :------ | :----------------------- |
| created | A contractor was created |
| updated | A contractor was updated |
| deleted | A contractor was deleted |

Contractors can be terminated by setting the termination\_date in the API request, and we will receive an updated webhook with the updated parameters.

**Example webhook event payload for a contractor**

```json
{
    "event": "created",
    "data": {
        "id": "ctr_CyQIKSp6YvU6mBe2a6iq",
        "type": "individual",
        "company": "com_EkIJ9RewumnQLODHv1vl",
        "first_name": "Bruce",
        "middle_name": "Frederick Joseph",
        "last_name": "Springsteen",
        "business_name": null,
        "email": "theboss@springsteen.com",
        ... // remainder of contractor object
    }
}
```

More detail on the [Contractor object](https://docs.checkhq.com/reference/the-contractor-object).

## Workplace Events

| Event   | Description             |
| :------ | :---------------------- |
| created | A workplace was created |
| updated | A workplace was updated |
| deleted | A workplace was deleted |

**Example webhook event payload for a workplace**

```json
{
    "event": "created",
    "data": {
        "id": "wrk_oRgjEaRycoCPuS5TqVkm",
        "name": "New York Office",
        "address": {
            "line1": "200 Park Ave",
            "line2": null,
            "city": "New York",
            "state": "NY",
            "postal_code": "10166",
            "country": "US"
        },
        "company": "com_P7JPeBhb8hH23iiReDQ5"
    }
}
```

More detail on the [Workplace object](https://docs.checkhq.com/reference/the-workplace-object).

## Earning Code Events

| Event   | Description                 |
| :------ | :-------------------------- |
| created | An earning code was created |
| updated | An earning code was updated |
| deleted | An earning code was deleted |

**Example webhook event payload for an earning code**

```json
{
  "event": "created",
  "data": {
    "id": "erc_IR4KiBBB2E6YD2cZjOyn",
    "name": "Sales Commission",
    "type": "commission",
    "company": "com_ccGeW0Etf1UGNPBgQ1Xl"
  }
}
```

More detail on the [Earning Code object](https://docs.checkhq.com/reference/the-earning-code-object).

## Payments Webhooks

| Event          | Description                                                                            |
| :------------- | :------------------------------------------------------------------------------------- |
| status\_change | A payment status has changed to a non-draft state (processing, paid, failed, refunded) |

**Example webhook event payload for a payment status update**

```json
{
  "event": "status_change",
  "data": {
    "id": "pyt_vIFHhvyGN47ej1upyIT8",
    "status": "paid",
    "amount": "4522.0400",
    "type": "company_cash_requirement",
    "parent_type": "payroll",
    "parent_id": "pay_ENA4k8LMHbgpV07GLGSv",
    "payment_attempts": ...
}
```

More detail on the [Payments object](https://docs.checkhq.com/reference/the-payments-object)

## Federal EIN Verification Events

| Event   | Description                            |
| :------ | :------------------------------------- |
| created | A federal EIN verification was created |
| updated | A federal EIN verification was updated |

**Example webhook event payload for a federal EIN verification**

```json
{
  "event": "created",
  "data": {
    "id": "fev_D3FeAyR6Ao3LZiO3j6d2",
    "company": "com_097YZQgrXZQb8VHtI76S",
    "legal_name": "Stark Industries, Inc.",
    "federal_ein": "12-3456785",
    "status": "processing",
    "start_time": "2022-07-11T19:37:31.589206Z",
    "end_time": null
  }
}
```

## Requirement Events

| Event   | Description               |
| :------ | :------------------------ |
| created | A requirement was created |
| updated | A requirement was updated |
| deleted | A requirement was deleted |

**Example requirement event payload for a requirement update**

```json
{
  "event": "updated",
  "data": {
    "id": "req_D3FeAyR6Ao3LZiO3j6d2",
    "company": "com_097YZQgrXZQb8VHtI76S",
    "requirement": "signatory_identity_verification",
    "categories": ["company_provided_documents"],
    "status": "pending",
    "errors": [],
    "guidance": {
        "document_options": [{
            "name": "signatory_photo_id", 
            "label": "Non-expired government-issued photo ID for authorized signer",
        }],   
    },
  }
}
```

## Company Processing Status Events

| Event          | Description                                                                                                                                                                                                 |
| :------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| status\_change | A company's processing period or ability changes. For example, a company on three-day processing is upgraded to two-day processing after demonstrating continuous creditworthiness, or a company is exited. |

> 🚧 Note on applicability of Company Processing Status events
>
> The Company Processing Status webhooks only apply to cases where a company is automatically graduated to accelerated processing or downgraded to 3-day processing by Check’s Graduation and Downgrade & Exit policy.
>
> To capture all processing period changes, please refer to the **Company** webhook event type.

**Example webhook event for a company graduated to two-day processing**

```json
{
  "event": "status_change",
  "data": {
    "id": "com_sx3svU6K8c5ZkSFlOh5p",
    "legal_name": "Stark Industries, Inc.",
    "implementation": {
      "status": "completed",
      "remaining_steps": {
        "kyb": {
          "status": "two_day_approved"
        }
      }
    },
    "processing_period": "two_day",
    ... // remainder of company object
  }
}
```

**Example webhook event for a company downgraded from two-day to three-day processing**

```json
{
  "event": "status_change",
  "data": {
    "id": "com_sx3svU6K8c5ZkSFlOh5p",
    "legal_name": "Stark Industries, Inc.",
    "implementation": {
      "status": "completed",
      "remaining_steps": {
        "kyb": {
          "status": "four_day_approved"
        }
      }
    },
    "processing_period": "three_day",
    ... // remainder of company object
  }
}
```

**Example webhook event for a company whose KYB status is set to `denied` after repeated funding failures**

```json
{
  "event": "status_change",
  "data": {
    "id": "com_sx3svU6K8c5ZkSFlOh5p",
    "legal_name": "Stark Industries, Inc.",
    "implementation": {
      "status": "completed",
      "remaining_steps": {
        "kyb": {
          "status": "denied"
        }
      }
    },
    "processing_period": "three_day",
    ... // remainder of company object
  }
}
```

## Pay Schedule Events

| Event   | Description                |
| :------ | :------------------------- |
| created | A pay schedule was created |
| updated | A pay schedule was updated |
| deleted | A pay schedule was deleted |

**Example webhook event payload for a pay schedule creation**

```json
{
  "event": "created",
  "data": {
    "id": "psc_KpOEeeH3kWMrxyzffjcn",
    "company": "com_FeToKDOuUyvQrQADcY2u",
    "name": "Test Schedule",
    "pay_frequency": "biweekly",
    "first_payday": "2021-04-16",
    "second_payday": null,
    "first_period_end": "2021-04-12",
    "metadata": {}
  }
}
```

## Earning Rate Events

| Event   | Description                 |
| :------ | :-------------------------- |
| created | An earning rate was created |
| updated | An earning rate was updated |

**Example webhook event payload for an earning rate creation**

```json
{
  "event": "created",
  "data": {
    "id": "rte_aOSqW0QTKcE1iVU1C5",
    "amount": "11.25",
    "period": "hourly",
    "employee": "emp_aslkj192j3laksdj",
    "name": "Dishwasher Weekend Rate",
    "active": true,
    "metadata": {}
  }
}
```

## \[Deprecating Soon] Tax Filing Event

| Event          | Description                            |
| :------------- | :------------------------------------- |
| created        | A tax filing was created               |
| updated        | A tax filing was updated               |
| status\_change | The status of a tax filing has changed |
| deleted        | A tax filing has been deleted          |

**Example webhook event payload for a tax filing**

```json
{
  "event": "created",
  "data": {
    "id": "flg_GaeJoEAzbqqc2D9GMfOF",
    "company": "com_vIFHhvyGN47ej1upyIT8",
    "year": 2023,
    "description": "Michigan State Unemployment Tax",  
    "frequency": "quarterly",
    "period": "q2",
    "status": "filed",
    "can_retry": false,
    "tax_filing_events": [
      {
        "id": "fev_jIFHhvyGN47ej1upyIT8",
        "tax_filing": "flg_jIFHhvyGN47ej1upyIT8",
        "status": "filed",
        "created_at": "2023-04-12T21:32:44.957364Z",
        "category": null,
        "label": null,
        "account_number": "123456789",
      },
      {
        "id": "fev_jupyIT8upyIT8upyIT87",
        "tax_filing": "flg_jIFHhvyGN47ej1upyIT8",
        "status": "submitted",
        "created_at": "2023-04-12T21:32:44.957364Z",
        "category": null,
        "label": null,
        "account_number": "123456789",
      },
      {
        "id": "fev_jHhvyHhvyHhvyHhvyHhv",
        "tax_filing": "flg_jIFHhvyGN47ej1upyIT8",
        "status": "pending",
        "created_at": "2023-04-12T21:32:44.957364Z",
        "category": null,
        "label": null,
        "account_number": "123456789",
      },
      {
        "id": "fev_7ej1upy7ej1upy7ej1up",
        "tax_filing": "flg_jIFHhvyGN47ej1upyIT8",
        "status": "rejected",
        "created_at": "2023-04-12T21:32:44.957364Z",
        "category": "applied_for_invalid_ein",
        "label": "EIN is either invalid or Applied For. Return will not be accepted by the agency. If filed, the agency will reject the return",
        "account_number": "Applied For",
      },
      {
        "id": "fev_pyITpyITpyITpyITpyIT",
        "tax_filing": "flg_jIFHhvyGN47ej1upyIT8",
        "status": "submitted",
        "created_at": "2023-04-12T21:32:44.957364Z",
        "category": null,
        "label": null,
        "account_number": "Applied For",
      },
      {
        "id": "fev_GN47eGN47eGN47eGN47e",
        "tax_filing": "flg_jIFHhvyGN47ej1upyIT8",
        "status": "pending",
        "created_at": "2023-04-12T21:32:44.957364Z",
        "category": null,
        "label": null,
        "account_number": "Applied For",
      },
    ],
  }
}
```

## Company Filing Event

| Event   | Description          |
| :------ | :------------------- |
| created | A filing was created |
| updated | A filing was updated |
| deleted | A filing was deleted |

**Example webhook event payload for a company filing**

```json
{
  "event": "updated",
  "data": {
    "id": "com_fil_9kL2mN8pQ4rS6tU1vW3x",
    "company": "com_7bF9dG2hJ5kM8nP1qR4s",
    "year": 2024,
    "period": "q1", 
    "label": "Federal Quarterly Filing - Q1",
    "due_at": "2024-04-15",
    "filed_at": "2024-04-12T16:30:25.847Z",
    "document": "doc_3aE6fH9iL2mO5pR8sV1y",
    "filing_attempts": 2,
    "status": "filed",
    "status_history": [
      {
        "status": "inapplicable", 
        "status_at": "2024-01-15T10:30:15.423Z",
        "blocked_reasons": []
      },
      {
        "status": "pending", 
        "status_at": "2024-01-20T14:45:32.156Z",
        "blocked_reasons": []
      },
      {
        "status": "blocked", 
        "status_at": "2024-03-10T09:15:48.792Z",
        "blocked_reasons": [
          {
            "type": "applied_for_tax_id",
            "resource_type": "company_tax_param",
            "resource": "spa_h7zSw4NITCtef4Taf5yA"
          }
        ]
      },
      {
        "status": "pending", 
        "status_at": "2024-03-12T11:20:07.234Z",
        "blocked_reasons": []
      },
      {
        "status": "filed", 
        "status_at": "2024-04-12T16:30:25.847Z",
        "blocked_reasons": []
      }
    ]
  }
}
```

## Tax Package Events

| Event          | Description                                 |
| :------------- | :------------------------------------------ |
| status\_change | A tax package finished or failed generating |

Check sends this event once per tax package, when generation finishes and the package's `status` becomes `succeeded` or `failed`. Check does not send an event when generation starts. A failed package arrives with `status: failed`, `result` set to `null`, and `error` set.

In the webhook payload, `result.url` is a relative path, such as `/tax_packages/tax_pkg_1MrQwrLkdIwHu7ixUov4x2b3/download`. To get the package, call [Download a tax package](https://docs.checkhq.com/reference/download-a-tax-package) (`GET /tax_packages/:id/download`) with the package `id` instead of hard-coding a host onto that path.

**Example webhook event payload for a tax package that finished generating**

```json
{
  "event": "status_change",
  "data": {
    "id": "tax_pkg_1MrQwrLkdIwHu7ixUov4x2b3",
    "company": "com_myKIvCGb7M86G2CQbYe5",
    "status": "succeeded",
    "contents": {
      "employee_tax_statements": ["ets_123", "ets_456"],
      "filings": ["com_fil_999"]
    },
    "created_at": "2024-11-03T19:52:15Z",
    "succeeded_at": "2024-11-03T19:55:11Z",
    "result": {
      "url": "/tax_packages/tax_pkg_1MrQwrLkdIwHu7ixUov4x2b3/download"
    },
    "error": null
  }
}
```

More detail on the [Tax Package object](https://docs.checkhq.com/reference/the-tax-package-object).

## Net Pay Split Events

| Event   | Description                 |
| :------ | :-------------------------- |
| created | A net pay split was created |
| updated | A net pay split was updated |

**Example webhook event payload for a net pay split creation**

```json
{
  "event": "created",
  "data": {
    "id": "nps_1b951IjHG4w3yFQtpIwg", 
    "splits": [
      {
        "amount": "50.00", 
        "priority": 1, 
        "percentage": null, 
        "bank_account": "bnk_pli2zS8ulTsz82gSrvh3"
      }, 
      {
        "amount": "0.00", 
        "priority": 2, 
        "percentage": null, 
        "bank_account": "bnk_sTy2YqAYFi7hO2Eu4wNg"
      }
    ], 
    "employee": "emp_qZRfe3o34Rw5s3bPgUnr", 
    "contractor": null, 
    "is_default": true, 
    "deactivated_at": null, 
    "deactivated_reason": null
  }
}
```

## Integration Access Events

| Event   | Description                       |
| :------ | :-------------------------------- |
| created | An integration access was created |
| updated | An integration access was updated |
| deleted | An integration access was deleted |

**Example webhook event payload for an integration access creation**

```json
{
  "event": "created",
  "data": {
    "id": "iac_fVSfFvta4PucEMEe4Tsg", 
    "scope": ["company:retrieve", 
              "company_tax_document:list", 
              "document:download", 
              "employee:list", 
              "employee:retrieve", 
              "payroll:list", 
              "payroll:retrieve", 
              "payroll_item:retrieve", 
              "benefits:list", 
              "benefits:retrieve", 
              "benefits:partial_update", 
              "benefits:create", 
              "benefits:destroy", 
              "integration_access:retrieve", 
              "integration_partners:list", 
              "integration_partners:retrieve", 
              "integration_partners:authorize"], 
    "status": "pending", 
    "company": "com_yQqZgGvyG5oFwsihlipd", 
    "metadata": {}, 
    "access_type": "integrated", 
    "integration_partner": "int_Xf90bJAKE9Lf2jVjbgne", 
    "integration_permission": "ipe_nzP0UQPBTefnsHe16Are"
  }
}
```

## Enrollment Profile Events

| Event   | Description                       |
| :------ | :-------------------------------- |
| created | An Enrollment Profile was created |
| updated | An Enrollment Profile was updated |

```json
{
  "event": "created",
  "data": {
    "company": "com_vIFHhvyGN47ej1upyIT8",
    "user_since": null,
    "fraud_score": null,
    "paying_user": null,
    "social_media": [],
    "employee_count": 120,
    "enrollment_mode": "implementation_services",
    "predicted_fraud": null,
    "account_contacts": [],
    "contractor_count": null,
    "pay_period_amount": null,
    "expected_first_payday": null,
    "first_payroll_of_year": null,
    "first_payroll": null,
    "missed_payments_count": null,
    "earliest_known_revenue": null,
    "products_actively_used": [],
    "average_monthly_revenue": null,
    "previous_payroll_provider": null,
    "payroll_history_access_method": null,
    "approved_for_payment_processing": null,
    "months_on_previous_payroll_provider": null,
    "previous_payroll_provider_account_id": null,
    "implementation_services_submission_comment": null,
    "existing_payroll_customer_processing_period": null
  }
}

```

## Setup Events

| Event   | Description         |
| :------ | :------------------ |
| created | A Setup was created |
| updated | A Setup was updated |

```json
{  
  "event": "updated",
  "data": {
    "id": "ese_aBs7J2B2lk91ba8jjaa2",
    "phases": [
      {
        "name": "preliminary_review",
        "completed_at": "2025-02-21T13:30:45.431544Z"
      },
      { 
        "name": "team_setup", 
        "completed_at": "2025-03-06T21:39:55.661535Z" 
      },
      { 
        "name": "final_steps", 
        "completed_at": "2025-03-06T22:00:33.323800Z" 
      }
    ],
    "company": "com_Omi4cyBa7sj1baLwj1b2",
    "profile": {
      "first_payroll": false,
      "employee_count": 31,
      "contractor_count": 0,
      "first_payroll_of_year": null,
      "previous_payroll_provider": "Toast"
    },
    "closed_at": null,
    "setup_due": "2025-03-10T00:00:00Z",
    "created_at": "2025-02-12T14:40:57.221345Z",
    "completed_at": null,
    "submitted_at": "2025-02-12T14:40:57.250418Z"
  }
}
```

## Fulfillment Events

| Event   | Description               |
| :------ | :------------------------ |
| created | A fulfillment was created |
| deleted | A fulfillment was deleted |

**Example webhook event payload for a fulfillment**

```json
{
  "event": "created",
  "data": {
    "id": "ful_abc123def456",
    "company": "com_sx3svU6K8c5ZkSFlOh5p",
    "payment": "pyt_xyz789ghi012"
  }
}
```

More detail on the [Fulfillment object](https://docs.checkhq.com/reference/the-fulfillment-object).

## Correction Events

> 🚧 The [Correction API](https://docs.checkhq.com/reference/corrections) is currently in limited preview, and is not yet generally available.

| Event   | Description              |
| :------ | :----------------------- |
| created | A correction was created |
| updated | A correction was updated |
| deleted | A correction was deleted |

An `updated` event is sent when a correction's preview or approval starts or completes, when the correction is updated or reopened, when a payroll is added to or deleted from it, and when its `status` moves to `processing`, `settled`, or `failed`. See [Corrections](https://docs.checkhq.com/reference/corrections#webhooks) for details.

**Example webhook event payload for a correction**

```json
{
  "event": "updated",
  "data": {
    "id": "cor_Bw6EkMDmxCPeVQ2eYzLu",
    "description": "Void and replace 3/31 payroll for J. Smith",
    "company": "com_sx3svU6K8c5ZkSFlOh5p",
    "year": 2026,
    "status": "draft",
    "preview": {
      "status": "succeeded",
      "started_at": "2026-06-29T18:26:56.848920Z",
      "messages": null
    },
    "approval": null,
    "settlement_date": "2026-07-15",
    ...
  }
}
```

More detail on the [Correction object](https://docs.checkhq.com/reference/the-correction-object).

## Employee Tax Statement Override Events

| Event   | Description                                    |
| :------ | :--------------------------------------------- |
| created | An employee tax statement override was created |
| updated | An employee tax statement override was updated |
| deleted | An employee tax statement override was deleted |

An `updated` event is sent for every existing override saved by [Create or update employee tax statement overrides](https://docs.checkhq.com/reference/upsert-employee-tax-statement-overrides), even if no values changed, and by [Update an employee tax statement override](https://docs.checkhq.com/reference/update-an-employee-tax-statement-override) only when a value changes.

**Example webhook event payload for an employee tax statement override**

```json
{
  "event": "updated",
  "data": {
    "id": "ets_ovr_Hq3nVb7KcWz2LpRtYe9m",
    "company": "com_sx3svU6K8c5ZkSFlOh5p",
    "employee": "emp_OBfYZbVSadBmQZcU7wN2",
    "year": 2026,
    "qualified_overtime_compensation": "950.00",
    "other_lines": [
      {
        "label": "PUCC",
        "amount": "4200.00"
      }
    ],
    "metadata": {},
    "created_at": "2027-01-08T15:02:11.482915Z",
    "updated_at": "2027-01-12T10:41:37.105233Z"
  }
}
```

More detail on the [Employee tax statement override object](https://docs.checkhq.com/reference/the-employee-tax-statement-override-object).

## Notification Events

| Event   | Description                |
| :------ | :------------------------- |
| created | A Notification was created |

**Example webhook event payload for a notification creation**

```json
{
  "event": "created",
  "data": {
    "id": "ntf_MrFrw0F82NSJjyw10Erk",
    "topic": "ready_for_payroll",
    "company": "com_zH8Gq33iBkFj5o0GKjTw",
    "recipient_type": "company",
    "recipient": "com_zH8Gq33iBkFj5o0GKjTw",
    "email_communication": "cmn_MrFrw0F82NSJjyw10Erk",
    "created_at": "2024-01-15T10:30:00Z"
  }
}
```