{"openapi":"3.1.0","info":{"title":"Riksbank (BYOK) API","version":"0.1.0","description":"Riksbank (BYOK) lets an AI assistant read your own Riksbank data through the Riksbank API with a key you supply (API portal subscription key (primary or secondary)). Read-only: 5 tools (get_latest_observation, get_latest_observations_by_group, get_cross_rate, list_series, list_groups). The BYOK key travels with each request, is used for that one call only and is never stored, logged or cached; it...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-riksbank.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-riksbank/docs"},"termsOfService":"https://connectorbay.com/byok-riksbank/terms"},"servers":[{"url":"https://byok-riksbank.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-riksbank/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_latest_observation":{"post":{"operationId":"get_latest_observation","summary":"Latest published value of one interest rate or exchange rate series, for example the Norwegian krone rate or the Riksban","description":"Latest published value of one interest rate or exchange rate series, for example the Norwegian krone rate or the Riksbank policy rate. The provider documents the call but not the field list, so the answer is returned as sent. Source to cite: Sveriges Riksbank. Use for \"What is the latest SEK to NOK exchange rate\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"series_id":{"description":"Riksbank series id, for example 'seknokpmi' (Norwegian krone against Swedish krona) or 'SECBREPOEFF' (policy rate). List ids with list_series.","maxLength":30,"title":"Series Id","type":"string"}},"required":["series_id"],"title":"get_latest_observationArguments","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_latest_observations_by_group":{"post":{"operationId":"get_latest_observations_by_group","summary":"Latest published values of every series in a group, for example group 130 holds the currencies against the Swedish krona","description":"Latest published values of every series in a group, for example group 130 holds the currencies against the Swedish krona and group 2 the Riksbank key interest rates. The provider documents the call but not the field list, so the answer is returned as sent. Source to cite: Sveriges Riksbank. Use for \"What are the latest exchange rates against the krona\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"group_id":{"description":"Group id, for example 130 (currencies against SEK), 2 (Riksbank key interest rates) or 3 (other Riksbank rates).","minimum":1,"title":"Group Id","type":"integer"}},"required":["group_id"],"title":"get_latest_observations_by_groupArguments","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_cross_rate":{"post":{"operationId":"get_cross_rate","summary":"Cross rate between two foreign currencies on a date, calculated from their rates against the Swedish krona. The provider","description":"Cross rate between two foreign currencies on a date, calculated from their rates against the Swedish krona. The provider documents the call but not the field list, so the answer is returned as sent. Source to cite: Sveriges Riksbank. Use for \"What was the USD to EUR cross rate on 2024-01-23\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"series_id_1":{"description":"First currency series id, for example 'sekusdpmi' (US dollar).","maxLength":30,"title":"Series Id 1","type":"string"},"series_id_2":{"description":"Second currency series id, for example 'sekeurpmi' (euro).","maxLength":30,"title":"Series Id 2","type":"string"},"date":{"description":"Date as YYYY-MM-DD.","maxLength":10,"title":"Date","type":"string"}},"required":["series_id_1","series_id_2","date"],"title":"get_cross_rateArguments","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_series":{"post":{"operationId":"list_series","summary":"List all interest rate and exchange rate series available from the Riksbank, with their ids and group ids. The provider ","description":"List all interest rate and exchange rate series available from the Riksbank, with their ids and group ids. The provider documents the call but not the field list, so the answer is returned as sent. Source to cite: Sveriges Riksbank. Use for \"Which series does the Riksbank API offer\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_seriesArguments","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_groups":{"post":{"operationId":"list_groups","summary":"List the groups the series are organised in, for example currencies against the krona and Riksbank key interest rates. T","description":"List the groups the series are organised in, for example currencies against the krona and Riksbank key interest rates. The provider documents the call but not the field list, so the answer is returned as sent. Source to cite: Sveriges Riksbank. Use for \"Which series groups exist in the Riksbank API\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_groupsArguments","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}}}}