Skip to main content
GET https://api.trustware.io/api/v1/route-intent/:intentId/status Poll this endpoint to track routing and settlement progress through to completion. The metadata field echoes exactly what you passed in the POST /route call, so use it to attribute the transaction to the correct user or internal record. You can start polling as soon as the intent exists. Until you submit the receipt there is no transaction record yet, so the endpoint returns 200 with "status": "pending" instead of an error. Poll until status reaches success or failed.

Path parameters

Response

Status values

The status field on the response is one of five values: HTTP 404 Not Found means the intent ID is unknown. It is terminal, so stop polling.

The pending response

A pending payload is a stub. The intent row exists, so the response reports the intent’s own status, but none of the transaction fields exist yet:
Check status before reading any other field. steps appears only once the intent has an execution plan, so a resuming client can see that an approval already landed while the route transaction has not been submitted.

Auxiliary status fields

A few separate fields surface conditions that are not part of the main status enum:

Response fields

These are the fields of a transaction payload, which the endpoint returns from submitted onward. On a pending payload only intent_id, status, intent_status, create_date, and sometimes steps are present.

Polling guidance

Use next_poll_at as the suggested time for your next request rather than a fixed interval. This avoids unnecessary requests while the route is in transit. next_poll_at is absent on a pending payload, so use your own interval until the receipt lands. Keep polling on pending, submitted, and bridging. Stop on success, on failed, and on a 404. Retrying a 404 cannot change the answer, and every attempt counts against your key’s rate limit. On failed status: if the source chain transaction confirmed but the route failed, Trustware initiates a refund to the source address. Your application should not trigger any downstream payout until success is confirmed.
The status endpoint will become a WebSocket stream in a future release. The polling interface will remain supported.