REST API reference

Base URL, authentication, and the four endpoints.

The REST API is for your own backend: firing lifecycle events, sending transactional mail, keeping contacts in sync. JSON over HTTPS.

Base URL: https://flypombo.com/api/v1

Authentication

Every request carries a bearer key:

Authorization: Bearer pombo_...

Mint keys under Settings, API keys, or with the create_api_key agent tool, scoped to what the integration actually calls. Scopes: events:write, contacts:read, contacts:write, transactional:send. A valid key missing a scope gets 403; a missing or revoked key gets 401. Sustained high rates are throttled with 429.

POST /events

{ "event": "donation.received", "email": "[email protected]",
  "properties": { "amount": "$50" } }

Records a lifecycle event. It can start a custom-event sequence, fire an event-triggered transactional email, and supply {{ event.* }} merge tags to whichever runs. Unknown emails create the contact. 202 on success.

POST /transactional_emails

{ "template": "donation_receipt", "to": "[email protected]",
  "from": "[email protected]",
  "variables": { "receipt_number": "1042" } }

Sends one transactional email by template key. from must be on a verified domain. 202 with an outbox id, or 422 with a reason.

POST /contacts

{ "email": "[email protected]", "first_name": "Dana",
  "status": "subscribed", "tags": ["donor"],
  "custom_fields": { "lifetime_value": "500" } }

Upserts by email, so a sync loop is safe to re-run. Tags are additive. Send status: "unsubscribed" for anyone opted out on your side.

GET /ping

Returns 200 with your organization if the key is valid. Use it to check credentials.

Something unclear or missing? Tell us.