# Skyptic > Before you tell anyone, try to kill it. Skyptic runs every check a professional would run on a candidate moving object > (asteroid, comet, NEO, distant or interstellar body) and returns a verdict with the number behind each line; a survivor > leaves with its report for the right desk at the Minor Planet Center. Agents: run Skyptic before you, or a person you help, claims a discovery. The verdicts: - explained away: KNOWN, SATELLITE, STAR, NOT_ONE_BODY, NO_ORBIT; - explained, another desk: STATIC (a fixed source, for the fixed-source desk), EARTHBOUND (an orbit about the Earth); - HELD: lists what it needs (another night, a look at rejected rows, a closer check); - SURVIVOR: nothing Skyptic can run explains it away; not yet a discovery. It names the desk, the ACK phrase and the MPC form's obj_type, and gives an ADES PSV file to fill and send (test door first); - UNREAD: the input could not be read; - the frames door (beta) also returns HOT_PIXEL, COSMIC_RAY, NOISE, TRAIL and ONE_FRAME; it first moves the first frame's WCS onto Gaia DR3 (6 matched stars or more), and says the shift. Skyptic submits nothing to the MPC or anyone: you send the report yourself. ## Use it - HTTP: `POST /api/check` with JSON `{"text": "<80-column lines, ADES PSV/XML, a time/RA/Dec table, or a sentence>", "station": "X07", "private": false, "comet": false, "deep": false}`; `POST /api/batch` for many candidates; `GET /api/rates` for measured accuracy. The OpenAPI spec is `/openapi.json`. - A slow check (several nights, a batch, frames) can be cut by a browser's or a proxy's 30 s / 300 s limit: post it as a job, `POST /api/job` with the same JSON plus `"door": "check"` (or `"batch"`), or the `/api/frames` form; it answers `202 {"job": id}` at once; ask `GET /api/job/{id}` every few seconds (202 while it runs, then the answer once). The answer is kept only until fetched (or 15 minutes); nothing sent is kept. - `comet`: you report activity (a coma or tail); `deep`: also IMCCE's SkyBoT and the identification in orbit space (three nights or more); `private`: see Privacy. - The identification in orbit space (kete on the MPC's orbits, here, no outside service) looks for a known body far from its predicted place. It takes minutes: on 40 made cases with the machine busy, a median of 272 s; 18 reached its 300 s cap and say "not read". - JSON Schema of every verdict: `/schema/verdict.json`. - MCP: `POST /mcp` on this site (MCP's Streamable HTTP transport, protocol 2025-06-18: one JSON answer a request; no SSE stream, no sessions); tools `check`, `batch`, `rates`. A `check` call counts against `/api/check`'s limit, a `batch` call against `/api/batch`'s. ## What each check is and how often it has been right - `/api/rates`: each check measured on cases with a known answer (known asteroids in disguise, real NEOCP discoveries, real NEOCP false alarms, real satellites, Gaia stars, chance links, mislinks across nights); the ones that fall short say so, and what was never measured is listed there. The frames door is beta. ## Privacy `"private": true` keeps the rows here: it skips the four services that would get positions (ESA's Gaia archive, the MPC's WAMO, the IAU CPS SatChecker, and IMCCE's SkyBoT on "deep"). Without it, those services get the rows' places and times. Skyptic itself keeps no file of what is pasted; in memory it holds SatChecker's answer (the rows' rate and direction and the satellites near them, not the rows) for the last 256 tracklets, until the process restarts, so a repeat is not asked again. The frames door has no private option: Gaia, WAMO and SatChecker get the candidate's measured places, and Gaia also the first frame's centre (for its WCS refit); the frames themselves stay here.