Skip to main content

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.

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.