curl --request PATCH \
--url https://app.base44.com/api/apps/{app_id}/custom-email-domains \
--header 'Content-Type: application/json' \
--header 'api_key: <api-key>' \
--data '
{
"sender_name": "Nordwind Furniture",
"from_email": "hello@example.com"
}
'import requests
url = "https://app.base44.com/api/apps/{app_id}/custom-email-domains"
payload = {
"sender_name": "Nordwind Furniture",
"from_email": "hello@example.com"
}
headers = {
"api_key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {api_key: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({sender_name: 'Nordwind Furniture', from_email: 'hello@example.com'})
};
fetch('https://app.base44.com/api/apps/{app_id}/custom-email-domains', 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://app.base44.com/api/apps/{app_id}/custom-email-domains",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'sender_name' => 'Nordwind Furniture',
'from_email' => 'hello@example.com'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"api_key: <api-key>"
],
]);
$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://app.base44.com/api/apps/{app_id}/custom-email-domains"
payload := strings.NewReader("{\n \"sender_name\": \"Nordwind Furniture\",\n \"from_email\": \"hello@example.com\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("api_key", "<api-key>")
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.patch("https://app.base44.com/api/apps/{app_id}/custom-email-domains")
.header("api_key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"sender_name\": \"Nordwind Furniture\",\n \"from_email\": \"hello@example.com\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/apps/{app_id}/custom-email-domains")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["api_key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"sender_name\": \"Nordwind Furniture\",\n \"from_email\": \"hello@example.com\"\n}"
response = http.request(request)
puts response.read_body{
"sender_name": "Nordwind Furniture",
"from_email": "hello@example.com",
"domain": "example.com",
"configuration_status": "active"
}Update email sender details
Changes the name or address your app’s mail is sent from.
The domain part of from_email has to be a domain this app already has set up for email. The call edits that domain’s sender details and nothing else, so it never changes which domain your mail goes out from. Use Replace the email domain for that.
The change applies at once and doesn’t re-run verification, so a domain that was active keeps sending.
curl --request PATCH \
--url https://app.base44.com/api/apps/{app_id}/custom-email-domains \
--header 'Content-Type: application/json' \
--header 'api_key: <api-key>' \
--data '
{
"sender_name": "Nordwind Furniture",
"from_email": "hello@example.com"
}
'import requests
url = "https://app.base44.com/api/apps/{app_id}/custom-email-domains"
payload = {
"sender_name": "Nordwind Furniture",
"from_email": "hello@example.com"
}
headers = {
"api_key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {api_key: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({sender_name: 'Nordwind Furniture', from_email: 'hello@example.com'})
};
fetch('https://app.base44.com/api/apps/{app_id}/custom-email-domains', 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://app.base44.com/api/apps/{app_id}/custom-email-domains",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'sender_name' => 'Nordwind Furniture',
'from_email' => 'hello@example.com'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"api_key: <api-key>"
],
]);
$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://app.base44.com/api/apps/{app_id}/custom-email-domains"
payload := strings.NewReader("{\n \"sender_name\": \"Nordwind Furniture\",\n \"from_email\": \"hello@example.com\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("api_key", "<api-key>")
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.patch("https://app.base44.com/api/apps/{app_id}/custom-email-domains")
.header("api_key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"sender_name\": \"Nordwind Furniture\",\n \"from_email\": \"hello@example.com\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/apps/{app_id}/custom-email-domains")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["api_key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"sender_name\": \"Nordwind Furniture\",\n \"from_email\": \"hello@example.com\"\n}"
response = http.request(request)
puts response.read_body{
"sender_name": "Nordwind Furniture",
"from_email": "hello@example.com",
"domain": "example.com",
"configuration_status": "active"
}Authorizations
Personal API key.
Path Parameters
ID of the app whose email domains you want to work with.
Body
Request to update email domain configuration.
Name recipients see in the From line. Required, so resend the current value to keep it.
"Nordwind Furniture"
Address mail is sent from. Its domain has to be one the app already has set up for email. Required, so resend the current value to keep it.
"hello@example.com"
Response
The updated sender details.
Response for updating email domain configuration.
The name now in use.
"Nordwind Furniture"
The address now in use, lower-cased.
"hello@example.com"
The domain this configuration belongs to.
"example.com"
Where setup stands. Updating these fields doesn't change it. Only active sends mail. The pending_ values mean setup is still in progress, and the failed_ values mean it stopped and you can start it again with Retry email domain setup.
"active"
Was this page helpful?