GET https://emailoctopus.com/api/1.6/campaigns/:campaignId

Get details of a campaign.

Parameters

Parameters
api_key (string)

200 (success) returns

id (string) The identifier of the campaign.
status (string) The status of the campaign (DRAFT/SENDING/SENT/ERROR).
name (string) The name of the campaign.
subject (string) The subject of the campaign.
to (array) The ids of the lists the campaign was sent to.
from (struct) The sender of the campaign:
name (string) The name the campaign was sent from.
email_address (string) The email address the campaign was sent from.
content (struct) The content of the campaign:
html (string) The campaign's HTML content.
plain_text (string) The campaign's plain text content.
created_at (string) When the campaign was created, in ISO 8601 format.
sent_at (string) When the campaign was sent, in ISO 8601 format.

Non-200 (error) returns

code (string) The error code.
message (string) A description of the error.

Method-specific error codes

CAMPAIGN_NOT_FOUND

API-wide error codes

INVALID_PARAMETERS
API_KEY_INVALID
UNAUTHORISED
NOT_FOUND
UNKNOWN

Example request

/api/1.6/campaigns/00000000-0000-0000-0000-000000000000?api_key=00000000-0000-0000-0000-000000000000

Example response

{
    "id": "00000000-0000-0000-0000-000000000000",
    "status": "SENT",
    "name": "Foo",
    "subject": "Bar",
    "to": [
        "00000000-0000-0000-0000-000000000001",
        "00000000-0000-0000-0000-000000000002"
    ],
    "from": {
        "name": "John Doe",
        "email_address": "john.doe@gmail.com"
    },
    "content": {
        "html": "<html>Foo Bar<html>",
        "plain_text": "Foo Bar"
    },
    "created_at": "2026-06-13T08:27:41+00:00",
    "sent_at": "2026-06-14T08:27:41+00:00"
}

Code sample

cURL

curl -X GET \
    https://emailoctopus.com/api/1.6/campaigns/00000000-0000-0000-0000-000000000000?api_key=00000000-0000-0000-0000-000000000000
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://emailoctopus.com/api/1.6/campaigns/00000000-0000-0000-0000-000000000000?api_key=00000000-0000-0000-0000-000000000000');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
$result = curl_exec($ch);
if (curl_errno($ch)) {
    echo 'Error:' . curl_error($ch);
}
curl_close($ch);
import requests
params = (
    ('api_key', '00000000-0000-0000-0000-000000000000'),
)
response = requests.get('https://emailoctopus.com/api/1.6/campaigns/00000000-0000-0000-0000-000000000000', params=params)
var https = require('https');
var options = {
    hostname: 'emailoctopus.com',
    port: 443,
    path: '/api/1.6/campaigns/00000000-0000-0000-0000-000000000000?api_key=00000000-0000-0000-0000-000000000000',
    method: 'GET',
};
var req = https.request(options);
req.end();
package main
import (
    "io/ioutil"
    "log"
    "net/http"
)
func main() {
    client := &http.Client{}
    req, err := http.NewRequest("GET", "https://emailoctopus.com/api/1.6/campaigns/00000000-0000-0000-0000-000000000000?api_key=00000000-0000-0000-0000-000000000000", nil)
    if err != nil {
        log.Fatal(err)
    }
    resp, err := client.Do(req)
    if err != nil {
        log.Fatal(err)
    }
    bodyText, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        log.Fatal(err)
    }
}