# probe 2 routes, from the API’s own OpenAPI document. URL: https://docs.qaldy.com/reference/api/probe/ 2 routes. Every path starts at `https://cloud-api.qaldy.com`. Sign-in, tokens, errors and limits are on the [overview](https://docs.qaldy.com/reference/api/). ## Routes | Method | Path | What it does | |---|---|---| | [[GET]] | [`/​v1/​apps/​{id}/​probe`](#get-v1-apps-id-probe) | The last exposure check of the current version, and whether a public link may open | | [[POST]] | [`/​v1/​apps/​{id}/​probe`](#post-v1-apps-id-probe) | Run the exposure check again on the current version (owner and editors) | ## Reference ### [[GET]] `/v1/apps/{id}/probe` The last exposure check of the current version, and whether a public link may open. - **Authentication:** the console’s session cookie. - **Token:** a personal access token or an MCP sign-in with the `read` scope. - **Who:** `can_view`; tokens: yes, read scope | Parameter | In | Type | Required | Notes | |---|---|---|---|---| | `id` | path | string | yes | 1 to 128 characters | **Response 200** | Field | Type | Required | Notes | |---|---|---|---| | `appId` | string | yes | | | `currentVersionId` | string or null | yes | | | `probe` | object or null | yes | | | `probe.id` | string | yes | 1 to 128 characters | | `probe.appId` | string | yes | 1 to 128 characters | | `probe.versionId` | string | yes | 1 to 128 characters | | `probe.status` | "running" · "complete" · "skipped" · "unavailable" | yes | | | `probe.trigger` | "deploy" · "owner" · "share" | yes | | | `probe.startedAt` | string (date-time) | yes | | | `probe.finishedAt` | string (date-time) or null | yes | | | `probe.verdict` | "clear" · "review" · "blocked" · null or null | yes | | | `probe.internalVerdict` | "clear" · "review" · "blocked" · null or null | yes | | | `probe.counts` | object or null | yes | | | `probe.report` | object or null | yes | | | `probe.note` | string or null | yes | up to 320 characters | | `probe.errorCode` | string or null | yes | up to 64 characters | | `gate` | object | yes | | | `gate.state` | "ready" · "needs_check" · "stale" · "running" · "blocked" · "unavailable" | yes | | | `gate.probeId` | string or null | yes | | | `gate.reason` | string or null | yes | up to 400 characters | | `canRun` | boolean | yes | | | `retryAfterSeconds` | integer or null | yes | at least 0 | | `trust` | object or null | yes | | | `trust.score` | integer | yes | 0 to 100 | | `trust.band` | "pass" · "review" · "fail" | yes | | | `trust.base` | integer | yes | 0 to 100 | | `trust.cap` | integer or null | yes | 0 to 100 | Errors: `400`, `401`, `403`, `404`, `409`, `429` (the error format is on the [overview](https://docs.qaldy.com/reference/api/#errors)). ### [[POST]] `/v1/apps/{id}/probe` Run the exposure check again on the current version (owner and editors). - **Authentication:** the console’s session cookie. - **Token:** a personal access token or an MCP sign-in with the `write` scope. - **Who:** `can_edit`; rate limited (30 s between runs, 12 an hour); tokens: yes, write scope | Parameter | In | Type | Required | Notes | |---|---|---|---|---| | `id` | path | string | yes | 1 to 128 characters | **Request body** (`application/json`) An empty object: `{}`. **Response 200** | Field | Type | Required | Notes | |---|---|---|---| | `appId` | string | yes | | | `currentVersionId` | string or null | yes | | | `probe` | object or null | yes | | | `probe.id` | string | yes | 1 to 128 characters | | `probe.appId` | string | yes | 1 to 128 characters | | `probe.versionId` | string | yes | 1 to 128 characters | | `probe.status` | "running" · "complete" · "skipped" · "unavailable" | yes | | | `probe.trigger` | "deploy" · "owner" · "share" | yes | | | `probe.startedAt` | string (date-time) | yes | | | `probe.finishedAt` | string (date-time) or null | yes | | | `probe.verdict` | "clear" · "review" · "blocked" · null or null | yes | | | `probe.internalVerdict` | "clear" · "review" · "blocked" · null or null | yes | | | `probe.counts` | object or null | yes | | | `probe.report` | object or null | yes | | | `probe.note` | string or null | yes | up to 320 characters | | `probe.errorCode` | string or null | yes | up to 64 characters | | `gate` | object | yes | | | `gate.state` | "ready" · "needs_check" · "stale" · "running" · "blocked" · "unavailable" | yes | | | `gate.probeId` | string or null | yes | | | `gate.reason` | string or null | yes | up to 400 characters | | `canRun` | boolean | yes | | | `retryAfterSeconds` | integer or null | yes | at least 0 | | `trust` | object or null | yes | | | `trust.score` | integer | yes | 0 to 100 | | `trust.band` | "pass" · "review" · "fail" | yes | | | `trust.base` | integer | yes | 0 to 100 | | `trust.cap` | integer or null | yes | 0 to 100 | Errors: `400`, `401`, `403`, `404`, `409`, `429` (the error format is on the [overview](https://docs.qaldy.com/reference/api/#errors)).