curl --request POST \
--url https://api.dev.name.com/core/v1/domains/{domainName}/email/forwarding \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"emailBox": "admin",
"emailTo": "webmaster@example.com"
}
'import requests
url = "https://api.dev.name.com/core/v1/domains/{domainName}/email/forwarding"
payload = {
"emailBox": "admin",
"emailTo": "webmaster@example.com"
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({emailBox: 'admin', emailTo: 'webmaster@example.com'})
};
fetch('https://api.dev.name.com/core/v1/domains/{domainName}/email/forwarding', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.dev.name.com/core/v1/domains/{domainName}/email/forwarding",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'emailBox' => 'admin',
'emailTo' => 'webmaster@example.com'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.dev.name.com/core/v1/domains/{domainName}/email/forwarding"
payload := strings.NewReader("{\n \"emailBox\": \"admin\",\n \"emailTo\": \"webmaster@example.com\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.dev.name.com/core/v1/domains/{domainName}/email/forwarding")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"emailBox\": \"admin\",\n \"emailTo\": \"webmaster@example.com\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.dev.name.com/core/v1/domains/{domainName}/email/forwarding")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"emailBox\": \"admin\",\n \"emailTo\": \"webmaster@example.com\"\n}"
response = http.request(request)
puts response.read_body{
"domainName": "example.com",
"emailBox": "admin",
"emailTo": "webmaster@example.com"
}{
"message": "Bad Request",
"details": "'domainName' cannot be null"
}{
"message": "Unauthorized"
}{
"message": "Permission denied",
"details": "Failed authentication"
}{
"message": "Not Found",
"details": "The requested domain does not exist."
}{
"message": "Method Not Allowed"
}{
"message": "The 'Content-Type' header must be 'application/json' for this request."
}{
"message": "Rate Limit Exceeded"
}{
"message": "Internal Server Error",
"details": "Something went wrong."
}{
"message": "The server received an invalid response from the upstream server."
}{
"message": "Service Unavailable",
"details": "The API is offline for scheduled maintenance. See https://status.name.com for updates."
}{
"message": "The upstream server is taking too long to respond."
}Create Email Forwarding
Creates a new email forwarding rule for a domain, such as redirecting info@example.com to an external inbox. If this is the first email forwarding rule created for the domain, the API may also update your MX records automatically to enable mail routing. The alias must not conflict with existing email services or MX records. Wildcard and catch-all forwarding is not supported, so an emailBox containing * is rejected with a 400 Bad Request. To modify a forwarding rule later, use UpdateEmailForwarding.
curl --request POST \
--url https://api.dev.name.com/core/v1/domains/{domainName}/email/forwarding \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"emailBox": "admin",
"emailTo": "webmaster@example.com"
}
'import requests
url = "https://api.dev.name.com/core/v1/domains/{domainName}/email/forwarding"
payload = {
"emailBox": "admin",
"emailTo": "webmaster@example.com"
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({emailBox: 'admin', emailTo: 'webmaster@example.com'})
};
fetch('https://api.dev.name.com/core/v1/domains/{domainName}/email/forwarding', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.dev.name.com/core/v1/domains/{domainName}/email/forwarding",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'emailBox' => 'admin',
'emailTo' => 'webmaster@example.com'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.dev.name.com/core/v1/domains/{domainName}/email/forwarding"
payload := strings.NewReader("{\n \"emailBox\": \"admin\",\n \"emailTo\": \"webmaster@example.com\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.dev.name.com/core/v1/domains/{domainName}/email/forwarding")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"emailBox\": \"admin\",\n \"emailTo\": \"webmaster@example.com\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.dev.name.com/core/v1/domains/{domainName}/email/forwarding")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"emailBox\": \"admin\",\n \"emailTo\": \"webmaster@example.com\"\n}"
response = http.request(request)
puts response.read_body{
"domainName": "example.com",
"emailBox": "admin",
"emailTo": "webmaster@example.com"
}{
"message": "Bad Request",
"details": "'domainName' cannot be null"
}{
"message": "Unauthorized"
}{
"message": "Permission denied",
"details": "Failed authentication"
}{
"message": "Not Found",
"details": "The requested domain does not exist."
}{
"message": "Method Not Allowed"
}{
"message": "The 'Content-Type' header must be 'application/json' for this request."
}{
"message": "Rate Limit Exceeded"
}{
"message": "Internal Server Error",
"details": "Something went wrong."
}{
"message": "The server received an invalid response from the upstream server."
}{
"message": "Service Unavailable",
"details": "The API is offline for scheduled maintenance. See https://status.name.com for updates."
}{
"message": "The upstream server is taking too long to respond."
}Authorizations
Authenticate via HTTP Basic with your account username and API token. Examples use an explicit 'Authorization: Basic <base64(username:token)>' header; 'curl -u username:token' is equivalent. For sandbox, append "-test" to your username and use your sandbox token on api.dev.name.com.
Path Parameters
DomainName is the domain part of the email address to forward.
"example.com"
Body
EmailForwarding contains all the information for an email forwarding entry.
EmailBox is the user portion of the email address to forward. If your email is "admin@example.com", it would just be "admin". Wildcard and catch-all values (such as "*") are not supported.
1"admin"
EmailTo is the entire email address to forward email to.
1"webmaster@example.com"
Response
An email forwarding record has been successfully created.
EmailForwarding contains all the information for an email forwarding entry.
DomainName is the domain part of the email address to forward.
1"example.com"
EmailBox is the user portion of the email address to forward.
1"admin"
EmailTo is the entire email address to forward email to.
"webmaster@example.com"
Was this page helpful?