Skip to main content

Deprecated endpoints

Sometimes an endpoint has to go: it was replaced by a better one, or its contract has to change in a way that cannot stay backwards compatible. When that happens, Logitrail does not remove it overnight. The endpoint is deprecated first, keeps working for an announced period, and is removed only after a published sunset date.

This page explains how to recognise a deprecated endpoint, what happens on the sunset date, and lists every endpoint that is deprecated right now.

Current deprecations​

Soonest sunset first. The table is generated from the published API reference, so it is always up to date with it.

EndpointDeprecatedSunsetReplacementReason
GET /v1/orders/waiting_products
Orders API
2026-05-202027-04-17/v1/orders/waiting-productsPath renamed to kebab-case for URL convention consistency across the API surface.

Timeline of a deprecation​

  1. Announcement. The endpoint is marked deprecated in the API reference and starts sending deprecation headers (see below). It keeps working exactly as before.
  2. At least six months pass between the announcement and the sunset date. A shorter period is used only for endpoints that nobody has called in the 30 days before the announcement.
  3. Before the sunset date we contact integrations that are still calling the endpoint.
  4. From the sunset date (00:00 UTC) the endpoint no longer runs. It answers 410 Gone for 30 days, so a forgotten call fails clearly instead of silently.
  5. After those 30 days the endpoint is scheduled for removal. Once it is removed, calls get the same response as any unknown endpoint.

How to recognise a deprecated endpoint​

In the API reference​

Deprecated operations are marked Deprecated in the API reference. The OpenAPI document carries the details:

deprecated: true
x-deprecation:
deprecated_at: 2026-05-20
reason: Path renamed to kebab-case for URL convention consistency across the API surface.
replacement_path: /v1/orders/waiting-products
x-sunset: 2026-11-20

In every response​

Every response a deprecated endpoint sends, successful or not, carries these headers. (Requests rejected before they reach the endpoint, for example for an invalid token or rate limiting, do not.)

HeaderStandardExample
DeprecationRFC 9745@1779235200: when the deprecation was announced, Unix time
SunsetRFC 8594Fri, 20 Nov 2026 00:00:00 GMT: when the endpoint stops working
LinkRFC 8288</v1/orders/waiting-products>; rel="successor-version"

Link is present when there is a replacement endpoint (rel="successor-version"), a migration guide (rel="deprecation"), or both.

We recommend that your integration logs a warning whenever a response carries a Deprecation header. Then you find out from your own logs, long before the sunset date.

After the sunset date​

From the sunset date the endpoint answers:

HTTP/1.1 410 Gone
Deprecation: @1779235200
Sunset: Fri, 20 Nov 2026 00:00:00 GMT
Link: </v1/orders/waiting-products>; rel="successor-version"
Content-Type: application/json

{
"message": "This endpoint has been removed. See migration docs for the replacement.",
"error_code": "ENDPOINT_SUNSET",
"details": {
"sunset_at": "2026-11-20",
"replacement_path": "/v1/orders/waiting-products"
}
}

details.migration_docs_url and details.replacement_path are included when the endpoint has them.

What you should do​

  • Check the table above and your own logs for Deprecation headers.
  • Move to the replacement endpoint before the sunset date. The reason and the migration guide (when there is one) explain what changed.
  • If you cannot make it in time, contact Logitrail support well before the sunset date.