reference/setup-response.md
Setup Response Reference
Endpoint:
GET /api/v1/system/setup
Example
{
"success": true,
"data": {
"serverId": "...",
"apiKey": "mino_sk_...",
"setupComplete": false,
"version": "0.1.0",
"auth": {
"method": "api-key",
"header": "X-Mino-Key",
"note": "Use this header for all protected API endpoints"
},
"pairing": {
"mode": "relay",
"relayCode": "ABCD1234",
"relayUrl": "https://relay.mino.ink"
},
"server": {
"url": "http://localhost:3000",
"port": 3000,
"host": "0.0.0.0",
"cors": ["https://mino.ink", "https://test.mino.ink", "http://localhost:3000", "http://localhost:5173"]
},
"links": {
"setupApi": "http://localhost:3000/api/v1/system/setup",
"health": "http://localhost:3000/api/v1/health",
"apiBase": "https://relay.mino.ink/r/<serverId>/api/v1",
"directApiBase": "http://localhost:3000/api/v1",
"relayApiBase": "https://relay.mino.ink/r/<serverId>/api/v1",
"connect": {
"testMinoInk": "https://test.mino.ink/link?relayCode=...",
"minoInk": "https://mino.ink/link?relayCode=..."
}
},
"instructions": [
"Copy your API key — it will be redacted after setup.",
"Open one of the connect links to prefill server details.",
"If prefill is unavailable, paste server URL and API key manually.",
"Then call POST /api/v1/auth/link to mark setup complete."
]
}
}
Field Notes
apiKeyFull value only whilesetupComplete=false.auth.headerRequired header name for protected API requests.server.urlCanonical base URL detected from request context.pairing.moderelay(default) oropen-port.pairing.relayCodeOne-click code used by/linkto exchange relay connection info.links.connect.*Prefilled URLs for production/test/local clients.- Client contract for these URLs:
./link-handler-spec.md