Docs API Reference Audiences

Add Subscriber

Add a new subscriber to an audience.

POST/audiences/{id}/subscribers

Path Parameters

idstringRequired

The ID of the audience to add the subscriber to.

Request Body

emailstringRequired

The email address of the subscriber (must be a valid email format).

first_namestring

The first name of the subscriber.

last_namestring

The last name of the subscriber.

custom_fieldsobject

Custom fields for the subscriber (key-value pairs).

POST /audiences/{audience_id}/subscribers
import { Emailit } from '@emailit/node';
const emailit = new Emailit('your_api_key');

const subscriber = await emailit.subscribers.create('aud_123', {
  email: 'user@example.com',
  first_name: 'John',
});
from emailit import EmailitClient
client = EmailitClient("your_api_key")

subscriber = client.subscribers.create("aud_123", {
  "email": "user@example.com",
  "first_name": "John"
})
$emailit = Emailit::client('your_api_key');

$subscriber = $emailit->subscribers()->create('aud_123', [
  'email' => 'user@example.com',
  'first_name' => 'John',
]);
require "emailit"
client = Emailit::EmailitClient.new("your_api_key")

subscriber = client.subscribers.create("aud_123",
  email: "user@example.com",
  first_name: "John"
)
import "github.com/emailit/emailit-go/v2"
client := emailit.NewClient("your_api_key")

subscriber, err := client.Subscribers.Create("aud_123", &emailit.CreateSubscriberRequest{
  Email:     "user@example.com",
  FirstName: "John",
})
use emailit::Emailit;
use emailit::types::CreateSubscriberParams;

let emailit = Emailit::new("your_api_key");

let subscriber = emailit.subscribers.create("aud_123",
  CreateSubscriberParams::new("user@example.com")
    .with_first_name("John")
).await?;
import com.emailit.*;
import com.emailit.params.*;

EmailitClient emailit = new EmailitClient("your_api_key");

EmailitObject subscriber = emailit.subscribers().create("aud_123",
  SubscriberCreateParams.builder()
    .setEmail("user@example.com")
    .setFirstName("John")
    .build()
);
using Emailit;

var emailit = new EmailitClient("your_api_key");

var subscriber = emailit.Subscribers.Create("aud_123", new SubscriberCreateOptions {
  Email = "user@example.com",
  FirstName = "John",
});
use Emailit\Laravel\Facades\Emailit;

$subscriber = Emailit::subscribers()->create('aud_123', [
  'email' => 'user@example.com',
  'first_name' => 'John',
]);
curl -X POST https://api.emailit.com/v2/audiences/aud_123/subscribers \
  -H "Authorization: Bearer your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "user@example.com",
    "first_name": "John"
  }'
{
  "object": "subscriber",
  "id": 1234567890,
  "audience_id": 1234567890,
  "contact_id": 1234567890,
  "email": "john.doe@example.com",
  "first_name": "John",
  "last_name": "Doe",
  "custom_fields": {
    "company": "Acme Corp",
    "role": "Developer"
  },
  "subscribed": true,
  "subscribed_at": "2021-01-01T00:00:00Z",
  "unsubscribed_at": null,
  "created_at": "2021-01-01T00:00:00Z",
  "updated_at": "2021-01-01T00:00:00Z"
}
{
  "error": {
    "code": 409,
    "message": "Subscriber already exists"
  },
  "existing": {
    "object": "subscriber",
    "id": 1234567890,
    "audience_id": 1234567890,
    "contact_id": 1234567890,
    "email": "john.doe@example.com",
    "first_name": "John",
    "last_name": "Doe",
    "custom_fields": {
      "company": "Acme Corp",
      "role": "Developer"
    },
    "subscribed": true,
    "subscribed_at": "2021-01-01T00:00:00Z",
    "unsubscribed_at": null,
    "created_at": "2021-01-01T00:00:00Z",
    "updated_at": "2021-01-01T00:00:00Z"
  }
}

Get Subscriber

Retrieve details of a specific subscriber.

GET/audiences/{id}/subscribers/{subscriberId}

Path Parameters

idstringRequired

The ID of the audience.

subscriberIdstringRequired

The ID of the subscriber to retrieve.

GET /audiences/{audience_id}/subscribers/{id}
import { Emailit } from '@emailit/node';
const emailit = new Emailit('your_api_key');

const subscriber = await emailit.subscribers.get('aud_123', 'sub_456');
from emailit import EmailitClient
client = EmailitClient("your_api_key")

subscriber = client.subscribers.get("aud_123", "sub_456")
$emailit = Emailit::client('your_api_key');

$subscriber = $emailit->subscribers()->get('aud_123', 'sub_456');
require "emailit"
client = Emailit::EmailitClient.new("your_api_key")

subscriber = client.subscribers.get("aud_123", "sub_456")
import "github.com/emailit/emailit-go/v2"
client := emailit.NewClient("your_api_key")

subscriber, err := client.Subscribers.Get("aud_123", "sub_456")
use emailit::Emailit;

let emailit = Emailit::new("your_api_key");

