Changelog

This page contains a log of notable changes to the API and webhooks, to help you understand what has changed and how it might affect your integrations. You can also subscribe to these changes via the RSS feed.

For a full changelog including all changes, please see the Apollo Studio changelog.

2026-09-28

Low Impact Changes

New classificationAccepted webhook event

A new classificationAccepted webhook event is sent when a company accepts a worker classification on a hire. The payload contains the worker object and a classification object (id, accountId, hireId, status and result.outcome).

result.outcome is INDEPENDENT, EMPLOYEE or UNKNOWN, values of the ClassificationResult enum, the same values Classification.result.outcome returns in the API.

Subscribe to classificationAccepted to receive it; webhooks subscribed to all events receive it automatically. See Classification Accepted for the full payload.

2026-09-22

Low Impact Changes

Deprecation of column field on invoices query

The InvoicesOrderByColumn enum has been renamed to InvoiceOrderByColumn for consistency with other singular enum naming.

The column field on the QueryInvoicesOrderByOrderByClause has been marked as deprecated, use field instead.

Before:

query Invoices {
    invoices(orderBy: [{
        column: DATE,
        order: DESC
    }]) {
        data { id }
    }
}

After:

query Invoices {
    invoices(orderBy: [{
        field: DATE,
        order: DESC
    }]) {
        data { id }
    }
}

2026-04-22

Medium Impact Changes

Deprecation of recruiter fee fields

The recruiterFee field on both the Hire and CompanyRecruiter types has been deprecated. It only supports percentage-based fees and returns null for any other fee basis (hourly, daily, weekly, monthly).

Please migrate to the fees field, which returns the full set of fees associated with the hire or recruiter relationship and supports every fee basis.

Before:

query Hire($id: ID!) {
  hire(id: $id) {
    recruiterFee
  }
}

After:

query Hire($id: ID!) {
  hire(id: $id) {
    fees {
      id
      formattedRate
    }
  }
}

2026-04-18

Documentation Changes

New Integration Guide: Timesheet Integration

A new integration guide is available for clients who collect timesheet data in an external system and want to automate timesheet and payment request creation in Worksome. See Timesheet Integration.

A JSON Schema for the timesheet registration payload is published at /schemas/timesheet-registration.json for payload validation and client code generation.

2026-03-15

Documentation Changes

Expanded API documentation

The developer documentation has been significantly expanded with new guides and reference pages:

  • GraphQL reference — Auto-generated pages for queries, mutations, objects, enums, scalars, unions, interfaces, and input objects, with example queries.
  • Guides — New pages on pagination and filtering, error handling, and rate limiting.
  • Webhooks — Dedicated event reference pages with full payload examples for all webhook events, plus a guide on handling webhooks.
  • Integrations — Documentation for the CLI, PHP SDK, MCP Server, Zapier, and AI agent integration options.
  • AI-friendly docs — Published llms.txt and llms-full.txt for loading documentation directly into LLM context windows.

2026-01-15

Medium Impact Changes

New createDraftHire mutation

A new createDraftHire mutation has been added to the public API for creating draft hires for trusted contacts. Draft hires must be completed in the Worksome UI before they become active.

Example mutation:

mutation CreateDraftHire($input: HireInput!) {
  createDraftHire(input: $input) {
    id
    activeStatus
  }
}

Example variables:

{
  "input": {
    "company": "Q29tcGFueTox",
    "trustedContact": "V29ya2VyOjE=",
    "name": "Backend contractor",
    "description": "Build integrations with our partner APIs",
    "startDate": "2024-10-01",
    "endDate": "2024-12-31",
    "includeStandardContract": true,
    "locationPreference": {"preference": "REMOTE_ONLY"},
    "rateType": "FIXED",
    "rate": 12000
  }
}

Deprecation of hire mutation

The hire mutation has been deprecated in favor of createDraftHire for creating draft hires via the public API. Please migrate to createDraftHire for all new integrations.

HireInput customFieldValues clarification

The customFieldValues field on HireInput now includes clarified documentation: passing an empty array [] will skip custom field syncing entirely. If you have required custom fields configured, you must provide values for them or validation will fail.

2025-06-03

Low Impact Changes

Webhook hire status field

A new hireStatus field has been added to all hire-related webhook payloads within the contract object. This field provides a consistent way to track hire status across all webhook events.

The field is included in the following webhook events:

  • contractAccepted
  • hireCancelled
  • hireEnded
  • hireTerminated
  • hireUpdated

Possible values include: draft, offered, ready, active, ended, cancelled, and terminated.

Example payload structure:

{
    "event": "hireUpdated",
    "data": {
        "contract": {
            "id": "Q29udHJhY3Q6MTIzNA==",
            "hireStatus": "active",
            ...
        },
        "worker": { ... }
    }
}

This is a non-breaking change - existing webhook consumers will continue to work without modification, and the existing contract.status field remains unchanged.

2024-09-02

View the full changelog for this date on Apollo Studio.

Low Impact Changes

Job payment schemes

The Job.paymentScheme field and related arguments have been deprecated as part of our platform simplification efforts and were removed from the API on 29 September 2024.

No direct replacement is planned.

2024-08-29

View the full changelog for this date on Apollo Studio.

Low Impact Changes

Payment request type

All references to bills have been removed from the API.

2024-02-27

View the full changelog for this date on Apollo Studio.

Medium Impact Changes

Hire date properties

The dateStart and dateEnd fields have been deprecated.

Please migrate to the new startDate and endDate fields as soon as possible.

2024-02-12

View the full changelog for this date on Apollo Studio.

Medium Impact Changes

Payment request type

The Bill type has been renamed to PaymentRequest, and corresponding references to bills are now deprecated and were removed from the API on 29 August 2024.

Please migrate any uses of the following in your integrations:

  • bill should be renamed to paymentRequest
  • bills should be renamed to paymentRequests