---
title: "Run a cross-signal screen"
method: POST
path: "/screen"
tags: ["equities"]
---

# Run a cross-signal screen

`POST /screen`

## Request

- Base URL: `https://kresmion.com/v1`
- URL: `https://kresmion.com/v1/screen`
- Auth: HTTP bearer

AND-combine filters across seven public signal families (alerts rollup, smart-money composite, insider flow, congressional trades, 13F quarter-over-quarter, options gamma, filing fundamentals) and the valuation group (P/E, P/S, P/B, EV/revenue, EV/operating income, FCF and dividend yield in percent, net debt/operating cash flow; latest close over the newest annual filing, refused values NULL with the reason in `val_refusals`) into one ranked ticker table. Every field, operator, and sort target is drawn from a server-side catalog (GET this path); every value is a bound parameter. Results come from a materialized snapshot refreshed every 15 minutes (valuations daily); `as_of` reports the snapshot's freshness. A ticker missing data for a filtered field is excluded from that filter. Descriptive, not advice.

## Headers

- `authorization` string, nullable

## Request body

- ScreenRequest
  - `filters` Filter[]
    - `field` string, required
    - `op` string, required
    - `value` unknown
  - `sort` string, nullable
  - `direction` string
  - `limit` integer

## Response `200`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

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