List bridge event deliveries
Returns a paginated list of event delivery records for the specified bridge.
Each record represents a sequence of delivery attempts for a single event. Use meta.status to filter by delivery status (e.g. failed, delivered). Use data.linked to narrow results to a specific intent handle.
Required access action: query-event on record bridge
Usage Examples
curl -X GET "http://localhost:3000/v2/bridges/<HANDLE>/events" \ -H "x-ledger: <YOUR LEDGER HANDLE>"{
"hash": "",
"meta": {
"proofs": [],
"moment": "2025-04-02T05:10:35.123Z"
},
"data": [
{
"hash": "ef8ad39c9c0d86bda17927fce52c851a3106c38867445bf2039fbce689ba6e62",
"meta": {
"proofs": [],
"moment": "2025-04-02T05:10:35.123Z",
"status": "failed",
"replay": 1
},
"data": {
"handle": "550e8400-e29b-41d4-a716-446655440000",
"bridge": "bank_bridge",
"record": "intent",
"linked": "payment-001"
}
},
{
"hash": "5b442a9ec54a3f0e4dc892f3afc76c1db604965392ff8e69acf582071aeecf58",
"meta": {
"proofs": [],
"moment": "2025-04-02T04:00:01.500Z",
"status": "delivered",
"replay": 1
},
"data": {
"handle": "660e8400-e29b-41d4-a716-446655440001",
"bridge": "bank_bridge",
"record": "intent",
"linked": "payment-002"
}
}
],
"page": {
"index": 0,
"limit": 10
}
}{
"hash": "b7eb7ccf5ffc126951e13e29a8dcfdaf95db859715d4edfc2d16f59a79d4cd58",
"data": {
"reason": "auth.unauthorized",
"detail": "Invalid token."
},
"meta": {
"proofs": [
{
"signer": "system",
"method": "ed25519-v2",
"digest": "3acece870c4118bfe4223118e4d2f3cfd5b8947a7093785b66d49aa57fa2890a",
"public": "bctQzN7mjMUNBIx4aSC8WYn03GJWoJjL/KrDb38oU5c=",
"result": "gnK63DqqWDY/UXvnZHixDKPKS6tfeGHgdARylnPiJLwQGyYxuD97TYbSg2wrzsf/bDrHwQYZaf8Gu5ryYP0UAA==",
"custom": {
"moment": "2025-04-05T14:30:00.000Z"
}
}
]
}
}{
"hash": "9ec02726b50650add8acfd124c6defeb978a9ac252a5de888f9493ddc701e927",
"data": {
"reason": "auth.forbidden",
"detail": "Request is not authorized"
},
"meta": {
"proofs": [
{
"signer": "system",
"method": "ed25519-v2",
"digest": "4f8cbdc38d73348de0c31805c783c84a0fecc6be736d7e187004ba68cd00e675",
"public": "bctQzN7mjMUNBIx4aSC8WYn03GJWoJjL/KrDb38oU5c=",
"result": "P3hRnveehtuobb4AIO56XBmiduvmYJbpdmOHltG/IifBEH7QSWdv/0pqled4SO9x1Ne3oXuWxJy40DzMvx1MBA==",
"custom": {
"moment": "2025-04-05T14:30:00.000Z"
}
}
]
}
}{
"hash": "d6c59a6df7165fa4a75159799ca5f5e26e544cbb8769eced3d35d8021f6f7935",
"data": {
"reason": "record.not-found",
"detail": "Signer not found"
},
"meta": {
"proofs": [
{
"signer": "system",
"method": "ed25519-v2",
"digest": "78cf86f34aefcf9da6ed4167a38aac0a2739f68f7bafb1d3e033c01ed1b6cdf1",
"public": "bctQzN7mjMUNBIx4aSC8WYn03GJWoJjL/KrDb38oU5c=",
"result": "9Ledk+/iAAtj+uLjGe2afq4kID7n8UQD6UpRpLBCujxFjxddq0uZ2tnYRTAXmYdHDkbF0uXqtNM9qO3xhEtpAA==",
"custom": {
"moment": "2025-04-05T14:30:00.000Z"
}
}
]
}
}{
"hash": "bd1e78b47e837376b7994e3e481aa547c110c4d6a1c1d8ecd047cc465edd33bd",
"data": {
"reason": "api.request-timeout",
"detail": "Processing of request on server timed out. Your request may or may not have been processed."
},
"meta": {
"proofs": [
{
"signer": "system",
"method": "ed25519-v2",
"digest": "cdf5b09c809ec52934cd76ca3b0aa59310049e3cae8b171aee3cf9e0f98bddb2",
"public": "bctQzN7mjMUNBIx4aSC8WYn03GJWoJjL/KrDb38oU5c=",
"result": "6h1lhq3TOccWrfIdtOa9pkz9pIHVAN9tyXuNaucvLpbspWACog6HpSAdr0FSwGzn0zAKwx8YppGOVjFhfeBLBw==",
"custom": {
"moment": "2025-04-05T14:30:00.000Z"
}
}
]
}
}{
"hash": "1c084e8dcfb9bb84bc8ea96e9e137b149a34b2bbd85f8e60b4263f5aba980476",
"data": {
"custom": {
"errors": [
{
"instancePath": "/handle",
"schemaPath": "#/properties/handle/pattern",
"keyword": "pattern",
"params": {
"pattern": "^[a-zA-Z0-9_\\-+.]+$"
},
"message": "must match pattern \"^[a-zA-Z0-9_\\-+.]+$\""
}
]
},
"reason": "record.schema-invalid",
"detail": "Schema validator error: data.handle must match pattern \"^[a-zA-Z0-9_\\-+.]+$\""
},
"meta": {
"proofs": [
{
"signer": "system",
"method": "ed25519-v2",
"digest": "7a5febb431719b6f43d7e88e79211308e16ac651b71b339276373fdb4e7c3760",
"public": "bctQzN7mjMUNBIx4aSC8WYn03GJWoJjL/KrDb38oU5c=",
"result": "2/1zYw4AaIzsIHfOIC6V/CHw6owbjYHt48cwmFOig0ibeT0IbojLmj1RCRi8W00ka0udPa9WsacWDd7ObMY8CA==",
"custom": {
"moment": "2025-04-05T14:30:00.000Z"
}
}
]
}
}{
"hash": "93a5f4d97a42c2df97f827c58ff7768d02568c15aca931e22b81fa3160ba0df3",
"data": {
"reason": "api.unexpected-error",
"detail": "An unexpected error occurred"
},
"meta": {
"proofs": [
{
"signer": "system",
"method": "ed25519-v2",
"digest": "efaf5360143b586917d9636779ad6e08571c5b06909a20dd0f5eba4bf3be7eae",
"public": "bctQzN7mjMUNBIx4aSC8WYn03GJWoJjL/KrDb38oU5c=",
"result": "hERh6Aecj59iR+Fb25OQsHJScOi4t8EiffKSfjlMQdjHMccTnfDlgZFdaJzXzUtpSwy/NHq0l+7ydh3HSWCoAg==",
"custom": {
"moment": "2025-04-05T14:30:00.000Z"
}
}
]
}
}Path Parameters
The unique identifier of the record - it is luid or handle (address).
Query Parameters
Pagination options. Set limit and index to page through results.
Filter by field values using dot notation (e.g. data.handle=value). Operators like $in and $regex are optional — equality is the default.
Header Parameters
The unique identifier of ledger in context for multi tenant requests.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
Activate bridge POST
**Kept for backward compatibility.** Use `POST /bridges/{id}/events/retry` instead, which is the preferred endpoint going forward. Retries bridge event deliveries that have failed or are still scheduled but not delivered. For each affected event to be delivered, any existing scheduled jobs are cancelled and a new delivery is queued with the retry backoff reset to its initial value. Use the `maxAge` parameter to limit retries to events whose last delivery attempt was created within the past N minutes (default: 60, max: 48 hours enforced server-side). Set `maxAge` to 0 to retry all events for the bridge regardless of age. **Required access action:** `activate`
Retry bridge events POST
Retries bridge event deliveries that have failed or are still scheduled but not delivered. For each affected event to be delivered, any existing scheduled jobs are cancelled and a new delivery is queued with the retry backoff reset to its initial value. Use the `maxAge` parameter to limit retries to events whose last delivery attempt was created within the past N minutes (default: 60, max: 48 hours enforced server-side). Set `maxAge` to 0 to retry all events for the bridge regardless of age. **Required access action:** `retry-event`