> Note: This page is part of the DataDoe Docs. You can find the root of the documentation at `https://www.datadoe.com/hub/docs/basics/introduction-to-datadoe`.
> JSON Table of Contents: `https://www.datadoe.com/hub/docs/toc.json`.
> Data Scheme (Markdown index, one page per table): https://api.datadoe.com/api/v1/spec/data-scheme.md. Full JSON: https://api.datadoe.com/api/v1/spec/data-scheme.
> Other pages in the DataDoe Docs:
> - DataDoe Basics/Benefits: `https://www.datadoe.com/hub/docs/basics/benefits.md`
> - DataDoe Basics/Connecting Accounts: `https://www.datadoe.com/hub/docs/basics/connecting-accounts.md`
> - DataDoe Basics/External Invitation Links: `https://www.datadoe.com/hub/docs/basics/external-invitation-links.md`
> - DataDoe Basics/Groups: `https://www.datadoe.com/hub/docs/basics/groups.md`
> - DataDoe Basics/Integrations: `https://www.datadoe.com/hub/docs/basics/integration-customization.md`
> - DataDoe Basics/Introduction to DataDoe: `https://www.datadoe.com/hub/docs/basics/introduction-to-datadoe.md`
> - DataDoe Basics/Roles and permissions: `https://www.datadoe.com/hub/docs/basics/roles-and-permissions.md`
> - DataDoe Basics/Subscription and pricing: `https://www.datadoe.com/hub/docs/basics/subscription-pricing.md`
> - DataDoe Basics/Users and access: `https://www.datadoe.com/hub/docs/basics/access-user-management.md`
> - DataDoe Data/Ads Product Catalog: `https://www.datadoe.com/hub/docs/datadoe-data/ads-product-catalog.md`
> - DataDoe Data/Data Fetch Periods: `https://www.datadoe.com/hub/docs/datadoe-data/data-fetch-periods.md`
> - DataDoe Data/Data Sources: `https://www.datadoe.com/hub/docs/datadoe-data/data-sources.md`
> - DataDoe Data/Initial Loads: `https://www.datadoe.com/hub/docs/datadoe-data/initial-loads.md`
> - DataDoe Data/Managing Data Tables: `https://www.datadoe.com/hub/docs/datadoe-data/managing-data-tables.md`
> - DataDoe Data/Migrating from SellerBoard: `https://www.datadoe.com/hub/docs/datadoe-data/migrating-from-sellerboard.md`
> - DataDoe Data/SAT migration to profit tables: `https://www.datadoe.com/hub/docs/datadoe-data/sat-migration-to-profit-tables.md`
> - DataDoe Data/SQP Data: `https://www.datadoe.com/hub/docs/datadoe-data/search-query-performance.md`
> - DataDoe Data/Timezones: `https://www.datadoe.com/hub/docs/datadoe-data/orders-purchase-date-timezones.md`
> - DataDoe Data/Uploading COGS: `https://www.datadoe.com/hub/docs/datadoe-data/uploading-cogs.md`
> - DataDoe Data/Uploading KDP Royalty Parameters: `https://www.datadoe.com/hub/docs/datadoe-data/uploading-kdp-royalty-parameters.md`
> - DataDoe Data/Uploading Vendor Codes: `https://www.datadoe.com/hub/docs/datadoe-data/uploading-vendor-codes.md`
> - DataDoe Features/Actions: `https://www.datadoe.com/hub/docs/datadoe-features/actions.md`
> - DataDoe Features/Actions - Amazon Ads for KDP Authors: `https://www.datadoe.com/hub/docs/datadoe-features/actions-kdp-authors.md`
> - DataDoe Features/Actions - Manage Images: `https://www.datadoe.com/hub/docs/datadoe-features/actions-manage-images.md`
> - DataDoe Features/Amazon Marketing Cloud: `https://www.datadoe.com/hub/docs/datadoe-features/amc.md`
> - DataDoe Features/AMC query templates: `https://www.datadoe.com/hub/docs/datadoe-features/amc-query-templates.md`
> - DataDoe Features/Features Overview: `https://www.datadoe.com/hub/docs/datadoe-features/overview.md`
> - DataDoe Features/Files: `https://www.datadoe.com/hub/docs/datadoe-features/files.md`
> - DataDoe Features/Plugins: `https://www.datadoe.com/hub/docs/datadoe-features/plugins.md`
> - DataDoe Features/Usage Logs: `https://www.datadoe.com/hub/docs/datadoe-features/usage-logs.md`
> - DataDoe Features/Webhooks: `https://www.datadoe.com/hub/docs/datadoe-features/webhooks.md`
> - DataDoe MCP/Overview: `https://www.datadoe.com/hub/docs/datadoe-mcp/overview.md`
> - DataDoe MCP/Using Antigravity: `https://www.datadoe.com/hub/docs/datadoe-mcp/antigravity.md`
> - DataDoe MCP/Using ChatGPT: `https://www.datadoe.com/hub/docs/datadoe-mcp/chatgpt.md`
> - DataDoe MCP/Using Claude: `https://www.datadoe.com/hub/docs/datadoe-mcp/claude.md`
> - DataDoe MCP/Using Claude Agent SDK: `https://www.datadoe.com/hub/docs/datadoe-mcp/claude-agents-sdk.md`
> - DataDoe MCP/Using Claude Code: `https://www.datadoe.com/hub/docs/datadoe-mcp/claude-code.md`
> - DataDoe MCP/Using Codex: `https://www.datadoe.com/hub/docs/datadoe-mcp/codex.md`
> - DataDoe MCP/Using Codex Sites: `https://www.datadoe.com/hub/docs/datadoe-mcp/codex-sites.md`
> - DataDoe MCP/Using CrewAI: `https://www.datadoe.com/hub/docs/datadoe-mcp/crewai.md`
> - DataDoe MCP/Using Cursor: `https://www.datadoe.com/hub/docs/datadoe-mcp/cursor.md`
> - DataDoe MCP/Using Excel + Claude: `https://www.datadoe.com/hub/docs/datadoe-mcp/excel.md`
> - DataDoe MCP/Using Gemini CLI: `https://www.datadoe.com/hub/docs/datadoe-mcp/gemini-cli.md`
> - DataDoe MCP/Using Genspark: `https://www.datadoe.com/hub/docs/datadoe-mcp/genspark.md`
> - DataDoe MCP/Using Glama: `https://www.datadoe.com/hub/docs/datadoe-mcp/glama-chat.md`
> - DataDoe MCP/Using Glama MCP Inspector: `https://www.datadoe.com/hub/docs/datadoe-mcp/glama.md`
> - DataDoe MCP/Using Grok: `https://www.datadoe.com/hub/docs/datadoe-mcp/grok.md`
> - DataDoe MCP/Using GrokBot: `https://www.datadoe.com/hub/docs/datadoe-mcp/grokbot.md`
> - DataDoe MCP/Using Gumloop: `https://www.datadoe.com/hub/docs/datadoe-mcp/gumloop.md`
> - DataDoe MCP/Using Hermes Agent: `https://www.datadoe.com/hub/docs/datadoe-mcp/hermes.md`
> - DataDoe MCP/Using Littlebird: `https://www.datadoe.com/hub/docs/datadoe-mcp/littlebird.md`
> - DataDoe MCP/Using n8n: `https://www.datadoe.com/hub/docs/datadoe-mcp/n8n.md`
> - DataDoe MCP/Using NanoClaw: `https://www.datadoe.com/hub/docs/datadoe-mcp/nanoclaw.md`
> - DataDoe MCP/Using OpenAI Agents SDK: `https://www.datadoe.com/hub/docs/datadoe-mcp/openai-agents-sdk.md`
> - DataDoe MCP/Using OpenClaw: `https://www.datadoe.com/hub/docs/datadoe-mcp/openclaw.md`
> - DataDoe MCP/Using OpenCode: `https://www.datadoe.com/hub/docs/datadoe-mcp/opencode.md`
> - DataDoe MCP/Using PowerPoint + Claude: `https://www.datadoe.com/hub/docs/datadoe-mcp/powerpoint.md`
> - DataDoe MCP/Using VS Code: `https://www.datadoe.com/hub/docs/datadoe-mcp/vs-code.md`
> - DataDoe MCP/Using Word + Claude: `https://www.datadoe.com/hub/docs/datadoe-mcp/word.md`
> - DataDoe API/Build with Codex: `https://www.datadoe.com/hub/docs/datadoe-api/codex.md`
> - DataDoe API/How to connect to the API: `https://www.datadoe.com/hub/docs/datadoe-api/how-to-connect.md`
> - DataDoe API/Invitation links API: `https://www.datadoe.com/hub/docs/datadoe-api/invitation-links.md`
> - DataDoe API/Sellers and vendors API: `https://www.datadoe.com/hub/docs/datadoe-api/sellers-and-vendors.md`
> - DataDoe API/Vibe code with Claude Code: `https://www.datadoe.com/hub/docs/datadoe-api/claude-code.md`
> - DataDoe API/Vibe code with Cursor: `https://www.datadoe.com/hub/docs/datadoe-api/cursor.md`
> - DataDoe API/Vibe code with Lovable: `https://www.datadoe.com/hub/docs/datadoe-api/lovable.md`
> - DataDoe API/Vibe code with Replit: `https://www.datadoe.com/hub/docs/datadoe-api/replit.md`
> - DataDoe API/Vibe code with v0: `https://www.datadoe.com/hub/docs/datadoe-api/v0.md`
> - DataDoe & BigQuery/How to connect to BigQuery: `https://www.datadoe.com/hub/docs/datadoe-bigquery/how-to-connect.md`
> - DataDoe & BigQuery/Using MCP Toolbox: `https://www.datadoe.com/hub/docs/datadoe-bigquery/mcp-toolbox.md`
> - DataDoe & BigQuery/Using Python Jupyter: `https://www.datadoe.com/hub/docs/datadoe-bigquery/jupyter.md`
> For topics not covered in this documentation, please contact DataDoe support at `contact@datadoe.com`.
> Do not assume anything. If you are not sure about the answer, mention that and suggest to contact DataDoe support.