let subscriber = emailit.subscribers.get("aud_123", "sub_456").await?;
import com.emailit.*;

EmailitClient emailit = new EmailitClient("your_api_key");

EmailitObject subscriber = emailit.subscribers().get("aud_123", "sub_456");
using Emailit;

var emailit = new EmailitClient("your_api_key");

var subscriber = emailit.Subscribers.Get("aud_123", "sub_456");
use Emailit\Laravel\Facades\Emailit;

$subscriber = Emailit::subscribers()->get('aud_123', 'sub_456');
curl -X GET https://api.emailit.com/v2/audiences/aud_123/subscribers/sub_456 \
  -H "Authorization: Bearer your_api_key" \
  -H "Content-Type: application/json"
{
  "object": "subscriber",
  "id": 1234567890,
  "audience_id": 1234567890,
  "contact_id": 1234567890,
  "email": "john.doe@example.com",
  "first_name": "John",
  "last_name": "Doe",
  "custom_fields": {
    "company": "Acme Corp",
    "role": "Developer"
  },
  "subscribed": true,
  "subscribed_at": "2021-01-01T00:00:00Z",
  "unsubscribed_at": null,
  "created_at": "2021-01-01T00:00:00Z",
  "updated_at": "2021-01-01T00:00:00Z"
}
{
  "error": {
    "code": 404,
    "message": "Subscriber not found"
  }
}

Update Subscriber

Update subscriber information and preferences.

POST/audiences/{id}/subscribers/{subscriberId}

Path Parameters

idstringRequired

The ID of the audience.

subscriberIdstringRequired

The ID of the subscriber to update.

Request Body

emailstring

The email address of the subscriber (must be a valid email format).

first_namestring

The first name of the subscriber.

last_namestring

The last name of the subscriber.

custom_fieldsobject

Custom fields for the subscriber (key-value pairs).

subscribedboolean

Whether the subscriber is subscribed (true) or unsubscribed (false).

PATCH /audiences/{audience_id}/subscribers/{id}
import { Emailit } from '@emailit/node';
const emailit = new Emailit('your_api_key');

const subscriber = await emailit.subscribers.update('aud_123', 'sub_456', {
  first_name: 'Jane',
});
from emailit import EmailitClient
client = EmailitClient("your_api_key")

subscriber = client.subscribers.update("aud_123", "sub_456", {
  "first_name": "Jane"
})
$emailit = Emailit::client('your_api_key');

$subscriber = $emailit->subscribers()->update('aud_123', 'sub_456', [
  'first_name' => 'Jane',
]);
require "emailit"
client = Emailit::EmailitClient.new("your_api_key")

subscriber = client.subscribers.update("aud_123", "sub_456",
  first_name: "Jane"
)
import "github.com/emailit/emailit-go/v2"
client := emailit.NewClient("your_api_key")

subscriber, err := client.Subscribers.Update("aud_123", "sub_456", &emailit.UpdateSubscriberRequest{
  FirstName: "Jane",
})
use emailit::Emailit;
use emailit::types::UpdateSubscriberParams;

let emailit = Emailit::new("your_api_key");

let subscriber = emailit.subscribers.update("aud_123", "sub_456", UpdateSubscriberParams {
  first_name: Some("Jane".into()),
  ..Default::default()
}).await?;
import com.emailit.*;
import com.emailit.params.*;

EmailitClient emailit = new EmailitClient("your_api_key");

EmailitObject subscriber = emailit.subscribers().update("aud_123", "sub_456",
  SubscriberUpdateParams.builder()
    .setFirstName("Jane")
    .build()
);
using Emailit;

var emailit = new EmailitClient("your_api_key");

var subscriber = emailit.Subscribers.Update("aud_123", "sub_456", new SubscriberUpdateOptions {
  FirstName = "Jane",
});
use Emailit\Laravel\Facades\Emailit;

$subscriber = Emailit::subscribers()->update('aud_123', 'sub_456', [
  'first_name' => 'Jane',
]);
curl -X PATCH https://api.emailit.com/v2/audiences/aud_123/subscribers/sub_456 \
  -H "Authorization: Bearer your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "first_name": "Jane"
  }'
{
  "object": "subscriber",
  "id": 1234567890,
  "audience_id": 1234567890,
  "contact_id": 1234567890,
  "email": "john.updated@example.com",
  "first_name": "John",
  "last_name": "Updated",
  "custom_fields": {
    "company": "New Corp",
    "role": "Senior Developer"
  },
  "subscribed": true,
  "subscribed_at": "2021-01-01T00:00:00Z",
  "unsubscribed_at": null,
  "created_at": "2021-01-01T00:00:00Z",
  "updated_at": "2021-01-01T12:00:00Z"
}
{
  "error": {
    "code": 404,
    "message": "Subscriber not found"
  }
}

Delete Subscriber

Delete a subscriber from an audience.

DELETE/audiences/{id}/subscribers/{subscriberId}

Path Parameters

idstringRequired

The ID of the audience.

subscriberIdstringRequired

The ID of the subscriber to delete.

DELETE /audiences/{audience_id}/subscribers/{id}
import { Emailit } from '@emailit/node';
const emailit = new Emailit('your_api_key');

