Как дела у сайта
site_statusHow a site is doing: where it is built from, whether the address is answering, and how the latest build ended.
One call instead of three (project, deploys, live check of the address).
`source` / `repo` / `branch` / `root_directory` say where the project is
built from — a connected repository means deploys go through git.
`serving` is true when the SITE ITSELF answered — any response that is
not a Layero platform screen and not a 5xx. An API server that has no
`/` route answers with its own 404: that is a running app, not a broken
site — check a real route with `path`. `answered_by` tells who replied:
`site`, `platform` (a Layero screen, named in `platform_screen`:
`unavailable`, `coming-soon`, `starting`, `not-found`, `suspended`) or
`none` (no response). Redirects are not followed: `redirect_to` shows
the target.
Waiting for a build: while the latest build is running the answer carries
`poll_after_s` — call again after that many seconds. Or pass `wait_s` and
the server waits for the build itself (mind your client's tool-call
timeout, see the argument). `waited_s` says how long the call waited.
Static sites: `served_fallback: true` means the requested `path` was
answered with the HOME page (a missing file is replaced by `index.html`
with code 200) — the address answers, but this page does not exist.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"project": "<project>"
},
"name": "site_status"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | Path to check on the site, from its root. Default `/`. For an API server with no `/` route pass a route that exists, e.g. `/api/health` or `/healthz`. | / |
| wait_s | No | Wait for a running build: if the latest build is queued/building, the call holds until it finishes or `wait_s` seconds pass, then answers as usual. Default 0 — answer at once. At most 120. 🚨 Your client has its own tool-call timeout, often 60 s (Cursor, Codex): stay under it — 45 is safe everywhere — or the call is cut on your side while the build carries on. Still building afterwards → call again. | |
| project | Yes | The project: its slug (`my-site`) or id, as listed by `my_projects`. The site address works too (`https://clear-garden-vypm.layero.app` or just `clear-garden-vypm`) — note that the address host is NOT always the slug. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| repo | No | ||
| branch | No | ||
| source | Yes | ||
| project | Yes | ||
| serving | Yes | ||
| provider | No | ||
| waited_s | No | ||
| http_code | Yes | ||
| last_error | Yes | ||
| answered_by | Yes | ||
| checked_url | Yes | ||
| next_action | Yes | ||
| redirect_to | No | ||
| poll_after_s | No | ||
| project_type | No | ||
| last_deploy_id | No | ||
| root_directory | No | ||
| rules_warnings | No | ||
| platform_screen | No | ||
| served_fallback | No | ||
| last_deploy_stage | Yes | ||
| last_deploy_status | Yes |