No domain setup required! Use sandbox mode to test immediately. Send from [email protected] to any organization member.
Sandbox Restrictions: Recipients must be members of your Ark organization. Add team members at arkhq.io/org/team. Limited to 10 emails/day.
For production use, configure a sending domain at arkhq.io/org/domains. Follow the DNS configuration instructions to verify your domain. See our domain setup guide for detailed instructions.
Send a test email. For sandbox mode, use [email protected] as the sender and a team member’s email as recipient. For production, use your verified domain:
Python
Node.js
Ruby
Go
cURL
import osfrom ark import Arkclient = Ark(api_key=os.environ.get("ARK_API_KEY"))# Sandbox mode: use [email protected], send to a team member# Production: use your verified domainemail = client.emails.send( from_="[email protected]", # or "[email protected]" for production to=["[email protected]"], subject="Hello from Ark!", html="<h1>It works!</h1><p>You just sent your first email with Ark.</p>", text="It works! You just sent your first email with Ark.")print(f"Email ID: {email.data.id}")print(f"Status: {email.data.status}")# Sandbox emails include: email.data.sandbox == True
import Ark from 'ark-email';const client = new Ark({ apiKey: process.env.ARK_API_KEY,});// Sandbox mode: use [email protected], send to a team member// Production: use your verified domainconst email = await client.emails.send({ from: '[email protected]', // or '[email protected]' for production to: ['[email protected]'], subject: 'Hello from Ark!', html: '<h1>It works!</h1><p>You just sent your first email with Ark.</p>', text: 'It works! You just sent your first email with Ark.',});console.log(`Email ID: ${email.data.id}`);console.log(`Status: ${email.data.status}`);// Sandbox emails include: email.data.sandbox === true
require "ark_email"client = ArkEmail::Client.new(api_key: ENV["ARK_API_KEY"])# Sandbox mode: use [email protected], send to a team member# Production: use your verified domainemail = client.emails.send_( from: "[email protected]", # or "[email protected]" for production to: ["[email protected]"], subject: "Hello from Ark!", html: "<h1>It works!</h1><p>You just sent your first email with Ark.</p>", text: "It works! You just sent your first email with Ark.")puts "Email ID: #{email.data.id}"puts "Status: #{email.data.status}"# Sandbox emails include: email.data.sandbox == true
Ruby uses send_ (with underscore) because send is a reserved method.
package mainimport ( "context" "fmt" "log" "github.com/ArkHQ-io/ark-go")func main() { client := ark.NewClient() // Uses ARK_API_KEY env var // Sandbox mode: use [email protected], send to a team member // Production: use your verified domain email, err := client.Emails.Send(context.Background(), ark.EmailSendParams{ From: "[email protected]", // or "[email protected]" for production To: []string{"[email protected]"}, Subject: "Hello from Ark!", HTML: ark.String("<h1>It works!</h1><p>You just sent your first email with Ark.</p>"), Text: ark.String("It works! You just sent your first email with Ark."), }) if err != nil { log.Fatal(err) } fmt.Printf("Email ID: %s\n", email.Data.ID) fmt.Printf("Status: %s\n", email.Data.Status) // Sandbox emails include: email.Data.Sandbox == true}
# Sandbox mode: use [email protected], send to a team member# Production: use your verified domaincurl -X POST https://api.arkhq.io/v1/emails \ -H "Authorization: Bearer $ARK_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "from": "[email protected]", "to": ["[email protected]"], "subject": "Hello from Ark!", "html": "<h1>It works!</h1><p>You just sent your first email with Ark.</p>", "text": "It works! You just sent your first email with Ark." }'