---
updatedAt: 2026-04-21T10:07:34.000Z
agentTools:
  projectIndex: https://docs.salsa.dev/llms.txt
---

# Preview a period

Calculates the amounts for a set of worker for a given period.

# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "contact": {
      "name": "Salsa",
      "url": "https://salsa.dev"
    },
    "description": "REST API for interacting with Salsa's payroll services.",
    "title": "REST API",
    "version": "1"
  },
  "servers": [
    {
      "description": "Sandbox",
      "url": "https://api.sandbox.salsa.dev"
    },
    {
      "description": "Production",
      "url": "https://api.salsa.dev"
    }
  ],
  "security": [
    {
      "BearerAuth": []
    }
  ],
  "paths": {
    "/api/rest/v1/employers/{employerId}/period-preview": {
      "post": {
        "description": "Calculates the amounts for a set of worker for a given period.",
        "operationId": "previewPeriod",
        "parameters": [
          {
            "description": "Employer Id",
            "in": "path",
            "name": "employerId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/PeriodPreviewFromPayGroupInput"
                  },
                  {
                    "$ref": "#/components/schemas/PeriodPreviewFromWorkerListInput"
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RestApiEnvelopePayrollRunPreview"
                }
              }
            },
            "description": "OK"
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RestApiEnvelopePayrollRunPreview"
                }
              }
            },
            "description": "Created"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorApiEnvelope"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorApiEnvelope"
                }
              }
            },
            "description": "Not Found"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorApiEnvelope"
                }
              }
            },
            "description": "Unprocessable Entity"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorApiEnvelope"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "Preview a period",
        "tags": [
          "Period Preview"
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "AccountStandingRequirementWebhookIdentifier": {
        "type": "string",
        "enum": [
          "EMPLOYER_MISSING_BANK_ACCOUNT",
          "EMPLOYER_MISSING_SIGNATORY",
          "EMPLOYER_MISSING_LEGAL_NAME",
          "EMPLOYER_MISSING_TERMS_OF_SERVICE",
          "EMPLOYER_MISSING_FILING_ADDRESS",
          "EMPLOYER_MISSING_FEIN",
          "EMPLOYER_MISSING_WORKERS",
          "EMPLOYER_MISSING_REGULATORY_SCREENING",
          "EMPLOYER_REGULATORY_SCREENING_REQUEST_FOR_INFORMATION",
          "EMPLOYER_REGULATORY_SCREENING_INFORMATION_IN_REVIEW",
          "EMPLOYER_FUNDING_FAILURE",
          "EMPLOYER_PENDING_RISK_REVIEW",
          "EMPLOYER_FRAUDULENT_PAYROLL_RUN",
          "EMPLOYER_UNSUPPORTED_INDUSTRY",
          "EMPLOYER_MONEY_MOVEMENT_COMPLIANCE_ON_HOLD",
          "WORKER_MISSING_REGULATORY_SCREENING",
          "WORKER_REGULATORY_SCREENING_REQUEST_FOR_INFORMATION",
          "WORKER_REGULATORY_SCREENING_REJECTED",
          "EMPLOYER_REGULATORY_SCREENING_REJECTED",
          "EMPLOYER_REGULATORY_SCREENING_CONDITIONAL",
          "WORKER_REGULATORY_SCREENING_CONDITIONAL",
          "EMPLOYER_SUBSCRIPTION_CANCELLED"
        ]
      },
      "AccountingConfigurationCreatedEvent": {
        "type": "object",
        "description": "Triggers `AccountingConfiguration.created` when an accounting configuration is created for an employer.",
        "properties": {
          "accountingConfigurationId": {
            "type": "string",
            "description": "The unique identifier for the AccountingConfiguration."
          },
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "provider": {
            "type": "string",
            "description": "The accounting provider.",
            "enum": [
              "QBO",
              "MANUAL"
            ]
          }
        },
        "required": [
          "accountingConfigurationId",
          "category",
          "employerId",
          "provider"
        ],
        "title": "Accounting configuration created event"
      },
      "AccountingConfigurationUpdatedEvent": {
        "type": "object",
        "description": "Triggers `AccountingConfiguration.updated` when an accounting configuration is updated for an employer.",
        "properties": {
          "accountingConfigurationId": {
            "type": "string",
            "description": "The unique identifier for the AccountingConfiguration."
          },
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "provider": {
            "type": "string",
            "description": "The accounting provider.",
            "enum": [
              "QBO",
              "MANUAL"
            ]
          }
        },
        "required": [
          "accountingConfigurationId",
          "category",
          "employerId",
          "provider"
        ],
        "title": "Accounting configuration updated event"
      },
      "Amount": {
        "type": "object",
        "discriminator": {
          "propertyName": "type"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/FixedAmount"
          },
          {
            "$ref": "#/components/schemas/RateBasedAmount"
          },
          {
            "$ref": "#/components/schemas/FrequencyBasedAmount"
          }
        ],
        "properties": {
          "amount": {
            "type": "string",
            "format": "money",
            "example": 100.21
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "amount",
          "type"
        ]
      },
      "DocumentDeletedEvent": {
        "type": "object",
        "description": "Triggers `Document.deleted` when any document is deleted for an Employer or Worker.",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "documentCategory": {
            "type": "string",
            "description": "The category of the Document that was deleted."
          },
          "documentId": {
            "type": "string",
            "description": "The unique identifier for the Document that was deleted."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "workerId": {
            "type": [
              "string",
              "null"
            ],
            "description": "If the event was for a WorkerDocument. This is the the unique identifier for the Worker."
          }
        },
        "required": [
          "category",
          "documentCategory",
          "documentId",
          "employerId"
        ],
        "title": "Document deleted event"
      },
      "DocumentUploadedEvent": {
        "type": "object",
        "description": "Triggers `Document.uploaded` when any document is uploaded for an Employer or Worker.",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "documentCategory": {
            "type": "string",
            "description": "The category of the Document that was uploaded."
          },
          "documentId": {
            "type": "string",
            "description": "The unique identifier for the Document that was uploaded."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "workerId": {
            "type": [
              "string",
              "null"
            ],
            "description": "If the event was for a WorkerDocument. This is the the unique identifier for the Worker."
          }
        },
        "required": [
          "category",
          "documentCategory",
          "documentId",
          "employerId"
        ],
        "title": "Document uploaded event"
      },
      "EmployerAccountStandingRequirementsChangedEvent": {
        "type": "object",
        "description": "Triggers `Employer.AccountStanding.requirementsChanged` when an employer's account standing requirements change.",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "pendingRequirementsAdded": {
            "type": "array",
            "description": "List of requirement identifiers that were added (blocking progress).",
            "items": {
              "$ref": "#/components/schemas/AccountStandingRequirementWebhookIdentifier"
            }
          },
          "pendingRequirementsRemoved": {
            "type": "array",
            "description": "List of requirement identifiers that were removed (no longer blocking).",
            "items": {
              "$ref": "#/components/schemas/AccountStandingRequirementWebhookIdentifier"
            }
          }
        },
        "required": [
          "category",
          "employerId",
          "pendingRequirementsAdded",
          "pendingRequirementsRemoved"
        ],
        "title": "Employer account standing requirements changed event"
      },
      "EmployerAccountStandingStatusChangedEvent": {
        "type": "object",
        "description": "Triggers `Employer.AccountStanding.statusChanged` when an employer account standing status changes.",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "status": {
            "type": "string",
            "description": "Represents the current AccountStanding status for the Employer.",
            "enum": [
              "NEW_ACCOUNT",
              "IN_REVIEW",
              "ACTIVE",
              "RESTRICTED",
              "REJECTED",
              "CONDITIONAL",
              "CANCELLED"
            ]
          }
        },
        "required": [
          "category",
          "employerId",
          "status"
        ],
        "title": "Employer account standing status changed event"
      },
      "EmployerAddressCreatedEvent": {
        "type": "object",
        "description": "Triggers `Employer.Address.created` when an employer address is created.",
        "properties": {
          "addressTypes": {
            "type": "array",
            "description": "The address types this address serves. Possible values: FILING, MAILING, WORK_LOCATION.",
            "items": {
              "$ref": "#/components/schemas/EmployerAddressType"
            }
          },
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerAddressId": {
            "type": "string",
            "description": "The unique identifier for the EmployerAddress."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          }
        },
        "required": [
          "addressTypes",
          "category",
          "employerAddressId",
          "employerId"
        ],
        "title": "Employer address created event"
      },
      "EmployerAddressDeletedEvent": {
        "type": "object",
        "description": "Triggers `Employer.Address.deleted` when an employer address is deleted.",
        "properties": {
          "addressTypes": {
            "type": "array",
            "description": "The address types this address serves. Possible values: FILING, MAILING, WORK_LOCATION.",
            "items": {
              "$ref": "#/components/schemas/EmployerAddressType"
            }
          },
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerAddressId": {
            "type": "string",
            "description": "The unique identifier for the EmployerAddress."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          }
        },
        "required": [
          "addressTypes",
          "category",
          "employerAddressId",
          "employerId"
        ],
        "title": "Employer address deleted event"
      },
      "EmployerAddressType": {
        "type": "string",
        "enum": [
          "FILING",
          "MAILING",
          "WORK_LOCATION"
        ]
      },
      "EmployerAddressUpdatedEvent": {
        "type": "object",
        "description": "Triggers `Employer.Address.updated` when an employer address is updated.",
        "properties": {
          "addressTypes": {
            "type": "array",
            "description": "The address types this address serves. Possible values: FILING, MAILING, WORK_LOCATION.",
            "items": {
              "$ref": "#/components/schemas/EmployerAddressType"
            }
          },
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerAddressId": {
            "type": "string",
            "description": "The unique identifier for the EmployerAddress."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          }
        },
        "required": [
          "addressTypes",
          "category",
          "employerAddressId",
          "employerId"
        ],
        "title": "Employer address updated event"
      },
      "EmployerAwaitingRiskInsightsEvent": {
        "type": "object",
        "description": "Triggers `Employer.awaitingRiskInsights` when risk-insights data is required for risk evaluations.When you receive this event you must send all of the risk-insights data you have for the Employer within the payload. ",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "externalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          }
        },
        "required": [
          "category",
          "employerId"
        ],
        "title": "Employer awaiting risk-insights event"
      },
      "EmployerBankAccountCreatedEvent": {
        "type": "object",
        "description": "Triggers `EmployerBankAccount.created` when an EmployerBankAccount is created.",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerBankAccountId": {
            "type": "string",
            "description": "The unique identifier for the EmployerBankAccount that was created."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          }
        },
        "required": [
          "category",
          "employerBankAccountId",
          "employerId"
        ],
        "title": "Employer bank account created event"
      },
      "EmployerBankAccountDeletedEvent": {
        "type": "object",
        "description": "Triggers `EmployerBankAccount.deleted` when an EmployerBankAccount is deleted.",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerBankAccountId": {
            "type": "string",
            "description": "The unique identifier for the EmployerBankAccount that was deleted."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          }
        },
        "required": [
          "category",
          "employerBankAccountId",
          "employerId"
        ],
        "title": "Employer bank account deleted event"
      },
      "EmployerBankAccountUpdatedEvent": {
        "type": "object",
        "description": "Triggers `EmployerBankAccount.updated` when an EmployerBankAccount is updated.",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerBankAccountId": {
            "type": "string",
            "description": "The unique identifier for the EmployerBankAccount that was updated."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          }
        },
        "required": [
          "category",
          "employerBankAccountId",
          "employerId"
        ],
        "title": "Employer bank account updated event"
      },
      "EmployerBankAccountVerificationStatusChangedEvent": {
        "type": "object",
        "description": "Triggers `EmployerBankAccount.Verification.statusChanged` when an EmployerBankAccountVerification status has changed.",
        "properties": {
          "bankAccountVerificationId": {
            "type": "string",
            "description": "The unique identifier for the BankAccountVerification that has changed status."
          },
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerBankAccountId": {
            "type": "string",
            "description": "The unique identifier for the EmployerBankAccount."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "verificationStatus": {
            "type": "string",
            "description": "The current status of the EmployerBankAccountVerification.",
            "enum": [
              "PENDING",
              "VERIFIED",
              "VOIDED",
              "FAILED"
            ]
          },
          "verificationStatusCode": {
            "type": [
              "string",
              "null"
            ],
            "description": "If available, a subcategory of the current status of the EmployerBankAccountVerification.",
            "enum": [
              "MAX_ATTEMPTS_EXCEEDED",
              "EXPIRED",
              "TRANSACTION_RETURNED",
              "DUPLICATE",
              "CANCELLED",
              "ACCOUNT_MODIFIED"
            ]
          }
        },
        "required": [
          "bankAccountVerificationId",
          "category",
          "employerBankAccountId",
          "employerId",
          "verificationStatus"
        ],
        "title": "Employer bank account verification status changed event"
      },
      "EmployerCreatedEvent": {
        "type": "object",
        "description": "Triggers `Employer.created` when an Employer is created.",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer that was created."
          },
          "externalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          }
        },
        "required": [
          "category",
          "employerId"
        ],
        "title": "Employer created event"
      },
      "EmployerDeletedEvent": {
        "type": "object",
        "description": "Triggers `Employer.deleted` when an Employer is deleted.",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer that was deleted."
          },
          "externalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          }
        },
        "required": [
          "category",
          "employerId"
        ],
        "title": "Employer deleted event"
      },
      "EmployerOnboardingStatusEvent": {
        "type": "object",
        "description": "Triggers `Employer.onboardingStatus` when an employer completes the onboarding form.",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "completedAt": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "Timestamp when the Employer completed the onboarding."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "hostedEmployerOnboardingId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The unique identifier for the HostedEmployerOnboarding. Present when the onboarding is completed via Salsa hosted experience."
          },
          "status": {
            "type": "string",
            "description": "Represents the current onboarding stage for the Employer.",
            "enum": [
              "INVITED",
              "STARTED",
              "COMPLETED",
              "INVALIDATED"
            ]
          }
        },
        "required": [
          "category",
          "employerId",
          "status"
        ],
        "title": "Employer onboarding status event"
      },
      "EmployerPayTypeCreatedEvent": {
        "type": "object",
        "description": "Triggers `Employer.PayType.created` when an employer pay type is created.",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "employerPayTypeId": {
            "type": "string",
            "description": "The unique identifier for the EmployerPayType."
          }
        },
        "required": [
          "category",
          "employerId",
          "employerPayTypeId"
        ],
        "title": "Employer pay type created event"
      },
      "EmployerPayTypeDeletedEvent": {
        "type": "object",
        "description": "Triggers `Employer.PayType.deleted` when an employer pay type is deleted.",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "employerPayTypeId": {
            "type": "string",
            "description": "The unique identifier for the EmployerPayType."
          }
        },
        "required": [
          "category",
          "employerId",
          "employerPayTypeId"
        ],
        "title": "Employer pay type deleted event"
      },
      "EmployerPayTypeUpdatedEvent": {
        "type": "object",
        "description": "Triggers `Employer.PayType.updated` when an employer pay type is updated.",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "employerPayTypeId": {
            "type": "string",
            "description": "The unique identifier for the EmployerPayType."
          }
        },
        "required": [
          "category",
          "employerId",
          "employerPayTypeId"
        ],
        "title": "Employer pay type updated event"
      },
      "EmployerPayWorkersReadinessRequirementsChangedEvent": {
        "type": "object",
        "description": "Triggers `Employer.PayWorkersReadiness.requirementsChanged` when an employer's pay workers readiness requirements change.",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "pendingRequirementsAdded": {
            "type": "array",
            "description": "List of requirement identifiers that were added (blocking progress).",
            "items": {
              "$ref": "#/components/schemas/PayWorkersReadinessRequirementWebhookIdentifier"
            }
          },
          "pendingRequirementsRemoved": {
            "type": "array",
            "description": "List of requirement identifiers that were removed (no longer blocking).",
            "items": {
              "$ref": "#/components/schemas/PayWorkersReadinessRequirementWebhookIdentifier"
            }
          }
        },
        "required": [
          "category",
          "employerId",
          "pendingRequirementsAdded",
          "pendingRequirementsRemoved"
        ],
        "title": "Employer pay workers readiness requirements changed event"
      },
      "EmployerPayWorkersReadinessStatusChangedEvent": {
        "type": "object",
        "description": "Triggers `Employer.PayWorkersReadiness.statusChanged` when an employer pay workers readiness status changes.",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "implementedAt": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "Timestamp when the Employer completed the implementation phase."
          },
          "onboardedAt": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "Timestamp when the Employer completed the onboarding phase."
          },
          "status": {
            "type": "string",
            "description": "Represents the PayWorkersReadiness status for the Employer.",
            "enum": [
              "ONBOARDING",
              "IMPLEMENTATION",
              "READY"
            ]
          }
        },
        "required": [
          "category",
          "employerId",
          "status"
        ],
        "title": "Employer pay workers readiness status changed event"
      },
      "EmployerPayrollHistoryImportCompletedEvent": {
        "type": "object",
        "description": "Triggers `Employer.PayrollHistory.importCompleted` when the employer payroll history import from prior provider is completed.",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "employerPayrollOnboardingDeclarationId": {
            "type": "string",
            "description": "The unique identifier for the EmployerPayrollOnboardingDeclaration."
          }
        },
        "required": [
          "category",
          "employerId",
          "employerPayrollOnboardingDeclarationId"
        ],
        "title": "Employer payroll history import completed"
      },
      "EmployerPayrollHistoryProvidedEvent": {
        "type": "object",
        "description": "Triggers `Employer.PayrollHistory.provided` when an employer's payroll history has been fully provided.",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "employerPayrollOnboardingDeclarationId": {
            "type": "string",
            "description": "The unique identifier for the employer payroll onboarding declaration."
          }
        },
        "required": [
          "category",
          "employerId",
          "employerPayrollOnboardingDeclarationId"
        ],
        "title": "Employer payroll history provided event"
      },
      "EmployerPayrollHistoryRequiredEvent": {
        "type": "object",
        "description": "Triggers `Employer.PayrollHistory.required` when an employer declares that has payroll history in a prior provider to be imported.",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "employerPayrollOnboardingDeclarationId": {
            "type": "string",
            "description": "The unique identifier for the employer payroll onboarding declaration."
          }
        },
        "required": [
          "category",
          "employerId",
          "employerPayrollOnboardingDeclarationId"
        ],
        "title": "Employer payroll history required event"
      },
      "EmployerPayrollHistoryStatusChangedEvent": {
        "type": "object",
        "description": "Triggers `Employer.PayrollHistory.statusChanged` when migration status transitions.",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "currentStatus": {
            "type": "string",
            "description": "The current migration status."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "employerPayrollOnboardingDeclarationId": {
            "type": "string",
            "description": "The unique identifier for the employer payroll onboarding declaration."
          },
          "previousStatus": {
            "type": [
              "string",
              "null"
            ],
            "description": "The previous migration status."
          }
        },
        "required": [
          "category",
          "currentStatus",
          "employerId",
          "employerPayrollOnboardingDeclarationId"
        ],
        "title": "Employer payroll history status changed event"
      },
      "EmployerSignatoryCreatedEvent": {
        "type": "object",
        "description": "Triggers `EmployerSignatory.created` when an employer signatory is created.",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "signatoryId": {
            "type": "string",
            "description": "The unique identifier for the EmployerSignatory."
          }
        },
        "required": [
          "category",
          "employerId",
          "signatoryId"
        ],
        "title": "Employer signatory created event"
      },
      "EmployerSignatoryDeletedEvent": {
        "type": "object",
        "description": "Triggers `EmployerSignatory.deleted` when an employer signatory is deleted.",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "signatoryId": {
            "type": "string",
            "description": "The unique identifier for the EmployerSignatory."
          }
        },
        "required": [
          "category",
          "employerId",
          "signatoryId"
        ],
        "title": "Employer signatory deleted event"
      },
      "EmployerSignatoryUpdatedEvent": {
        "type": "object",
        "description": "Triggers `EmployerSignatory.updated` when an employer signatory is updated.",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "signatoryId": {
            "type": "string",
            "description": "The unique identifier for the EmployerSignatory."
          }
        },
        "required": [
          "category",
          "employerId",
          "signatoryId"
        ],
        "title": "Employer signatory updated event"
      },
      "EmployerTaxesSetupUpdatedEvent": {
        "type": "object",
        "description": "Triggers `Employer.TaxesSetup.updated` when an employer's tax setup is updated.",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "employerTaxesSetupId": {
            "type": "string",
            "description": "The unique identifier for the EmployerTaxesSetup that was updated."
          }
        },
        "required": [
          "category",
          "employerId",
          "employerTaxesSetupId"
        ],
        "title": "Employer taxes setup updated event"
      },
      "EmployerTimeOffTypeCreatedEvent": {
        "type": "object",
        "description": "Triggers `Employer.TimeOffType.created` when an employer time off type is created.",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "employerTimeOffTypeId": {
            "type": "string",
            "description": "The unique identifier for the EmployerTimeOffType."
          }
        },
        "required": [
          "category",
          "employerId",
          "employerTimeOffTypeId"
        ],
        "title": "Employer time off type created event"
      },
      "EmployerTimeOffTypeDeletedEvent": {
        "type": "object",
        "description": "Triggers `Employer.TimeOffType.deleted` when an employer time off type is deleted.",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "employerTimeOffTypeId": {
            "type": "string",
            "description": "The unique identifier for the EmployerTimeOffType."
          }
        },
        "required": [
          "category",
          "employerId",
          "employerTimeOffTypeId"
        ],
        "title": "Employer time off type deleted event"
      },
      "EmployerTimeOffTypeUpdatedEvent": {
        "type": "object",
        "description": "Triggers `Employer.TimeOffType.updated` when an employer time off type is updated.",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "employerTimeOffTypeId": {
            "type": "string",
            "description": "The unique identifier for the EmployerTimeOffType."
          }
        },
        "required": [
          "category",
          "employerId",
          "employerTimeOffTypeId"
        ],
        "title": "Employer time off type updated event"
      },
      "EmployerUpdatedEvent": {
        "type": "object",
        "description": "Triggers `Employer.updated` when an Employer is updated.",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer that was updated."
          },
          "externalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          }
        },
        "required": [
          "category",
          "employerId"
        ],
        "title": "Employer updated event"
      },
      "ErrorApi": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "A human-readable representation of the error"
          },
          "target": {
            "type": [
              "string",
              "null"
            ],
            "description": "The target of the error"
          }
        },
        "required": [
          "message"
        ]
      },
      "ErrorApiEnvelope": {
        "type": "object",
        "properties": {
          "error": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/ErrorRestResponse"
              },
              {
                "type": "null"
              }
            ]
          }
        }
      },
      "ErrorRestResponse": {
        "type": "object",
        "properties": {
          "details": {
            "type": [
              "array",
              "null"
            ],
            "description": "An array of details about specific errors that led to this reported error",
            "items": {
              "$ref": "#/components/schemas/ErrorApi"
            }
          },
          "message": {
            "type": [
              "string",
              "null"
            ],
            "description": "A human-readable representation of the error"
          },
          "target": {
            "type": [
              "string",
              "null"
            ],
            "description": "The target of the error"
          }
        }
      },
      "FixedAmount": {
        "properties": {
          "amount": {
            "type": "string",
            "format": "money",
            "description": "A constant amount value.",
            "example": 100.21
          },
          "type": {
            "type": "string",
            "default": "FIXED",
            "description": "Amount type",
            "example": "FIXED"
          }
        },
        "required": [
          "amount",
          "type"
        ],
        "title": "Fixed amount"
      },
      "FrequencyBasedAmount": {
        "properties": {
          "amount": {
            "type": "string",
            "format": "money",
            "description": "The calculated amount based upon the rate and the frequency.",
            "example": 100.21
          },
          "frequency": {
            "$ref": "#/components/schemas/FrequencyBasedFrequencyRestModel"
          },
          "rate": {
            "type": "string",
            "format": "money",
            "example": 100.21
          },
          "type": {
            "type": "string",
            "default": "FREQUENCY",
            "description": "Amount type",
            "example": "FREQUENCY"
          }
        },
        "required": [
          "amount",
          "frequency",
          "rate",
          "type"
        ],
        "title": "Frequency based amount"
      },
      "FrequencyBasedFrequencyRestModel": {
        "type": "string",
        "enum": [
          "WEEKLY",
          "MONTHLY",
          "YEARLY"
        ]
      },
      "IncludeElementsRestInput": {
        "type": "object",
        "description": "Options to control which payroll elements (e.g. compensations, benefits, etc.) should have their recurring amounts (from policies) and existing unprocessed amounts included in the calculation of this preview run. _If not specified, **all** elements will be included in the preview by default_, i.e. the default value is an object with all child properties set to `true`.",
        "properties": {
          "benefits": {
            "type": [
              "boolean",
              "null"
            ],
            "default": false,
            "description": "Whether to include benefits when processing this preview. Defaults to `false` if the options object is provided."
          },
          "compensations": {
            "type": [
              "boolean",
              "null"
            ],
            "default": false,
            "deprecated": true,
            "description": "Whether to include compensations when processing this preview. Defaults to `false` if the options object is provided."
          },
          "deductions": {
            "type": [
              "boolean",
              "null"
            ],
            "default": false,
            "description": "Whether to include deductions when processing this preview. Defaults to `false` if the options object is provided."
          },
          "pay": {
            "type": [
              "boolean",
              "null"
            ],
            "default": false,
            "description": "Whether to include compensations when processing this preview. Defaults to `false` if the options object is provided."
          },
          "timeOff": {
            "type": [
              "boolean",
              "null"
            ],
            "default": false,
            "description": "Whether to include time off when processing this preview. Defaults to `false` if the options object is provided."
          }
        }
      },
      "NotificationEmployerBankAccountMicroDepositVerificationCompletedEvent": {
        "type": "object",
        "description": "Triggers `Notification.EmployerBankAccount.microDepositVerificationCompleted` when a micro-deposit verification for an employer bank account has completed verification.",
        "properties": {
          "bankName": {
            "type": [
              "string",
              "null"
            ],
            "description": "The name of the bank where the EmployerBankAccount is held."
          },
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerBankAccountId": {
            "type": "string",
            "description": "The unique identifier for the EmployerBankAccount."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "htmlBody": {
            "type": "string",
            "description": "The main content of the notification, formatted in HTML."
          },
          "maskedAccountNumber": {
            "type": "string",
            "description": "The masked account number of the EmployerBankAccount."
          },
          "subject": {
            "type": "string",
            "description": "The subject of the notification. It summarizes the content of the notification."
          }
        },
        "required": [
          "category",
          "employerBankAccountId",
          "employerId",
          "htmlBody",
          "maskedAccountNumber",
          "subject"
        ],
        "title": "Employer bank account micro-deposit verification completed event"
      },
      "NotificationEmployerBankAccountMicroDepositVerificationFailedEvent": {
        "type": "object",
        "description": "Triggers `Notification.EmployerBankAccount.microDepositVerificationFailed` when a micro-deposit verification for an employer bank account has failed.",
        "properties": {
          "bankName": {
            "type": [
              "string",
              "null"
            ],
            "description": "The name of the bank where the EmployerBankAccount is held."
          },
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "depositDate": {
            "type": [
              "string",
              "null"
            ],
            "format": "date",
            "description": "The date that the micro-deposits were available in the specified employer bank account (if applicable)."
          },
          "employerBankAccountId": {
            "type": "string",
            "description": "The unique identifier for the EmployerBankAccount."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "failureCode": {
            "type": "string",
            "description": "A code identifying the reasons why this verification failed."
          },
          "failureDetail": {
            "type": "string",
            "description": "Detailed message about why this verification failed."
          },
          "htmlBody": {
            "type": "string",
            "description": "The main content of the notification, formatted in HTML."
          },
          "maskedAccountNumber": {
            "type": "string",
            "description": "The masked account number of the EmployerBankAccount."
          },
          "returnCode": {
            "type": [
              "string",
              "null"
            ],
            "description": "If the failure was due to a return, this identifies the return code received."
          },
          "returnCodeDescription": {
            "type": [
              "string",
              "null"
            ],
            "description": "If the failure was due to a return, this provides a description of the return code."
          },
          "subject": {
            "type": "string",
            "description": "The subject of the notification. It summarizes the content of the notification."
          }
        },
        "required": [
          "category",
          "employerBankAccountId",
          "employerId",
          "failureCode",
          "failureDetail",
          "htmlBody",
          "maskedAccountNumber",
          "subject"
        ],
        "title": "Employer bank account micro-deposit verification failed event"
      },
      "NotificationEmployerBankAccountMicroDepositVerificationSentEvent": {
        "type": "object",
        "description": "Triggers `Notification.EmployerBankAccount.microDepositVerificationSent` when a micro-deposit verification for an employer bank account has been sent.",
        "properties": {
          "bankName": {
            "type": [
              "string",
              "null"
            ],
            "description": "The name of the bank where the EmployerBankAccount is held."
          },
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "depositDate": {
            "type": "string",
            "format": "date",
            "description": "The date that the micro-deposits will be available in the specified employer bank account."
          },
          "employerBankAccountId": {
            "type": "string",
            "description": "The unique identifier for the EmployerBankAccount."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "htmlBody": {
            "type": "string",
            "description": "The main content of the notification, formatted in HTML."
          },
          "maskedAccountNumber": {
            "type": "string",
            "description": "The masked account number of the EmployerBankAccount."
          },
          "subject": {
            "type": "string",
            "description": "The subject of the notification. It summarizes the content of the notification."
          }
        },
        "required": [
          "category",
          "depositDate",
          "employerBankAccountId",
          "employerId",
          "htmlBody",
          "maskedAccountNumber",
          "subject"
        ],
        "title": "Employer bank account micro-deposit verification sent event"
      },
      "NotificationEmployerBankAccountPaymentAuthorizationCompletedEvent": {
        "type": "object",
        "description": "Triggers `Notification.EmployerBankAccount.paymentAuthorizationCompleted` when the payment authorization for the EmployerBankAccount is completed.",
        "properties": {
          "accountName": {
            "type": "string",
            "description": "The name of the bank account."
          },
          "authorizerEmail": {
            "type": "string",
            "description": "The email of the person who signed the payment authorization."
          },
          "authorizerFirstName": {
            "type": "string",
            "description": "The first name of the person who signed the payment authorization."
          },
          "authorizerLastName": {
            "type": "string",
            "description": "The last name of the person who signed the payment authorization."
          },
          "bankName": {
            "type": [
              "string",
              "null"
            ],
            "description": "The name of the bank."
          },
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerBankAccountId": {
            "type": "string",
            "description": "The unique identifier for the EmployerBankAccount that was created."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "htmlBody": {
            "type": "string",
            "description": "The main content of the notification, formatted in HTML."
          },
          "maskedAccountNumber": {
            "type": "string",
            "description": "The masked account number."
          },
          "signatureDateTime": {
            "type": "string",
            "format": "date-time",
            "description": "The date the payment authorization was completed."
          },
          "subject": {
            "type": "string",
            "description": "The subject of the notification. It summarizes the content of the notification."
          }
        },
        "required": [
          "accountName",
          "authorizerEmail",
          "authorizerFirstName",
          "authorizerLastName",
          "category",
          "employerBankAccountId",
          "employerId",
          "htmlBody",
          "maskedAccountNumber",
          "signatureDateTime",
          "subject"
        ],
        "title": "EmployerBankAccount payment authorization completed"
      },
      "NotificationEmployerPaydayReminderEvent": {
        "type": "object",
        "description": "Triggers `Notification.employerPaydayReminder` 2 days before the employer has to confirm the next scheduled payroll run.",
        "properties": {
          "canBeFulfilled": {
            "type": "boolean",
            "description": "Indicates whether the payments for this payroll can be fulfilled given the currently specified pay date."
          },
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "confirmBy": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "Latest date the Employer should confirm payroll in order for the Workers to get paid on time."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "htmlBody": {
            "type": "string",
            "description": "The main content of the notification, formatted in HTML."
          },
          "payDate": {
            "type": "string",
            "format": "date",
            "description": "The date the workers will be paid for the next scheduled PayrollRun."
          },
          "periodEnd": {
            "type": "string",
            "format": "date",
            "description": "The end of the period for the next scheduled PayrollRun."
          },
          "periodStart": {
            "type": "string",
            "format": "date",
            "description": "The start of the period for the next scheduled PayrollRun."
          },
          "subject": {
            "type": "string",
            "description": "The subject of the notification. It summarizes the content of the notification."
          },
          "suggestedPayDate": {
            "type": [
              "string",
              "null"
            ],
            "format": "date",
            "description": "The pay date we suggest, which the `confirmBy` deadline funds. Equal to `payDate` when it can be fulfilled, otherwise the closest reachable pay date. Absent when we have no suggestion."
          },
          "unfulfillableReason": {
            "type": [
              "string",
              "null"
            ],
            "description": "Which condition blocks `payDate`: `WEEKEND` or `BANK_HOLIDAY`, both meaning banks do not process payments that day. Null when `canBeFulfilled` is true, and also null on events published before this field existed — so no value does not on its own mean the pay date is fine. Check `canBeFulfilled` for that."
          },
          "workerPayGroupId": {
            "type": "string",
            "description": "The unique identifier for the Worker Pay Group that will be paid in the next PayrollRun."
          }
        },
        "required": [
          "canBeFulfilled",
          "category",
          "employerId",
          "htmlBody",
          "payDate",
          "periodEnd",
          "periodStart",
          "subject",
          "workerPayGroupId"
        ],
        "title": "Employer payday reminder event"
      },
      "NotificationEmployerPayrollHistoryRequiredEvent": {
        "type": "object",
        "description": "Triggers `Notification.employerPayrollHistoryRequired` when an employer declares that has payroll history in a prior provider to be imported.",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "htmlBody": {
            "type": "string",
            "description": "The main content of the notification, formatted in HTML."
          },
          "priorPayrollProvider": {
            "type": [
              "string",
              "null"
            ],
            "description": "The name of the employer prior payroll provider."
          },
          "replyToEmail": {
            "type": [
              "string",
              "null"
            ],
            "description": "The email address the employer should reply to with the payroll history."
          },
          "schedulingUrl": {
            "type": [
              "string",
              "null"
            ],
            "description": "A calendar URL for the employer to schedule a meeting with our customer support team."
          },
          "subject": {
            "type": "string",
            "description": "The subject of the notification. It summarizes the content of the notification."
          }
        },
        "required": [
          "category",
          "employerId",
          "htmlBody",
          "subject"
        ],
        "title": "Employer payroll history required event"
      },
      "NotificationEmployerPayrollOperationEvent": {
        "type": "object",
        "description": "Triggers `Notification.employerPayrollOperation` a generic endpoint, to send mass communication emails to employers.",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "htmlBody": {
            "type": "string",
            "description": "The main content of the notification, formatted in HTML."
          },
          "subject": {
            "type": "string",
            "description": "The subject of the notification. It summarizes the content of the notification."
          }
        },
        "required": [
          "category",
          "employerId",
          "htmlBody",
          "subject"
        ],
        "title": "Employer payroll operation"
      },
      "NotificationEmployerPayrollRunConfirmationEvent": {
        "type": "object",
        "description": "Triggers `Notification.employerPayrollRunConfirmation` when an Employer confirms a payroll run.",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "contractorPay": {
            "type": "string",
            "format": "money",
            "description": "The amount paid to contractors for this PayrollRun.",
            "example": 100.21
          },
          "debitAmount": {
            "type": [
              "string",
              "null"
            ],
            "format": "money",
            "description": "The amount the Employer will be debited for this PayrollRun.",
            "example": 100.21
          },
          "debitDate": {
            "type": [
              "string",
              "null"
            ],
            "format": "date",
            "description": "The date that the Employer's bank account will be debited for the cost of this PayrollRun."
          },
          "employeePay": {
            "type": "string",
            "format": "money",
            "description": "The amount paid to employees for this PayrollRun.",
            "example": 100.21
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer"
          },
          "employerTaxes": {
            "type": "string",
            "format": "money",
            "description": "The amount of taxes that will be paid by the Employer for this PayrollRun.",
            "example": 100.21
          },
          "htmlBody": {
            "type": "string",
            "description": "The main content of the notification, formatted in HTML."
          },
          "maskedAccountNumber": {
            "type": [
              "string",
              "null"
            ],
            "description": "The masked account number of the EmployerBankAccount that will fund this PayrollRun."
          },
          "payDate": {
            "type": "string",
            "format": "date",
            "description": "The date the workers will be paid for this pay period of this PayrollRun."
          },
          "payrollRunId": {
            "type": "string",
            "description": "The unique identifier for the PayrollRun that was confirmed."
          },
          "periodEnd": {
            "type": "string",
            "format": "date",
            "description": "The end of the period that the Workers will be paid for on this PayrollRun."
          },
          "periodStart": {
            "type": "string",
            "format": "date",
            "description": "The start of the period that the Workers will be paid for on this PayrollRun."
          },
          "subject": {
            "type": "string",
            "description": "The subject of the notification. It summarizes the content of the notification."
          },
          "totalCost": {
            "type": "string",
            "format": "money",
            "description": "The total cost for this PayrollRun, including costs that Salsa does not withhold.",
            "example": 100.21
          }
        },
        "required": [
          "category",
          "contractorPay",
          "employeePay",
          "employerId",
          "employerTaxes",
          "htmlBody",
          "payDate",
          "payrollRunId",
          "periodEnd",
          "periodStart",
          "subject",
          "totalCost"
        ],
        "title": "Employer payroll run confirmation event"
      },
      "NotificationEmployerTaxRateUpdatedFromAgencyEvent": {
        "type": "object",
        "description": "Triggers `Notification.Employer.taxRateUpdatedFromAgency` when an employer's tax rate is updated from agency data.",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "effectiveDate": {
            "type": "string",
            "description": "The effective date of the new rate."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "htmlBody": {
            "type": "string",
            "description": "The main content of the notification, formatted in HTML."
          },
          "jurisdiction": {
            "type": "string",
            "description": "The jurisdiction code (e.g., US-CA)."
          },
          "jurisdictionName": {
            "type": "string",
            "description": "The jurisdiction name (e.g., California)."
          },
          "newRate": {
            "type": "string",
            "description": "The new tax rate after the update, as a percentage.",
            "example": "2.7"
          },
          "previousRate": {
            "type": [
              "string",
              "null"
            ],
            "description": "The previous tax rate before the update, as a percentage.",
            "example": "1.5"
          },
          "source": {
            "type": "string",
            "description": "The source of the rate update (e.g., SUI Rate Agency Data Exchange process)."
          },
          "subject": {
            "type": "string",
            "description": "The subject of the notification. It summarizes the content of the notification."
          },
          "taxType": {
            "type": "string",
            "description": "The type of tax (e.g., SUI)."
          }
        },
        "required": [
          "category",
          "effectiveDate",
          "employerId",
          "htmlBody",
          "jurisdiction",
          "jurisdictionName",
          "newRate",
          "source",
          "subject",
          "taxType"
        ],
        "title": "Employer Tax Rate Updated From Agency"
      },
      "NotificationPaymentEmployerFundingFailedEvent": {
        "type": "object",
        "description": "Triggers `Notification.Payment.employerFundingFailed` when the payment for an employer to fund a payroll run has failed.",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "debitAmount": {
            "type": "string",
            "format": "money",
            "description": "The amount of the employer funding transaction.",
            "example": 100.21
          },
          "debitAttempt": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int32",
            "description": "If present, represents the redebit attempt number."
          },
          "debitDate": {
            "type": "string",
            "format": "date",
            "description": "The date the debit was attempted."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "htmlBody": {
            "type": "string",
            "description": "The main content of the notification, formatted in HTML."
          },
          "maskedAccountNumber": {
            "type": [
              "string",
              "null"
            ],
            "description": "The masked account number of the EmployerBankAccount that funded (or attempted to fund) this PayrollRun."
          },
          "payrollRunId": {
            "type": "string",
            "description": "The unique identifier for the PayrollRun that failed to be funded."
          },
          "payrollRunPayDate": {
            "type": "string",
            "format": "date",
            "description": "The date the pay date of the PayrollRun that failed to be funded."
          },
          "returnCode": {
            "type": "string",
            "description": "The return code received from the funding request."
          },
          "returnCodeDescription": {
            "type": "string",
            "description": "A description of the return code received."
          },
          "subject": {
            "type": "string",
            "description": "The subject of the notification. It summarizes the content of the notification."
          },
          "workerPaymentsFulfilmentStatus": {
            "type": "string",
            "description": "The status of any worker payments within this payroll run.",
            "enum": [
              "disbursed",
              "onHold"
            ]
          }
        },
        "required": [
          "category",
          "debitAmount",
          "debitDate",
          "employerId",
          "htmlBody",
          "payrollRunId",
          "payrollRunPayDate",
          "returnCode",
          "returnCodeDescription",
          "subject",
          "workerPaymentsFulfilmentStatus"
        ],
        "title": "Employer funding payment failed"
      },
      "NotificationPaymentEmployerFundingRedebitClearedEvent": {
        "type": "object",
        "description": "Triggers `Notification.Payment.employerFundingRedebitCleared` when the payment for an employer redebit has cleared.",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "debitAmount": {
            "type": "string",
            "format": "money",
            "description": "The amount of the employer funding transaction.",
            "example": 100.21
          },
          "debitAttempt": {
            "type": "integer",
            "format": "int32",
            "description": "The debit attempt number."
          },
          "debitClearanceDate": {
            "type": "string",
            "format": "date",
            "description": "The date the debit cleared."
          },
          "debitDate": {
            "type": "string",
            "format": "date",
            "description": "The date the debit was processed."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "htmlBody": {
            "type": "string",
            "description": "The main content of the notification, formatted in HTML."
          },
          "maskedAccountNumber": {
            "type": [
              "string",
              "null"
            ],
            "description": "The masked account number of the EmployerBankAccount that funded this PayrollRun."
          },
          "payrollRunId": {
            "type": "string",
            "description": "The unique identifier for the PayrollRun for which the redebit cleared."
          },
          "payrollRunPayDate": {
            "type": "string",
            "format": "date",
            "description": "The date the pay date of the PayrollRun that failed to be funded."
          },
          "subject": {
            "type": "string",
            "description": "The subject of the notification. It summarizes the content of the notification."
          }
        },
        "required": [
          "category",
          "debitAmount",
          "debitAttempt",
          "debitClearanceDate",
          "debitDate",
          "employerId",
          "htmlBody",
          "payrollRunId",
          "payrollRunPayDate",
          "subject"
        ],
        "title": "Employer funding redebit cleared"
      },
      "NotificationPaymentEmployerFundingRescheduledEvent": {
        "type": "object",
        "description": "Triggers `Notification.Payment.employerFundingRescheduled` when the a redebit for an employer funding has been scheduled.",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "debitAmount": {
            "type": "string",
            "format": "money",
            "description": "The amount of the employer funding transaction.",
            "example": 100.21
          },
          "debitAttempt": {
            "type": "integer",
            "format": "int32",
            "description": "The debit attempt number."
          },
          "debitClearanceDate": {
            "type": "string",
            "format": "date",
            "description": "The date the debit will clear."
          },
          "debitDate": {
            "type": "string",
            "format": "date",
            "description": "The updated date for the debit to process."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "htmlBody": {
            "type": "string",
            "description": "The main content of the notification, formatted in HTML."
          },
          "maskedAccountNumber": {
            "type": [
              "string",
              "null"
            ],
            "description": "The masked account number of the EmployerBankAccount that will fund this PayrollRun."
          },
          "payrollRunId": {
            "type": "string",
            "description": "The unique identifier for the PayrollRun for which a redebit was scheduled."
          },
          "payrollRunPayDate": {
            "type": "string",
            "format": "date",
            "description": "The date the pay date of the PayrollRun that failed to be funded."
          },
          "previousFailureDate": {
            "type": [
              "string",
              "null"
            ],
            "format": "date",
            "description": "If applicable, the date that the previous debit attempt failed."
          },
          "subject": {
            "type": "string",
            "description": "The subject of the notification. It summarizes the content of the notification."
          }
        },
        "required": [
          "category",
          "debitAmount",
          "debitAttempt",
          "debitClearanceDate",
          "debitDate",
          "employerId",
          "htmlBody",
          "payrollRunId",
          "payrollRunPayDate",
          "subject"
        ],
        "title": "Employer funding rescheduled"
      },
      "NotificationPaymentWorkerDisbursementFailedEvent": {
        "type": "object",
        "description": "Triggers `Notification.Payment.workerDisbursementFailed` when the disbursement of a worker's pay fails.",
        "properties": {
          "amount": {
            "type": "string",
            "format": "money",
            "description": "The amount of the failed worker payment disbursement transaction.",
            "example": 100.21
          },
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "effectiveDate": {
            "type": "string",
            "format": "date",
            "description": "The date the disbursement was attempted."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "htmlBody": {
            "type": "string",
            "description": "The main content of the notification, formatted in HTML."
          },
          "maskedAccountNumber": {
            "type": "string",
            "description": "The masked account number of the WorkerBankAccount that failed to receive the disbursement."
          },
          "moneyMovementTransactionId": {
            "type": "string",
            "description": "The unique identifier of the MoneyMovementTransaction that failed."
          },
          "payrollRunId": {
            "type": "string",
            "description": "The unique identifier of the PayrollRun containing a failed worker disbursement."
          },
          "payrollRunPayDate": {
            "type": "string",
            "format": "date",
            "description": "The pay date of the PayrollRun containing a failed worker disbursement."
          },
          "returnCode": {
            "type": [
              "string",
              "null"
            ],
            "description": "The return code received from the disbursement attempt."
          },
          "returnCodeDescription": {
            "type": [
              "string",
              "null"
            ],
            "description": "A description of the return code received."
          },
          "subject": {
            "type": "string",
            "description": "The subject of the notification. It summarizes the content of the notification."
          },
          "workerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Worker."
          },
          "workerId": {
            "type": "string",
            "description": "The unique identifier for the Worker."
          }
        },
        "required": [
          "amount",
          "category",
          "effectiveDate",
          "employerId",
          "htmlBody",
          "maskedAccountNumber",
          "moneyMovementTransactionId",
          "payrollRunId",
          "payrollRunPayDate",
          "subject",
          "workerId"
        ],
        "title": "Worker disbursement failed"
      },
      "NotificationPaymentWorkerDisbursementRefundScheduledEvent": {
        "type": "object",
        "description": "Triggers `Notification.Payment.workerDisbursementRefundScheduled` when the disbursement for a worker payment is scheduled to be refunded to the Employer.",
        "properties": {
          "amount": {
            "type": "string",
            "format": "money",
            "description": "The amount of the failed worker disbursement transaction being refunded.",
            "example": 100.21
          },
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "effectiveDate": {
            "type": "string",
            "format": "date",
            "description": "The date the scheduled refund is expected to be credited to the employer's bank account."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "failedMoneyMovementTransactionId": {
            "type": "string",
            "description": "The unique identifier of the MoneyMovementTransaction that failed."
          },
          "htmlBody": {
            "type": "string",
            "description": "The main content of the notification, formatted in HTML."
          },
          "maskedAccountNumber": {
            "type": "string",
            "description": "The masked account number of the EmployerBankAccount receiving the refund."
          },
          "payrollRunId": {
            "type": "string",
            "description": "The unique identifier of the PayrollRun containing the failed worker disbursement that is being refunded."
          },
          "payrollRunPayDate": {
            "type": "string",
            "format": "date",
            "description": "The pay date of the PayrollRun containing the failed worker disbursement that is being refunded."
          },
          "previousFailureDate": {
            "type": [
              "string",
              "null"
            ],
            "format": "date",
            "description": "If applicable, the date that the previous disbursement attempt failed."
          },
          "refundMoneyMovementTransactionId": {
            "type": "string",
            "description": "The unique identifier of the MoneyMovementTransaction that is refunding the failed transaction."
          },
          "subject": {
            "type": "string",
            "description": "The subject of the notification. It summarizes the content of the notification."
          },
          "workerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Worker."
          },
          "workerId": {
            "type": "string",
            "description": "The unique identifier of the worker associated with the failed transaction."
          }
        },
        "required": [
          "amount",
          "category",
          "effectiveDate",
          "employerId",
          "failedMoneyMovementTransactionId",
          "htmlBody",
          "maskedAccountNumber",
          "payrollRunId",
          "payrollRunPayDate",
          "refundMoneyMovementTransactionId",
          "subject",
          "workerId"
        ],
        "title": "Worker payment refund scheduled"
      },
      "NotificationPaymentWorkerDisbursementScheduledEvent": {
        "type": "object",
        "description": "Triggers `Notification.Payment.workerDisbursementScheduled` when the disbursement for a worker payment is scheduled.",
        "properties": {
          "amount": {
            "type": "string",
            "format": "money",
            "description": "The amount of the worker disbursement transaction being scheduled.",
            "example": 100.21
          },
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "effectiveDate": {
            "type": "string",
            "format": "date",
            "description": "The date the reattempt transaction is expected to be credited to the worker's bank account."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "failedMoneyMovementTransactionId": {
            "type": "string",
            "description": "The unique identifier of the MoneyMovementTransaction that failed."
          },
          "htmlBody": {
            "type": "string",
            "description": "The main content of the notification, formatted in HTML."
          },
          "maskedAccountNumber": {
            "type": "string",
            "description": "The masked account number of the WorkerBankAccount receiving the scheduled disbursement."
          },
          "payrollRunId": {
            "type": "string",
            "description": "The unique identifier of the PayrollRun containing the failed worker disbursement that is being scheduled."
          },
          "payrollRunPayDate": {
            "type": "string",
            "format": "date",
            "description": "The pay date of the PayrollRun containing the failed worker disbursement that is being scheduled."
          },
          "previousFailureDate": {
            "type": [
              "string",
              "null"
            ],
            "format": "date",
            "description": "If applicable, the date that the previous disbursement attempt failed."
          },
          "scheduledMoneyMovementTransactionId": {
            "type": "string",
            "description": "The unique identifier of the MoneyMovementTransaction that is reattempting the failed transaction."
          },
          "subject": {
            "type": "string",
            "description": "The subject of the notification. It summarizes the content of the notification."
          },
          "workerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Worker."
          },
          "workerId": {
            "type": "string",
            "description": "The unique identifier of the worker."
          }
        },
        "required": [
          "amount",
          "category",
          "effectiveDate",
          "employerId",
          "failedMoneyMovementTransactionId",
          "htmlBody",
          "maskedAccountNumber",
          "payrollRunId",
          "payrollRunPayDate",
          "scheduledMoneyMovementTransactionId",
          "subject",
          "workerId"
        ],
        "title": "Worker payment disbursement scheduled"
      },
      "NotificationWorkerPaydayEvent": {
        "type": "object",
        "description": "Triggers `Notification.workerPayday` on the same day the worker is being paid. The event will be sent either at 1pm UTC or 11pm UTC of that day.",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer for this Worker."
          },
          "htmlBody": {
            "type": "string",
            "description": "The main content of the notification, formatted in HTML."
          },
          "payDate": {
            "type": "string",
            "format": "date",
            "description": "The date the worker was paid with this Payslip."
          },
          "payslipId": {
            "type": "string",
            "description": "The unique identifier for the Worker's Payslip."
          },
          "periodEnd": {
            "type": "string",
            "format": "date",
            "description": "The end of the period for the payDate."
          },
          "periodStart": {
            "type": "string",
            "format": "date",
            "description": "The start of the period for the payDate."
          },
          "subject": {
            "type": "string",
            "description": "The subject of the notification. It summarizes the content of the notification."
          },
          "workerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Worker."
          },
          "workerId": {
            "type": "string",
            "description": "The unique identifier for the Worker that was paid."
          }
        },
        "required": [
          "category",
          "employerId",
          "htmlBody",
          "payDate",
          "payslipId",
          "periodEnd",
          "periodStart",
          "subject",
          "workerId"
        ],
        "title": "Worker payday event"
      },
      "OvertimeDetails": {
        "type": "object",
        "description": "Details of overtime calculation for a worker payroll run",
        "properties": {
          "overtimeStrategy": {
            "type": "string",
            "description": "The overtime calculation strategy used"
          },
          "totalHoursWorked": {
            "type": "number",
            "description": "Total hours worked across all weeks in the pay period"
          },
          "totalOvertime": {
            "type": "string",
            "format": "money",
            "description": "Total overtime pay amount",
            "example": 100.21
          },
          "weeklyOvertimeDetails": {
            "type": "array",
            "description": "Breakdown of overtime by work week",
            "items": {
              "$ref": "#/components/schemas/WeeklyOvertime"
            }
          }
        },
        "required": [
          "overtimeStrategy",
          "totalHoursWorked",
          "totalOvertime",
          "weeklyOvertimeDetails"
        ]
      },
      "OvertimeRateAllocation": {
        "type": "object",
        "description": "Per-rate overtime allocation",
        "properties": {
          "amount": {
            "type": "string",
            "format": "money",
            "description": "Overtime amount for this rate allocation",
            "example": 100.21
          },
          "hourlyRate": {
            "type": "string",
            "format": "money",
            "description": "The original hourly rate for this allocation",
            "example": 100.21
          },
          "overtimeHours": {
            "type": "number",
            "description": "Overtime hours allocated to this rate"
          },
          "rate": {
            "type": "string",
            "format": "money",
            "description": "The rate used for this allocation",
            "example": 100.21
          }
        },
        "required": [
          "amount",
          "hourlyRate",
          "overtimeHours",
          "rate"
        ]
      },
      "PayWorkersReadinessRequirementWebhookIdentifier": {
        "type": "string",
        "enum": [
          "EMPLOYER_PENDING_PAYROLL_HISTORY_COMPLETION",
          "EMPLOYER_PENDING_PROVIDING_PRIOR_PAYROLL_HISTORY_DECLARATION",
          "EMPLOYER_PENDING_IMPORT_PRIOR_PAYROLL_HISTORY_DECLARATION",
          "EMPLOYER_INCOMPLETE_TAXES_SETUP",
          "EMPLOYER_MISSING_AT_LEAST_ONE_WORK_LOCATION",
          "EMPLOYER_MISSING_FILING_ADDRESS",
          "EMPLOYER_MISSING_MAILING_ADDRESS",
          "EMPLOYER_MISSING_VERIFIED_BANK_ACCOUNT",
          "EMPLOYER_MISSING_WORKER_PAY_GROUP_WITH_RECURRING_SCHEDULE",
          "EMPLOYER_INCOMPLETE_SIGNATORY_INFORMATION"
        ]
      },
      "PayrollRunAwaitingInputEvent": {
        "type": "object",
        "description": "Triggers `PayrollRun.awaitingInput` when compensation data is required for a payroll run. When you receive this event you must send all of the worker compensation data you have for the listed Workers within the interval provided. This data will be used to update the PayrollRun as an Employer is running payroll.",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "payPeriod": {
            "$ref": "#/components/schemas/PayrollRunAwaitingInputEventPayPeriod",
            "description": "The pay period we are requesting worker compensation data for."
          },
          "workerIds": {
            "type": "array",
            "description": "The list of unique Worker identifiers we are requesting data for.",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "category",
          "employerId",
          "payPeriod",
          "workerIds"
        ],
        "title": "Payroll run awaiting input event"
      },
      "PayrollRunAwaitingInputEventPayPeriod": {
        "type": "object",
        "properties": {
          "endDate": {
            "type": "string",
            "format": "date",
            "description": "The end of the period we are requesting worker compensation data for."
          },
          "startDate": {
            "type": "string",
            "format": "date",
            "description": "The start of the period we are requesting worker compensation data for."
          }
        },
        "required": [
          "endDate",
          "startDate"
        ],
        "title": "Pay Period for Payroll run awaiting input event"
      },
      "PayrollRunDeletedEvent": {
        "type": "object",
        "description": "Triggers `PayrollRun.deleted` when a payroll run has been deleted. ",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "payrollRunId": {
            "type": "string",
            "description": "The unique identifier for the PayrollRun that was deleted."
          }
        },
        "required": [
          "category",
          "employerId",
          "payrollRunId"
        ],
        "title": "Payroll run deleted event"
      },
      "PayrollRunEmployerFundingStatusChangedEvent": {
        "type": "object",
        "description": "Triggers `PayrollRun.EmployerFunding.statusChanged` when the employer funding status for a payroll run has changed. ",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "payrollRunId": {
            "type": "string",
            "description": "The unique identifier for the PayrollRun."
          },
          "returnCode": {
            "type": [
              "string",
              "null"
            ],
            "description": "If the status is RETURNED, this identifies the return code received."
          },
          "returnCodeDescription": {
            "type": [
              "string",
              "null"
            ],
            "description": "If the status is RETURNED, this provides a description of the return code."
          },
          "status": {
            "type": "string",
            "description": "The current status of the Employer funding transaction.",
            "enum": [
              "SENT",
              "COMPLETED",
              "CLEARED",
              "RETURNED"
            ]
          }
        },
        "required": [
          "category",
          "employerId",
          "payrollRunId",
          "status"
        ],
        "title": "Payroll run Employer funding status changed event"
      },
      "PayrollRunPreview": {
        "type": "object",
        "description": "Represents a preview of workers that were calculated together for a specific pay period.",
        "properties": {
          "asOfDate": {
            "type": "string",
            "format": "date",
            "description": "Date when the period should be calculated."
          },
          "employerId": {
            "type": "string",
            "description": "The Employer Id to which the preview is for."
          },
          "endDate": {
            "type": "string",
            "format": "date",
            "description": "Date when the period ends."
          },
          "startDate": {
            "type": "string",
            "format": "date",
            "description": "Date when the period starts."
          },
          "totalPayrollCost": {
            "type": "string",
            "format": "money",
            "description": "Total amount to be paid to workers.",
            "example": 100.21
          },
          "totalToBeDebited": {
            "type": "string",
            "format": "money",
            "description": "Total amount that will leave the employer's bank account.",
            "example": 100.21
          },
          "workerPayGroupId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The WorkerPayGroup that was used to generate the list of workers for this preview or null if it was generated based on a list of workers."
          },
          "workers": {
            "type": "array",
            "description": "WorkerPayments for each worker included in this preview.",
            "items": {
              "$ref": "#/components/schemas/WorkerPreview"
            }
          }
        },
        "required": [
          "asOfDate",
          "employerId",
          "endDate",
          "startDate",
          "totalPayrollCost",
          "totalToBeDebited",
          "workers"
        ]
      },
      "PayrollRunStatusChangedEvent": {
        "type": "object",
        "description": "Triggers `PayrollRun.statusChanged` when a payroll run status has changed. ",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "payrollRunId": {
            "type": "string",
            "description": "The unique identifier for the PayrollRun."
          },
          "payrollRunStatus": {
            "type": "string",
            "description": "The current status of the PayrollRun."
          }
        },
        "required": [
          "category",
          "employerId",
          "payrollRunId",
          "payrollRunStatus"
        ],
        "title": "Payroll run status changed event"
      },
      "PayrollRunWorkerDisbursementMoneyMovementTransactionStatusChangedEvent": {
        "type": "object",
        "description": "Triggers `PayrollRun.WorkerDisbursement.MoneyMovementTransaction.statusChanged` when a worker disbursement transaction status for a payroll run has changed. ",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "moneyMovementTransactionId": {
            "type": "string",
            "description": "The unique identifier of the Worker disbursement MoneyMovementTransaction."
          },
          "payrollRunId": {
            "type": "string",
            "description": "The unique identifier for the PayrollRun."
          },
          "returnCode": {
            "type": [
              "string",
              "null"
            ],
            "description": "If the status is RETURNED, this identifies the return code received."
          },
          "returnCodeDescription": {
            "type": [
              "string",
              "null"
            ],
            "description": "If the status is RETURNED, this provides a description of the return code."
          },
          "status": {
            "type": "string",
            "description": "The current status of the Worker disbursement transaction.",
            "enum": [
              "SENT",
              "COMPLETED",
              "RETURNED",
              "FAILED"
            ]
          },
          "workerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Worker."
          },
          "workerId": {
            "type": "string",
            "description": "The unique identifier for the Worker."
          }
        },
        "required": [
          "category",
          "employerId",
          "moneyMovementTransactionId",
          "payrollRunId",
          "status",
          "workerId"
        ],
        "title": "Payroll run Worker Disbursement Money Movement Transaction status changed event"
      },
      "PeriodPreviewFromPayGroupInput": {
        "description": "Input data for previewing a period specifying a PayGroup.",
        "properties": {
          "asOfDate": {
            "type": "string",
            "format": "date",
            "description": "Date when the period should be calculated."
          },
          "endDate": {
            "type": "string",
            "format": "date",
            "description": "Date when the period ends."
          },
          "includeElements": {
            "description": "Options to control which payroll elements (e.g. compensations, benefits, etc.) should have their recurring amounts (from policies) and existing unprocessed amounts included in the calculation of this preview run. _If not specified, **all** elements will be included in the preview by default_, i.e. the default value is an object with all child properties set to `true`.",
            "oneOf": [
              {
                "$ref": "#/components/schemas/IncludeElementsRestInput"
              },
              {
                "type": "null"
              }
            ]
          },
          "includeProcessed": {
            "type": "boolean",
            "description": "Include elements already processed by any PayrollRun within the same period."
          },
          "startDate": {
            "type": "string",
            "format": "date",
            "description": "Date when the period starts."
          },
          "type": {
            "type": "string",
            "default": "PeriodPreviewFromPayGroupInput",
            "description": "Input type."
          },
          "workerPayGroupId": {
            "type": "string",
            "description": "Id of the WorkerPayGroup."
          }
        },
        "required": [
          "asOfDate",
          "endDate",
          "includeProcessed",
          "startDate",
          "type",
          "workerPayGroupId"
        ],
        "title": "PeriodPreview input by PayGroup"
      },
      "PeriodPreviewFromWorkerListInput": {
        "description": "Input data for previewing a period specifying a a list of worker Ids",
        "properties": {
          "asOfDate": {
            "type": "string",
            "format": "date",
            "description": "Date when the period should be calculated."
          },
          "endDate": {
            "type": "string",
            "format": "date",
            "description": "Date when the period ends."
          },
          "includeElements": {
            "description": "Options to control which payroll elements (e.g. compensations, benefits, etc.) should have their recurring amounts (from policies) and existing unprocessed amounts included in the calculation of this preview run. _If not specified, **all** elements will be included in the preview by default_, i.e. the default value is an object with all child properties set to `true`.",
            "oneOf": [
              {
                "$ref": "#/components/schemas/IncludeElementsRestInput"
              },
              {
                "type": "null"
              }
            ]
          },
          "includeProcessed": {
            "type": "boolean",
            "description": "Include elements already processed by any PayrollRun within the same period."
          },
          "startDate": {
            "type": "string",
            "format": "date",
            "description": "Date when the period starts."
          },
          "type": {
            "type": "string",
            "default": "PeriodPreviewFromWorkerListInput",
            "description": "Input type."
          },
          "workerIds": {
            "type": "array",
            "description": "List of Worker Ids to calculate in the Preview.",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "asOfDate",
          "endDate",
          "includeProcessed",
          "startDate",
          "type",
          "workerIds"
        ],
        "title": "PeriodPreview input by worker Ids"
      },
      "RateBasedAggregation": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "string",
            "format": "money",
            "description": "The calculated amount based upon the rate and the number of units.",
            "example": "124.00"
          },
          "description": {
            "type": "string",
            "description": "Description for the rate based aggregation.",
            "example": "Hourly (@ $15.50/hr)"
          },
          "multiplier": {
            "type": "number",
            "description": "This amount will be multiplied by the rate to increase the cost per unit.",
            "example": 1.5
          },
          "rate": {
            "type": "string",
            "format": "money",
            "description": "The cost of one unit.",
            "example": "15.50"
          },
          "rateUnit": {
            "type": "string",
            "description": "The name of the unit.",
            "example": "HOURS"
          },
          "rateUnitAmount": {
            "type": "number",
            "description": "Amount of units.",
            "example": 8
          }
        },
        "required": [
          "amount",
          "description",
          "multiplier",
          "rate",
          "rateUnit",
          "rateUnitAmount"
        ],
        "title": "Rate based aggregation"
      },
      "RateBasedAmount": {
        "properties": {
          "amount": {
            "type": "string",
            "format": "money",
            "description": "The calculated amount based upon the rate per unit, the number of units and the multiplier.",
            "example": "124.00"
          },
          "breakdown": {
            "description": "Breakdown of the calculated amount by rate details.",
            "oneOf": [
              {
                "$ref": "#/components/schemas/RateBasedAmountBreakdown"
              },
              {
                "type": "null"
              }
            ]
          },
          "multiplier": {
            "type": [
              "string",
              "null"
            ],
            "format": "number",
            "description": "This amount will be multiplied by the rate to increase the cost per unit.",
            "example": "1.5"
          },
          "rate": {
            "type": "string",
            "format": "money",
            "description": "The cost of one unit.",
            "example": "15.50"
          },
          "type": {
            "type": "string",
            "default": "RATE",
            "description": "Amount type",
            "example": "RATE"
          },
          "unit": {
            "$ref": "#/components/schemas/UnitRestDomain",
            "description": "The name of the unit.",
            "example": "HOURS"
          },
          "unitAmount": {
            "type": "string",
            "format": "number",
            "description": "Amount of units.",
            "example": "8"
          }
        },
        "required": [
          "amount",
          "rate",
          "type",
          "unit",
          "unitAmount"
        ],
        "title": "Rate based amount"
      },
      "RateBasedAmountBreakdown": {
        "type": "object",
        "properties": {
          "byRate": {
            "type": "array",
            "description": "List of rate based aggregations.",
            "items": {
              "$ref": "#/components/schemas/RateBasedAggregation"
            }
          }
        },
        "required": [
          "byRate"
        ],
        "title": "Rate based amount breakdown"
      },
      "RestApiEnvelopePayrollRunPreview": {
        "type": "object",
        "properties": {
          "data": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/PayrollRunPreview"
              },
              {
                "type": "null"
              }
            ]
          }
        }
      },
      "TimeOffAccruedPayrollRunElement": {
        "type": "object",
        "properties": {
          "timeOffAccrued": {
            "$ref": "#/components/schemas/TimeOffAmount",
            "deprecated": true,
            "description": "How much time off has been accrued in this WorkerPayment."
          },
          "timeOffMoneyAccrued": {
            "description": "How much money for this time off has been accrued in this WorkerPayment.",
            "oneOf": [
              {
                "$ref": "#/components/schemas/TimeOffMoneyAmount"
              },
              {
                "type": "null"
              }
            ]
          },
          "timeOffTimeAccrued": {
            "$ref": "#/components/schemas/TimeOffAmount",
            "description": "How much time off has been accrued in this WorkerPayment."
          }
        },
        "required": [
          "timeOffAccrued",
          "timeOffTimeAccrued"
        ]
      },
      "TimeOffAmount": {
        "type": "object",
        "properties": {
          "timeAmount": {
            "type": "number",
            "description": "Amount of TimeOff."
          },
          "timeUnit": {
            "$ref": "#/components/schemas/TimeOffUnit",
            "description": "Unit of the amount."
          }
        },
        "required": [
          "timeAmount",
          "timeUnit"
        ]
      },
      "TimeOffMoneyAmount": {
        "type": "object",
        "properties": {
          "accrualPercentage": {
            "type": "number",
            "description": "The percentage used to calculate this time off."
          },
          "amount": {
            "type": "string",
            "format": "money",
            "description": "Monetary amount of the time off.",
            "example": 100.21
          },
          "isPaidOut": {
            "type": "boolean",
            "description": "If the amount accrued is paid out as pay or just accrued."
          }
        },
        "required": [
          "accrualPercentage",
          "amount",
          "isPaidOut"
        ]
      },
      "TimeOffTakenPayrollRunElement": {
        "type": "object",
        "properties": {
          "isPaid": {
            "type": "boolean",
            "description": "Indicates if the time off taken is paid."
          },
          "timeOffTaken": {
            "$ref": "#/components/schemas/TimeOffAmount",
            "description": "Amount of time off taken in this WorkerPayment."
          }
        },
        "required": [
          "isPaid",
          "timeOffTaken"
        ]
      },
      "TimeOffUnit": {
        "type": "string",
        "enum": [
          "HOURS"
        ]
      },
      "TransmissionCompletedEvent": {
        "type": "object",
        "description": "Triggers `Transmission.completed` when a transmission is completed successfully.",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "transmissionId": {
            "type": "string",
            "description": "The unique identifier for the Transmission."
          },
          "transmissionType": {
            "type": "string",
            "description": "The type of the transmission."
          },
          "workerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The external ID of the worker from the partner system."
          },
          "workerId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The worker ID associated with the transmission."
          }
        },
        "required": [
          "category",
          "employerId",
          "transmissionId",
          "transmissionType"
        ],
        "title": "Transmission completed event"
      },
      "TransmissionFailedEvent": {
        "type": "object",
        "description": "Triggers `Transmission.failed` when a transmission fails.",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "transmissionId": {
            "type": "string",
            "description": "The unique identifier for the Transmission."
          },
          "transmissionType": {
            "type": "string",
            "description": "The type of the transmission."
          },
          "workerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The external ID of the worker from the partner system."
          },
          "workerId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The worker ID associated with the transmission."
          }
        },
        "required": [
          "category",
          "employerId",
          "transmissionId",
          "transmissionType"
        ],
        "title": "Transmission failed event"
      },
      "TransmissionProcessingEvent": {
        "type": "object",
        "description": "Triggers `Transmission.processing` when a transmission is being processed.",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "transmissionId": {
            "type": "string",
            "description": "The unique identifier for the Transmission."
          },
          "transmissionType": {
            "type": "string",
            "description": "The type of the transmission."
          },
          "workerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The external ID of the worker from the partner system."
          },
          "workerId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The worker ID associated with the transmission."
          }
        },
        "required": [
          "category",
          "employerId",
          "transmissionId",
          "transmissionType"
        ],
        "title": "Transmission processing event"
      },
      "UnitRestDomain": {
        "type": "string",
        "enum": [
          "HOURS",
          "ITEMS"
        ]
      },
      "WebhookEventCategoryRestDomain": {
        "type": "string",
        "enum": [
          "LIFECYCLE",
          "NOTIFICATION"
        ]
      },
      "WeeklyOvertime": {
        "type": "object",
        "description": "Overtime details for a single work week",
        "properties": {
          "rateAllocations": {
            "type": "array",
            "description": "Per-rate allocation of overtime hours and amounts",
            "items": {
              "$ref": "#/components/schemas/OvertimeRateAllocation"
            }
          },
          "regularRateOfPay": {
            "type": "string",
            "format": "money",
            "description": "Regular rate of pay used for overtime calculation",
            "example": 100.21
          },
          "totalHoursWorked": {
            "type": "number",
            "description": "Total hours worked in this work week"
          },
          "totalOvertime": {
            "type": "string",
            "format": "money",
            "description": "Total overtime pay for this work week",
            "example": 100.21
          },
          "totalOvertimeHours": {
            "type": "number",
            "description": "Total overtime hours in this work week"
          },
          "typeBreakdown": {
            "type": "array",
            "description": "Per-type breakdown of overtime within this week",
            "items": {
              "$ref": "#/components/schemas/WeeklyOvertimeTypeBreakdown"
            }
          },
          "workWeekEnd": {
            "type": "string",
            "format": "date",
            "description": "End date of the work week"
          },
          "workWeekStart": {
            "type": "string",
            "format": "date",
            "description": "Start date of the work week"
          }
        },
        "required": [
          "rateAllocations",
          "regularRateOfPay",
          "totalHoursWorked",
          "totalOvertime",
          "totalOvertimeHours",
          "typeBreakdown",
          "workWeekEnd",
          "workWeekStart"
        ]
      },
      "WeeklyOvertimeTypeBreakdown": {
        "type": "object",
        "description": "Overtime breakdown for a specific type within a work week",
        "properties": {
          "amount": {
            "type": "string",
            "format": "money",
            "description": "Overtime amount for this type in this week",
            "example": 100.21
          },
          "multiplier": {
            "type": "number",
            "description": "Multiplier applied (e.g. 1.5, 2.0)"
          },
          "overtimeHours": {
            "type": "number",
            "description": "Overtime hours for this type"
          },
          "overtimeRate": {
            "type": "string",
            "format": "money",
            "description": "The computed overtime rate applied",
            "example": 100.21
          },
          "previousPeriodAdjustment": {
            "type": "string",
            "format": "money",
            "description": "Amount adjusted from the previous period's overtime for this type. Negative means overpayment",
            "example": 100.21
          },
          "typeId": {
            "type": "string",
            "description": "The compensation type ID"
          },
          "typeName": {
            "type": "string",
            "description": "Display name of the type"
          }
        },
        "required": [
          "amount",
          "multiplier",
          "overtimeHours",
          "overtimeRate",
          "previousPeriodAdjustment",
          "typeId",
          "typeName"
        ]
      },
      "WorkTimeResult": {
        "type": "object",
        "properties": {
          "hours": {
            "type": "number",
            "deprecated": true,
            "description": "Deprecated. The worker's actual worked hours in this payroll run"
          },
          "hoursWorked": {
            "type": "number",
            "description": "The worker's actual worked hours in this payroll run"
          },
          "isOverridden": {
            "type": "boolean",
            "description": "Indicates whether this worker's hours worked are overridden"
          },
          "totalHours": {
            "type": "number",
            "description": "The total hours that were processed for this worker in this payroll run. This might include hours that were not worked, e.g. hours that were paid as holiday or sick pay"
          }
        },
        "required": [
          "hours",
          "hoursWorked",
          "isOverridden",
          "totalHours"
        ]
      },
      "WorkerBankAccountCreatedEvent": {
        "type": "object",
        "description": "Triggers `WorkerBankAccount.created` when a worker gets created.",
        "properties": {
          "bankAccountExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this WorkerBankAccount."
          },
          "bankAccountId": {
            "type": "string",
            "description": "The unique identifier for the WorkerBankAccount."
          },
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "workerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Worker."
          },
          "workerId": {
            "type": "string",
            "description": "The unique identifier for the Worker."
          }
        },
        "required": [
          "bankAccountId",
          "category",
          "employerId",
          "workerId"
        ],
        "title": "Worker bank account creation event"
      },
      "WorkerBankAccountDeletedEvent": {
        "type": "object",
        "description": "Triggers `WorkerBankAccount.deleted` when a worker gets deleted.",
        "properties": {
          "bankAccountExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this WorkerBankAccount."
          },
          "bankAccountId": {
            "type": "string",
            "description": "The unique identifier for the WorkerBankAccount."
          },
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "workerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Worker."
          },
          "workerId": {
            "type": "string",
            "description": "The unique identifier for the Worker."
          }
        },
        "required": [
          "bankAccountId",
          "category",
          "employerId",
          "workerId"
        ],
        "title": "Worker bank account deletion event"
      },
      "WorkerBankAccountUpdatedEvent": {
        "type": "object",
        "description": "Triggers `WorkerBankAccount.updated` when a worker gets updated.",
        "properties": {
          "bankAccountExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this WorkerBankAccount."
          },
          "bankAccountId": {
            "type": "string",
            "description": "The unique identifier for the WorkerBankAccount."
          },
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "workerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Worker."
          },
          "workerId": {
            "type": "string",
            "description": "The unique identifier for the Worker."
          }
        },
        "required": [
          "bankAccountId",
          "category",
          "employerId",
          "workerId"
        ],
        "title": "Worker bank account update event"
      },
      "WorkerContractCreatedEvent": {
        "type": "object",
        "description": "Triggers `WorkerContract.created` when a Worker contract is created.",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "classification": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Worker contract type."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer of the Worker."
          },
          "workerContractId": {
            "type": "string",
            "description": "The unique identifier for the Worker contract of the Worker."
          },
          "workerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Worker."
          },
          "workerId": {
            "type": "string",
            "description": "The unique identifier for the Worker to which the contract belongs to."
          }
        },
        "required": [
          "category",
          "employerId",
          "workerContractId",
          "workerId"
        ],
        "title": "Worker contract created event"
      },
      "WorkerContractDeletedEvent": {
        "type": "object",
        "description": "Triggers `WorkerContract.deleted` when a Worker contract is deleted.",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer of the Worker."
          },
          "workerContractId": {
            "type": "string",
            "description": "The unique identifier for the Worker contract of the Worker."
          },
          "workerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Worker."
          },
          "workerId": {
            "type": "string",
            "description": "The unique identifier for the Worker whose contract was deleted."
          }
        },
        "required": [
          "category",
          "employerId",
          "workerContractId",
          "workerId"
        ],
        "title": "Worker contract deleted event"
      },
      "WorkerContractUpdatedEvent": {
        "type": "object",
        "description": "Triggers `WorkerContract.updated` when a Worker contract is updated.",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "classification": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Worker contract type."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer of the Worker."
          },
          "workerContractId": {
            "type": "string",
            "description": "The unique identifier for the Worker contract of the Worker."
          },
          "workerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Worker."
          },
          "workerId": {
            "type": "string",
            "description": "The unique identifier for the Worker to which the contract belongs to."
          }
        },
        "required": [
          "category",
          "employerId",
          "workerContractId",
          "workerId"
        ],
        "title": "Worker contract updated event"
      },
      "WorkerCreatedEvent": {
        "type": "object",
        "description": "Triggers `Worker.created` when a Worker is created.",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer of the Worker."
          },
          "employerSpecifiedIdentifier": {
            "type": [
              "string",
              "null"
            ],
            "description": "An external ID specified by the Employer to match with this Worker (usually referred to as worker number, employee number, or employee ID)."
          },
          "externalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Worker."
          },
          "firstName": {
            "type": [
              "string",
              "null"
            ],
            "description": "The given name or first name of the Worker."
          },
          "lastName": {
            "type": [
              "string",
              "null"
            ],
            "description": "The family name or surname of the Worker."
          },
          "terminationCategory": {
            "type": [
              "string",
              "null"
            ],
            "description": "The category of the termination, if applicable. Most commonly used when creating historical Workers during the onboarding phase.",
            "enum": [
              "DECEASED",
              "VOLUNTARY",
              "INVOLUNTARY",
              "HISTORICAL"
            ]
          },
          "terminationDate": {
            "type": [
              "string",
              "null"
            ],
            "format": "date",
            "description": "The date of the Worker termination, if applicable. Most commonly used when creating historical Workers during the onboarding phase."
          },
          "workerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Worker."
          },
          "workerId": {
            "type": "string",
            "description": "The unique identifier for the Worker that was created."
          }
        },
        "required": [
          "category",
          "employerId",
          "workerId"
        ],
        "title": "Worker created event"
      },
      "WorkerDeletedEvent": {
        "type": "object",
        "description": "Triggers `Worker.deleted` when a Worker is deleted.",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer of the Worker."
          },
          "externalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Worker."
          },
          "workerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Worker."
          },
          "workerId": {
            "type": "string",
            "description": "The unique identifier for the Worker that was deleted."
          }
        },
        "required": [
          "category",
          "employerId",
          "workerId"
        ],
        "title": "Worker deleted event"
      },
      "WorkerOnboardingStatusEvent": {
        "type": "object",
        "description": "Triggers `Worker.onboardingStatus` when the onboarding status for a worker changes, with possible statuses `INVITED`, `STARTED`, `COMPLETED`, and `INVALIDATED`.",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "completedAt": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "Timestamp when the Worker completed the onboarding."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer for this Worker."
          },
          "hostedWorkerOnboardingId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The unique identifier for the HostedWorkerOnboarding. Present when the onboarding is completed via Salsa hosted experience."
          },
          "status": {
            "type": "string",
            "description": "Represents the current onboarding stage for the Worker.",
            "enum": [
              "INVITED",
              "STARTED",
              "COMPLETED",
              "INVALIDATED"
            ]
          },
          "workerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Worker."
          },
          "workerId": {
            "type": "string",
            "description": "The unique identifier for the Worker."
          }
        },
        "required": [
          "category",
          "employerId",
          "status",
          "workerId"
        ],
        "title": "Worker onboarding status event"
      },
      "WorkerPayDistributionUpdatedEvent": {
        "type": "object",
        "description": "Triggers `WorkerPaymentDistribution.updated` when a worker's payment distribution rules are updated.",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "payDistributionId": {
            "type": "string",
            "description": "The unique identifier for the WorkerPayDistribution."
          },
          "workerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Worker."
          },
          "workerId": {
            "type": "string",
            "description": "The unique identifier for the Worker."
          }
        },
        "required": [
          "category",
          "employerId",
          "payDistributionId",
          "workerId"
        ],
        "title": "Worker payment distribution updated"
      },
      "WorkerPayGroupCreatedEvent": {
        "type": "object",
        "description": "Triggers `Employer.WorkerPayGroup.created` when a worker pay group is created.",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "workerPayGroupId": {
            "type": "string",
            "description": "The unique identifier for the WorkerPayGroup."
          }
        },
        "required": [
          "category",
          "employerId",
          "workerPayGroupId"
        ],
        "title": "Employer Worker pay group created event"
      },
      "WorkerPayGroupDeletedEvent": {
        "type": "object",
        "description": "Triggers `Employer.WorkerPayGroup.deleted` when a worker pay group is deleted.",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "workerPayGroupId": {
            "type": "string",
            "description": "The unique identifier for the WorkerPayGroup."
          }
        },
        "required": [
          "category",
          "employerId",
          "workerPayGroupId"
        ],
        "title": "Employer Worker pay group deleted event"
      },
      "WorkerPayGroupUpdatedEvent": {
        "type": "object",
        "description": "Triggers `Employer.WorkerPayGroup.updated` when a worker pay group is updated.",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "workerPayGroupId": {
            "type": "string",
            "description": "The unique identifier for the WorkerPayGroup."
          }
        },
        "required": [
          "category",
          "employerId",
          "workerPayGroupId"
        ],
        "title": "Employer Worker pay group updated event"
      },
      "WorkerPaymentAdjustmentCreatedEvent": {
        "type": "object",
        "description": "Triggers `WorkerPaymentAdjustment.created` when a worker payment adjustment gets created.",
        "properties": {
          "adjustmentType": {
            "type": [
              "string",
              "null"
            ],
            "description": "Represents the WorkerPaymentAdjustment type.",
            "enum": [
              "VOID",
              "REVERSAL",
              "AMENDMENT"
            ]
          },
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "referencedWorkerPaymentId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The unique identifier of the worker payment adjusted. This may be the WorkerPayrollRun ID or the HistoricalWorkerPayment ID."
          },
          "workerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Worker."
          },
          "workerId": {
            "type": "string",
            "description": "The unique identifier for the Worker."
          },
          "workerPaymentAdjustmentId": {
            "type": "string",
            "description": "The unique identifier for the WorkerPaymentAdjustment."
          }
        },
        "required": [
          "category",
          "employerId",
          "workerId",
          "workerPaymentAdjustmentId"
        ],
        "title": "Worker payment adjustment created event"
      },
      "WorkerPaymentBenefit": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "description": "Name of the type used as benefit element."
          },
          "employerContribution": {
            "type": "string",
            "format": "money",
            "description": "Amount paid by the employer towards the benefit.",
            "example": 100.21
          },
          "id": {
            "type": "string",
            "description": "Unique identifier for the benefit."
          },
          "typeId": {
            "type": "string",
            "description": "Reference to the type used as benefit element."
          },
          "workerContribution": {
            "type": "string",
            "format": "money",
            "description": "Amount paid by the worker towards the benefit.",
            "example": 100.21
          }
        },
        "required": [
          "description",
          "employerContribution",
          "id",
          "typeId",
          "workerContribution"
        ]
      },
      "WorkerPaymentCompensation": {
        "type": "object",
        "description": "Represents a compensation received by the worker.",
        "properties": {
          "amount": {
            "$ref": "#/components/schemas/Amount",
            "description": "Amount of the compensation."
          },
          "id": {
            "type": "string",
            "description": "The unique identifier for the WorkerPaymentCompensation.",
            "example": "payruncomp_78ce..."
          },
          "name": {
            "type": "string",
            "description": "Human readable description for the compensation."
          },
          "policy": {
            "type": "string",
            "description": "Id of the policy to which this compensation is associated with."
          },
          "typeId": {
            "type": "string",
            "description": "Id of the pay type which this pay entry is associated with."
          }
        },
        "required": [
          "amount",
          "id",
          "name",
          "policy",
          "typeId"
        ]
      },
      "WorkerPaymentCompensationResult": {
        "type": "object",
        "description": "Represents a compensation received by the worker.",
        "properties": {
          "amount": {
            "$ref": "#/components/schemas/Amount",
            "description": "Amount of the compensation."
          },
          "id": {
            "type": "string",
            "description": "The unique identifier for the WorkerPaymentCompensation.",
            "example": "payruncomp_78ce..."
          },
          "name": {
            "type": "string",
            "description": "Human readable description for the compensation."
          },
          "policy": {
            "type": "string",
            "description": "Id of the policy to which this compensation is associated with."
          },
          "typeId": {
            "type": "string",
            "description": "Id of the pay type which this pay entry is associated with."
          }
        },
        "required": [
          "amount",
          "id",
          "name",
          "policy",
          "typeId"
        ]
      },
      "WorkerPaymentContributionResult": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "string",
            "format": "money",
            "description": "Fixed amount for the WorkerPaymentContribution.",
            "example": 100.21
          },
          "id": {
            "type": "string",
            "description": "The unique identifier for the WorkerPaymentContribution.",
            "example": "payruncontr_e1cb..."
          },
          "name": {
            "type": "string",
            "description": "Human readable description for the WorkerPaymentContribution."
          },
          "policy": {
            "type": "string",
            "description": "Id of the policy to which this WorkerPaymentContribution is attached."
          }
        },
        "required": [
          "amount",
          "id",
          "name",
          "policy"
        ]
      },
      "WorkerPaymentCostAllocationLineRestDomain": {
        "type": "object",
        "description": "One allocated value within a cost dimension for a pay element.",
        "properties": {
          "percent": {
            "type": "number",
            "description": "Percent applied to this value (0..100 with up to 5 decimals)."
          },
          "valueId": {
            "type": "string",
            "description": "Identifier of the cost dimension value."
          }
        },
        "required": [
          "percent",
          "valueId"
        ]
      },
      "WorkerPaymentCostAllocationRestDomain": {
        "type": "object",
        "description": "Allocation for a specific cost dimension within a pay element.",
        "properties": {
          "dimensionId": {
            "type": "string",
            "description": "Identifier of the cost dimension."
          },
          "lines": {
            "type": "array",
            "description": "Allocation lines for the dimension.",
            "items": {
              "$ref": "#/components/schemas/WorkerPaymentCostAllocationLineRestDomain"
            }
          },
          "origin": {
            "type": "string",
            "description": "Origin of this allocation group (aggregated, overridden manually, or defaulted)."
          }
        },
        "required": [
          "dimensionId",
          "lines",
          "origin"
        ]
      },
      "WorkerPaymentDeduction": {
        "type": "object",
        "properties": {
          "amount": {
            "$ref": "#/components/schemas/Amount",
            "description": "Amount of the deduction."
          },
          "id": {
            "type": "string",
            "description": "The unique identifier for the WorkerPaymentDeduction.",
            "example": "payrunded_eb9..."
          },
          "name": {
            "type": "string",
            "description": "Human readable description for the deduction."
          },
          "policy": {
            "type": "string",
            "description": "Policy to which this deduction is attached."
          },
          "typeId": {
            "type": "string",
            "description": "Id of the pay type which this pay entry is associated with."
          }
        },
        "required": [
          "amount",
          "id",
          "name",
          "policy",
          "typeId"
        ]
      },
      "WorkerPaymentDeductionResult": {
        "type": "object",
        "properties": {
          "amount": {
            "$ref": "#/components/schemas/Amount",
            "description": "Amount of the deduction."
          },
          "id": {
            "type": "string",
            "description": "The unique identifier for the WorkerPaymentDeduction.",
            "example": "payrunded_eb9..."
          },
          "name": {
            "type": "string",
            "description": "Human readable description for the deduction."
          },
          "policy": {
            "type": "string",
            "description": "Policy to which this deduction is attached."
          },
          "typeId": {
            "type": "string",
            "description": "Id of the deduction type which this deduction is associated with."
          }
        },
        "required": [
          "amount",
          "id",
          "name",
          "policy",
          "typeId"
        ]
      },
      "WorkerPaymentGarnishment": {
        "type": "object",
        "properties": {
          "amount": {
            "$ref": "#/components/schemas/Amount",
            "description": "Amount garnished."
          },
          "exemptAmount": {
            "type": [
              "string",
              "null"
            ],
            "format": "money",
            "description": "For some garnishments this amount represents the amount of money exempt from being garnished each period.",
            "example": 100.21
          },
          "id": {
            "type": "string",
            "description": "Unique identifier for the garnishment."
          },
          "jurisdictionalTypeId": {
            "type": "string",
            "description": "The jurisdictional type assigned to this garnishment."
          },
          "maximumPercentageOfDisposable": {
            "type": [
              "number",
              "null"
            ],
            "description": "The maximum percentage of disposable earnings used to calculate the maximum amount that could be garnished."
          },
          "name": {
            "type": "string",
            "description": "Human readable description of the garnishment."
          },
          "typeId": {
            "type": "string",
            "description": "The type id assigned to this garnishment."
          }
        },
        "required": [
          "amount",
          "id",
          "jurisdictionalTypeId",
          "name",
          "typeId"
        ]
      },
      "WorkerPaymentPay": {
        "type": "object",
        "description": "Represents an entry pay received by the worker.",
        "properties": {
          "amount": {
            "$ref": "#/components/schemas/Amount",
            "description": "Amount of the pay."
          },
          "costAllocations": {
            "type": "array",
            "description": "Cost allocations applied to this pay element, grouped by cost dimension.",
            "items": {
              "$ref": "#/components/schemas/WorkerPaymentCostAllocationRestDomain"
            }
          },
          "id": {
            "type": "string",
            "description": "The unique identifier for the WorkerPaymentPay.",
            "example": "payruncomp_78ce..."
          },
          "name": {
            "type": "string",
            "description": "Human readable description for the pay."
          },
          "typeId": {
            "type": "string",
            "description": "Id of the pay type which this pay entry is associated with."
          }
        },
        "required": [
          "amount",
          "costAllocations",
          "id",
          "name",
          "typeId"
        ]
      },
      "WorkerPaymentPayResult": {
        "type": "object",
        "description": "Represents a result for pay received by the worker.",
        "properties": {
          "amount": {
            "$ref": "#/components/schemas/Amount",
            "description": "Amount of the pay."
          },
          "id": {
            "type": "string",
            "description": "The unique identifier for the WorkerPaymentPayResult.",
            "example": "payruncomp_78ce..."
          },
          "name": {
            "type": "string",
            "description": "Human readable description for the pay."
          },
          "typeId": {
            "type": "string",
            "description": "Id of the pay type which this pay entry is associated with."
          }
        },
        "required": [
          "amount",
          "id",
          "name",
          "typeId"
        ]
      },
      "WorkerPaymentResult": {
        "type": "object",
        "description": "Results of the calculation for this particular worker.",
        "properties": {
          "benefits": {
            "type": "array",
            "description": "Benefits included in this PaymentRecord.",
            "items": {
              "$ref": "#/components/schemas/WorkerPayrollRunBenefitResult"
            }
          },
          "compensations": {
            "type": "array",
            "deprecated": true,
            "description": "Concepts for which the worker is being compensated in this PaymentRecord.",
            "items": {
              "$ref": "#/components/schemas/WorkerPaymentCompensationResult"
            }
          },
          "contributions": {
            "type": "array",
            "description": "Amounts allocated by the worker towards retirement plans, insurance policies, or other benefit schemes.",
            "items": {
              "$ref": "#/components/schemas/WorkerPaymentContributionResult"
            }
          },
          "deductions": {
            "type": "array",
            "description": "Amounts deducted from the workers payment, excluding taxes.",
            "items": {
              "$ref": "#/components/schemas/WorkerPaymentDeductionResult"
            }
          },
          "garnishments": {
            "type": "array",
            "description": "Garnishments included in this PaymentRecord.",
            "items": {
              "$ref": "#/components/schemas/WorkerPayrollRunGarnishmentResult"
            }
          },
          "overtimeDetails": {
            "description": "Overtime calculation details for this worker, if applicable.",
            "oneOf": [
              {
                "$ref": "#/components/schemas/OvertimeDetails"
              },
              {
                "type": "null"
              }
            ]
          },
          "pay": {
            "type": "array",
            "description": "Amounts that were paid to the worker in this PaymentRecord.",
            "items": {
              "$ref": "#/components/schemas/WorkerPaymentPayResult"
            }
          },
          "timeOffs": {
            "type": "array",
            "description": "Time off included in this PaymentRecord.",
            "items": {
              "$ref": "#/components/schemas/WorkerPayrollRunTimeOffResult"
            }
          },
          "totals": {
            "description": "Accumulated total amounts for this period.",
            "oneOf": [
              {
                "$ref": "#/components/schemas/WorkerTotals"
              },
              {
                "type": "null"
              }
            ]
          },
          "workTime": {
            "$ref": "#/components/schemas/WorkTimeResult",
            "description": "Hours worked by the worker in this period."
          }
        },
        "required": [
          "benefits",
          "compensations",
          "contributions",
          "deductions",
          "garnishments",
          "pay",
          "timeOffs",
          "workTime"
        ]
      },
      "WorkerPaymentTimeOff": {
        "type": "object",
        "properties": {
          "accrued": {
            "description": "TimeOff accrured in this WorkerPayment.",
            "oneOf": [
              {
                "$ref": "#/components/schemas/TimeOffAccruedPayrollRunElement"
              },
              {
                "type": "null"
              }
            ]
          },
          "endingBalance": {
            "$ref": "#/components/schemas/TimeOffAmount",
            "deprecated": true,
            "description": "TimeOff balance after this WorkerPayment."
          },
          "endingMoneyBalance": {
            "type": [
              "string",
              "null"
            ],
            "format": "money",
            "description": "TimeOff money balance after this WorkerPayment.",
            "example": 100.21
          },
          "endingTimeBalance": {
            "$ref": "#/components/schemas/TimeOffAmount",
            "description": "TimeOff time balance after this WorkerPayment."
          },
          "jurisdictionalTimeOffType": {
            "type": "string",
            "description": "The jurisdictional type assigned to this TimeOff."
          },
          "name": {
            "type": "string",
            "description": "The name of the TimeOff."
          },
          "startingBalance": {
            "$ref": "#/components/schemas/TimeOffAmount",
            "deprecated": true,
            "description": "TimeOff balance before this WorkerPayment."
          },
          "startingMoneyBalance": {
            "type": [
              "string",
              "null"
            ],
            "format": "money",
            "description": "TimeOff money balance before this WorkerPayment.",
            "example": 100.21
          },
          "startingTimeBalance": {
            "$ref": "#/components/schemas/TimeOffAmount",
            "description": "TimeOff time balance before this WorkerPayment."
          },
          "taken": {
            "description": "TimeOff taken in this WorkerPayment.",
            "oneOf": [
              {
                "$ref": "#/components/schemas/TimeOffTakenPayrollRunElement"
              },
              {
                "type": "null"
              }
            ]
          },
          "timeOffTypeId": {
            "type": "string",
            "description": "The type id assigned to this TimeOff."
          }
        },
        "required": [
          "endingBalance",
          "endingTimeBalance",
          "jurisdictionalTimeOffType",
          "name",
          "startingBalance",
          "startingTimeBalance",
          "timeOffTypeId"
        ]
      },
      "WorkerPaymentsReadinessStatusChangedEvent": {
        "type": "object",
        "description": "Triggers `Worker.PaymentsReadiness.statusChanged` when an worker payments readiness status changes.",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "onboardedAt": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "Timestamp when the Worker completed the onboarding phase."
          },
          "status": {
            "type": "string",
            "description": "Represents the PaymentsReadiness status for the Worker.",
            "enum": [
              "ONBOARDING",
              "PARTIALLY_READY",
              "READY",
              "NOT_READY"
            ]
          },
          "workerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Worker."
          },
          "workerId": {
            "type": "string",
            "description": "The unique identifier for the Worker."
          }
        },
        "required": [
          "category",
          "employerId",
          "status",
          "workerId"
        ],
        "title": "Worker payments readiness status changed event"
      },
      "WorkerPayrollRunBenefitResult": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "description": "Name of the type used as benefit element."
          },
          "employerContribution": {
            "type": "string",
            "format": "money",
            "description": "Amount paid by the employer towards the benefit.",
            "example": 100.21
          },
          "id": {
            "type": "string",
            "description": "Unique identifier for the benefit."
          },
          "jurisdictionalTypeId": {
            "type": "string",
            "description": "The jurisdictional type assigned to this benefit."
          },
          "typeId": {
            "type": "string",
            "description": "The type id assigned to this benefit."
          },
          "workerContribution": {
            "type": "string",
            "format": "money",
            "description": "Amount paid by the worker towards the benefit.",
            "example": 100.21
          }
        },
        "required": [
          "description",
          "employerContribution",
          "id",
          "jurisdictionalTypeId",
          "typeId",
          "workerContribution"
        ]
      },
      "WorkerPayrollRunElements": {
        "type": "object",
        "description": "Elements used as the input to calculate this payment.",
        "properties": {
          "benefits": {
            "type": "array",
            "description": "List of benefit types used to calculate.",
            "items": {
              "$ref": "#/components/schemas/WorkerPaymentBenefit"
            }
          },
          "compensations": {
            "type": "array",
            "deprecated": true,
            "description": "Concepts for which the worker is being compensated in this PaymentRecord.",
            "items": {
              "$ref": "#/components/schemas/WorkerPaymentCompensation"
            }
          },
          "deductions": {
            "type": "array",
            "description": "Amounts deducted from the workers payment, excluding taxes.",
            "items": {
              "$ref": "#/components/schemas/WorkerPaymentDeduction"
            }
          },
          "garnishments": {
            "type": "array",
            "description": "Garnishments included in this WorkerPreview.",
            "items": {
              "$ref": "#/components/schemas/WorkerPaymentGarnishment"
            }
          },
          "pay": {
            "type": "array",
            "description": "Pay entries that were included in this PaymentRecord.",
            "items": {
              "$ref": "#/components/schemas/WorkerPaymentPay"
            }
          },
          "timeOffs": {
            "type": "array",
            "description": "Time offs included in this WorkerPreview.",
            "items": {
              "$ref": "#/components/schemas/WorkerPaymentTimeOff"
            }
          }
        },
        "required": [
          "benefits",
          "compensations",
          "deductions",
          "garnishments",
          "pay",
          "timeOffs"
        ]
      },
      "WorkerPayrollRunGarnishmentResult": {
        "type": "object",
        "properties": {
          "amount": {
            "$ref": "#/components/schemas/Amount",
            "description": "Amount garnished."
          },
          "exemptAmount": {
            "type": [
              "string",
              "null"
            ],
            "format": "money",
            "description": "For some garnishments this amount represents the amount of money exempt from being garnished each period.",
            "example": 100.21
          },
          "id": {
            "type": "string",
            "description": "Unique identifier for the garnishment."
          },
          "jurisdictionalTypeId": {
            "type": "string",
            "description": "The jurisdictional type assigned to this garnishment."
          },
          "maximumPercentageOfDisposable": {
            "type": [
              "number",
              "null"
            ],
            "description": "The maximum percentage of disposable earnings used to calculate the maximum amount that could be garnished."
          },
          "name": {
            "type": "string",
            "description": "Human readable description of the garnishment."
          },
          "typeId": {
            "type": "string",
            "description": "The type id assigned to this garnishment."
          }
        },
        "required": [
          "amount",
          "id",
          "jurisdictionalTypeId",
          "name",
          "typeId"
        ]
      },
      "WorkerPayrollRunTimeOffResult": {
        "type": "object",
        "properties": {
          "amount": {
            "$ref": "#/components/schemas/WorkerPayrollRunTimeOffResultAmount",
            "deprecated": true,
            "description": "Resulting amount of the calculation for the time off element processed"
          },
          "jurisdictionalTypeId": {
            "type": "string",
            "description": "Reference to the jurisdictional time off type"
          },
          "moneyAmount": {
            "description": "Resulting money amount of the calculation for the time off element processed",
            "oneOf": [
              {
                "$ref": "#/components/schemas/WorkerPayrollRunTimeOffResultMoneyAmount"
              },
              {
                "type": "null"
              }
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the time off type used on the payroll run calculation"
          },
          "timeAmount": {
            "$ref": "#/components/schemas/WorkerPayrollRunTimeOffResultTimeAmount",
            "description": "Resulting time amount of the calculation for the time off element processed"
          },
          "typeId": {
            "type": "string",
            "description": "Reference to the type of the time off"
          }
        },
        "required": [
          "amount",
          "jurisdictionalTypeId",
          "name",
          "timeAmount",
          "typeId"
        ]
      },
      "WorkerPayrollRunTimeOffResultAmount": {
        "type": "object",
        "properties": {
          "timeAccrued": {
            "type": "number",
            "description": "The amount of time of accrued in the unit of measurement specified"
          },
          "timeTaken": {
            "type": "number",
            "description": "The amount of time of taken in the unit of measurement specified"
          },
          "timeUnit": {
            "$ref": "#/components/schemas/TimeOffUnit",
            "description": "The unit of time that was used in calculation e.g HOURS or DAYS"
          }
        },
        "required": [
          "timeAccrued",
          "timeTaken",
          "timeUnit"
        ]
      },
      "WorkerPayrollRunTimeOffResultMoneyAmount": {
        "type": "object",
        "properties": {
          "accrued": {
            "type": "string",
            "format": "money",
            "description": "The amount of money accrued",
            "example": 100.21
          },
          "taken": {
            "type": "string",
            "format": "money",
            "description": "The amount of money taken",
            "example": 100.21
          }
        },
        "required": [
          "accrued",
          "taken"
        ]
      },
      "WorkerPayrollRunTimeOffResultTimeAmount": {
        "type": "object",
        "properties": {
          "accrued": {
            "type": "number",
            "description": "The amount of time of accrued in the unit of measurement specified"
          },
          "taken": {
            "type": "number",
            "description": "The amount of time of taken in the unit of measurement specified"
          },
          "unit": {
            "$ref": "#/components/schemas/TimeOffUnit",
            "description": "The unit of time that was used in calculation e.g HOURS or DAYS"
          }
        },
        "required": [
          "accrued",
          "taken",
          "unit"
        ]
      },
      "WorkerPersonalInformationCreatedEvent": {
        "type": "object",
        "description": "Triggers `WorkerPersonalInformation.created` when a Worker personal information is created.",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer of the Worker."
          },
          "workerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Worker."
          },
          "workerId": {
            "type": "string",
            "description": "The unique identifier for the Worker to which the personal information belongs to."
          },
          "workerPersonalInformationId": {
            "type": "string",
            "description": "The unique identifier for the Worker personal information of the Worker."
          }
        },
        "required": [
          "category",
          "employerId",
          "workerId",
          "workerPersonalInformationId"
        ],
        "title": "Worker personal information created event"
      },
      "WorkerPersonalInformationUpdatedEvent": {
        "type": "object",
        "description": "Triggers `WorkerPersonalInformation.updated` when a Worker personal information is updated.",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer of the Worker."
          },
          "workerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Worker."
          },
          "workerId": {
            "type": "string",
            "description": "The unique identifier for the Worker to which the personal information belongs to."
          },
          "workerPersonalInformationId": {
            "type": "string",
            "description": "The unique identifier for the Worker personal information of the Worker."
          }
        },
        "required": [
          "category",
          "employerId",
          "workerId",
          "workerPersonalInformationId"
        ],
        "title": "Worker personal information updated event"
      },
      "WorkerPreview": {
        "type": "object",
        "description": "Preview of a worker's payment in the give period.",
        "properties": {
          "baseRate": {
            "type": "string",
            "format": "money",
            "description": "Worker's base rate for the payroll run.",
            "example": 100.21
          },
          "elements": {
            "$ref": "#/components/schemas/WorkerPayrollRunElements",
            "description": "Worker payroll run elements used for the calculations for this particular worker."
          },
          "results": {
            "$ref": "#/components/schemas/WorkerPaymentResult",
            "description": "Results of the calculation for this particular worker."
          },
          "workerId": {
            "type": "string",
            "description": "Id of the worker associated to this WorkerPreview.",
            "example": "wr_8d7..."
          }
        },
        "required": [
          "baseRate",
          "elements",
          "results",
          "workerId"
        ]
      },
      "WorkerTaxesSetupUpdatedEvent": {
        "type": "object",
        "description": "Triggers `Worker.TaxesSetup.updated` when a worker's tax setup is updated.",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "workerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Worker."
          },
          "workerId": {
            "type": "string",
            "description": "The unique identifier for the Worker."
          }
        },
        "required": [
          "category",
          "employerId",
          "workerId"
        ],
        "title": "Worker taxes setup updated event"
      },
      "WorkerTerminationCategory": {
        "type": "string",
        "enum": [
          "DECEASED",
          "VOLUNTARY",
          "INVOLUNTARY",
          "HISTORICAL"
        ]
      },
      "WorkerTerminationStatusChangedEvent": {
        "type": "object",
        "description": "Triggers `Worker.Termination.statusChanged` when worker termination status changes.",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer."
          },
          "status": {
            "$ref": "#/components/schemas/WorkerTerminationStatusRestSchema",
            "description": "Represents whether the Worker gets terminated or the termination is reversed."
          },
          "terminatedAt": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "Timestamp when the Worker gets terminated or termination is reversed."
          },
          "terminationCategory": {
            "description": "The category of the worker termination. Only present when status is TERMINATED.",
            "oneOf": [
              {
                "$ref": "#/components/schemas/WorkerTerminationCategory"
              },
              {
                "type": "null"
              }
            ]
          },
          "workerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Worker."
          },
          "workerId": {
            "type": "string",
            "description": "The unique identifier for the Worker."
          }
        },
        "required": [
          "category",
          "employerId",
          "status",
          "workerId"
        ],
        "title": "Worker termination status changed event"
      },
      "WorkerTerminationStatusRestSchema": {
        "type": "string",
        "description": "Status of the worker termination",
        "enum": [
          "TERMINATED",
          "TERMINATION_REVERTED"
        ]
      },
      "WorkerTotals": {
        "type": "object",
        "properties": {
          "contribution": {
            "type": "string",
            "format": "money",
            "description": "Amounts allocated by the worker towards retirement plans, insurance policies, or other benefit schemes.",
            "example": 100.21
          },
          "deduction": {
            "type": "string",
            "format": "money",
            "description": "Amounts subtracted from a worker's gross pay for various purposes, such as taxes, contributions, or insurance.",
            "example": 100.21
          },
          "grossPay": {
            "type": "string",
            "format": "money",
            "description": "Represents the total compensation received by the worker before any deductions, such as taxes and benefits, are subtracted.",
            "example": 100.21
          },
          "netPay": {
            "type": "string",
            "format": "money",
            "description": "Represents the amount of money the worker receives after all deductions, such as taxes and benefits, have been subtracted from their gross pay.",
            "example": 100.21
          },
          "payrollCost": {
            "type": "string",
            "format": "money",
            "description": "Represents the monetary expense of this PayrollRun for the employer.",
            "example": 100.21
          }
        },
        "required": [
          "contribution",
          "deduction",
          "grossPay",
          "netPay",
          "payrollCost"
        ]
      },
      "WorkerUpdatedEvent": {
        "type": "object",
        "description": "Triggers `Worker.updated` when a Worker is updated.",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/WebhookEventCategoryRestDomain",
            "description": "The category of the webhook event. Indicates whether the event is a notification or a payroll lifecycle side-effect."
          },
          "employerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Employer."
          },
          "employerId": {
            "type": "string",
            "description": "The unique identifier for the Employer of the Worker."
          },
          "employerSpecifiedIdentifier": {
            "type": [
              "string",
              "null"
            ],
            "description": "An external ID specified by the Employer to match with this Worker (usually referred to as worker number, employee number, or employee ID)."
          },
          "externalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Worker."
          },
          "firstName": {
            "type": [
              "string",
              "null"
            ],
            "description": "The given name or first name of the Worker."
          },
          "lastName": {
            "type": [
              "string",
              "null"
            ],
            "description": "The family name or surname of the Worker."
          },
          "workerExternalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "The Id used to represent the object in your system that is mapped to this Worker."
          },
          "workerId": {
            "type": "string",
            "description": "The unique identifier for the Worker that was updated."
          }
        },
        "required": [
          "category",
          "employerId",
          "workerId"
        ],
        "title": "Worker updated event"
      }
    },
    "securitySchemes": {
      "BearerAuth": {
        "bearerFormat": "JWT",
        "scheme": "bearer",
        "type": "http"
      }
    }
  },
  "webhooks": {
    "AccountingConfiguration.created": {
      "post": {
        "description": "Triggers `AccountingConfiguration.created` when an accounting configuration is created for an employer.",
        "operationId": "AccountingConfiguration.created",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/AccountingConfigurationCreatedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "AccountingConfiguration.created"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "AccountingConfiguration.created",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "AccountingConfiguration.updated": {
      "post": {
        "description": "Triggers `AccountingConfiguration.updated` when an accounting configuration is updated for an employer.",
        "operationId": "AccountingConfiguration.updated",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/AccountingConfigurationUpdatedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "AccountingConfiguration.updated"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "AccountingConfiguration.updated",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "Document.deleted": {
      "post": {
        "description": "Triggers `Document.deleted` when any document is deleted for an Employer or Worker.",
        "operationId": "Document.deleted",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/DocumentDeletedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "Document.deleted"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "Document.deleted",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "Document.uploaded": {
      "post": {
        "description": "Triggers `Document.uploaded` when any document is uploaded for an Employer or Worker.",
        "operationId": "Document.uploaded",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/DocumentUploadedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "Document.uploaded"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "Document.uploaded",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "Employer.AccountStanding.requirementsChanged": {
      "post": {
        "description": "Triggers `Employer.AccountStanding.requirementsChanged` when an employer's account standing requirements change.",
        "operationId": "Employer.AccountStanding.requirementsChanged",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/EmployerAccountStandingRequirementsChangedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "Employer.AccountStanding.requirementsChanged"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "Employer.AccountStanding.requirementsChanged",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "Employer.AccountStanding.statusChanged": {
      "post": {
        "description": "Triggers `Employer.AccountStanding.statusChanged` when an employer account standing status changes.",
        "operationId": "Employer.AccountStanding.statusChanged",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/EmployerAccountStandingStatusChangedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "Employer.AccountStanding.statusChanged"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "Employer.AccountStanding.statusChanged",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "Employer.Address.created": {
      "post": {
        "description": "Triggers `Employer.Address.created` when an employer address is created.",
        "operationId": "Employer.Address.created",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/EmployerAddressCreatedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "Employer.Address.created"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "Employer.Address.created",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "Employer.Address.deleted": {
      "post": {
        "description": "Triggers `Employer.Address.deleted` when an employer address is deleted.",
        "operationId": "Employer.Address.deleted",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/EmployerAddressDeletedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "Employer.Address.deleted"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "Employer.Address.deleted",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "Employer.Address.updated": {
      "post": {
        "description": "Triggers `Employer.Address.updated` when an employer address is updated.",
        "operationId": "Employer.Address.updated",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/EmployerAddressUpdatedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "Employer.Address.updated"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "Employer.Address.updated",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "Employer.PayType.created": {
      "post": {
        "description": "Triggers `Employer.PayType.created` when an employer pay type is created.",
        "operationId": "Employer.PayType.created",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/EmployerPayTypeCreatedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "Employer.PayType.created"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "Employer.PayType.created",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "Employer.PayType.deleted": {
      "post": {
        "description": "Triggers `Employer.PayType.deleted` when an employer pay type is deleted.",
        "operationId": "Employer.PayType.deleted",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/EmployerPayTypeDeletedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "Employer.PayType.deleted"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "Employer.PayType.deleted",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "Employer.PayType.updated": {
      "post": {
        "description": "Triggers `Employer.PayType.updated` when an employer pay type is updated.",
        "operationId": "Employer.PayType.updated",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/EmployerPayTypeUpdatedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "Employer.PayType.updated"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "Employer.PayType.updated",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "Employer.PayWorkersReadiness.requirementsChanged": {
      "post": {
        "description": "Triggers `Employer.PayWorkersReadiness.requirementsChanged` when an employer's pay workers readiness requirements change.",
        "operationId": "Employer.PayWorkersReadiness.requirementsChanged",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/EmployerPayWorkersReadinessRequirementsChangedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "Employer.PayWorkersReadiness.requirementsChanged"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "Employer.PayWorkersReadiness.requirementsChanged",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "Employer.PayWorkersReadiness.statusChanged": {
      "post": {
        "description": "Triggers `Employer.PayWorkersReadiness.statusChanged` when an employer pay workers readiness status changes.",
        "operationId": "Employer.PayWorkersReadiness.statusChanged",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/EmployerPayWorkersReadinessStatusChangedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "Employer.PayWorkersReadiness.statusChanged"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "Employer.PayWorkersReadiness.statusChanged",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "Employer.PayrollHistory.importCompleted": {
      "post": {
        "description": "Triggers `Employer.PayrollHistory.importCompleted` when the employer payroll history import from prior provider is completed.",
        "operationId": "Employer.PayrollHistory.importCompleted",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/EmployerPayrollHistoryImportCompletedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "Employer.PayrollHistory.importCompleted"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "Employer.PayrollHistory.importCompleted",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "Employer.PayrollHistory.provided": {
      "post": {
        "description": "Triggers `Employer.PayrollHistory.provided` when an employer's payroll history has been fully provided.",
        "operationId": "Employer.PayrollHistory.provided",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/EmployerPayrollHistoryProvidedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "Employer.PayrollHistory.provided"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "Employer.PayrollHistory.provided",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "Employer.PayrollHistory.required": {
      "post": {
        "description": "Triggers `Employer.PayrollHistory.required` when an employer declares that has payroll history in a prior provider to be imported.",
        "operationId": "Employer.PayrollHistory.required",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/EmployerPayrollHistoryRequiredEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "Employer.PayrollHistory.required"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "Employer.PayrollHistory.required",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "Employer.PayrollHistory.statusChanged": {
      "post": {
        "description": "Triggers `Employer.PayrollHistory.statusChanged` when migration status transitions.",
        "operationId": "Employer.PayrollHistory.statusChanged",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/EmployerPayrollHistoryStatusChangedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "Employer.PayrollHistory.statusChanged"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "Employer.PayrollHistory.statusChanged",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "Employer.TaxesSetup.updated": {
      "post": {
        "description": "Triggers `Employer.TaxesSetup.updated` when an employer's tax setup is updated.",
        "operationId": "Employer.TaxesSetup.updated",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/EmployerTaxesSetupUpdatedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "Employer.TaxesSetup.updated"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "Employer.TaxesSetup.updated",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "Employer.TimeOffType.created": {
      "post": {
        "description": "Triggers `Employer.TimeOffType.created` when an employer time off type is created.",
        "operationId": "Employer.TimeOffType.created",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/EmployerTimeOffTypeCreatedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "Employer.TimeOffType.created"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "Employer.TimeOffType.created",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "Employer.TimeOffType.deleted": {
      "post": {
        "description": "Triggers `Employer.TimeOffType.deleted` when an employer time off type is deleted.",
        "operationId": "Employer.TimeOffType.deleted",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/EmployerTimeOffTypeDeletedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "Employer.TimeOffType.deleted"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "Employer.TimeOffType.deleted",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "Employer.TimeOffType.updated": {
      "post": {
        "description": "Triggers `Employer.TimeOffType.updated` when an employer time off type is updated.",
        "operationId": "Employer.TimeOffType.updated",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/EmployerTimeOffTypeUpdatedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "Employer.TimeOffType.updated"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "Employer.TimeOffType.updated",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "Employer.WorkerPayGroup.created": {
      "post": {
        "description": "Triggers `Employer.WorkerPayGroup.created` when a worker pay group is created.",
        "operationId": "Employer.WorkerPayGroup.created",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/WorkerPayGroupCreatedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "Employer.WorkerPayGroup.created"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "Employer.WorkerPayGroup.created",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "Employer.WorkerPayGroup.deleted": {
      "post": {
        "description": "Triggers `Employer.WorkerPayGroup.deleted` when a worker pay group is deleted.",
        "operationId": "Employer.WorkerPayGroup.deleted",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/WorkerPayGroupDeletedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "Employer.WorkerPayGroup.deleted"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "Employer.WorkerPayGroup.deleted",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "Employer.WorkerPayGroup.updated": {
      "post": {
        "description": "Triggers `Employer.WorkerPayGroup.updated` when a worker pay group is updated.",
        "operationId": "Employer.WorkerPayGroup.updated",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/WorkerPayGroupUpdatedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "Employer.WorkerPayGroup.updated"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "Employer.WorkerPayGroup.updated",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "Employer.awaitingRiskInsights": {
      "post": {
        "description": "Triggers `Employer.awaitingRiskInsights` when risk-insights data is required for risk evaluations.When you receive this event you must send all of the risk-insights data you have for the Employer within the payload. ",
        "operationId": "Employer.awaitingRiskInsights",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/EmployerAwaitingRiskInsightsEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "Employer.awaitingRiskInsights"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "Employer.awaitingRiskInsights",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "Employer.created": {
      "post": {
        "description": "Triggers `Employer.created` when an Employer is created.",
        "operationId": "Employer.created",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/EmployerCreatedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "Employer.created"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "Employer.created",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "Employer.deleted": {
      "post": {
        "description": "Triggers `Employer.deleted` when an Employer is deleted.",
        "operationId": "Employer.deleted",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/EmployerDeletedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "Employer.deleted"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "Employer.deleted",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "Employer.onboardingStatus": {
      "post": {
        "description": "Triggers `Employer.onboardingStatus` when an employer completes the onboarding form.",
        "operationId": "Employer.onboardingStatus",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/EmployerOnboardingStatusEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "Employer.onboardingStatus"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "Employer.onboardingStatus",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "Employer.updated": {
      "post": {
        "description": "Triggers `Employer.updated` when an Employer is updated.",
        "operationId": "Employer.updated",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/EmployerUpdatedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "Employer.updated"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "Employer.updated",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "EmployerBankAccount.Verification.statusChanged": {
      "post": {
        "description": "Triggers `EmployerBankAccount.Verification.statusChanged` when an EmployerBankAccountVerification status has changed.",
        "operationId": "EmployerBankAccount.Verification.statusChanged",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/EmployerBankAccountVerificationStatusChangedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "EmployerBankAccount.Verification.statusChanged"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "EmployerBankAccount.Verification.statusChanged",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "EmployerBankAccount.created": {
      "post": {
        "description": "Triggers `EmployerBankAccount.created` when an EmployerBankAccount is created.",
        "operationId": "EmployerBankAccount.created",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/EmployerBankAccountCreatedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "EmployerBankAccount.created"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "EmployerBankAccount.created",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "EmployerBankAccount.deleted": {
      "post": {
        "description": "Triggers `EmployerBankAccount.deleted` when an EmployerBankAccount is deleted.",
        "operationId": "EmployerBankAccount.deleted",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/EmployerBankAccountDeletedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "EmployerBankAccount.deleted"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "EmployerBankAccount.deleted",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "EmployerBankAccount.updated": {
      "post": {
        "description": "Triggers `EmployerBankAccount.updated` when an EmployerBankAccount is updated.",
        "operationId": "EmployerBankAccount.updated",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/EmployerBankAccountUpdatedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "EmployerBankAccount.updated"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "EmployerBankAccount.updated",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "EmployerSignatory.created": {
      "post": {
        "description": "Triggers `EmployerSignatory.created` when an employer signatory is created.",
        "operationId": "EmployerSignatory.created",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/EmployerSignatoryCreatedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "EmployerSignatory.created"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "EmployerSignatory.created",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "EmployerSignatory.deleted": {
      "post": {
        "description": "Triggers `EmployerSignatory.deleted` when an employer signatory is deleted.",
        "operationId": "EmployerSignatory.deleted",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/EmployerSignatoryDeletedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "EmployerSignatory.deleted"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "EmployerSignatory.deleted",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "EmployerSignatory.updated": {
      "post": {
        "description": "Triggers `EmployerSignatory.updated` when an employer signatory is updated.",
        "operationId": "EmployerSignatory.updated",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/EmployerSignatoryUpdatedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "EmployerSignatory.updated"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "EmployerSignatory.updated",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "Notification.Employer.taxRateUpdatedFromAgency": {
      "post": {
        "description": "Triggers `Notification.Employer.taxRateUpdatedFromAgency` when an employer's tax rate is updated from agency data.",
        "operationId": "Notification.Employer.taxRateUpdatedFromAgency",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/NotificationEmployerTaxRateUpdatedFromAgencyEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "Notification.Employer.taxRateUpdatedFromAgency"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "Notification.Employer.taxRateUpdatedFromAgency",
        "tags": [
          "Notification Webhook Events"
        ]
      }
    },
    "Notification.EmployerBankAccount.microDepositVerificationCompleted": {
      "post": {
        "description": "Triggers `Notification.EmployerBankAccount.microDepositVerificationCompleted` when a micro-deposit verification for an employer bank account has completed verification.",
        "operationId": "Notification.EmployerBankAccount.microDepositVerificationCompleted",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/NotificationEmployerBankAccountMicroDepositVerificationCompletedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "Notification.EmployerBankAccount.microDepositVerificationCompleted"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "Notification.EmployerBankAccount.microDepositVerificationCompleted",
        "tags": [
          "Notification Webhook Events"
        ]
      }
    },
    "Notification.EmployerBankAccount.microDepositVerificationFailed": {
      "post": {
        "description": "Triggers `Notification.EmployerBankAccount.microDepositVerificationFailed` when a micro-deposit verification for an employer bank account has failed.",
        "operationId": "Notification.EmployerBankAccount.microDepositVerificationFailed",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/NotificationEmployerBankAccountMicroDepositVerificationFailedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "Notification.EmployerBankAccount.microDepositVerificationFailed"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "Notification.EmployerBankAccount.microDepositVerificationFailed",
        "tags": [
          "Notification Webhook Events"
        ]
      }
    },
    "Notification.EmployerBankAccount.microDepositVerificationSent": {
      "post": {
        "description": "Triggers `Notification.EmployerBankAccount.microDepositVerificationSent` when a micro-deposit verification for an employer bank account has been sent.",
        "operationId": "Notification.EmployerBankAccount.microDepositVerificationSent",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/NotificationEmployerBankAccountMicroDepositVerificationSentEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "Notification.EmployerBankAccount.microDepositVerificationSent"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "Notification.EmployerBankAccount.microDepositVerificationSent",
        "tags": [
          "Notification Webhook Events"
        ]
      }
    },
    "Notification.EmployerBankAccount.paymentAuthorizationCompleted": {
      "post": {
        "description": "Triggers `Notification.EmployerBankAccount.paymentAuthorizationCompleted` when the payment authorization for the EmployerBankAccount is completed.",
        "operationId": "Notification.EmployerBankAccount.paymentAuthorizationCompleted",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/NotificationEmployerBankAccountPaymentAuthorizationCompletedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "Notification.EmployerBankAccount.paymentAuthorizationCompleted"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "Notification.EmployerBankAccount.paymentAuthorizationCompleted",
        "tags": [
          "Notification Webhook Events"
        ]
      }
    },
    "Notification.Payment.employerFundingFailed": {
      "post": {
        "description": "Triggers `Notification.Payment.employerFundingFailed` when the payment for an employer to fund a payroll run has failed.",
        "operationId": "Notification.Payment.employerFundingFailed",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/NotificationPaymentEmployerFundingFailedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "Notification.Payment.employerFundingFailed"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "Notification.Payment.employerFundingFailed",
        "tags": [
          "Notification Webhook Events"
        ]
      }
    },
    "Notification.Payment.employerFundingRedebitCleared": {
      "post": {
        "description": "Triggers `Notification.Payment.employerFundingRedebitCleared` when the payment for an employer redebit has cleared.",
        "operationId": "Notification.Payment.employerFundingRedebitCleared",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/NotificationPaymentEmployerFundingRedebitClearedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "Notification.Payment.employerFundingRedebitCleared"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "Notification.Payment.employerFundingRedebitCleared",
        "tags": [
          "Notification Webhook Events"
        ]
      }
    },
    "Notification.Payment.employerFundingRescheduled": {
      "post": {
        "description": "Triggers `Notification.Payment.employerFundingRescheduled` when the a redebit for an employer funding has been scheduled.",
        "operationId": "Notification.Payment.employerFundingRescheduled",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/NotificationPaymentEmployerFundingRescheduledEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "Notification.Payment.employerFundingRescheduled"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "Notification.Payment.employerFundingRescheduled",
        "tags": [
          "Notification Webhook Events"
        ]
      }
    },
    "Notification.Payment.workerDisbursementFailed": {
      "post": {
        "description": "Triggers `Notification.Payment.workerDisbursementFailed` when the disbursement of a worker's pay fails.",
        "operationId": "Notification.Payment.workerDisbursementFailed",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/NotificationPaymentWorkerDisbursementFailedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "Notification.Payment.workerDisbursementFailed"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "Notification.Payment.workerDisbursementFailed",
        "tags": [
          "Notification Webhook Events"
        ]
      }
    },
    "Notification.Payment.workerDisbursementRefundScheduled": {
      "post": {
        "description": "Triggers `Notification.Payment.workerDisbursementRefundScheduled` when the disbursement for a worker payment is scheduled to be refunded to the Employer.",
        "operationId": "Notification.Payment.workerDisbursementRefundScheduled",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/NotificationPaymentWorkerDisbursementRefundScheduledEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "Notification.Payment.workerDisbursementRefundScheduled"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "Notification.Payment.workerDisbursementRefundScheduled",
        "tags": [
          "Notification Webhook Events"
        ]
      }
    },
    "Notification.Payment.workerDisbursementScheduled": {
      "post": {
        "description": "Triggers `Notification.Payment.workerDisbursementScheduled` when the disbursement for a worker payment is scheduled.",
        "operationId": "Notification.Payment.workerDisbursementScheduled",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/NotificationPaymentWorkerDisbursementScheduledEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "Notification.Payment.workerDisbursementScheduled"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "Notification.Payment.workerDisbursementScheduled",
        "tags": [
          "Notification Webhook Events"
        ]
      }
    },
    "Notification.employerPaydayReminder": {
      "post": {
        "description": "Triggers `Notification.employerPaydayReminder` 2 days before the employer has to confirm the next scheduled payroll run.",
        "operationId": "Notification.employerPaydayReminder",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/NotificationEmployerPaydayReminderEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "Notification.employerPaydayReminder"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "Notification.employerPaydayReminder",
        "tags": [
          "Notification Webhook Events"
        ]
      }
    },
    "Notification.employerPayrollHistoryRequired": {
      "post": {
        "description": "Triggers `Notification.employerPayrollHistoryRequired` when an employer declares that has payroll history in a prior provider to be imported.",
        "operationId": "Notification.employerPayrollHistoryRequired",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/NotificationEmployerPayrollHistoryRequiredEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "Notification.employerPayrollHistoryRequired"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "Notification.employerPayrollHistoryRequired",
        "tags": [
          "Notification Webhook Events"
        ]
      }
    },
    "Notification.employerPayrollOperation": {
      "post": {
        "description": "Triggers `Notification.employerPayrollOperation` a generic endpoint, to send mass communication emails to employers.",
        "operationId": "Notification.employerPayrollOperation",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/NotificationEmployerPayrollOperationEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "Notification.employerPayrollOperation"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "Notification.employerPayrollOperation",
        "tags": [
          "Notification Webhook Events"
        ]
      }
    },
    "Notification.employerPayrollRunConfirmation": {
      "post": {
        "description": "Triggers `Notification.employerPayrollRunConfirmation` when an Employer confirms a payroll run.",
        "operationId": "Notification.employerPayrollRunConfirmation",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/NotificationEmployerPayrollRunConfirmationEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "Notification.employerPayrollRunConfirmation"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "Notification.employerPayrollRunConfirmation",
        "tags": [
          "Notification Webhook Events"
        ]
      }
    },
    "Notification.workerPayday": {
      "post": {
        "description": "Triggers `Notification.workerPayday` on the same day the worker is being paid. The event will be sent either at 1pm UTC or 11pm UTC of that day.",
        "operationId": "Notification.workerPayday",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/NotificationWorkerPaydayEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "Notification.workerPayday"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "Notification.workerPayday",
        "tags": [
          "Notification Webhook Events"
        ]
      }
    },
    "PayrollRun.EmployerFunding.statusChanged": {
      "post": {
        "description": "Triggers `PayrollRun.EmployerFunding.statusChanged` when the employer funding status for a payroll run has changed. ",
        "operationId": "PayrollRun.EmployerFunding.statusChanged",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/PayrollRunEmployerFundingStatusChangedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "PayrollRun.EmployerFunding.statusChanged"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "PayrollRun.EmployerFunding.statusChanged",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "PayrollRun.WorkerDisbursement.MoneyMovementTransaction.statusChanged": {
      "post": {
        "description": "Triggers `PayrollRun.WorkerDisbursement.MoneyMovementTransaction.statusChanged` when a worker disbursement transaction status for a payroll run has changed. ",
        "operationId": "PayrollRun.WorkerDisbursement.MoneyMovementTransaction.statusChanged",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/PayrollRunWorkerDisbursementMoneyMovementTransactionStatusChangedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "PayrollRun.WorkerDisbursement.MoneyMovementTransaction.statusChanged"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "PayrollRun.WorkerDisbursement.MoneyMovementTransaction.statusChanged",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "PayrollRun.awaitingInput": {
      "post": {
        "description": "Triggers `PayrollRun.awaitingInput` when compensation data is required for a payroll run. When you receive this event you must send all of the worker compensation data you have for the listed Workers within the interval provided. This data will be used to update the PayrollRun as an Employer is running payroll.",
        "operationId": "PayrollRun.awaitingInput",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/PayrollRunAwaitingInputEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "PayrollRun.awaitingInput"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "PayrollRun.awaitingInput",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "PayrollRun.deleted": {
      "post": {
        "description": "Triggers `PayrollRun.deleted` when a payroll run has been deleted. ",
        "operationId": "PayrollRun.deleted",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/PayrollRunDeletedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "PayrollRun.deleted"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "PayrollRun.deleted",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "PayrollRun.statusChanged": {
      "post": {
        "description": "Triggers `PayrollRun.statusChanged` when a payroll run status has changed. ",
        "operationId": "PayrollRun.statusChanged",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/PayrollRunStatusChangedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "PayrollRun.statusChanged"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "PayrollRun.statusChanged",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "Transmission.completed": {
      "post": {
        "description": "Triggers `Transmission.completed` when a transmission is completed successfully.",
        "operationId": "Transmission.completed",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/TransmissionCompletedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "Transmission.completed"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "Transmission.completed",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "Transmission.failed": {
      "post": {
        "description": "Triggers `Transmission.failed` when a transmission fails.",
        "operationId": "Transmission.failed",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/TransmissionFailedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "Transmission.failed"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "Transmission.failed",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "Transmission.processing": {
      "post": {
        "description": "Triggers `Transmission.processing` when a transmission is being processed.",
        "operationId": "Transmission.processing",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/TransmissionProcessingEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "Transmission.processing"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "Transmission.processing",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "Worker.PaymentsReadiness.statusChanged": {
      "post": {
        "description": "Triggers `Worker.PaymentsReadiness.statusChanged` when an worker payments readiness status changes.",
        "operationId": "Worker.PaymentsReadiness.statusChanged",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/WorkerPaymentsReadinessStatusChangedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "Worker.PaymentsReadiness.statusChanged"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "Worker.PaymentsReadiness.statusChanged",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "Worker.TaxesSetup.updated": {
      "post": {
        "description": "Triggers `Worker.TaxesSetup.updated` when a worker's tax setup is updated.",
        "operationId": "Worker.TaxesSetup.updated",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/WorkerTaxesSetupUpdatedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "Worker.TaxesSetup.updated"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "Worker.TaxesSetup.updated",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "Worker.Termination.statusChanged": {
      "post": {
        "description": "Triggers `Worker.Termination.statusChanged` when worker termination status changes.",
        "operationId": "Worker.Termination.statusChanged",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/WorkerTerminationStatusChangedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "Worker.Termination.statusChanged"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "Worker.Termination.statusChanged",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "Worker.created": {
      "post": {
        "description": "Triggers `Worker.created` when a Worker is created.",
        "operationId": "Worker.created",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/WorkerCreatedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "Worker.created"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "Worker.created",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "Worker.deleted": {
      "post": {
        "description": "Triggers `Worker.deleted` when a Worker is deleted.",
        "operationId": "Worker.deleted",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/WorkerDeletedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "Worker.deleted"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "Worker.deleted",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "Worker.onboardingStatus": {
      "post": {
        "description": "Triggers `Worker.onboardingStatus` when the onboarding status for a worker changes, with possible statuses `INVITED`, `STARTED`, `COMPLETED`, and `INVALIDATED`.",
        "operationId": "Worker.onboardingStatus",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/WorkerOnboardingStatusEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "Worker.onboardingStatus"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "Worker.onboardingStatus",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "Worker.updated": {
      "post": {
        "description": "Triggers `Worker.updated` when a Worker is updated.",
        "operationId": "Worker.updated",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/WorkerUpdatedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "Worker.updated"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "Worker.updated",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "WorkerBankAccount.created": {
      "post": {
        "description": "Triggers `WorkerBankAccount.created` when a worker gets created.",
        "operationId": "WorkerBankAccount.created",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/WorkerBankAccountCreatedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "WorkerBankAccount.created"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "WorkerBankAccount.created",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "WorkerBankAccount.deleted": {
      "post": {
        "description": "Triggers `WorkerBankAccount.deleted` when a worker gets deleted.",
        "operationId": "WorkerBankAccount.deleted",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/WorkerBankAccountDeletedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "WorkerBankAccount.deleted"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "WorkerBankAccount.deleted",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "WorkerBankAccount.updated": {
      "post": {
        "description": "Triggers `WorkerBankAccount.updated` when a worker gets updated.",
        "operationId": "WorkerBankAccount.updated",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/WorkerBankAccountUpdatedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "WorkerBankAccount.updated"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "WorkerBankAccount.updated",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "WorkerContract.created": {
      "post": {
        "description": "Triggers `WorkerContract.created` when a Worker contract is created.",
        "operationId": "WorkerContract.created",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/WorkerContractCreatedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "WorkerContract.created"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "WorkerContract.created",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "WorkerContract.deleted": {
      "post": {
        "description": "Triggers `WorkerContract.deleted` when a Worker contract is deleted.",
        "operationId": "WorkerContract.deleted",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/WorkerContractDeletedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "WorkerContract.deleted"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "WorkerContract.deleted",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "WorkerContract.updated": {
      "post": {
        "description": "Triggers `WorkerContract.updated` when a Worker contract is updated.",
        "operationId": "WorkerContract.updated",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/WorkerContractUpdatedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "WorkerContract.updated"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "WorkerContract.updated",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "WorkerPayDistribution.updated": {
      "post": {
        "description": "Triggers `WorkerPaymentDistribution.updated` when a worker's payment distribution rules are updated.",
        "operationId": "WorkerPayDistribution.updated",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/WorkerPayDistributionUpdatedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "WorkerPayDistribution.updated"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "WorkerPayDistribution.updated",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "WorkerPaymentAdjustment.created": {
      "post": {
        "description": "Triggers `WorkerPaymentAdjustment.created` when a worker payment adjustment gets created.",
        "operationId": "WorkerPaymentAdjustment.created",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/WorkerPaymentAdjustmentCreatedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "WorkerPaymentAdjustment.created"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "WorkerPaymentAdjustment.created",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "WorkerPersonalInformation.created": {
      "post": {
        "description": "Triggers `WorkerPersonalInformation.created` when a Worker personal information is created.",
        "operationId": "WorkerPersonalInformation.created",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/WorkerPersonalInformationCreatedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "WorkerPersonalInformation.created"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "WorkerPersonalInformation.created",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    },
    "WorkerPersonalInformation.updated": {
      "post": {
        "description": "Triggers `WorkerPersonalInformation.updated` when a Worker personal information is updated.",
        "operationId": "WorkerPersonalInformation.updated",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/WorkerPersonalInformationUpdatedEvent"
                      },
                      "type": {
                        "type": "string",
                        "example": "WorkerPersonalInformation.updated"
                      }
                    },
                    "required": [
                      "attributes",
                      "type"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Webhook payload",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          }
        },
        "summary": "WorkerPersonalInformation.updated",
        "tags": [
          "Lifecycle Webhook Events"
        ]
      }
    }
  }
}
```