Get started

Quickstart

Create an inbox, route events into it, and pull, work and acknowledge one event.

You’ll create an inbox, send an event into it, and have an agent pull it and acknowledge it.

1. Create an inbox

In the dashboard, open Destinations → New destination and choose Inbox. An inbox has no URL: events wait in it until an agent asks for them. Or create one with the API:

curl -X POST https://api.getensue.com/v1/agent/inbox \
  -H "authorization: Bearer $ENSUE_API_KEY" \
  -H "content-type: application/json" \
  -d '{"name":"billing-agent"}'

2. Route events into it

Create a flow from a source to the inbox, the same way you would to any destination. Events from that source now wait in the inbox.

3. Pull an event

curl "https://api.getensue.com/v1/agent/inbox/$INBOX_ID/next?wait=30" \
  -H "authorization: Bearer $ENSUE_API_KEY"

The call waits up to 30 seconds for an event, then returns it as an envelope with a lease_id. While the lease is open, no other consumer receives the event.

4. Acknowledge it

When the work is done:

curl -X POST https://api.getensue.com/v1/events/$EVENT_ID/ack \
  -H "authorization: Bearer $ENSUE_API_KEY" \
  -H "content-type: application/json" \
  -d '{"lease_id":"'$LEASE_ID'"}'

If the agent crashes first, the lease runs out and the event comes back.