Resume TED IN Poller
Use this endpoint to clear the fail-closed at-most-once receive latch and re-arm a latched or dead TED IN poller without restarting the pod. This is a higher-privilege operator endpoint than /ted-in/poll because it re-opens JD destructive-read consumption. Reach for it only when auto-recovery cannot revive the poller — a panicked multi-tenant child or a single-tenant poller past the panic hard-cap.
Resume never bypasses the money-path durable-gap gate. When the live receive-state-unknown latch is set, the current latch’s reconciliation-gap row must be durable before the poller resumes; otherwise the request is refused with 409 and the poller stays dead. Verify the pending gap with List TED IN Reconciliation Gaps before calling resume.
The optional body {acknowledge, note} additionally marks the current latch’s reconciliation gap resolved and stamps an operator annotation on it. acknowledge defaults to false, leaving the gap OPEN so it remains visible for review. A healthy, not-latched poller returns 200 with resumed: false and reason: "not_latched" — the call is a safe idempotent no-op. Same-key retries replay the cached response.
The route is organization-independent and does not require the X-Organization-Id header — the tenant is resolved from the authenticated context. In multi-tenant deployments, an inactive tenant is rejected with 503.
Authorizations
JWT Bearer token authentication. The tenantId is derived from the bearer token or authenticated request context and is not supplied through X-Organization-Id.
Headers
Required idempotency key for safe retries. Use a UUID v4 or unique business identifier. If the same key is sent again and the original request was already processed, the cached response is returned.
See Retries and idempotency for details.
255Body
Optional resume options. An empty body re-arms the poller and leaves the reconciliation gap open.
Optional body for a TED IN poller resume. All fields are optional; an empty body re-arms the poller and leaves the reconciliation gap open.
When true, mark the current latch's reconciliation gap resolved after the poller is re-armed. Defaults to false so the gap stays OPEN and remains visible for review.
false
Operator annotation stamped onto the resolved gap when acknowledge is true. Ignored otherwise.
500"verified against the JD cabine; no inbound message lost"
Response
Indicates that the resume attempt completed. resumed is true when a latched or dead poller was re-armed and false for the healthy no-op. gapResolved is true only when acknowledge was requested AND the gap row was successfully marked resolved. reason is the state resumed from (receive_state_unknown, panic, auth_failure) or not_latched for the no-op.
true when a latched or dead poller was re-armed; false for the healthy no-op.
true
true only when acknowledge was requested AND the gap row was successfully marked resolved.
false
The poller state that was resumed from. not_latched indicates the idempotent no-op.
receive_state_unknown, panic, auth_failure, not_latched "receive_state_unknown"
Resolved tenant identifier. Omitted in single-tenant deployments.
"11111111-1111-1111-1111-111111111111"

