---
title: "What one es-python machine's runs reported since a moment, for failing a CI build"
method: GET
path: "/api/ci/findings/"
tags: ["CI"]
---

# What one es-python machine's runs reported since a moment, for failing a CI build

`GET /api/ci/findings/`

## Request

- Base URL: `https://eyalsec.com`
- URL: `https://eyalsec.com/api/ci/findings/`
- Auth: one of:
  - API key in header `X-API-Key`
  - API key in cookie `__Host-es2session`

Lists the es-python events that programs on one machine reported at or after since, and counts those at or above min_severity. An event counts when one of the machine's runs reached it inside the window, even if an earlier run had reached it too; new marks the ones no run had reached before the window. Only events the es-python events page would show are counted: your product access, monthly event quota, saved filters, your global and this machine's Hide rules and the live (not suppressed) bucket all apply, so a finding you hid or that was suppressed never fails a build. The value that reached the sink is not returned, because CI logs are often public; open the event on the dashboard (url) to see it. Add format=text for key=value lines that a shell script can read without a JSON parser. 404 when no es-python machine has that name, 409 when more than one does, 403 without es-python on your account.

This is a **read**: a read-only API key may call it.

## Query parameters

- `machine` string, required
- `since` string, required
- `min_severity` string
- `limit` integer
- `format` string

## Response `200`

OK.

- object

## Other responses

- `401`: The API key is missing, wrong, revoked or expired.
- `429`: A rate limit was hit, or the account is locked after wrong passwords. Retry-After gives the seconds to wait.
- `default`: An error. Check the status first; the body carries a short message, as JSON ({"error": "..."}) on most endpoints and as plain text on some. 400: malformed JSON, an invalid regex, an unreadable cursor or date, or an unknown value. 401: the API key is missing, wrong, revoked or expired. 403: a failed CSRF check, a read-only key trying to write, a product or feature not enabled on your account, a wrong password, or a write on an account limited to reading. 404: not found, including things that belong to another account. 409: conflict with the current state. 422: a field is missing or invalid. 429: a rate limit was hit, or the account is locked after wrong passwords. 500: something failed on our side.

---

[API](https://skmtc.dev/eyalsec/apis/eyalsec-api.md) · [All operations](https://skmtc.dev/eyalsec/apis/eyalsec-api/llms.txt) · [OpenAPI document](https://skmtc.dev/eyalsec/apis/eyalsec-api/revisions/dc7520689cf1?raw)