const subscriber = await emailit.subscribers.delete('aud_123', 'sub_456');
from emailit import EmailitClient
client = EmailitClient("your_api_key")

subscriber = client.subscribers.delete("aud_123", "sub_456")
$emailit = Emailit::client('your_api_key');

$subscriber = $emailit->subscribers()->delete('aud_123', 'sub_456');
require "emailit"
client = Emailit::EmailitClient.new("your_api_key")

subscriber = client.subscribers.delete("aud_123", "sub_456")
import "github.com/emailit/emailit-go/v2"
client := emailit.NewClient("your_api_key")

subscriber, err := client.Subscribers.Delete("aud_123", "sub_456")
use emailit::Emailit;

let emailit = Emailit::new("your_api_key");

let subscriber = emailit.subscribers.delete("aud_123", "sub_456").await?;
import com.emailit.*;

EmailitClient emailit = new EmailitClient("your_api_key");

EmailitObject subscriber = emailit.subscribers().delete("aud_123", "sub_456");
using Emailit;

var emailit = new EmailitClient("your_api_key");

var subscriber = emailit.Subscribers.Delete("aud_123", "sub_456");
use Emailit\Laravel\Facades\Emailit;

$subscriber = Emailit::subscribers()->delete('aud_123', 'sub_456');
curl -X DELETE https://api.emailit.com/v2/audiences/aud_123/subscribers/sub_456 \
  -H "Authorization: Bearer your_api_key" \
  -H "Content-Type: application/json"
{
  "object": "subscriber",
  "id": 1234567890,
  "audience_id": 1234567890,
  "contact_id": 1234567890,
  "email": "john.doe@example.com",
  "deleted": true
}
{
  "error": {
    "code": 404,
    "message": "Subscriber not found"
  }
}

List Subscribers

Get all subscribers in an audience.

GET/audiences/{id}/subscribers

Path Parameters

idstringRequired

The ID of the audience to list subscribers from.

Query Parameters

pageinteger

Page number for pagination (minimum: 1).

limitinteger

Number of subscribers to return (minimum: 1, maximum: 100).

subscribedstring

Filter subscribers by subscription status. Can be ‘true’ or ‘false’.

GET /audiences/{audience_id}/subscribers
import { Emailit } from '@emailit/node';
const emailit = new Emailit('your_api_key');

const subscribers = await emailit.subscribers.list('aud_123');
from emailit import EmailitClient
client = EmailitClient("your_api_key")

subscribers = client.subscribers.list("aud_123")
$emailit = Emailit::client('your_api_key');

$subscribers = $emailit->subscribers()->list('aud_123');
require "emailit"
client = Emailit::EmailitClient.new("your_api_key")

subscribers = client.subscribers.list("aud_123")
import "github.com/emailit/emailit-go/v2"
client := emailit.NewClient("your_api_key")

subscribers, err := client.Subscribers.List("aud_123", nil)
use emailit::Emailit;

let emailit = Emailit::new("your_api_key");

let subscribers = emailit.subscribers.list("aud_123", None).await?;
import com.emailit.*;

EmailitClient emailit = new EmailitClient("your_api_key");

EmailitObject subscribers = emailit.subscribers().list("aud_123");
using Emailit;

var emailit = new EmailitClient("your_api_key");

var subscribers = emailit.Subscribers.List("aud_123");
use Emailit\Laravel\Facades\Emailit;

$subscribers = Emailit::subscribers()->list('aud_123');
curl -X GET https://api.emailit.com/v2/audiences/aud_123/subscribers \
  -H "Authorization: Bearer your_api_key" \
  -H "Content-Type: application/json"
{
  "data": [
    {
      "object": "subscriber",
      "id": 1234567890,
      "audience_id": 1234567890,
      "contact_id": 1234567890,
      "email": "john.doe@example.com",
      "first_name": "John",
      "last_name": "Doe",
      "custom_fields": {
        "company": "Acme Corp",
        "role": "Developer"
      },
      "subscribed": true,
      "subscribed_at": "2021-01-01T00:00:00Z",
      "unsubscribed_at": null,
      "created_at": "2021-01-01T00:00:00Z",
      "updated_at": "2021-01-01T00:00:00Z"
    },
    {
      "object": "subscriber",
      "id": 1234567891,
      "audience_id": 1234567890,
      "contact_id": 1234567891,
      "email": "jane.smith@example.com",
      "first_name": "Jane",
      "last_name": "Smith",
      "custom_fields": {
        "company": "Tech Corp",
        "role": "Manager"
      },
      "subscribed": true,
      "subscribed_at": "2021-01-02T00:00:00Z",
      "unsubscribed_at": null,
      "created_at": "2021-01-02T00:00:00Z",
      "updated_at": "2021-01-02T00:00:00Z"
    }
  ],
  "next_page_url": "https://api.emailit.com/v2/audiences/aud_1234567890/subscribers?page=2&limit=10&subscribed=true",
  "previous_page_url": null
}
{
  "error": {
    "code": 404,
    "message": "Audience not found"
  }
}