Core API – Query & Schema Contract Changes

Core API – Query & Schema Contract Changes


Summary

Introduces several contract changes across Core controllers, including new POST-based query patterns, field removals from related objects, and nullability updates. Some of these changes are backwards incompatible and may require client updates.


Changes

Core

  • Client controller

    • typelifecycle
    • Type: breaking
    • Notes: The type field has been renamed to lifecycle. Clients referencing type must update to the new field name.
  • Client controller

    • longitude, latitude non-nullable → nullable
    • Type: behavior-change
    • Notes: Location fields may now be omitted or returned as null.
  • Contact controller

    • GET query → POST-based querying
    • Type: breaking
    • Notes: Querying by email, phone, and name fields (first, middle, last, full) must now be provided in the POST request body.
  • Contract controller

    • Contact fields removed
    • Type: breaking
    • Notes: name and email have been removed from the embedded contact object.
  • Hardware Asset controller

    • Contact fields removed
    • Type: breaking
    • Notes: name and email have been removed from the embedded contact object.
  • Member controller

    • GET query → POST-based querying
    • Type: breaking
    • Notes: Querying by email, phone, and name fields (first, middle, last, full) must now be provided in the POST request body.
  • Member controller

    • reports_to_member fields removed
    • Type: breaking
    • Notes: name and email have been removed from reports_to_member.
  • Opportunity controller

    • Contact fields removed
    • Type: breaking
    • Notes: name and email have been removed from the embedded contact object.
  • Opportunity controller

    • responsible_member.name removed
    • Type: breaking
    • Notes: Consumers must rely on IDs or related lookups for responsible member details.
  • SaaS User controller

    • Contact fields removed
    • Type: breaking
    • Notes: name and email have been removed from the embedded contact object.
  • Ticket controller

    • owner_member.name removed
    • Type: breaking
  • Ticket controller

    • responsible_member.name removed
    • Type: breaking
  • Ticket controller

    • Contact fields removed
    • Type: breaking
    • Notes: name and email have been removed from the embedded contact object.
  • Ticket controller

    • status removed from contract
    • Type: breaking
    • Notes: status has been removed from the embedded contract object.
  • Ticket controller

    • board.id non-nullable → nullable
    • Type: behavior-change
  • Ticket controller

    • Timeline fields non-nullable → nullable
    • Type: behavior-change
    • Notes: timeline.created_at and timeline.updated_at may now be returned as null.

Dates

  • Effective: [2026-01-28]