---
title: "Queue a guarded resend on the canonical transaction row."
method: POST
path: "/v1/transactions/{id}/resend"
tags: ["Transactions"]
---

# Queue a guarded resend on the canonical transaction row.

`POST /v1/transactions/{id}/resend`

## Request

- Base URL: `https://signaledi.com/api`
- URL: `https://signaledi.com/api/v1/transactions/{id}/resend`
- Auth: HTTP bearer

## Path parameters

- `id` string, required

## Response `200`

Durable resend queue receipt.

## Other responses

- `400`: Malformed body (`code` BAD_REQUEST) or a resend reason is required (RESEND_REASON_REQUIRED).
- `401`: Missing or invalid API key (`code` AUTH_UNAUTHORIZED).
- `403`: Missing Control Layer authority (see ControlLayerForbidden) or the transaction is display-only sample data (`code` SAMPLE_DATA_DISPLAY_ONLY).
- `404`: Transaction not found (`code` TRANSACTION_NOT_FOUND) or the /v1 platform is disabled (NOT_FOUND).
- `409`: The transaction is not eligible, a duplicate-risk confirmation is required (body adds `duplicateRisk`), or its state changed before the queue claim.
- `429`: Rate limit exceeded (`code` RATE_LIMITED).
- `500`: Unexpected server error (`code` e.g. PARSE_FAILED, VALIDATE_FAILED, OUTBOUND_FAILED, INBOUND_FAILED, BATCH_FAILED, TRANSACTIONS_FAILED, DOCUMENT_RECEIPT_FAILED, DOCUMENT_PAYLOAD_FAILED). Sanitized bodies carry an opaque `correlationId` to quote to support; internal error text is never echoed.
- `503`: The durable processing queue is unavailable or the claim failed (`code` EDI_QUEUE_UNAVAILABLE / EDI_QUEUE_FAILED); nothing was queued.

---

[API](https://skmtc.dev/signaledi/apis/signaledi-developer-api.md) · [All operations](https://skmtc.dev/signaledi/apis/signaledi-developer-api/llms.txt) · [OpenAPI document](https://skmtc.dev/signaledi/apis/signaledi-developer-api/revisions/9bc596644a10?raw)
