Docs
ENFR
Dashboard
API reference

Events

Everything that happens on your account, the same objects that webhooks deliver. Use the list to catch up after downtime.

The event object

Attributes
idstring

Unique identifier (UUID).

objectstring

Always event.

typestring

Event type, see the list.

livemodeboolean

true for live objects, false for test objects.

created_atstring

When it happened, ISO 8601 (UTC).

dataobject

data.object is the object concerned (collection, payout, card, transaction…), in its state when the event is read or delivered.

The event object
{
  "id": "3ab70bfc-785d-45ce-99de-fd9ab67e5cd4",
  "object": "event",
  "type": "collection.succeeded",
  "livemode": false,
  "created_at": "2026-10-30T13:47:09.807Z",
  "data": {
    "object": {
      "id": "3b8f6c1e-2a47-4d1b-9e35-7c0a9d2f4e61",
      "object": "collection",
      "livemode": false,
      "status": "succeeded",
      "amount": 5000,
      "currency": "XAF",
      "fee": 125,
      "net": 4875,
      "customer": {
        "name": "Awa Ndiaye",
        "phone": "237670000999",
        "country": "CM"
      },
      "operator": "MTN",
      "description": "Order 42",
      "client_reference": "order_42",
      "metadata": {
        "order_id": "42"
      },
      "next_action": null,
      "failure_code": null,
      "failure_message": null,
      "created_at": "2026-10-30T13:47:06.394Z",
      "updated_at": "2026-10-30T13:47:09.807Z"
    }
  }
}

List events

GET/v1/events

Newest first.

Key roles: Owner, Finance or Developer

Query parameters
typestringOptional

Only this event type (exact type, no wildcard).

limitintegerOptionalDefault 20

Number of objects to return, 1 to 100.

starting_afterstringOptional

Cursor: the ID of the last object of the previous page.

Returns

Returns a list object: data holds up to limit event objects, and has_more tells whether more follow.

Errors worth handling
HTTPCodeDescription
400parameter_invalidA parameter has the wrong type or value. See param.
403permission_deniedThe key’s creator does not have the role required for this operation.
curl "https://api.monerail.com/v1/events?type=collection.succeeded&limit=10" \
  -H "Authorization: Bearer $MONERAIL_KEY"
Response200
{
  "object": "list",
  "url": "/v1/events",
  "data": [
    {
      "id": "3ab70bfc-785d-45ce-99de-fd9ab67e5cd4",
      "object": "event",
      "type": "collection.succeeded",
      "livemode": false,
      "created_at": "2026-10-30T13:47:09.807Z",
      "data": {
        "object": {
          "id": "3b8f6c1e-2a47-4d1b-9e35-7c0a9d2f4e61",
          "object": "collection",
          "livemode": false,
          "status": "succeeded",
          "amount": 5000,
          "currency": "XAF",
          "fee": 125,
          "net": 4875,
          "customer": {
            "name": "Awa Ndiaye",
            "phone": "237670000999",
            "country": "CM"
          },
          "operator": "MTN",
          "description": "Order 42",
          "client_reference": "order_42",
          "metadata": {
            "order_id": "42"
          },
          "next_action": null,
          "failure_code": null,
          "failure_message": null,
          "created_at": "2026-10-30T13:47:06.394Z",
          "updated_at": "2026-10-30T13:47:09.807Z"
        }
      }
    }
  ],
  "has_more": true
}

Retrieve an event

GET/v1/events/{id}

Key roles: Owner, Finance or Developer

Path parameters
idstringRequired

ID of the event.

Returns

Returns the event object.

Errors worth handling
HTTPCodeDescription
403permission_deniedThe key’s creator does not have the role required for this operation.
404resource_missingNo object with this ID in this mode.
curl https://api.monerail.com/v1/events/3ab70bfc-785d-45ce-99de-fd9ab67e5cd4 \
  -H "Authorization: Bearer $MONERAIL_KEY"
Response200
{
  "id": "3ab70bfc-785d-45ce-99de-fd9ab67e5cd4",
  "object": "event",
  "type": "collection.succeeded",
  "livemode": false,
  "created_at": "2026-10-30T13:47:09.807Z",
  "data": {
    "object": {
      "id": "3b8f6c1e-2a47-4d1b-9e35-7c0a9d2f4e61",
      "object": "collection",
      "livemode": false,
      "status": "succeeded",
      "amount": 5000,
      "currency": "XAF",
      "fee": 125,
      "net": 4875,
      "customer": {
        "name": "Awa Ndiaye",
        "phone": "237670000999",
        "country": "CM"
      },
      "operator": "MTN",
      "description": "Order 42",
      "client_reference": "order_42",
      "metadata": {
        "order_id": "42"
      },
      "next_action": null,
      "failure_code": null,
      "failure_message": null,
      "created_at": "2026-10-30T13:47:06.394Z",
      "updated_at": "2026-10-30T13:47:09.807Z"
    }
  }
}

Redeliver an event

POST/v1/events/{id}/retry

Queues a new delivery of the event to every endpoint subscribed to it. redeliveries is the number of endpoints. This is the only way to redeliver an event: the dashboard has no redeliver button. Limited to 10 calls per event per hour.

Key roles: Owner or Developer

Path parameters
idstringRequired

ID of the event.

Returns

Returns { id, object, redeliveries }.

Errors worth handling
HTTPCodeDescription
403permission_deniedThe key’s creator does not have the role required for this operation.
404resource_missingNo object with this ID in this mode.
429rate_limitedA rate limit was reached. Wait for Retry-After seconds. See Rate limits.
curl -X POST https://api.monerail.com/v1/events/3ab70bfc-785d-45ce-99de-fd9ab67e5cd4/retry \
  -H "Authorization: Bearer $MONERAIL_KEY"
Response200
{
  "id": "3ab70bfc-785d-45ce-99de-fd9ab67e5cd4",
  "object": "event",
  "redeliveries": 1
}