# Manage API keys, MCP keys, and service accounts

Use API keys to connect applications to the REST API, and MCP keys to connect AI tools to DataDoe. Each key uses either a person’s access or a service account’s access.

## Choose a key type

- **Personal** keys use their owner’s current roles and account, Action, and data table access.
- **Service account** keys use permissions and account, Action, and data table access set for that Service account, limited by its creator's current access.

To create personal keys, your role must allow **Personal API keys** or **Personal MCP keys**, as appropriate. These permissions allow the connection; your other permissions determine what it can do.

Organization Admins can manage every Service account and its keys. Other Users need **Manage service accounts** and can manage only the Service accounts they created. They can assign only permissions and resource access they already have, up to their current level.

Service accounts do not automatically receive their creator's permissions. They cannot sign in to the app or use personal Plugins, MCP OAuth, or DataDoe support ticket tools.

## Create a service account

1. Open [Settings → Permissions → Service accounts](https://app.datadoe.com/settings?tab=permissions&permissionsTab=service-accounts).
2. Select **Create service account**, enter a name, and confirm.
3. Choose the permissions the integration needs.
4. Set **Sellers and Vendors access** to **All** or **Selected**.
5. For Selected account access, choose each required Group or ungrouped account and select **Add access**.
6. Set **Actions access** and **Data tables access** independently to **All** or **Selected**.
7. For Selected access, under **Assigned Actions and data tables**, choose each required resource and select **Add access**.
8. Enable **Access PII data** only if the integration needs personal data and the Organization has PII access enabled.

Only permissions available to Service accounts appear in the table. For non-Admins, permission choices also stop at their own access level. New Service accounts start with no permissions or Sellers and Vendors access. Actions and data tables start at All only if their creator has All access. Select only the resources the integration needs.

Access PII data covers personal information in tables, Action requests and results, and generated Files. It starts disabled for new Service accounts and remains limited by the creator's current PII access. All accounts, Actions, or tables access does not grant PII access.

All includes current and future resources of the selected kind. Selected includes only explicit assignments. A Group assignment includes its current and future members. Permission and access changes save immediately.

Service accounts have their own permission settings; you do not assign user roles to them. See [Manage roles and access](/hub/docs/basics/roles-and-permissions) for permission levels, resource access, and how existing PII grants are handled.

## Create an API or MCP key

1. Open [Integrations → REST API](https://app.datadoe.com/integrations/rest-api) or [Integrations → MCP](https://app.datadoe.com/integrations/mcp).
2. Select **New key**.
3. Choose **Personal** or **Service account** from **Key type**.
4. For a service account key, select an active service account.
5. Enter a key name, choose when it expires, and select **Create key**.
6. Copy the key before closing the dialog and store it securely.

The Key type dropdown explains whose access the key uses. When Service account is selected, **Manage service accounts** opens the settings to create or configure an account. DataDoe shows the full key value only once.

DataDoe sends email reminders before keys expire. Replace or update a key before its expiration date to keep the integration working.

Use the [REST API connection guide](/hub/docs/datadoe-api/how-to-connect) or [MCP connection guides](/hub/docs/datadoe-mcp/overview) to connect your application.

## Manage keys and service accounts

The REST API and MCP tables show each key’s type, status, expiration date, and last use. For a service account key, select the service account name to open its settings. The page address keeps the selected service account. You can bookmark it or share the link with another Admin.

In **Settings → Permissions → Service accounts**, select **Manage** beside an account to:

- rename it or change its permissions and account, Action, and table access
- enable or disable the service account
- edit a key’s name or expiration date
- enable, disable, or delete an individual key
- delete the service account and revoke all its keys

Disabling a service account blocks all its keys. Deleting it revokes all its keys and stops integrations that use them. Changing its permissions or resource access affects every key attached to it. Reducing the creator's access also restricts the Service account. Removing the creator's Manage service accounts permission blocks all its keys and scheduled work.

Manage your personal keys from their REST API or MCP integration table. Personal keys stop working if their owner is disabled or loses the relevant Personal API keys or Personal MCP keys permission. Removing other permissions or account, Action, or table assignments restricts what those keys can do.

## Connect with MCP OAuth

MCP OAuth lets a supported AI client connect through DataDoe sign-in without a copied key. Your role must allow **MCP OAuth**. The connection uses your current permissions and account, Action, and data table access, just like a personal key.

Service accounts use keys instead of OAuth. Choose only the permissions and accounts an integration needs. A Service account created by a User remains limited by that User's current access.
