What it is for
Reading the errors from outside meulog. It takes errors in through six doors and used to give none back: whoever wanted to build their own dashboard, feed a bot or join errors to business data had to open the SQLite file from the side.
Authentication
Header Authorization: Bearer <server token>. The token is on the
project screen.
The public token does not read. It goes into the page JavaScript, where any visitor can find it: with it able to read, one customer errors would go out to anyone who opened the site source.
The two addresses
-
GET /api/v1/errors: the error groups, in the same shape as the screen. It takes the same filters as the URL (from,to,class,env,version,status,category,q), pluslimit(default 50, cap 200) andorder(occurrences,customers,last,first). -
GET /api/v1/errors/:fingerprint: one error with the stack and the ten most recent occurrences.
What it returns, and what it does not
It returns error groups with counts, not occurrences one by one: whoever builds a chart
does not need customer data. The occurrences under latest carry no user
name and no company, for the same reason.
meulog was born in Portuguese, and there are compiled clients in the field sending
classe and mensagem: a Delphi executable does not update in
the same deploy as the server. So every door takes both names on the way in, and the
Portuguese routes (/api/v1/eventos, /api/v1/erros) answer as
aliases. Only English comes back out.
The limit that matters
A project token reads that project only. A customer reporting through the API cannot reach a neighbour errors with the same key.