{"openapi":"3.1.0","info":{"title":"Datawrapper (BYOK) API","version":"0.1.0","description":"Datawrapper (BYOK) lets an AI assistant read your own Datawrapper data through the Datawrapper API with a key you supply (Datawrapper API token). Read-only: 11 tools (get_me, list_charts, get_chart, list_recently_edited_charts, list_recently_published_charts, get_chart_display_urls, get_chart_embed_codes, get_chart_publish_status, list_folders, list_themes, list_basemaps). The BYOK key travels...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-datawrapper.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-datawrapper/docs"},"termsOfService":"https://connectorbay.com/byok-datawrapper/terms"},"servers":[{"url":"https://byok-datawrapper.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-datawrapper/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_me":{"post":{"operationId":"get_me","summary":"Show the account the token belongs to: id, name and language. Use for \"Which Datawrapper account is my token for\".","description":"Show the account the token belongs to: id, name and language. Use for \"Which Datawrapper account is my token for\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_meArguments","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_charts":{"post":{"operationId":"list_charts","summary":"Search and filter your visualizations (charts, maps, tables) by author, folder, team, workspace, published state or titl","description":"Search and filter your visualizations (charts, maps, tables) by author, folder, team, workspace, published state or title; paged. Use for \"Which Datawrapper charts have I published\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"user_id":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Author user id, 'me' or 'all'.","title":"User Id"},"author_id":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Author user id, 'me' or 'all'.","title":"Author Id"},"published":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True to list only published charts, false for unpublished.","title":"Published"},"search":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Text to find in chart titles.","title":"Search"},"folder_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"description":"List charts inside this folder id.","title":"Folder Id"},"team_id":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"List charts belonging to this team id; 'null' for private charts.","title":"Team Id"},"workspace":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Workspace slug to filter by; leave out for your personal workspace.","title":"Workspace"},"order":{"anyOf":[{"enum":["ASC","DESC"],"type":"string"},{"type":"null"}],"default":null,"description":"Sort direction.","title":"Order"},"order_by":{"anyOf":[{"enum":["authorId","createdAt","lastEditStep","lastModifiedAt","publishedAt","title","type","locale","teamId","chartId","theme"],"type":"string"},{"type":"null"}],"default":null,"description":"Sort field.","title":"Order By"},"limit":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Maximum items to return (default 100).","title":"Limit"},"offset":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Number of items to skip, for paging.","title":"Offset"},"min_last_edit_step":{"anyOf":[{"maximum":5,"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Only charts last opened in this editor step or later (1 upload, 2 describe, 3 visualize, 5 published).","title":"Min Last Edit Step"},"open_comments":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True to include the count of open comments per chart.","title":"Open Comments"},"deleted":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True to list only deleted charts.","title":"Deleted"}},"title":"list_chartsArguments","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_chart":{"post":{"operationId":"get_chart","summary":"Get one visualization: title, type, theme, language, team, folder, author, edit and publish state and thumbnails. Use fo","description":"Get one visualization: title, type, theme, language, team, folder, author, edit and publish state and thumbnails. Use for \"Show Datawrapper chart aBc12\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"chart_id":{"description":"Datawrapper chart id, a 5-character code such as aBc12 (list_charts returns it).","maxLength":200,"title":"Chart Id","type":"string"},"published":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True to return the published version of the chart.","title":"Published"},"open_comments":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True to include the count of open comments.","title":"Open Comments"},"workspace_team_settings":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True to include the workspace and team settings visible to the front end.","title":"Workspace Team Settings"},"deleted":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True to find the chart among deleted ones.","title":"Deleted"}},"required":["chart_id"],"title":"get_chartArguments","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_recently_edited_charts":{"post":{"operationId":"list_recently_edited_charts","summary":"List the charts you edited most recently in a workspace. Use for \"What did I edit recently in Datawrapper\".","description":"List the charts you edited most recently in a workspace. Use for \"What did I edit recently in Datawrapper\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"workspace":{"description":"Workspace slug whose charts to list, for example my-team.","maxLength":200,"title":"Workspace","type":"string"},"limit":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Maximum items to return (default 100).","title":"Limit"},"offset":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Number of items to skip, for paging.","title":"Offset"},"min_last_edit_step":{"anyOf":[{"maximum":5,"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Only charts last opened in this editor step or later (1 upload, 2 describe, 3 visualize, 5 published).","title":"Min Last Edit Step"}},"required":["workspace"],"title":"list_recently_edited_chartsArguments","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_recently_published_charts":{"post":{"operationId":"list_recently_published_charts","summary":"List the charts you published most recently in a workspace. Use for \"What did I publish recently in Datawrapper\".","description":"List the charts you published most recently in a workspace. Use for \"What did I publish recently in Datawrapper\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"workspace":{"description":"Workspace slug whose charts to list, for example my-team.","maxLength":200,"title":"Workspace","type":"string"},"limit":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Maximum items to return (default 100).","title":"Limit"},"offset":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Number of items to skip, for paging.","title":"Offset"},"min_last_edit_step":{"anyOf":[{"maximum":5,"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Only charts last opened in this editor step or later (1 upload, 2 describe, 3 visualize, 5 published).","title":"Min Last Edit Step"}},"required":["workspace"],"title":"list_recently_published_chartsArguments","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_chart_display_urls":{"post":{"operationId":"get_chart_display_urls","summary":"List the public display URLs (live and versioned) of a chart. Use for \"Which display URLs does Datawrapper chart aBc12 h","description":"List the public display URLs (live and versioned) of a chart. Use for \"Which display URLs does Datawrapper chart aBc12 have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"chart_id":{"description":"Datawrapper chart id, a 5-character code such as aBc12 (list_charts returns it).","maxLength":200,"title":"Chart Id","type":"string"}},"required":["chart_id"],"title":"get_chart_display_urlsArguments","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_chart_embed_codes":{"post":{"operationId":"get_chart_embed_codes","summary":"List the embed code snippets (responsive iframe, script and more) of a published chart. Use for \"Give me the embed code ","description":"List the embed code snippets (responsive iframe, script and more) of a published chart. Use for \"Give me the embed code for Datawrapper chart aBc12\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"chart_id":{"description":"Datawrapper chart id, a 5-character code such as aBc12 (list_charts returns it).","maxLength":200,"title":"Chart Id","type":"string"}},"required":["chart_id"],"title":"get_chart_embed_codesArguments","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_chart_publish_status":{"post":{"operationId":"get_chart_publish_status","summary":"Get the progress steps of publishing one version of a chart. Use for \"Is version 3 of Datawrapper chart aBc12 published ","description":"Get the progress steps of publishing one version of a chart. Use for \"Is version 3 of Datawrapper chart aBc12 published yet\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"chart_id":{"description":"Datawrapper chart id, a 5-character code such as aBc12 (list_charts returns it).","maxLength":200,"title":"Chart Id","type":"string"},"version":{"description":"Publish version number of the chart, for example 3.","title":"Version","type":"integer"}},"required":["chart_id","version"],"title":"get_chart_publish_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/list_folders":{"post":{"operationId":"list_folders","summary":"List your folders and workspaces with their charts (add compact for just the chart counts). Use for \"Which Datawrapper f","description":"List your folders and workspaces with their charts (add compact for just the chart counts). Use for \"Which Datawrapper folders do I have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"compact":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Any value, for example 1, to return only chart counts per folder instead of full chart info.","title":"Compact"},"workspace":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Workspace slug to filter by.","title":"Workspace"}},"title":"list_foldersArguments","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_themes":{"post":{"operationId":"list_themes","summary":"List the chart themes available to you, optionally for one team or workspace. Use for \"Which Datawrapper themes can I us","description":"List the chart themes available to you, optionally for one team or workspace. Use for \"Which Datawrapper themes can I use\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Maximum items to return (default 100).","title":"Limit"},"offset":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Number of items to skip, for paging.","title":"Offset"},"deleted":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True to include deleted themes.","title":"Deleted"},"workspace":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Workspace slug to filter by.","title":"Workspace"},"team_id":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Team id to filter by.","title":"Team Id"}},"title":"list_themesArguments","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_basemaps":{"post":{"operationId":"list_basemaps","summary":"List the map basemaps available to you, optionally for one workspace or chart. Use for \"Which Datawrapper basemaps can I","description":"List the map basemaps available to you, optionally for one workspace or chart. Use for \"Which Datawrapper basemaps can I use\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"workspace":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Workspace slug to filter by.","title":"Workspace"},"chart_id":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Chart id to list the basemaps for.","title":"Chart Id"}},"title":"list_basemapsArguments","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}}}}