Quickstart
A key, a first call and a first webhook are all it takes to start.
1. Create a key
In Apex, open the account menu and choose API and webhooks. Keys can be created by the account's Superuser or an Administrator, and they are also the ones who see the call log and the webhooks. If the developer creates the key and reads the log themselves, they need the Administrator role in the company account.
Each company has one full-access test key and one full-access live key, plus any number of named report keys that only read the account and the campaign reports and can be revoked one by one. After a new live key is created, the old one keeps working for 7 days; after that, calls made with it get 401 api_key_expired, so that is how long you have to switch over. A key belongs to its creator and works with that person's access. If the creator leaves the team or loses the Administrator role, the key stays, but every call gets 403 api_key_creator_inactive until the Superuser or an Administrator takes it over under API and webhooks; the key's value stays the same.
2. First call
Check the key: GET /v1/account shows which company it belongs to, who created it and whether it runs live or in test mode (livemode). In the samples the key comes from the TRENDIZZ_KEY environment variable.
curl "https://api.trendizz.com/v1/account" \ -H "Authorization: Bearer $TRENDIZZ_KEY"
3. First webhook
Add an endpoint with POST /v1/webhook-endpoints: give your own https URL and the event types you want. The response contains the signing secret (whsec_…) only once, so store it. POST /v1/webhook-endpoints/{id}/test sends a test event, so you can try out the signature check with a test key too.
curl -X POST "https://api.trendizz.com/v1/webhook-endpoints" \
-H "Authorization: Bearer $TRENDIZZ_KEY" \
-H "Idempotency-Key: my-request-1" \
-H "Content-Type: application/json" \
-d '{
"url": "https://crm.acme.example/hooks/trendizz",
"events": [
"positive_response.created",
"suppression.created"
],
"description": "CRM sync"
}'