Hire Cancelled
This event is triggered when the job/hire for a worker is cancelled.
The payload includes a selection of objects with fields that allow you to identify the contract and the worker, so that you can update their status in your own system.
Webhook payload
The payload contains the following fields and objects:
{
    "event": "hireCancelled",
    "data": {
        "contract": {},
        "worker": {},
        "trustedContact": {},
        "customFieldValues": {},
        "cancelReason": {}
    }
}
Event Identifier
The event field contains hireCancelled as the identifier for this webhook.
Event Data
The data object contains the contract, worker, trustedContact, customFieldValues and cancelReason objects for the event.
The hire status information is included in the contract object as the hireStatus field, which contains the current status of the hire. For this event, it will always be "cancelled". This field provides a consistent way to track hire status across all hire-related webhook events.
Contract Object
The contract object has fields identifying the contract and the most important details.
Fields named here are always present.
| Contractfields | 
|---|
| idis the ID that refers to the contract in the Worksome platform, and you can query the API for the full details using this ID. | 
| hireIdis the ID that refers to the hire (or engagement) in the Worksome platform. This ID remains constant even when contract details are revised or updated, providing a stable reference for the overall engagement. | 
| accountIdis the ID that refers to the company account in the Worksome platform, and you can query the API for the full details using this ID. | 
| hireStatusis the current status of the hire at the time the webhook was triggered. Possible values aredraft(hire has pending approval requests),offered(hire is not yet accepted by freelancer),signed(hire is accepted but contract period hasn’t started),active(contract period has started and hire is ongoing),ended(hire has completed naturally),cancelled(hire was cancelled), andterminated(hire was terminated early). This field provides a consistent way to track hire status across all hire-related webhook events. | 
| startDateis the date (YYYY-MM-DD) that the contract starts or started. This field can benullif a start date is not known. The field has no time part. | 
| endDateis the date (YYYY-MM-DD) that the contract ends or ended. This field can benullif the end date is not known. The field has no time part. | 
| workerAcceptedAtis the time (YYYY-MM-DD HH:mm:ss CET) for when the contract is accepted by the hired worker. This field isnulluntil the contract is accepted. | 
| currencyis the currency value for the rate on the contract. The values follow ISO 4217 format. | 
| rateis the offered pay rate for the worker on the contract. | 
| rateTypedefines the payment frequency that applies to the rate. Values arehourly,daily,monthly, orfixed. | 
| jobOwnersis a list of users that are assigned as owners on the related job (ID, name, email address). This list will be empty until a job owner is added. | 
| jobIdis the ID that refers to the job in the Worksome platform, and you can query the API for the full details using this ID. | 
| jobNameis name of the job as agreed on for the contract. Note that this can be different from the related original job post. | 
| jobDescriptionis the full job description and scope for the contract. Note that this can be different from the related original job post. | 
| purchaseOrderNumberis purchase order number (PO) that will be applied to all invoices from the hire. | 
| locationPreferenceis the location preference of the contract. Possible values areonsite-only,onsite-some, orremote-only. | 
| terminatedReasonthe reason for a contract being terminated early (only included when the event isearlyTerminated). Possible values areworker_unavailability,project_completed_early,mutual_agreement_to_terminate,budget_constraints,change_in_project_scope,performance_issues,communication_issues,personal_reasons,legal_or_compliance_issues,violation_of_contract_terms,unforeseen_circumstances,dissatisfaction_with_quality_of_work,conflict_of_interest, andother. | 
Worker Object
The worker object has fields identifying the worker and most important details.
Fields named here are always present.
| Workerfields | 
|---|
| idis the ID that refers to the worker in the platform. You can query the API for the full details using this ID. | 
| nameis the full name of the worker. | 
| firstNameis the first name of the worker. | 
| lastNameis the last name of the worker. | 
| middleNameis the middle name of the worker. | 
| emailis the email for the worker. | 
| phoneis the phone number of the worker. | 
| locationis the location of the Worker as an object. The object includesname,address,city,zipcode,country,county,state. | 
| businessEntityis details for the Worker’s business entity as an object. The object includesentity_type,label,company_no,company_nameandtax_no. | 
Trusted Contact Object
The trustedContact object has fields with the worker’s data in relation the client.
Fields named here are always present.
| Trusted Contactfields | 
|---|
| idis the ID that refers to the trusted contact in the Worksome platform, and you can query the API for the full details using this ID. | 
| accountIdis the ID that refers to the company account in the Worksome platform, and you can query the API for the full details using this ID. | 
| externalIdentifieris an identifier associated with the trusted contact from an external system. This may benullif no external identifier is defined. | 
| statusis the status of the invitation to the talent pool. Possible values are “invited”, “accepted”, “declined”. | 
Custom Field Value Object
The customFieldValue object has fields for the custom field values.
| CustomFieldValueobject fields | 
|---|
| idis the ID referring to a particular value. | 
| slugis a technical identifier for the field, based on the field title. This may benullif no slug has been set. | 
| customFieldTitleis the title of the custom field. | 
| displayValueis the human-readable representation of the custom field value chosen for this event. | 
The array is always present, but may be empty. Objects in the array always have the named fields.
Cancel Reason
The cancelReason object contains details about why the hire was cancelled.
| CancelReasonfields | 
|---|
| reasonalways contains the stringcustomfor cancelled hires. | 
| reason_messagecontains the cancellation message provided by the user. | 
Payload example
{
    "event": "hireCancelled",
    "data": {
        "contract": {
            "id": "Q29udHJhY3Q6MTIzNA==",
            "hireId": "SGlyZToxNTY4NTA=",
            "accountId": "Q29tcGFueTo0MjAK",
            "hireStatus": "active",
            "startDate": "2023-11-20",
            "endDate": "2024-02-20",
            "workerAcceptedAt": "2024-11-19 10:41:34",
            "currency": "USD",
            "rate": "550",
            "rateType": "daily",
            "status": "active",
            "jobOwners": [],
            "jobId": "Sm9iOjc5MTMK",
            "jobName": "Project Coordinator",
            "jobDescription": "The Project Coordinator is responsible for overseeing the successful planning, execution, and closure of projects within the organization.",
            "purchaseOrderNumber": "BA-1234-5678",
            "locationPreference": "remote-only"
        },
        "worker": {
            "id": "V29ya2VyOjIzNDU2",
            "name": "Peter Bishop",
            "firstName": "Peter",
            "lastName": "Bishop",
            "middleName": "",
            "email": "[email protected]",
            "phone": "+16955024",
            "location": {
                "name": "Home address",
                "address": "150 Maplewood Drive, Suite 200",
                "city": "Springfield",
                "zipcode": "62704",
                "country": "US",
                "county": "",
                "state": "IL"
            },
            "businessEntity": {
                "entity_type": "common_business",
                "label": "Bishop Ltd.",
                "company_no": "987654321",
                "company_name": "Bishop Ltd.",
                "tax_no": "ST-1234567890"
            }
        },
        "trustedContact": {
            "id": "VHJ1c3RlZENvbnRhY3Q6MzA=",
            "accountId": "Q29tcGFueTo0MjAK",
            "externalIdentifier": "d05fc13d-156e-4cc6-b325-a42e20f721c5",
            "status": "invited"
        },
        "customFieldValues": [
            {
                "id": "Q3VzdG9tRmllbGRWYWx1ZToxMgo=",
                "slug": "manager",
                "customFieldTitle": "Manager",
                "displayValue": "Olivia Dunham"
            },
            {
                "id": "Q3VzdG9tRmllbGRWYWx1ZTo3Cg==",
                "slug": "client",
                "customFieldTitle": "Client",
                "displayValue": "Massive Dynamic"
            }
        ],
        "cancelReason": {
            "reason": "custom",
            "reason_message": "Project requirements have changed significantly."
        }
    }
}