409 Conflict

Every error of the Spillard Connect API is an RFC 9457 application/problem+json body whose type points here. Branch on errorCode, never on title or detail.

Not retryable as is: change the request, the token or the target before sending it again.

errorCodeMeaning
idempotency.in_progressThe first request with this `Idempotency-Key` is still being handled, or ended without a known result. `retryable` is false: wait a few seconds, then send the same request with the same key to get its result. After a server error on a media request the key stays held for 24 hours: check `GET /v1/commands` before you use a new key.
idempotency.key_conflictThe `Idempotency-Key` was already used with another request body (or, for an API client, the client has changed since). Send the new request with a new key.
resource.link_conflictThe link cannot be made as asked: the vehicle already has a driver, the driver or device is linked to another vehicle, the two are in different organizations or fleets, or the registration number is taken in the target organization. Unassign the other link or change the target first.
vehicle.already_in_fleetThe vehicle is in the target fleet already, so nothing would change. Choose another fleet.
webhook_delivery.not_replayableThe delivery cannot be replayed now: the endpoint does not receive its type any more, the message was not kept in full, or a delivery of the same message is pending. Check the endpoint settings, or wait for the pending delivery.
webhook_endpoint.conflictThe endpoint name is taken, a webhook type is subscribed by another active endpoint, or the endpoint has no usable signing secret. Change the name or the types, or issue a secret with `:rotate-secret`.
webhook_endpoint.limit_exceededThe organization has the maximum number of webhook endpoints (`endpointLimit` in `GET /v1/webhook-settings`) already. Delete an endpoint first.

The full registry is the top-level x-error-codes list (and the ErrorCode schema) of /openapi/v1.json; the API reference is at /scalar.