GET /v1/rejected-events #
Events refused by POST /v1/events, newest first
Every event POST /v1/events (or the corrections route) answered rejected is kept here, so a developer can see later what went wrong: the error_code and the API's
error_message, the meter code and customer id as sent, the event time and the idempotency key. The properties and the quantity are never kept. The log of a tenant (an
environment) holds the last 14 days and at most 10 000 rows, the oldest dropped first. A row is written just after the answer, best effort: it can be a moment late,
and a rejection is missing when the database could not take the write or a burst of rejections outran the writer. Needs the usage:read permission.
Parameters
| Name | In | Type | Description |
|---|
error_code | query | string | One of the error codes of `POST /v1/events` |
meter | query | string | A meter code, as sent |
page_size | query | integer | |
page_token | query | string | |
Responses
Example response
{
"events": [
{
"id": "0192f0b4-6f6e-7c3a-9a3e-6a1f2b3c4d5e",
"error_code": "string",
"error_message": "string",
"meter_code": "string",
"customer_external_id": "string",
"event_time": "2026-11-03T10:15:00Z",
"received_time": "2026-11-03T10:15:00Z",
"idempotency_key": "string"
}
],
"next_page_token": "string"
}
curl
curl -X GET https://YOUR-API-ADDRESS/v1/rejected-events \
-H "Authorization: Bearer $PAYRUDDER_API_KEY"
GET /v1/rejected-events/summary #
Rejected events of the last 24 hours, by error code and by hour
Counts from the same log as listRejectedEvents. Only the rejected side is here: the number of accepted events per hour is not kept anywhere cheap to read, so there is
no accepted-versus-rejected ratio. Needs the usage:read permission.
Responses
Example response
{
"total": 1,
"by_code": [
{
"error_code": "string",
"count": 1
}
],
"hourly": [
{
"hour": "2026-11-03T10:15:00Z",
"rejected": 1
}
]
}
curl
curl -X GET https://YOUR-API-ADDRESS/v1/rejected-events/summary \
-H "Authorization: Bearer $PAYRUDDER_API_KEY"