---
title: "Runtime config for a tenant host, as JSON"
method: GET
path: "/_run402/config.json"
tags: ["Stable Hosts"]
---

# Runtime config for a tenant host, as JSON

`GET /_run402/config.json`

## Request

- Base URL: `https://api.run402.com`
- URL: `https://api.run402.com/_run402/config.json`
- Auth: none required

The same object `/_run402/config.js` assigns, as JSON. `Cache-Control: public, max-age=60`. Never carries `service_key`. Not served from api.run402.com.

## Response `200`

Runtime config for this tenant host.

- TenantRuntimeConfig
  - `project_id` string, required: Run402 project ID. Public IDs are not UUIDs.
  - `api_base` string, uri, required
  - `anon_key` string, required: The project's public anon key (a JWT). Public by design; the service key is never served here.
  - `mcp_url` string, uri, nullable: The URL to give an MCP client (ChatGPT, Claude, Codex) to connect to this app: this host's /_run402/mcp, or on a *.run402.com host the same app's *.run402.app address (sign-in cannot complete on run402.com); null when there is none.

## Other responses

- `404`: The host resolves to no project.

---

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