Credentials and environments
- Create separate keys for development, staging, and production.
- Use
writekeys for senders andreadkeys for readers. - Use
adminonly when one service must read and write. - Store secrets in a secret manager.
- Rotate a key after exposure.
Event identity
- Set a stable
event.idin the source system. - Keep the same ID and payload when retrying.
- Treat events without IDs as unsafe to retry.
- Do not reuse an ID for different event content.
Batches and concurrency
- Keep each batch between 1 and 500 events.
- Keep the request body below 5 MiB.
- Keep each event below 256 KiB.
- Bound concurrent requests in your sender.
- Preserve the index of every batch result.
Retry behavior
- Retry
503with exponential backoff and jitter. - Retry rejected event items only after fixing the input.
- Do not retry unchanged
400,401,403, or404responses. - Treat an event
duplicateresult as success for delivery purposes. - Treat
idempotency_conflictas a data-integrity error that needs review.
Observability
- Record
X-Request-IDfor every response. - Count
accepted,duplicate, andrejectedresults. - Alert on rising rejection or conflict rates.
- Do not log bearer tokens or raw financial payloads.
Issue workflows
- Use a read key to list and inspect issues.
- Use a write key to assign issues and add notes.
- Use
Idempotency-Keywhen a note request can be retried. - Do not send an idempotency header for assignment updates. Assignment is repeatable.
Data handling
- Redact financial data from logs and tickets.
- Treat issue messages and notes as customer data.
- Do not send raw API responses to external AI systems.
- Review access to member IDs and organization data.