Update a campaign mailing
curl --request PATCH \
--url https://api.paubox.com/v1/marketing/campaign_mailings/{campaign_mailing_id} \
--header 'Content-Type: application/json' \
--header 'authorization: <api-key>' \
--data '
{
"campaign_mailing": {
"subject": "March newsletter (revised)"
}
}
'import requests
url = "https://api.paubox.com/v1/marketing/campaign_mailings/{campaign_mailing_id}"
payload = { "campaign_mailing": { "subject": "March newsletter (revised)" } }
headers = {
"authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({campaign_mailing: {subject: 'March newsletter (revised)'}})
};
fetch('https://api.paubox.com/v1/marketing/campaign_mailings/{campaign_mailing_id}', 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.paubox.com/v1/marketing/campaign_mailings/{campaign_mailing_id}",
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([
'campaign_mailing' => [
'subject' => 'March newsletter (revised)'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"authorization: <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://api.paubox.com/v1/marketing/campaign_mailings/{campaign_mailing_id}"
payload := strings.NewReader("{\n \"campaign_mailing\": {\n \"subject\": \"March newsletter (revised)\"\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("authorization", "<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://api.paubox.com/v1/marketing/campaign_mailings/{campaign_mailing_id}")
.header("authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"campaign_mailing\": {\n \"subject\": \"March newsletter (revised)\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.paubox.com/v1/marketing/campaign_mailings/{campaign_mailing_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"campaign_mailing\": {\n \"subject\": \"March newsletter (revised)\"\n }\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "<string>"
},
"errors": [
"<string>"
]
}{
"error": "<string>",
"code": "<string>",
"details": {}
}{
"error": "<string>",
"code": "<string>",
"details": {}
}{
"error": "<string>",
"code": "<string>",
"details": {}
}Marketing · Campaigns
Update a campaign with the Marketing API
Updates a campaign mailing. Only the fields you send are changed. PUT is accepted as an equivalent to PATCH.
subject must stay unique within your account. The unsubscribe footer is reapplied to html_part on every save.
Example curl command:
curl -X PATCH \
https://api.paubox.com/v1/marketing/campaign_mailings/123e4567-e89b-12d3-a456-426614174000 \
-H 'authorization: Token token=YOUR_API_KEY' \
-H 'content-type: application/json' \
-d '{
"campaign_mailing": {
"subject": "March newsletter (revised)"
}
}'
PATCH
/
campaign_mailings
/
{campaign_mailing_id}
Update a campaign mailing
curl --request PATCH \
--url https://api.paubox.com/v1/marketing/campaign_mailings/{campaign_mailing_id} \
--header 'Content-Type: application/json' \
--header 'authorization: <api-key>' \
--data '
{
"campaign_mailing": {
"subject": "March newsletter (revised)"
}
}
'import requests
url = "https://api.paubox.com/v1/marketing/campaign_mailings/{campaign_mailing_id}"
payload = { "campaign_mailing": { "subject": "March newsletter (revised)" } }
headers = {
"authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({campaign_mailing: {subject: 'March newsletter (revised)'}})
};
fetch('https://api.paubox.com/v1/marketing/campaign_mailings/{campaign_mailing_id}', 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.paubox.com/v1/marketing/campaign_mailings/{campaign_mailing_id}",
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([
'campaign_mailing' => [
'subject' => 'March newsletter (revised)'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"authorization: <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://api.paubox.com/v1/marketing/campaign_mailings/{campaign_mailing_id}"
payload := strings.NewReader("{\n \"campaign_mailing\": {\n \"subject\": \"March newsletter (revised)\"\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("authorization", "<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://api.paubox.com/v1/marketing/campaign_mailings/{campaign_mailing_id}")
.header("authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"campaign_mailing\": {\n \"subject\": \"March newsletter (revised)\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.paubox.com/v1/marketing/campaign_mailings/{campaign_mailing_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"campaign_mailing\": {\n \"subject\": \"March newsletter (revised)\"\n }\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "<string>"
},
"errors": [
"<string>"
]
}{
"error": "<string>",
"code": "<string>",
"details": {}
}{
"error": "<string>",
"code": "<string>",
"details": {}
}{
"error": "<string>",
"code": "<string>",
"details": {}
}Authorizations
Token-based authentication. Use format: "Token token=<API_KEY>" where <API_KEY> is your API key
Path Parameters
UUID of the campaign mailing
Body
application/json
Only the fields supplied are changed.
Show child attributes
Show child attributes
Response
The updated campaign mailing's ID. If validation fails the response is still 200 but the body contains an errors array instead of data.
⌘I