202 Accepted response with a resource operation ID, then processes the request in the background with automatic retries and rate limiting.
Best for production workloads where you want to create or update multiple resources without waiting for each TSP response. Catena handles retries, rate limiting, and error recovery automatically.
How It Works
1
You submit a write request
Send a
POST or PATCH request to the Telematics API with is_sync=false (or omit the parameter, since async is the default).2
Catena returns immediately
You receive a
202 Accepted response containing a resource operation object with status: "pending". The id field is the operation tracking ID.3
Catena processes in the background
The request is queued and processed with automatic retries and rate limiting to respect TSP API limits.
4
You receive the result via webhook
Catena sends a
resource_operation.succeeded or resource_operation.failed webhook event with the final status and details.Example: Sending a Message
Request
cURL
The
sender_id and recipient_id are Catena user IDs. Catena automatically resolves them to the TSP-specific identifiers (e.g., source_sender_id, source_recipient_id) before forwarding the request.partner_ref is optional. It is your own reference for this message, and Catena returns it trimmed (leading and trailing whitespace removed) on the operation and its webhooks. See Your Own Reference.Response (202 Accepted)
Receiving Results via Webhooks
To know whether an async operation succeeded or failed, subscribe to resource operation webhook events.Subscribe to Events
Create a webhook subscription for resource operation events:cURL
Using
resource_operation.* subscribes you to all three events: created, succeeded, and failed. You can also subscribe to individual events if you only need specific notifications.Success Webhook Payload
When the operation succeeds, theresource_operation.succeeded event includes the resource_id (Catena ID) and source_id (TSP ID) of the created resource, along with the partner_ref you sent:
Failure Webhook Payload
When the operation fails, the event includes error logs with details about what went wrong:Matching Results to Your Records
If you save a record in your own system before you call Catena, send that record’s ID aspartner_ref. Every resource operation event for that write then carries a key that already means something in your system.
1
Save your record and send its ID
Create the record in your system, then call
POST /v2/telematics/messages (or POST /v2/telematics/group-messages) with "partner_ref": "<your record ID>". Store the resource operation id from the 202 response on your record.2
Handle resource_operation.succeeded
Find your record by the operation
id. If you haven’t stored it yet, for example because the webhook arrived before your code finished saving the 202 response, fall back to partner_ref. Then store the event’s resource_id. The event’s resource field tells you what that ID identifies:3
Handle resource_operation.failed
Find your record the same way and mark it as not delivered. The
logs array explains why.Why not look up by
partner_ref alone? Catena does not enforce uniqueness on it, so a reused value, for example after a retry, can match more than one of your records. The resource operation id is unique. Use partner_ref as the key that is meaningful in your system and as a fallback, not as the only match.Python
Polling for Status
If you prefer not to use webhooks, you can poll the operation status using the Integrations API:cURL
cURL
When to Use Async Mode
Bulk operations
Bulk operations
When creating or updating many resources at once (e.g., sending messages to an entire fleet), async mode lets you fire requests rapidly without waiting for each TSP response.
Non-blocking workflows
Non-blocking workflows
When your application doesn’t need to wait for the TSP’s response to continue its workflow. For example, dispatching a message where delivery confirmation can arrive later.
Production workloads
Production workloads
Async mode provides built-in retries and rate limiting, making it more resilient for production use. Catena manages the complexity of TSP-specific rate limits and transient failures.
Next Steps
Sync Operations
Learn about synchronous mode for immediate TSP feedback.