Alert ingest API › Events
Send an event
Triggers, acknowledges or resolves an alert.
The integration key may be sent as routing_key in the body, as
?key= in the URL, or as Authorization: Bearer <key> — checked in
that order.
A trigger needs only a summary; everything else has a default.
Acknowledge and resolve find the open alert by dedup_key; when no
open alert has that key, nothing happens and the answer is still 202.
A trigger without a dedup_key gets one derived from its summary and
source, returned in the response — keep it to resolve the alert later.
A trigger whose dedup_key matches an open alert does not open a
second one; it is recorded as a retrigger on the existing alert.
Authorization
integrationKeybearerKey- No authentication
Parameters
Query parameters
keystringThe integration key, when it is not sent asrouting_keyor a bearer token.
Request body required
An event. The nested payload form and the flat fields are
interchangeable; a flat field fills the payload field it names when
that one is empty (title is another name for summary).
routing_keystringThe integration key.event_actionstringdedup_keystringIdentifies the alert. Required for acknowledge and resolve.clientstringAccepted for Events v2 compatibility; not stored.client_urlstringAccepted for Events v2 compatibility; not stored.payloadEventPayloadShow EventPayload properties
summarystringThe alert's title. Required for a trigger.sourcestringWhere it happened. Stored as thesourcelabel.severitySeveritydescriptionstringtimestampstring (date-time)Accepted for Events v2 compatibility; the alert is stamped on arrival.componentstringStored as thecomponentlabel.groupstringStored as thegrouplabel.classstringStored as theclasslabel.custom_detailsobjectEach entry becomes a label, its value as text.
summarystringFlat form ofpayload.summary.titlestringAnother name forsummary.severitySeveritysourcestringFlat form ofpayload.source.descriptionstringThe alert's description.
Responses
202
The event was processed.
dataobject requiredstatusstring requiredmessagestring requireddedup_keystring requiredThe alert's dedup key — the one sent, or the one derived.
successboolean required
400
The body is not JSON, summary is missing on a trigger, dedup_key is missing on an acknowledge or resolve, or event_action is unknown.
How /ingest/api answers a request it did not process. The envelope is
the same as for a success (success is true); read the HTTP status
and data.status to tell them apart.
dataobjectstatusstringmessagestring
successboolean
401
No integration key was sent, or it names no enabled integration.
How /ingest/api answers a request it did not process. The envelope is
the same as for a success (success is true); read the HTTP status
and data.status to tell them apart.
dataobjectstatusstringmessagestring
successboolean
500
The alert could not be created, acknowledged or resolved.
How /ingest/api answers a request it did not process. The envelope is
the same as for a success (success is true); read the HTTP status
and data.status to tell them apart.
dataobjectstatusstringmessagestring
successboolean
503
The key could not be checked right now. Retry after the delay given.
Retry-AfterintegerSeconds to wait before retrying.
How /ingest/api answers a request it did not process. The envelope is
the same as for a success (success is true); read the HTTP status
and data.status to tell them apart.
dataobjectstatusstringmessagestring
successboolean
Example request
curl -X POST 'https://evohub.io/ingest/api?key=<INTEGRATION_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"summary": "Database primary is down",
"routing_key": "YOUR_INTEGRATION_KEY"
}'