---
title: "Public infrastructure probe for the OSS first-run setup screen."
method: GET
path: "/api/setup-checks/"
tags: ["api"]
---

# Public infrastructure probe for the OSS first-run setup screen.

`GET /api/setup-checks/`

## Request

- Base URL: `http://localhost:8000`
- URL: `http://localhost:8000/api/setup-checks/`
- Auth: one of:
  - API key in header `X-Api-Key`
  - API key in header `X-Secret-Key`

Returns ``{"status": "ok"|"issues", "mode": ..., "setup":
"standalone"|"distributed"|"helm", "collector_http_url": ...,
"account_exists": true|false, "checks": [...]}``. No auth — it runs
before anyone can sign in. Self-hosted only:
on cloud and EE the route answers 404, so neither the internal service
topology nor the outbound probes it triggers are reachable by an
anonymous caller.

## Response `200`

OK

- SetupChecksResponse
  - `status` boolean
  - `result` SetupChecksResult, required
    - `status` 'ok' | 'issues', required
    - `mode` 'live' | 'experiment', required
    - `setup` 'standalone' | 'distributed' | 'helm', required
    - `collector_http_url` string, required
    - `account_exists` boolean, required
    - `checks` SetupCheck[], required
      - `id` string, required
      - `label` string, required
      - `status` 'passed' | 'warning' | 'failed' | 'skipped', required
      - `required` boolean, required
      - `detail` string, required
      - `fix` string, required
      - `docs_url` string, required

## Other responses

- `404`: Not Found
- `500`: Internal Server Error
- `default`: Default error response

---

[API](https://skmtc.dev/futureagi/apis/future-agi-management-api.md) · [All operations](https://skmtc.dev/futureagi/apis/future-agi-management-api/llms.txt) · [OpenAPI document](https://skmtc.dev/futureagi/apis/future-agi-management-api/revisions/c8684118e142?raw)
