Track Delivery Logs And Message Status
Use Motorical's Public API when your app or operations tooling needs to inspect message delivery, timelines, analytics, or usage after email is queued.
Authentication
Public API endpoints use short-lived bearer tokens. Mint one with an Account API Key.
curl -X POST "https://api.motorical.com/api/public/token/account-key" \
-H "Authorization: ApiKey $AK_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"motorBlockId": "YOUR_MOTOR_BLOCK_ID",
"scopes": ["logs.read", "analytics.read", "usage.read"],
"ttlSeconds": 900
}'
Use logs.pii only when your integration needs unmasked recipient addresses.
Message Timeline
After POST /v1/send returns data.id (the send UUID), inspect the message timeline:
curl -H "Authorization: Bearer $TOKEN" \
"https://api.motorical.com/api/public/v1/messages/$SEND_ID/events"
Use this for support workflows, customer-visible delivery status, and debugging.
Motor Block Logs
Search logs inside the Motor Block the token is bound to:
curl -H "Authorization: Bearer $TOKEN" \
"https://api.motorical.com/api/public/v1/motor-blocks/$BLOCK_ID/logs?limit=50"
Usage And Limits
Per Motor Block — burst, hourly, and daily counters against the effective ceiling:
curl -H "Authorization: Bearer $TOKEN" \
"https://api.motorical.com/api/public/v1/motor-blocks/$BLOCK_ID/rate-limits"
Account-wide — hourly and daily usage aggregated across every Motor Block on the account:
curl -H "Authorization: Bearer $TOKEN" \
"https://api.motorical.com/api/public/v1/account/rate-limits"
Both need the usage.read scope. See Rate Limits & Retention for how the two ceilings interact and what POST /v1/send returns when one is hit.
Recommended Boundaries
Delivery observability is most useful when blocks are cleanly separated:
- production vs staging
- transactional vs marketing
- app A vs app B
- tenant-specific sender domains
- high-risk vs trusted streams
If logs are hard to interpret because unrelated streams are mixed together, split them into separate Motor Blocks.