# Ark Email API ## Docs - [Create a credential for a tenant](https://arkhq.io/docs/api-reference/credentials/create-a-credential-for-a-tenant.md): Create a new SMTP or API credential for a tenant. The credential can be used to send emails via Ark on behalf of the tenant. - [Delete a credential](https://arkhq.io/docs/api-reference/credentials/delete-a-credential.md): Permanently delete (revoke) a credential. The credential can no longer be used to send emails. - [Get a credential](https://arkhq.io/docs/api-reference/credentials/get-a-credential.md): Get details of a specific credential. - [List credentials for a tenant](https://arkhq.io/docs/api-reference/credentials/list-credentials-for-a-tenant.md): List all SMTP and API credentials for a tenant. Credentials are used to send emails via Ark on behalf of the tenant. - [Update a credential](https://arkhq.io/docs/api-reference/credentials/update-a-credential.md): Update a credential's name or hold status. - [Domain dns error](https://arkhq.io/docs/api-reference/domain-events/domain-dns-error.md): Triggered when there's a DNS configuration issue with your sending domain. - [Add a sending domain](https://arkhq.io/docs/api-reference/domains/add-a-sending-domain.md): Add a new sending domain to a tenant. Returns DNS records that must be configured before the domain can be verified. - [Delete a domain](https://arkhq.io/docs/api-reference/domains/delete-a-domain.md): Remove a sending domain from a tenant. You will no longer be able to send emails from this domain. - [Get domain details](https://arkhq.io/docs/api-reference/domains/get-domain-details.md): Get detailed information about a domain including DNS record status. - [List tenant domains](https://arkhq.io/docs/api-reference/domains/list-tenant-domains.md): Get all sending domains for a specific tenant with their verification status. - [Verify domain DNS](https://arkhq.io/docs/api-reference/domains/verify-domain-dns.md): Check if DNS records are correctly configured and verify the domain. Returns the current status of each required DNS record. - [Email bounced](https://arkhq.io/docs/api-reference/email-events/email-bounced.md): Triggered when a bounce notification is received for an email. - [Email delayed](https://arkhq.io/docs/api-reference/email-events/email-delayed.md): Triggered when an email delivery is temporarily delayed (soft fail). - [Email delivery failed](https://arkhq.io/docs/api-reference/email-events/email-delivery-failed.md): Triggered when an email permanently fails to deliver (hard fail). - [Email held](https://arkhq.io/docs/api-reference/email-events/email-held.md): Triggered when an email is held for review. - [Email sent](https://arkhq.io/docs/api-reference/email-events/email-sent.md): Triggered when an email is successfully delivered to the recipient's mail server. - [Get delivery attempts](https://arkhq.io/docs/api-reference/emails/get-delivery-attempts.md): Get the complete delivery history for an email, including SMTP response codes, timestamps, and current retry state. - [Get email details](https://arkhq.io/docs/api-reference/emails/get-email-details.md): Retrieve detailed information about a specific email including delivery status, timestamps, and optionally the email content. - [List sent emails](https://arkhq.io/docs/api-reference/emails/list-sent-emails.md): Retrieve a paginated list of sent emails. Results are ordered by send time, newest first. - [Retry email delivery](https://arkhq.io/docs/api-reference/emails/retry-email-delivery.md): Retry delivery of a failed or soft-bounced email. Creates a new delivery attempt. - [Send an email](https://arkhq.io/docs/api-reference/emails/send-an-email.md): Send a single email message. The email is accepted for immediate delivery and typically delivered within seconds. - [Send multiple emails](https://arkhq.io/docs/api-reference/emails/send-multiple-emails.md): Send up to 100 emails in a single request. Useful for sending personalized emails to multiple recipients efficiently. - [Send raw MIME email](https://arkhq.io/docs/api-reference/emails/send-raw-mime-email.md): Send a pre-formatted RFC 2822 MIME message. Use this for advanced use cases or when migrating from systems that generate raw email content. - [Email opened](https://arkhq.io/docs/api-reference/engagement-events/email-opened.md): Triggered when a recipient opens an email (tracking pixel loaded). - [Link clicked](https://arkhq.io/docs/api-reference/engagement-events/link-clicked.md): Triggered when a recipient clicks a link in an email. - [API Reference — Ark Email REST API](https://arkhq.io/docs/api-reference/introduction.md): Complete reference for the Ark Email REST API. Send transactional email, manage tenants, configure domains, handle webhooks, and track deliverability. - [Get account rate limits and send limits](https://arkhq.io/docs/api-reference/limits/get-account-rate-limits-and-send-limits.md): Returns current rate limit and send limit information for your account. - [Get API request log details](https://arkhq.io/docs/api-reference/logs/get-api-request-log-details.md): Retrieve detailed information about a specific API request log, including the full request and response bodies. - [List API request logs](https://arkhq.io/docs/api-reference/logs/list-api-request-logs.md): Retrieve a paginated list of API request logs for debugging and monitoring. Results are ordered by timestamp, newest first. - [Create a platform webhook](https://arkhq.io/docs/api-reference/platform-webhooks/create-a-platform-webhook.md): Create a platform webhook to receive email event notifications from all tenants. - [Delete a platform webhook](https://arkhq.io/docs/api-reference/platform-webhooks/delete-a-platform-webhook.md): Delete a platform webhook. This stops all event delivery to the webhook URL. This action cannot be undone. - [Get platform webhook delivery details](https://arkhq.io/docs/api-reference/platform-webhooks/get-platform-webhook-delivery-details.md): Get detailed information about a specific platform webhook delivery. - [Get platform webhook details](https://arkhq.io/docs/api-reference/platform-webhooks/get-platform-webhook-details.md): Get detailed information about a specific platform webhook. - [List platform webhook deliveries](https://arkhq.io/docs/api-reference/platform-webhooks/list-platform-webhook-deliveries.md): Get a paginated list of platform webhook delivery attempts. - [List platform webhooks](https://arkhq.io/docs/api-reference/platform-webhooks/list-platform-webhooks.md): Get all platform webhook endpoints configured for your organization. - [Replay a platform webhook delivery](https://arkhq.io/docs/api-reference/platform-webhooks/replay-a-platform-webhook-delivery.md): Replay a previous platform webhook delivery. - [Test a platform webhook](https://arkhq.io/docs/api-reference/platform-webhooks/test-a-platform-webhook.md): Send a test payload to your platform webhook endpoint. - [Update a platform webhook](https://arkhq.io/docs/api-reference/platform-webhooks/update-a-platform-webhook.md): Update a platform webhook's configuration. - [Add to suppression list](https://arkhq.io/docs/api-reference/suppressions/add-to-suppression-list.md): Add an email address to the tenant's suppression list. The address will not receive any emails from this tenant until removed. - [Check if address is suppressed](https://arkhq.io/docs/api-reference/suppressions/check-if-address-is-suppressed.md): Check if a specific email address is on the tenant's suppression list. - [List suppressed addresses](https://arkhq.io/docs/api-reference/suppressions/list-suppressed-addresses.md): Get all email addresses on the tenant's suppression list. These addresses will not receive any emails from this tenant. - [Remove from suppression list](https://arkhq.io/docs/api-reference/suppressions/remove-from-suppression-list.md): Remove an email address from the tenant's suppression list. The address will be able to receive emails from this tenant again. - [Create a tenant](https://arkhq.io/docs/api-reference/tenants/create-a-tenant.md): Create a new tenant. - [Delete a tenant](https://arkhq.io/docs/api-reference/tenants/delete-a-tenant.md): Permanently delete a tenant. This cannot be undone. - [Get a tenant](https://arkhq.io/docs/api-reference/tenants/get-a-tenant.md): Get a tenant by ID. - [List all tenants](https://arkhq.io/docs/api-reference/tenants/list-all-tenants.md): List all tenants with pagination. Filter by `status` if needed. - [Update a tenant](https://arkhq.io/docs/api-reference/tenants/update-a-tenant.md): Update a tenant's name, metadata, or status. At least one field is required. - [Create track domain](https://arkhq.io/docs/api-reference/tracking/create-track-domain.md): Create a new track domain for open/click tracking for a tenant. - [Delete track domain](https://arkhq.io/docs/api-reference/tracking/delete-track-domain.md): Delete a track domain. This will disable tracking for any emails using this domain. - [Get track domain](https://arkhq.io/docs/api-reference/tracking/get-track-domain.md): Get details of a specific track domain including DNS configuration. - [List track domains](https://arkhq.io/docs/api-reference/tracking/list-track-domains.md): List all track domains configured for a tenant. Track domains enable open and click tracking for emails. - [Update track domain](https://arkhq.io/docs/api-reference/tracking/update-track-domain.md): Update track domain settings. - [Verify track domain DNS](https://arkhq.io/docs/api-reference/tracking/verify-track-domain-dns.md): Check DNS configuration for the track domain. - [Export tenant usage data](https://arkhq.io/docs/api-reference/usage/export-tenant-usage-data.md): Export email usage data for all tenants in CSV or JSON Lines format. Designed for billing system integration, data warehousing, and analytics. - [Get org-wide usage summary](https://arkhq.io/docs/api-reference/usage/get-org-wide-usage-summary.md): Returns aggregated email sending statistics for your entire organization. For per-tenant breakdown, use `GET /usage/tenants`. - [Get usage stats for a tenant](https://arkhq.io/docs/api-reference/usage/get-usage-stats-for-a-tenant.md): Returns email sending statistics for a specific tenant over a time period. - [Get usage timeseries for a tenant](https://arkhq.io/docs/api-reference/usage/get-usage-timeseries-for-a-tenant.md): Returns time-bucketed email statistics for a specific tenant. - [List usage for all tenants](https://arkhq.io/docs/api-reference/usage/list-usage-for-all-tenants.md): Returns email usage statistics for all tenants in your organization. Results are paginated with page-based navigation. - [Create a webhook](https://arkhq.io/docs/api-reference/webhooks/create-a-webhook.md): Create a webhook endpoint to receive email event notifications for a tenant. - [Delete a webhook](https://arkhq.io/docs/api-reference/webhooks/delete-a-webhook.md) - [Get webhook delivery details](https://arkhq.io/docs/api-reference/webhooks/get-webhook-delivery-details.md): Get detailed information about a specific webhook delivery attempt. - [Get webhook details](https://arkhq.io/docs/api-reference/webhooks/get-webhook-details.md) - [List webhook deliveries](https://arkhq.io/docs/api-reference/webhooks/list-webhook-deliveries.md): Get a paginated list of delivery attempts for a specific webhook. - [List webhooks](https://arkhq.io/docs/api-reference/webhooks/list-webhooks.md): Get all configured webhook endpoints for a tenant. - [Replay a webhook delivery](https://arkhq.io/docs/api-reference/webhooks/replay-a-webhook-delivery.md): Re-send a webhook delivery to your endpoint. - [Test a webhook](https://arkhq.io/docs/api-reference/webhooks/test-a-webhook.md): Send a test payload to your webhook endpoint and verify it receives the data correctly. - [Update a webhook](https://arkhq.io/docs/api-reference/webhooks/update-a-webhook.md) - [Authentication — API Keys & Bearer Tokens](https://arkhq.io/docs/authentication.md): Authenticate your Ark API requests using Bearer tokens. Learn how to create, rotate, and scope API keys for secure email sending. - [Plans & Billing — Starter, Growth & Scale Tiers](https://arkhq.io/docs/concepts/billing.md): Ark offers three plans for white-label email infrastructure: Starter at $29/mo, Growth at $99/mo, and Scale at $499/mo. Each includes domains, emails, and tenants. - [Bounce Handling — Hard Bounces, Soft Bounces & Suppressions](https://arkhq.io/docs/concepts/bounces.md): How Ark handles email bounces: immediate suppression for hard bounces, exponential retry for soft bounces, and webhook notifications for NDR bounces. - [Email Deliverability — SPF, DKIM, DMARC & Reputation](https://arkhq.io/docs/concepts/deliverability.md): Best practices for ensuring your transactional emails reach the inbox. Covers authentication (SPF, DKIM, DMARC), sender reputation, content guidelines, and white-label deliverability. - [Email Lifecycle — From Send to Delivery](https://arkhq.io/docs/concepts/email-lifecycle.md): Understand how emails flow through Ark from API submission to inbox delivery, including status transitions, retry behavior, and automatic suppression. - [Idempotency — Safe Retries & Exactly-Once Delivery](https://arkhq.io/docs/concepts/idempotency.md): Prevent duplicate emails with idempotency keys. Learn how to safely retry failed API requests for exactly-once email delivery. - [Error Handling — API Error Codes & Responses](https://arkhq.io/docs/errors.md): Understand Ark API error codes, HTTP status codes, and typed SDK exceptions. Includes error handling patterns in Python, Node.js, Ruby, and Go. - [White-Label Email Architecture — Platform, Tenant & Domain Hierarchy](https://arkhq.io/docs/guides/architecture-overview.md): Learn how Ark's Platform, Tenant, Domain, and Email hierarchy lets SaaS platforms send white-label email with per-customer domains and authentication. - [Batch Sending — Send Up to 100 Emails per Request](https://arkhq.io/docs/guides/batch-sending.md): Send up to 100 transactional emails in a single API request. Reduce overhead and improve throughput for notifications, alerts, and bulk transactional email. - [Domain Setup — DKIM, SPF & DMARC Configuration](https://arkhq.io/docs/guides/domain-setup.md): Configure your sending domain with DKIM, SPF, and DMARC authentication. Step-by-step DNS setup with verification for any provider. - [Migration Guide — Switch from SendGrid, Mailgun, Postmark & SES](https://arkhq.io/docs/guides/migration.md): Step-by-step guide to migrate your email infrastructure to Ark from SendGrid, Mailgun, Postmark, or Amazon SES. API mapping, domain migration, and suppression import. - [Sending Emails — Patterns & Best Practices](https://arkhq.io/docs/guides/sending-emails.md): Learn patterns for sending transactional emails with Ark — basic sends, multiple recipients, attachments, metadata, tracking, and error handling in Python, Node.js, Ruby, and Go. - [SMTP Integration — Send from Any App or Framework](https://arkhq.io/docs/guides/smtp-integration.md): Send transactional emails via SMTP from any application, framework, or self-hosted tool. Configure SMTP credentials, ports, and framework-specific settings. - [Suppression Management — Bounces, Complaints & Unsubscribes](https://arkhq.io/docs/guides/suppression-management.md): Manage email suppression lists to handle bounces, complaints, and unsubscribes. Protect your sender reputation with automatic and manual suppressions. - [Tenant Domain Onboarding — Build Domain Setup Flows for Your Customers](https://arkhq.io/docs/guides/tenant-domain-onboarding.md): Guide your SaaS customers through domain verification with automated DNS checking, verification polling, and error handling. Build white-label domain onboarding flows. - [Tenant Management — CRUD Operations & Per-Tenant Configuration](https://arkhq.io/docs/guides/tenant-management.md): Create, configure, and manage tenants for white-label email. Full CRUD operations with per-tenant credentials, domains, webhooks, and usage tracking. - [Email Open & Click Tracking — Setup Guide](https://arkhq.io/docs/guides/tracking-setup.md): Enable open and click tracking for transactional emails. Configure custom tracking domains and use webhooks to monitor recipient engagement. - [Ark Email API — White-Label Email Infrastructure for SaaS](https://arkhq.io/docs/index.md): White-label email infrastructure for SaaS platforms. Send authenticated email from your customers' domains with guided DNS setup and full DKIM, SPF, and DMARC authentication. - [IDE Setup — Claude Code, Cursor, VS Code & Windsurf](https://arkhq.io/docs/integrations/ide-setup.md): Connect your IDE to Ark's documentation and API tools via MCP. Setup guides for Claude Code, Cursor, VS Code, and Windsurf. - [Cloudflare DNS Setup](https://arkhq.io/docs/knowledge-base/dns-guides/cloudflare.md): Configure Ark Email DNS records in Cloudflare - step-by-step guide for DKIM, SPF, and domain verification - [DigitalOcean DNS Setup](https://arkhq.io/docs/knowledge-base/dns-guides/digitalocean.md): Configure Ark Email DNS records in DigitalOcean - step-by-step guide for DKIM, SPF, and domain verification - [GoDaddy DNS Setup](https://arkhq.io/docs/knowledge-base/dns-guides/godaddy.md): Configure Ark Email DNS records in GoDaddy - step-by-step guide for DKIM, SPF, and domain verification - [Google Cloud DNS Setup](https://arkhq.io/docs/knowledge-base/dns-guides/google-cloud-dns.md): Configure Ark Email DNS records in Google Cloud DNS - step-by-step guide for DKIM, SPF, and domain verification - [Hetzner DNS Setup](https://arkhq.io/docs/knowledge-base/dns-guides/hetzner.md): Configure Ark Email DNS records in Hetzner DNS Console - step-by-step guide for DKIM, SPF, and domain verification - [Namecheap DNS Setup](https://arkhq.io/docs/knowledge-base/dns-guides/namecheap.md): Configure Ark Email DNS records in Namecheap - step-by-step guide for DKIM, SPF, and domain verification - [Netlify DNS Setup](https://arkhq.io/docs/knowledge-base/dns-guides/netlify.md): Configure Ark Email DNS records in Netlify - step-by-step guide for DKIM, SPF, and domain verification - [Porkbun DNS Setup](https://arkhq.io/docs/knowledge-base/dns-guides/porkbun.md): Configure Ark Email DNS records in Porkbun - step-by-step guide for DKIM, SPF, and domain verification - [Amazon Route 53 DNS Setup](https://arkhq.io/docs/knowledge-base/dns-guides/route53.md): Configure Ark Email DNS records in AWS Route 53 - step-by-step guide for DKIM, SPF, and domain verification - [Vercel DNS Setup](https://arkhq.io/docs/knowledge-base/dns-guides/vercel.md): Configure Ark Email DNS records in Vercel - step-by-step guide for DKIM, SPF, and domain verification - [Quickstart — Send Your First Email in 5 Minutes](https://arkhq.io/docs/quickstart.md): Install the Ark SDK, set up your API key, and send your first transactional email in under 5 minutes. Supports Python, Node.js, Ruby, and Go. - [Rate Limits — API Request & Email Send Quotas](https://arkhq.io/docs/rate-limits.md): Understand Ark's API rate limits (requests per second) and email send limits (emails per hour). Includes retry strategies and quota management. - [Documentation MCP — AI-Powered Docs Search](https://arkhq.io/docs/sdks/docs-mcp.md): Connect AI assistants directly to Ark documentation for real-time, accurate answers about email APIs, SDKs, and integration guides. - [Go SDK](https://arkhq.io/docs/sdks/go.md): Official Go SDK with idiomatic Go patterns and full type safety - [Official SDKs — Python, Node.js, Ruby & Go](https://arkhq.io/docs/sdks/index.md): Type-safe SDKs for Python, Node.js, Ruby, and Go with full API coverage, automatic retries, tenant-scoped operations, and MCP for AI assistants. - [MCP Server — Use Ark with AI Assistants](https://arkhq.io/docs/sdks/mcp.md): Send emails, check delivery status, and manage domains using natural language through Claude, Cursor, VS Code, and other MCP-compatible AI assistants. - [Node.js SDK](https://arkhq.io/docs/sdks/nodejs.md): Official Node.js SDK with TypeScript support and full type definitions - [Python SDK](https://arkhq.io/docs/sdks/python.md): Official Python SDK for the Ark Email API with async support and full type hints - [Ruby SDK](https://arkhq.io/docs/sdks/ruby.md): Official Ruby SDK with Sorbet type definitions and thread-safe client - [Webhook Overview — Real-Time Email Event Notifications](https://arkhq.io/docs/webhooks/overview.md): Receive real-time HTTP notifications when email events occur — deliveries, bounces, opens, clicks, and more. Multi-language handler examples for Python, Node.js, Ruby, and Go. - [Webhook Security — RSA-SHA256 Signature Verification](https://arkhq.io/docs/webhooks/security.md): Verify webhook signatures using RSA-SHA256 and JWKS to ensure webhook requests genuinely come from Ark. ## OpenAPI Specs - [openapi](https://arkhq.io/docs/api-reference/openapi.yaml)