{"openapi":"3.1.0","info":{"title":"New Relic Dashboards (BYOK) API","version":"0.1.0","description":"New Relic Dashboards (BYOK) lets an AI assistant read your own New Relic Dashboards data through the New Relic Dashboards API with a key you supply (New Relic user API key (US data center)). Read-only: 5 tools (search_dashboards, get_dashboard, get_dashboard_variables, search_workloads, get_workload). The BYOK key travels with each request, is used for that one call only and is never stored,...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-newrelic-dashboards.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-newrelic-dashboards/docs"},"termsOfService":"https://connectorbay.com/byok-newrelic-dashboards/terms"},"servers":[{"url":"https://byok-newrelic-dashboards.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-newrelic-dashboards/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/search_dashboards":{"post":{"operationId":"search_dashboards","summary":"Search dashboards by name across the accounts the key can read: GUID, name, account id, permissions, parent dashboard an","description":"Search dashboards by name across the accounts the key can read: GUID, name, account id, permissions, parent dashboard and timestamps. Page with the cursor. Use for \"Which New Relic dashboards mention checkout\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only entities whose name matches this text; leave empty for all.","title":"Name"},"cursor":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from nextCursor of the previous answer to get the next page; leave empty for the first page.","title":"Cursor"}},"title":"search_dashboardsArguments","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_dashboard":{"post":{"operationId":"get_dashboard","summary":"Get one dashboard by GUID: name, description, permissions and each page with its widgets (id, title and visualization id","description":"Get one dashboard by GUID: name, description, permissions and each page with its widgets (id, title and visualization id). Widget queries are not requested. Use for \"What pages and widgets does this New Relic dashboard have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"guid":{"description":"Entity GUID (a long base64 text) from the search tool, for example MTIzNDU2N3xWSVp8REFTSEJPQVJEfDEyMzQ.","maxLength":200,"title":"Guid","type":"string"}},"required":["guid"],"title":"get_dashboardArguments","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_dashboard_variables":{"post":{"operationId":"get_dashboard_variables","summary":"Get the template variables of a dashboard: name, title, type, whether several values can be chosen, default values and t","description":"Get the template variables of a dashboard: name, title, type, whether several values can be chosen, default values and the query that fills the choices. Use for \"Which template variables does this New Relic dashboard define\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"guid":{"description":"Entity GUID (a long base64 text) from the search tool, for example MTIzNDU2N3xWSVp8REFTSEJPQVJEfDEyMzQ.","maxLength":200,"title":"Guid","type":"string"}},"required":["guid"],"title":"get_dashboard_variablesArguments","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/search_workloads":{"post":{"operationId":"search_workloads","summary":"Search workloads (custom groups of entities) by name: GUID, name, account id, alert severity and timestamps. Page with t","description":"Search workloads (custom groups of entities) by name: GUID, name, account id, alert severity and timestamps. Page with the cursor. Use for \"Which workloads exist in my New Relic account\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only entities whose name matches this text; leave empty for all.","title":"Name"},"cursor":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from nextCursor of the previous answer to get the next page; leave empty for the first page.","title":"Cursor"}},"title":"search_workloadsArguments","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_workload":{"post":{"operationId":"get_workload","summary":"Get one workload by GUID: name, timestamps, status (value, source, summary) and tags. Use for \"What is the status of thi","description":"Get one workload by GUID: name, timestamps, status (value, source, summary) and tags. Use for \"What is the status of this New Relic workload\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"guid":{"description":"Entity GUID (a long base64 text) from the search tool, for example MTIzNDU2N3xWSVp8REFTSEJPQVJEfDEyMzQ.","maxLength":200,"title":"Guid","type":"string"}},"required":["guid"],"title":"get_workloadArguments","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}}}}