Log inTalk to us

List an app's lifecycle events and their delivery

get/v1/teams/{team_id}/apps/{app_id}/deliveries
Requires an API key

Oldest first after the after cursor (an event sequence). Events go to the app's webhook_url as signed POSTs (Ivora-Signature: t=<unix>,v1=<hex HMAC-SHA256 of '<t>.<body>'> with the webhook secret), retried with backoff for about a day, at least once: deduplicate by event id. For a project-limited developer only their projects' events, and only when the app is active in none outside them.

Path parameters

  • team_idstringRequired
    Pattern ^team_[0-9a-f]{32}$
  • app_idstringRequired
    Pattern ^app_[0-9a-f]{32}$

Query parameters

  • afterinteger
    Default 0 · Minimum 0
  • limitinteger
    Default 50 · Minimum 1 · Maximum 100

Returns · 200

  • dataarray of AppDeliveryRequired
    Child attributes
    • sequenceintegerRequired
      Use the last one as the cursor (after) of the next page.
    • idstringRequired
      The event id the receiver deduplicates by (Ivora-Event-Id).
    • typeenumRequired
      One of app.installed, app.uninstalled, app.scopes_changed
    • app_idstringRequired
    • install_idstringRequired
    • tenant_idintegerRequired
    • created_atstringRequired
    • dataobjectRequired
    • statusenumRequired
      One of pending, delivered, failed
    • attemptsintegerRequired
    • last_statusinteger | nullRequired
      The receiver's last HTTP status, when it answered.
    • last_errorstring | nullRequired
    • next_attempt_atstring | nullRequired
      When the next attempt is due, while pending.
GET /v1/teams/{team_id}/apps/{app_id}/deliveries
curl --fail-with-body "https://api.ivoracharge.com/v1/teams/team_0123456789abcdef0123456789abcdef/apps/app_0123456789abcdef0123456789abcdef/deliveries" \
  -H "Authorization: Bearer $IVORA_API_KEY"
Response · 200JSON
{
  "data": [
    {
      "sequence": 1,
      "id": "id_0123456789abcdef",
      "type": "app.installed",
      "app_id": "app_0123456789abcdef",
      "install_id": "install_0123456789abcdef",
      "tenant_id": 1042,
      "created_at": "2026-09-30T17:00:00Z",
      "data": {},
      "status": "pending",
      "attempts": 1,
      "last_status": 1,
      "last_error": "string",
      "next_attempt_at": "2026-09-30T17:00:00Z"
    }
  ]
}
Requires an approved production API keyProduction access starts with a request, a short meeting with Ivora and a card on file, after which Ivora staff grant your account access. How to request access
Try itproduction · api.ivoracharge.com

Paste a production api key (iv_live_…). Create keys in Developer tools. The key stays in this page's memory, is sent only to https://api.ivoracharge.com and clears when you reload. Test keys are refused.