# Datawrapper Documentation > Datawrapper API lets you programmatically interface with your visualizations. It lets you create and edit charts, update your account information, and many more things to come. ## Guides - [Getting Started](https://developer.datawrapper.de/docs/getting-started.md): A high level overview of Datawrapper's API and how to get going. - [Connecting visualizations to external data sources](https://developer.datawrapper.de/docs/linking-a-visualization-to-a-google-sheet-or-external-data-visualization-via-api.md): Learn how to configure external data visualizations using the API - [A beginner’s guide with R](https://developer.datawrapper.de/docs/a-beginners-guide-with-r.md): An in-depth tutorial on how to use the Datawrapper API with the DatawRrappr R package - [Visualization Types](https://developer.datawrapper.de/docs/chart-types.md): Collection of available Datawrapper chart types and their IDs - [Using Team Webhooks for Chart Publish Events](https://developer.datawrapper.de/docs/using-team-webhooks-for-publish-notifications.md) - [Listening to Chart Interaction Events](https://developer.datawrapper.de/docs/listening-to-chart-interaction-events.md): A list of all message events currently emitted from Datawrapper charts. - [Script embed](https://developer.datawrapper.de/docs/web-components.md): How to embed Datawrapper visualizations without using iframes - [Custom embed code](https://developer.datawrapper.de/docs/custom-embed-code.md): How to set up a custom embed code template in Datawrapper ## API Reference - [Retrieves login tokens](https://developer.datawrapper.de/reference/getauthlogintokens.md): Retrieves all login tokens associated to the current user. - [Creates a login token](https://developer.datawrapper.de/reference/postauthlogintokens.md): Creates a new login token to authenticate a user, for use in CMS integrations. Login tokens are valid for five minutes and can only be used once. - [Deletes a login token](https://developer.datawrapper.de/reference/deleteauthlogintokensid.md): Deletes an existing login token by the current user. - [Login using login token](https://developer.datawrapper.de/reference/getauthlogintoken.md): Login using a one-time login token and redirect to the URL associated with the token. For use in CMS integrations. - [Get list of valid token scopes.](https://developer.datawrapper.de/reference/getauthtokenscopes.md): Requires scope `auth:read`. - [List API tokens](https://developer.datawrapper.de/reference/getauthtokens.md): Response will not include full tokens for security reasons. Requires scope `auth:read`. - [Create API token](https://developer.datawrapper.de/reference/postauthtokens.md): This endpoint will create a new API Token and show it in the response body. It is possible to create a comment with every token to have a reference where it is used. Make sure to save the token somewhere, since you won't be able to see it again. Requires scope `auth:write`. - [Delete API token](https://developer.datawrapper.de/reference/deleteauthtokensid.md): Delete (=revoke) an API access token. Check [/v3/auth/tokens](ref:authtokens) to get the IDs of your available tokens. Requires scope `auth:write`. - [Edit API token](https://developer.datawrapper.de/reference/putauthtokensid.md): Edit an API access token. Check [/v3/auth/tokens](ref:authtokens) to get the IDs of your available tokens. Requires scope `auth:write`. - [Get list of all available basemaps](https://developer.datawrapper.de/reference/getbasemaps.md): This endpoint fetches a list of available basemaps (metadata only) - [Fetch basemap content and metadata](https://developer.datawrapper.de/reference/getbasemapsid.md): This endpoint fetches a basemap's content and metadata. - [Fetch list of key values in a basemap](https://developer.datawrapper.de/reference/getbasemapsidkey.md): This endpoint fetches a list of all available values for a basemap key, e.g. https://api.datawrapper.de/v3/basemaps/world-2019/DW_NAME - [List charts](https://developer.datawrapper.de/reference/getcharts.md): Search and filter a list of your charts. The returned chart objects, do not include the full chart metadata. To get the full metadata add ?expand=true or use [/v3/charts/{id}](ref:getchartsid). Requires scope `chart:read`. - [Moves charts into a folder](https://developer.datawrapper.de/reference/patchcharts.md): Requires scopes `chart:write`. - [Create new visualization](https://developer.datawrapper.de/reference/postcharts.md): Requires scope `chart:write`. - [Copies charts in place or into another folder](https://developer.datawrapper.de/reference/postchartscopy.md): Requires scopes `chart:write`. - [Delete a chart](https://developer.datawrapper.de/reference/deletechartsid.md): The action moves a chart to the trash. Charts in the trash are deleted permanently after 30 days. If used with the ?permanent=true flag, the chart is deleted permanently and cannot be restored. If this endpoint should be used in an application (CMS), it is recommended to ask the user for confirmation. Requires scope `chart:write`. - [Fetch chart metadata](https://developer.datawrapper.de/reference/getchartsid.md): Requires scope `chart:read` or `chart:write`. - [Update specific chart properties.](https://developer.datawrapper.de/reference/patchchartsid.md): Allows for partial metadata updates (via JSON merge patch). Requires scope `chart:write`. - [Update all chart properties](https://developer.datawrapper.de/reference/putchartsid.md): Replaces the entire metadata object. Requires scope `chart:write`. - [Fetch chart asset](https://developer.datawrapper.de/reference/getchartsidassetsasset.md): Request an asset associated with a chart. Requires scope `chart:read`. - [Upload chart data](https://developer.datawrapper.de/reference/putchartsidassetsasset.md): Upload data for a chart, which is usually a CSV. An example looks like this: `/v3/charts/{id}/assets/{id}.csv`. Requires scope `chart:write`. - [Gets all comments for a chart](https://developer.datawrapper.de/reference/getchartsidcomments.md): Requires scope `chart:read`. - [Create a new comment for a chart](https://developer.datawrapper.de/reference/postchartsidcomments.md): Requires scope `chart:write`. - [Copies a chart](https://developer.datawrapper.de/reference/postchartsidcopy.md): Requires scope `chart:write`. - [Fetch chart data](https://developer.datawrapper.de/reference/getchartsiddata.md): Request the data of a chart, which is usually a CSV. Requires scope `chart:read`. - [Upload chart data](https://developer.datawrapper.de/reference/putchartsiddata.md): Upload data for a chart or map. Requires scope `chart:write`. - [Updates a chart's external data source.](https://developer.datawrapper.de/reference/postchartsiddatarefresh.md): If a chart has an external data source configured, this endpoint fetches the data and saves it to the chart. Requires scope `chart:read`. - [Get share URLs for a chart](https://developer.datawrapper.de/reference/getchartsiddisplayurls.md): Request the available URLs to directly share a chart. - [Get embed codes for a chart](https://developer.datawrapper.de/reference/getchartsidembedcodes.md): Request the responsive and static embed code of a chart. Requires scope `chart:read`. - [Export chart](https://developer.datawrapper.de/reference/getchartsidexportformat.md): Export your chart as image or document for use in print or presentations. Not all formats might be available to you, based on your account. Requires scope `chart:read`. - [Export chart in async mode](https://developer.datawrapper.de/reference/postchartsidexportformatasync.md): Export your chart as image or document for use in print or presentations. Returns the URL to query the async export status. Not all formats might be available to you, based on your account. Requires scope `chart:read`. - [Export chart](https://developer.datawrapper.de/reference/getchartsidexportformatasyncexportid.md): After triggering an asynchronous export this route can be used to find out if the export has finished, yet. It returns either the HTTP code 425 to indicate that the export isn't ready or HTTP code 200 along with the export result. - [Fork a chart](https://developer.datawrapper.de/reference/postchartsidfork.md): This creates an editable copy of a reusable visualization from the [Datawrapper River](https://river.datawrapper.de/). Requires scope `chart:write`. - [Publish a chart](https://developer.datawrapper.de/reference/postchartsidpublish.md): Requires scopes `chart:read` *and* `chart:write` *and* `theme:read` *and* `visualization:read`. - [Get publish status](https://developer.datawrapper.de/reference/getchartsidpublishstatusversion.md): Check the publish status of a chart. Requires scope `chart:read`. - [Unpublish a published visualization](https://developer.datawrapper.de/reference/postchartsidunpublish.md): This will remove all public files, including the embeds and published images. Requires scope `chart:write`. - [List folders](https://developer.datawrapper.de/reference/getfolders.md): Get a list of folders and their associated charts. Requires scope `folder:read`. - [Create a folder](https://developer.datawrapper.de/reference/postfolders.md): Requires scope `folder:write`. - [Copy folders to a new destination folder/team/user.](https://developer.datawrapper.de/reference/postfolderscopy.md): Requires scope `folder:write`. - [Move folders to a new destination folder/team/user.](https://developer.datawrapper.de/reference/patchfoldersmove.md): Requires scope `folder:write`. - [Delete a folder](https://developer.datawrapper.de/reference/deletefoldersid.md): Deletes the specified folder. Requires scope `folder:write`. - [Get a folder](https://developer.datawrapper.de/reference/getfoldersid.md): Get a specific folder. Requires scope `folder:read`. - [Updates a folder](https://developer.datawrapper.de/reference/patchfoldersid.md): Update a folder. Requires scope `folder:write`. - [Updates a folder](https://developer.datawrapper.de/reference/putfoldersid.md): Update a folder. Requires scope `folder:write`. - [Delete your account](https://developer.datawrapper.de/reference/deleteme.md): **Be careful!** This is a destructive action. By deleting your account you will loose access to all of your charts. If this endpoint should be used in an application (CMS), it is recommended to ask the user for confirmation. Requires scope `user:write`. - [Fetch your account information](https://developer.datawrapper.de/reference/getme.md): Requires scope `user:read`. - [Update your account information](https://developer.datawrapper.de/reference/patchme.md): Requires scope `user:write`. - [Get a list of your recently edited charts](https://developer.datawrapper.de/reference/getmerecentlyeditedcharts.md): Requires scopes `user:read` *and* `chart:read`. - [Get a list of your recently published charts](https://developer.datawrapper.de/reference/getmerecentlypublishedcharts.md): Requires scopes `user:read` *and* `chart:read`. - [Update your account settings](https://developer.datawrapper.de/reference/patchmesettings.md): Use this endpoint to change your active team. Requires scope `user:write`. - [Get oEmbed information](https://developer.datawrapper.de/reference/getoembed.md): Retreive embedding information about a Datawrapper visualization. See our [oEmbed tutorial](https://developer.datawrapper.de/docs/embedding-charts-via-oembed) and the official [oEmbed specification](https://oembed.com/) for more information. - [List River charts](https://developer.datawrapper.de/reference/getriver.md): Search and filter a list of your River charts - [Show River chart](https://developer.datawrapper.de/reference/getriverchartid.md): Show details for individual River chart - [Update River chart](https://developer.datawrapper.de/reference/putriverid.md): Update metadata of chart published in River - [List teams](https://developer.datawrapper.de/reference/getteams.md): DEPRECATED: Use GET /v3/workspaces/{slug}/teams instead. This endpoint returns all teams you belong to across workspaces. - [DEPRECATED: Use GET /v3/workspaces/{slug}/teams/{teamId} instead.](https://developer.datawrapper.de/reference/getteamsid.md): Requires scope `team:read` or `team:write`. - [DEPRECATED: Use GET /v3/workspaces/{slug}/teams/{teamId}/members instead.](https://developer.datawrapper.de/reference/getteamsidmembers.md): Get a list of team members and some additional information like their team role. Requires scopes `team:read` *and* `user:read`. - [List themes](https://developer.datawrapper.de/reference/getthemes.md): Get a list of themes accessible by the authenticated user The returned theme objects do not include the full theme configuration. Requires scope `chart:read`. - [List users](https://developer.datawrapper.de/reference/getusers.md): Requires scope `user:read`. - [Delete user](https://developer.datawrapper.de/reference/deleteusersid.md): **Be careful!** This is a destructive action. By deleting your account you will loose access to all of your charts. If this endpoint should be used in an application (CMS), it is recommended to ask the user for confirmation. Requires scope `user:write`. - [Fetch user information](https://developer.datawrapper.de/reference/getusersid.md): Requires scope `user:read`. - [Update user information](https://developer.datawrapper.de/reference/patchusersid.md): Requires scope `user:write`. - [Get a list of recently edited charts](https://developer.datawrapper.de/reference/getusersidrecentlyeditedcharts.md): Requires scopes `user:read` *and* `chart:read`. - [Get a list of recently published charts](https://developer.datawrapper.de/reference/getusersidrecentlypublishedcharts.md): Requires scopes `user:read` *and* `chart:read`. - [Update user settings](https://developer.datawrapper.de/reference/patchusersidsettings.md): Requires scope `user:write`. - [Restore deleted charts.](https://developer.datawrapper.de/reference/postchartsrestore.md): Requires scope 'chart:write'. - [Restore a deleted chart.](https://developer.datawrapper.de/reference/postchartsidrestore.md): Requires scope `chart:write`. - [get](https://developer.datawrapper.de/reference/getworkspaces.md): Get a list of workspaces you are a member of. - [post](https://developer.datawrapper.de/reference/postworkspaces.md): Create a new workspace. - [Update workspace invite roles](https://developer.datawrapper.de/reference/patchworkspacessluginvites.md) - [delete](https://developer.datawrapper.de/reference/deleteworkspacessluginvites.md) - [post](https://developer.datawrapper.de/reference/postworkspacessluginvites.md) - [Remove members from a workspace](https://developer.datawrapper.de/reference/deleteworkspacesslugmembers.md) - [List workspace members](https://developer.datawrapper.de/reference/getworkspacesslugmembers.md) - [Update workspace member roles](https://developer.datawrapper.de/reference/patchworkspacesslugmembers.md) - [Check existence of workspace members and pending invites](https://developer.datawrapper.de/reference/postworkspacesslugmemberscheck.md) - [List teams in workspace](https://developer.datawrapper.de/reference/getworkspacesslugteams.md): Get a list of teams in the workspace. Shows teams you are a member of, public teams, and private teams if you have workspace management permissions. - [Create a team in workspace](https://developer.datawrapper.de/reference/postworkspacesslugteams.md): Create a new team in the workspace. Only users with workspace management permissions can create teams. - [Delete a team within a workspace](https://developer.datawrapper.de/reference/deleteworkspacesslugteamsteamid.md) - [Fetch team information within a workspace](https://developer.datawrapper.de/reference/getworkspacesslugteamsteamid.md) - [Update a team within a workspace](https://developer.datawrapper.de/reference/patchworkspacesslugteamsteamid.md): Requires scope `team:write`. - [Update a team within a workspace](https://developer.datawrapper.de/reference/putworkspacesslugteamsteamid.md): Requires scope `team:write`. - [Remove team associations from workspace invites](https://developer.datawrapper.de/reference/deleteworkspacesslugteamsteamidinvites.md): Remove team associations from existing workspace invites. The workspace invites themselves are not deleted. - [Update team roles for workspace invites](https://developer.datawrapper.de/reference/patchworkspacesslugteamsteamidinvites.md): Update the team role for existing workspace invite team associations. - [Add team associations to workspace invites](https://developer.datawrapper.de/reference/postworkspacesslugteamsteamidinvites.md): Add a team association to existing workspace invites. The workspace invites must already exist for the specified emails. - [Join a public team in a workspace](https://developer.datawrapper.de/reference/postworkspacesslugteamsteamidjoin.md): Join a public team in a workspace. The team must exist in the workspace and be public. - [Remove multiple users from a team within a workspace](https://developer.datawrapper.de/reference/deleteworkspacesslugteamsteamidmembers.md): Remove multiple users from a team. Only team admins, workspace managers, or workspace admins can remove users. - [List team members within a workspace](https://developer.datawrapper.de/reference/getworkspacesslugteamsteamidmembers.md) - [Modify the role of users in a team within a workspace](https://developer.datawrapper.de/reference/patchworkspacesslugteamsteamidmembers.md): Modify the role of users in a team. The users must already be a member of the team, and only team admins, workspace managers, or workspace admins can modify users. - [Add one or multiple users to a team within a workspace](https://developer.datawrapper.de/reference/postworkspacesslugteamsteamidmembers.md): Add one or multiple users to a team. The users must already be a member of the workspace, and only users who may administrate the team can add users. - [Transfer a team to another workspace](https://developer.datawrapper.de/reference/postworkspacesslugteamsteamidtransfer.md): Requires scope `team:write` and workspace management permissions. - [delete](https://developer.datawrapper.de/reference/deleteworkspacesslug.md) - [get](https://developer.datawrapper.de/reference/getworkspacesslug.md) - [patch](https://developer.datawrapper.de/reference/patchworkspacesslug.md) - [post](https://developer.datawrapper.de/reference/postworkspacessluginvitestokenaccept.md) - [post](https://developer.datawrapper.de/reference/postworkspacessluginvitestokenreject.md) - [Merge this workspace into another workspace, NOTE: This is a destructive operation for the source workspace and cannot be undone. The source workspace will be deleted.](https://developer.datawrapper.de/reference/postworkspacesslugmerge.md): Requires scope `team:write`, administrator permissions on the source workspace, and management permissions on the target workspace. - [Set default teams in workspace](https://developer.datawrapper.de/reference/putworkspacesslugteamsdefault.md): Set which teams should be marked as default in the workspace. Only users with workspace management permissions can modify default teams.