GuidesAPI ReferenceChangelogAPI StatusAPI PolicyGusto Security
Guides

What is a breaking change?

Understand how Gusto versions its API and what changes may require updates to your integration

Gusto's API versioning follows Semantic Versioning principles. We distinguish between breaking changesβ€”those that are likely to require updates to your integrationβ€”and backward-compatible changes that your integration should tolerate without modification.

Our goal is to minimize breaking changes and give you advance notice when they do occur. When we release a new API version, we'll document exactly what changed and what action (if any) is required on your end.

For a detailed list of all breaking changes by version, see the version upgrade guide.

🚧

Changes that are considered backward compatible, such as additions of response fields, could potentially cause issues with your integration.

Ensure that your client can handle all backward-compatible changes.

Backward-incompatible changes

The following types of changes are considered backward incompatible:

Structural changes

  • Removing or renaming endpoints, fields, or parameters
  • Changing data types of existing fields
  • Adding new required fields to requests
  • Changing authentication methods or required scopes

Behavioral changes

  • Changing default values (sort order, page size, or boolean defaults)
  • Changing error codes or HTTP status codes
  • Tightening validation rules (new regex patterns, stricter formats, or new uniqueness constraints)
  • Changing serialization formats (date formats, null handling, or enum value representations)
  • Changing pagination behavior (default page size, ordering, or cursor format)
  • Bug fixes where the corrected behavior differs from the previous behavior, even if the previous behavior was incorrect

Backward-compatible changes

We consider the following to be backward-compatible, non-breaking changes.

  • Adding new API endpoints
  • Adding new optional parameters to existing endpoints
  • Adding new fields to response bodies
  • Adding new values to existing enum fields
  • Changing the order of properties in existing API responses
  • Loosening validation rules (longer max length or more allowed values)
  • Making previously required fields optional
  • Bug fixes that don't change observable behavior

Handle backward-compatible changes defensively

Some backward-compatible changes can still cause issues depending on how your integration is built.

You should build your integration to tolerate additive changes such as the following:

Type of additive changeOur recommendation
New response fieldsIf your integration uses strict schema validation that rejects unknown properties, new fields in a response body could cause failures. We recommend configuring your JSON parsing to ignore unknown fields.
New enum valuesIf your code uses exhaustive switch/case statements on enum fields, a new value will fall through. We recommend always including a default or fallback case when handling enum values from our API.



What’s Next