---
title: "ev.found"
method: POST
path: "ev.found"
---

# ev.found

`POST ev.found` (webhook)

`ev.found` data: a price on the EV board became tradeable at or above your `min_ev`.

## Headers

- `Owls-Signature` string, required
- `Owls-Webhook-Id` string, required
- `Owls-Event-Type` string, required
- `Owls-Delivery-Attempt` string, required

## Payload

- WebhookEvFoundEvent: An `ev.found` delivery.
  - `api_version` string: The payload version.
  - `created` string: When the event was created (ISO 8601).
  - `data` WebhookEvFoundData: `ev.found` data: a price on the EV board became tradeable at or above your `min_ev`.
    - `away_team` string
    - `board_age_ms` number, double, nullable: The EV board's age in milliseconds when the event was made, or null.
    - `commence_time` string: The scheduled start (ISO 8601).
    - `event_id` string: Our stable id of the game (`{sport}:{away}@{home}-{date}`), the `eventId` the odds board and the history endpoints use; empty when unknown.
    - `home_team` string
    - `league` string, nullable
    - `min_ev` number, double: The endpoint's `min_ev` the price reached.
    - `odds_event_id` string: The game's `id` on the odds board: what the EV endpoint returns as `eventId`.
    - `signal` WebhookEvSignal: The price behind an `ev.found` event, scored like the EV endpoint scores it.
      - `ev` number, double, nullable: The EV in dollars: per $1 staked at a sportsbook, per contract at a venue. Null when it is not scored.
      - `ev_percent` number, double: The EV in percent of the amount at risk, rounded to 2 decimals.
      - `fair_low` number, double, nullable: The conservative fair (the fair less 1 percentage point) the EV is scored against, or null.
      - `fair_probability` number, double, nullable: The fair probability of this side, or null.
      - `fee` number, double: A venue's taker fee per contract, in dollars; 0 for a sportsbook.
      - `implied_probability` number, double: The implied probability of `price`.
      - `kind` string: `ev.found` price kinds: `book` (a sportsbook) or `venue` (an exchange or prediction market).
      - `link` string, nullable: The venue's page for the market, or null.
      - `price` number, double: American odds of the price you pay (a venue's ask).
      - `quote_age_ms` number, double, nullable: The price's age in milliseconds when the EV board was built, or null.
      - `route` string, nullable: A venue's route: `yes`, or `no:<CODE>` (buy NO on the opponent's market); null for a sportsbook.
      - `side` string
      - `size` number, double, nullable: Dollars available at `price`, or null when unknown.
      - `team` string
      - `venue` string: The sportsbook or venue key.
    - `sport` string
  - `endpoint_id` string: The endpoint it was sent to, `whk_...`.
  - `expires_at` string: No delivery is attempted after this (ISO 8601).
  - `id` string: The event id, `evt_...`: identical on every retry and in the `Owls-Webhook-Id` header. Dedupe on it.
  - `occurred_at` string: When what it reports happened, as far as is known (ISO 8601).
  - `type` string: The event type; a type added later arrives as a string this version does not list.

## Acknowledgement `2XX`

Any 2xx within 10 seconds acknowledges the delivery. 410 Gone disables the endpoint. Anything else, a redirect included, is a failure: line.moved and ev.found are retried after about 5, 20 and 60 seconds, the other types up to 8 times over about a day, and nothing is sent after the event's expires_at.

---

[API](https://skmtc.dev/owlsinsight/apis/owls-insight-api.md) · [All operations](https://skmtc.dev/owlsinsight/apis/owls-insight-api/llms.txt) · [OpenAPI document](https://skmtc.dev/owlsinsight/apis/owls-insight-api/revisions/76c1ea016ff1?raw)
