bitlync Docs

Concepts

Delivery

Transient vendor rate limits (429) and 503 are retried with backoff on the Bitlync side of the write.

Mechanism

The caller sends one write. Bitlync retries the vendor when the failure is transient. The caller is not asked to implement vendor backoff for those hops.

What the caller sees

The caller sees one result. If the write still cannot land, the final rate-limit response (429) still carries the vendor Retry-After.

Final rate limit still honest
HTTP 429
Retry-After: 30

{
  "status": 429
}

No hidden swallow of a vendor rate limit (429). No rewrite of a final rate limit into a 200.

Delivery status is visible. Nothing is dropped silently.

Mechanism

A write that was acknowledged cannot double-write. A write that was throttled is a real rate-limit response (429), not a delayed success. Dedup and retries sit on this same rule.

What the caller sees

Success means the write landed or was an idempotent replay. Throttle means a rate-limit response (429) plus Retry-After.

acknowledged, not doubled
{
  "idempotent_replay": false
}

No silent drop. No “accepted” that later vanishes.

Writes that support it take idempotency_key. The same key does not open a second ticket.

Mechanism

Send the key on the write. A retry with that key is a replay, not a new vendor create.

What the caller sees

The replay is marked idempotent_replay.

same key
{
  "summary": "Printer offline",
  "dry_run": false,
  "idempotency_key": "ticket-1"
}

{
  "status": "ok",
  "idempotent_replay": true
}

Keys are not implied on every future write. Only writes that already support idempotency_key.

Webhooks

Outbound signed events (ticket / device / company) moved to Webhooks. Register, Bitlync-Signature, retry / 410 / grant_missing live there. Poll remains GET /tenants/{id}/connections/events?kind=….