Common infos

The base URL for all requests is

You always need to send a valid API key in the Authorization header.

The event endpoint

POST to /event

The endpoint accepts JSON (content-type: application/json) or URI-encoded query params (?job=example).

Required fields:

fieldexpected typedescription
job(string)A name that you decide to identify a job. It is shown on the dashboard.

Optional fields:

fieldexpected typedescription
id(string)An identifier to update the event by another request.
rows(number)If you want to save how many rows an event created.
size(number)If you want to save the size of a file for instance.
errors(string)Errors you want to save with the event.


The endpoint does not return a response object, but only a 200 status code, if the request was successful.

Possible errors are 400 for missing fields, 403 for an invalid authorization, 429 for the rate limit or 500 for internal errors.


There is a rate limit of 120 events per hour.

Number fields are saved as big integers (8bytes) and can store -+9223372036854775807.

Request payload/body cannot be larger than 10KB.


Node.js with fetch:

fetch('', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
Authorization: 'xxxxxxxxx',
body: JSON.stringify({ job: 'backup.mysql' }),

Curl with query params:

curl --request POST \
--url '' \
--header 'Authorization: xxxxxxxx'

Curl sends a JSON body:

curl --request POST \
--url \
--header 'Authorization: xxxxxxxxx' \
--header 'Content-Type: application/json' \
--data '{
"job": "backup.mysql"