Built for integration
One set of conventions across every resource — learn them once, and the whole surface feels the same.
Token authOne per-tenant bearer token. Scopes intersect with the user's role.Cursor paginationEvery list uses the same { data, meta.cursor } envelope.RFC 9457 errorsPredictable problem+json with a trace_id on every failure.Idempotent createsRetry a POST with an Idempotency-Key — never double-insert.Rate limitsX-RateLimit-* headers on every response, with clean 429s.VersionedA /v1 path plus a dated Version header. Backward-compatible.
Your first call
Every request is a JSON call with a bearer token and a Version header. Here's a page of contacts:
curl -X POST https://papi.trendev.in/v1/contacts/search \
-H "Authorization: Bearer $PROSPECTCONNECT_TOKEN" \
-H "Version: v1" \
-H "Content-Type: application/json" \
-d '{ "limit": 2 }'