{"openapi":"3.1.0","info":{"title":"Nitrado (BYOK) API","version":"0.1.0","description":"Nitrado (BYOK) lets an AI assistant read your own Nitrado data through the Nitrado API with a key you supply (Nitrado long-life token (read scopes)). Read-only: 12 tools (get_token_info, get_maintenance_status, get_service, get_gameserver, get_gameserver_stats, list_players, list_backups, list_service_tasks, list_service_notifications, list_domains, list_domain_dns_records, list_root_servers)....\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-nitrado.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-nitrado/docs"},"termsOfService":"https://connectorbay.com/byok-nitrado/terms"},"servers":[{"url":"https://byok-nitrado.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-nitrado/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/get_token_info":{"post":{"operationId":"get_token_info","summary":"Show the account behind the token: user name, granted scopes and expiry (no secrets). Use for \"Which Nitrado account doe","description":"Show the account behind the token: user name, granted scopes and expiry (no secrets). Use for \"Which Nitrado account does my token belong to and when does it expire\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_token_infoArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_maintenance_status":{"post":{"operationId":"get_maintenance_status","summary":"Show whether Nitrado's cloud, domain, DNS and traffic backends are currently in maintenance. Use for \"Is Nitrado in main","description":"Show whether Nitrado's cloud, domain, DNS and traffic backends are currently in maintenance. Use for \"Is Nitrado in maintenance right now\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_maintenance_statusArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_service":{"post":{"operationId":"get_service","summary":"Get one service: status, type, comment, game and slot count, start, suspend and delete dates and your role. Use for \"Whe","description":"Get one service: status, type, comment, game and slot count, start, suspend and delete dates and your role. Use for \"When does my Nitrado service 1234567 run out\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"service_id":{"description":"Numeric id of the service (game server, voice server or other product), as shown in the Nitrado web interface.","title":"Service Id","type":"integer"}},"required":["service_id"],"title":"get_serviceArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_gameserver":{"post":{"operationId":"get_gameserver","summary":"Get a game server's running state: status, IP and ports, game, slots, memory, location and live query data. Credentials ","description":"Get a game server's running state: status, IP and ports, game, slots, memory, location and live query data. Credentials are not returned. Use for \"Is my Nitrado game server started and how many players are on it\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"service_id":{"description":"Numeric id of the service (game server, voice server or other product), as shown in the Nitrado web interface.","title":"Service Id","type":"integer"}},"required":["service_id"],"title":"get_gameserverArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_gameserver_stats":{"post":{"operationId":"get_gameserver_stats","summary":"Get time series of current players, max players, CPU and memory use of a game server for the last N hours. Use for \"How ","description":"Get time series of current players, max players, CPU and memory use of a game server for the last N hours. Use for \"How busy was my Nitrado game server over the last day\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"service_id":{"description":"Numeric id of the service (game server, voice server or other product), as shown in the Nitrado web interface.","title":"Service Id","type":"integer"},"hours":{"anyOf":[{"maximum":720,"minimum":1,"type":"integer"},{"type":"null"}],"default":24,"description":"How many past hours of statistics to return (1 to 720).","title":"Hours"}},"required":["service_id"],"title":"get_gameserver_statsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_players":{"post":{"operationId":"list_players","summary":"List players known to a game server with in-game name, id, id type and online flag. Use for \"Who is playing on my Nitrad","description":"List players known to a game server with in-game name, id, id type and online flag. Use for \"Who is playing on my Nitrado server\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"service_id":{"description":"Numeric id of the service (game server, voice server or other product), as shown in the Nitrado web interface.","title":"Service Id","type":"integer"}},"required":["service_id"],"title":"list_playersArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_backups":{"post":{"operationId":"list_backups","summary":"List a game server's stored backups by type, timestamp and size. Use for \"What backups does my Nitrado server have\".","description":"List a game server's stored backups by type, timestamp and size. Use for \"What backups does my Nitrado server have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"service_id":{"description":"Numeric id of the service (game server, voice server or other product), as shown in the Nitrado web interface.","title":"Service Id","type":"integer"}},"required":["service_id"],"title":"list_backupsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_service_tasks":{"post":{"operationId":"list_service_tasks","summary":"List scheduled tasks of a service (restarts and similar) with their schedule, next and last run. Use for \"When does my N","description":"List scheduled tasks of a service (restarts and similar) with their schedule, next and last run. Use for \"When does my Nitrado server restart automatically\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"service_id":{"description":"Numeric id of the service (game server, voice server or other product), as shown in the Nitrado web interface.","title":"Service Id","type":"integer"}},"required":["service_id"],"title":"list_service_tasksArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_service_notifications":{"post":{"operationId":"list_service_notifications","summary":"List active notifications for a service, such as warnings and info messages, with their level and text. Use for \"Does my","description":"List active notifications for a service, such as warnings and info messages, with their level and text. Use for \"Does my Nitrado service have any warnings\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"service_id":{"description":"Numeric id of the service (game server, voice server or other product), as shown in the Nitrado web interface.","title":"Service Id","type":"integer"},"include_dismissed":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to include notifications you already dismissed.","title":"Include Dismissed"}},"required":["service_id"],"title":"list_service_notificationsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_domains":{"post":{"operationId":"list_domains","summary":"List domains registered at Nitrado with status, paid-until date, name servers and linked service. Use for \"Which domains","description":"List domains registered at Nitrado with status, paid-until date, name servers and linked service. Use for \"Which domains do I have at Nitrado and when do they expire\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_domainsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_domain_dns_records":{"post":{"operationId":"list_domain_dns_records","summary":"List the DNS records of a Nitrado domain: type, name, content and whether they were set manually or automatically. Use f","description":"List the DNS records of a Nitrado domain: type, name, content and whether they were set manually or automatically. Use for \"What DNS records does my Nitrado domain example.net have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"domain":{"description":"A domain name registered at Nitrado, for example 'example.net'.","maxLength":200,"title":"Domain","type":"string"}},"required":["domain"],"title":"list_domain_dns_recordsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_root_servers":{"post":{"operationId":"list_root_servers","summary":"List your Nitrado root servers with location, hardware, IP addresses and monthly price. Use for \"Which dedicated root se","description":"List your Nitrado root servers with location, hardware, IP addresses and monthly price. Use for \"Which dedicated root servers do I rent at Nitrado\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number for pagination, starting at 1.","title":"Page"},"results_per_page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many results to return per page (1 to 100).","title":"Results Per Page"}},"title":"list_root_serversArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}