Skip to main content
Squasher versions the public REST contract in the URL. Current public operations use the /v1 prefix. The OpenAPI document at https://api.squasher.ai/openapi.json is the machine-readable source for current paths, parameters, authentication, response schemas, and operation risk.

Compatibility policy

Squasher makes additive changes within a public API version when possible. Additive changes can include new endpoints, optional request fields, response fields, enum values, and documented error details. Clients must ignore response fields they do not use and must validate enum values before branching on them. A change that removes a documented field, changes its meaning, makes an optional input required, or changes an existing operation in an incompatible way requires a new versioned path or a published migration period.

Deprecation signals

When Squasher deprecates a public REST operation, its response will include a Deprecation header. When a shutdown date is known, the response will also include a Sunset header with the planned date. The operation description in OpenAPI and the related documentation page will identify the replacement path and migration steps. Squasher will keep the deprecated operation available through the published migration period unless an immediate security or legal issue requires a faster change. A client should log Deprecation and Sunset, move to the documented replacement, and stop creating new integrations on the deprecated path.

Error contract

Most JSON errors contain a stable type, code, and safe human-readable message. An error can also include the related param, a doc_url, and a numeric retry_after delay. Some specialized endpoints still return a legacy error field with optional message and hint fields. The shared OpenAPI error schema documents both forms during this migration, so clients must handle either documented envelope. The API publishes RateLimit-Limit and RateLimit-Policy on responses. Rate-limited operations return HTTP 429 with RateLimit and Retry-After. Wait for the supplied interval before retrying. Use bounded exponential backoff when a request can be retried safely.