[{"data":1,"prerenderedAt":12},["ShallowReactive",2],{"$f5cd1GPaOelli22NnqNp-Mc-yhiL3TvSI5Mbd1ob92YQ":3},{"title":4,"slug":5,"excerpt":6,"category":7,"order":8,"screens":9,"html":11},"API keys and integrations","api-keys-integrations","Create and manage API keys for powerful integrations with automation platforms","integrations",1,[10],"settings-api","\u003Cp>EmailConnect&#39;s REST API enables powerful integrations with automation platforms, custom applications, and third-party services. Here&#39;s how to create and manage API keys for seamless connectivity.\u003C\u002Fp>\n\u003Ch2>Creating API keys\u003C\u002Fh2>\n\u003Ch3>Access API settings\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Navigate to \u003Ca href=\"https:\u002F\u002Fapp.emailconnect.eu\u002Fsettings\u002Fapi-keys\">Settings &gt; API Keys\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Click &quot;Create new API key&quot;\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Configure key permissions\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Full scope (default)\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Complete access to all API endpoints\u003C\u002Fli>\n\u003Cli>Read and write permissions\u003C\u002Fli>\n\u003Cli>Suitable for trusted applications\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Limited scopes\u003C\u002Fstrong>\nChoose specific permissions:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Domains\u003C\u002Fstrong>: List and manage domains\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Aliases\u003C\u002Fstrong>: Create and manage email aliases  \u003C\u002Fli>\n\u003Cli>\u003Cstrong>Webhooks\u003C\u002Fstrong>: Configure webhook endpoints\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Emails\u003C\u002Fstrong>: Read email history and logs\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Statistics\u003C\u002Fstrong>: Access usage statistics\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Generate and save\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Choose key name (e.g., &quot;Zapier Integration&quot;)\u003C\u002Fli>\n\u003Cli>Select permissions\u003C\u002Fli>\n\u003Cli>Click &quot;Generate key&quot;\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Important\u003C\u002Fstrong>: Save the key immediately - it won&#39;t be shown again\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch2>API documentation\u003C\u002Fh2>\n\u003Cp>Access comprehensive API documentation at \u003Ca href=\"\u002Fdocs\">emailconnect.eu\u002Fdocs\u003C\u002Fa>:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Interactive API explorer\u003C\u002Fli>\n\u003Cli>Request\u002Fresponse examples\u003C\u002Fli>\n\u003Cli>Authentication details\u003C\u002Fli>\n\u003Cli>Rate limits and quotas\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>Popular integrations\u003C\u002Fh2>\n\u003Ch3>Zapier\u003C\u002Fh3>\n\u003Cp>Connect EmailConnect to 5,000+ apps:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Create API key with full scope\u003C\u002Fli>\n\u003Cli>Add EmailConnect as a Zapier app\u003C\u002Fli>\n\u003Cli>Use API key for authentication\u003C\u002Fli>\n\u003Cli>Build zaps to process emails\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>\u003Cstrong>Example Zapier workflows:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Email → EmailConnect → Google Sheets\u003C\u002Fli>\n\u003Cli>Email → EmailConnect → Slack notification\u003C\u002Fli>\n\u003Cli>Email → EmailConnect → CRM update\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Make (formerly Integromat)\u003C\u002Fh3>\n\u003Cp>Visual automation platform:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Create API key in EmailConnect\u003C\u002Fli>\n\u003Cli>Add HTTP module in Make\u003C\u002Fli>\n\u003Cli>Configure with EmailConnect API endpoints\u003C\u002Fli>\n\u003Cli>Process emails in complex workflows\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>\u003Cstrong>Example Make scenarios:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Parse invoices and update accounting software\u003C\u002Fli>\n\u003Cli>Extract leads from emails to CRM\u003C\u002Fli>\n\u003Cli>Trigger multi-step approval workflows\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>N8n (self-hosted automation)\u003C\u002Fh3>\n\u003Cp>Open-source workflow automation:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Install official EmailConnect n8n node\u003C\u002Fli>\n\u003Cli>Create API key with required scopes\u003C\u002Fli>\n\u003Cli>Configure node with your API key\u003C\u002Fli>\n\u003Cli>Build automation workflows\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>\u003Cstrong>n8n advantages:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Native EmailConnect integration\u003C\u002Fli>\n\u003Cli>Self-hosted for data privacy\u003C\u002Fli>\n\u003Cli>Complex workflow capabilities\u003C\u002Fli>\n\u003Cli>Cost-effective for high volume\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>Common API operations\u003C\u002Fh2>\n\u003Ch3>List domains\u003C\u002Fh3>\n\u003Cpre>\u003Ccode class=\"language-bash\">GET https:\u002F\u002Fapp.emailconnect.eu\u002Fapi\u002Fdomains\nX-API-KEY: your-api-key-here\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Create alias\u003C\u002Fh3>\n\u003Cpre>\u003Ccode class=\"language-bash\">POST https:\u002F\u002Fapp.emailconnect.eu\u002Fapi\u002Faliases\nX-API-KEY: your-api-key-here\nContent-Type: application\u002Fjson\n\n{\n  &quot;domain_id&quot;: &quot;dom_123&quot;,\n  &quot;name&quot;: &quot;support&quot;,\n  &quot;description&quot;: &quot;Support ticket intake&quot;\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Configure webhook\u003C\u002Fh3>\n\u003Cpre>\u003Ccode class=\"language-bash\">POST https:\u002F\u002Fapp.emailconnect.eu\u002Fapi\u002Fwebhooks\nX-API-KEY: your-api-key-here\nContent-Type: application\u002Fjson\n\n{\n  &quot;alias_id&quot;: &quot;alias_456&quot;,\n  &quot;url&quot;: &quot;https:\u002F\u002Fyour-app.com\u002Fwebhook&quot;,\n  &quot;headers&quot;: {\n    &quot;X-Custom-Header&quot;: &quot;value&quot;\n  }\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Get email logs\u003C\u002Fh3>\n\u003Cpre>\u003Ccode class=\"language-bash\">GET https:\u002F\u002Fapp.emailconnect.eu\u002Fapi\u002Femails?alias_id=alias_456\nX-API-KEY: your-api-key-here\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch2>Security best practices\u003C\u002Fh2>\n\u003Ch3>Key rotation\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Rotate keys every 90 days\u003C\u002Fli>\n\u003Cli>Use different keys per integration\u003C\u002Fli>\n\u003Cli>Revoke unused keys immediately\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Scope limitation\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Use minimum required permissions\u003C\u002Fli>\n\u003Cli>Create separate keys for read vs write\u003C\u002Fli>\n\u003Cli>Audit key usage regularly\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Environment separation\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Development: Limited scope, test domains only\u003C\u002Fli>\n\u003Cli>Production: Full scope, IP restrictions\u003C\u002Fli>\n\u003Cli>CI\u002FCD: Temporary keys with expiration\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Storage guidelines\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Never commit keys to version control\u003C\u002Fli>\n\u003Cli>Use environment variables\u003C\u002Fli>\n\u003Cli>Encrypt keys in configuration files\u003C\u002Fli>\n\u003Cli>Use secret management services\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>Rate limits\u003C\u002Fh2>\n\u003Ch3>Limits by plan\u003C\u002Fh3>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Plan\u003C\u002Fth>\n\u003Cth>Requests per hour\u003C\u002Fth>\n\u003Cth>Effective per minute\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\u003Ctr>\n\u003Ctd>Free\u003C\u002Ftd>\n\u003Ctd>60\u003C\u002Ftd>\n\u003Ctd>1\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Maker\u003C\u002Ftd>\n\u003Ctd>600\u003C\u002Ftd>\n\u003Ctd>10\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Business\u003C\u002Ftd>\n\u003Ctd>3,000\u003C\u002Ftd>\n\u003Ctd>50\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Platform\u003C\u002Ftd>\n\u003Ctd>Unlimited\u003C\u002Ftd>\n\u003Ctd>10,000 cap\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\u003C\u002Ftable>\n\u003Cp>Some endpoints have additional limits: sensitive operations are limited to 3 per 30 minutes, and test webhook deliveries to 10 per hour.\u003C\u002Fp>\n\u003Ch3>Rate limit headers\u003C\u002Fh3>\n\u003Cp>All API responses include rate limit headers:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>x-ratelimit-limit: 600\nx-ratelimit-remaining: 592\nx-ratelimit-reset: 1640995200\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>When you exceed your limit, the response returns HTTP 429 with a \u003Ccode>retry-after\u003C\u002Fcode> header indicating how many seconds to wait.\u003C\u002Fp>\n\u003Ch2>Integration examples\u003C\u002Fh2>\n\u003Ch3>Python\u003C\u002Fh3>\n\u003Cpre>\u003Ccode class=\"language-python\">import requests\n\nAPI_KEY = &quot;your-api-key-here&quot;\nBASE_URL = &quot;https:\u002F\u002Fapp.emailconnect.eu\u002Fapi&quot;\n\nheaders = {\n    &quot;X-API-KEY&quot;: API_KEY,\n    &quot;Content-Type&quot;: &quot;application\u002Fjson&quot;\n}\n\n# List all domains\nresponse = requests.get(f&quot;{BASE_URL}\u002Fdomains&quot;, headers=headers)\ndomains = response.json()\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Node.js\u003C\u002Fh3>\n\u003Cpre>\u003Ccode class=\"language-javascript\">const axios = require(&#39;axios&#39;);\n\nconst API_KEY = &#39;your-api-key-here&#39;;\nconst BASE_URL = &#39;https:\u002F\u002Fapp.emailconnect.eu\u002Fapi&#39;;\n\nconst client = axios.create({\n  baseURL: BASE_URL,\n  headers: {\n    &#39;X-API-KEY&#39;: API_KEY,\n    &#39;Content-Type&#39;: &#39;application\u002Fjson&#39;\n  }\n});\n\n\u002F\u002F Create an alias\nasync function createAlias(domainId, name) {\n  const response = await client.post(&#39;\u002Faliases&#39;, {\n    domain_id: domainId,\n    name: name\n  });\n  return response.data;\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>cURL\u003C\u002Fh3>\n\u003Cpre>\u003Ccode class=\"language-bash\"># Get account statistics\ncurl -X GET https:\u002F\u002Fapp.emailconnect.eu\u002Fapi\u002Fstatistics \\\n  -H &quot;X-API-KEY: your-api-key-here&quot;\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch2>Troubleshooting\u003C\u002Fh2>\n\u003Ch3>Authentication errors\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Verify API key is correct\u003C\u002Fli>\n\u003Cli>Check key hasn&#39;t been revoked\u003C\u002Fli>\n\u003Cli>Ensure X-API-KEY header is included\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Permission denied\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Check key has required scopes\u003C\u002Fli>\n\u003Cli>Verify resource ownership\u003C\u002Fli>\n\u003Cli>Confirm account limits\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Rate limiting\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Implement exponential backoff\u003C\u002Fli>\n\u003Cli>Cache responses when possible\u003C\u002Fli>\n\u003Cli>Use webhooks instead of polling\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>Advanced usage\u003C\u002Fh2>\n\u003Ch3>Webhook signature verification\u003C\u002Fh3>\n\u003Cp>Verify that webhook requests are genuinely from EmailConnect using Standard Webhooks signatures. See the \u003Ca href=\"\u002Fhelp\u002Fwebhook-signing\u002F\">Webhook signing\u003C\u002Fa> guide for full implementation details and code examples in multiple languages.\u003C\u002Fp>\n\u003Ch3>Updating an alias\u003C\u002Fh3>\n\u003Cp>Update an existing alias configuration:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>PATCH https:\u002F\u002Fapp.emailconnect.eu\u002Fapi\u002Faliases\u002F{aliasId}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Pagination\u003C\u002Fh3>\n\u003Cp>Handle large result sets:\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">GET https:\u002F\u002Fapp.emailconnect.eu\u002Fapi\u002Femails?page=2&amp;limit=100\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>The API provides powerful programmatic access to all EmailConnect features, enabling seamless integration with your existing tools and workflows.\u003C\u002Fp>\n",1781207682135]