# Abonnés API

> Ajoutez, mettez à jour et retirez les abonnés d’une liste.

URL de base : `https://api.emailit.com/v2`. Authentifiez-vous avec `Authorization: Bearer <API key>`.

## Ajouter un abonné — POST /audiences/{audience_id}/subscribers

> Ajoutez une adresse e-mail à une liste de contacts. Emailit crée le contact s’il n’existe pas et le réinscrit s’il s’était désinscrit.

# Ajouter un abonné

Ajoute un contact à une liste de contacts à partir de son adresse e-mail.

`POST /audiences/{audience_id}/subscribers`

Nécessite une clé API `full`. Si aucun contact n’a encore cette adresse e-mail, Emailit en crée un. Si le contact existe, les noms et les champs personnalisés que vous envoyez remplacent ses valeurs actuelles. Un contact qui s’était désinscrit de la liste est réinscrit et la réponse est `200` ; un contact déjà abonné renvoie `409`.

Chaque liste peut contenir autant d’abonnés que votre forfait le permet ; au-delà, la requête renvoie `422` avec votre `usage`. Déclenche `subscriber.created`, ou `subscriber.updated` et `subscriber.resubscribed` en cas de réinscription.

## Paramètres de chemin

- `audience_id` (string, obligatoire): L’ID de la liste (`aud_…`) ou son nom.

## Paramètres du corps

- `email` (string, obligatoire): L’adresse e-mail à inscrire. Enregistrée en minuscules.

- `first_name` (string): Le prénom du contact.

- `last_name` (string): Le nom de famille du contact.

- `custom_fields` (object): Valeurs des [champs personnalisés](/fr/docs/contacts/custom-fields/) par clé, par exemple `{"company": "Analytical Engines"}`. Remplacent les champs personnalisés existants du contact.

## Réponse

Renvoie `201` avec l’[objet abonné](/fr/docs/api-reference/audiences/subscribers/get/), ou `200` lorsqu’un contact désinscrit a été réinscrit.

**Requête** `POST /audiences/{audience_id}/subscribers`

**Node.js**

```javascript
import { Emailit } from '@emailit/node';
const emailit = new Emailit('your_api_key');

const subscriber = await emailit.subscribers.create('aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2', {
  email: 'ada@example.com',
  first_name: 'Ada',
  last_name: 'Lovelace',
});
```

**Python**

```python
from emailit import EmailitClient
client = EmailitClient("your_api_key")

subscriber = client.subscribers.create("aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2", {
  "email": "ada@example.com",
  "first_name": "Ada",
  "last_name": "Lovelace",
})
```

**PHP**

```php
$emailit = Emailit::client('your_api_key');

$subscriber = $emailit->subscribers()->create('aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2', [
  'email' => 'ada@example.com',
  'first_name' => 'Ada',
  'last_name' => 'Lovelace',
]);
```

**Ruby**

```ruby
require "emailit"
client = Emailit::EmailitClient.new("your_api_key")

subscriber = client.subscribers.create("aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2",
  email: "ada@example.com",
  first_name: "Ada",
  last_name: "Lovelace"
)
```

**Go**

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

subscriber, err := client.Subscribers.Create("aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2", &emailit.CreateSubscriberRequest{
  Email:     "ada@example.com",
  FirstName: "Ada",
  LastName:  "Lovelace",
})
```

**Rust**

```rust
use emailit::Emailit;
use emailit::types::CreateSubscriberParams;

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

let subscriber = emailit.subscribers.create("aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2",
  CreateSubscriberParams::new("ada@example.com")
    .with_first_name("Ada")
    .with_last_name("Lovelace")
).await?;
```

**Java**

```java
import com.emailit.*;
import com.emailit.params.*;

EmailitClient emailit = new EmailitClient("your_api_key");

EmailitObject subscriber = emailit.subscribers().create("aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2",
  SubscriberCreateParams.builder()
    .setEmail("ada@example.com")
    .setFirstName("Ada")
    .setLastName("Lovelace")
    .build()
);
```

**.NET**

```csharp
using Emailit;

var emailit = new EmailitClient("your_api_key");

var subscriber = emailit.Subscribers.Create("aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2", new SubscriberCreateOptions {
  Email = "ada@example.com",
  FirstName = "Ada",
  LastName = "Lovelace",
});
```

**Laravel**

```php
use Emailit\Laravel\Facades\Emailit;

$subscriber = Emailit::subscribers()->create('aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2', [
  'email' => 'ada@example.com',
  'first_name' => 'Ada',
  'last_name' => 'Lovelace',
]);
```

**cURL**

```bash
curl -X POST https://api.emailit.com/v2/audiences/aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2/subscribers \
  -H "Authorization: Bearer $EMAILIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "ada@example.com",
    "first_name": "Ada",
    "last_name": "Lovelace",
    "custom_fields": { "company": "Analytical Engines" }
  }'
```

**201**

```json
{
  "object": "subscriber",
  "id": "sub_4KECYl5AwXEy8ezswYRhuddttxo",
  "audience_id": "aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2",
  "contact_id": "con_4K9kQdrXth7am0TPKvPrR5yd2oo",
  "email": "ada@example.com",
  "first_name": "Ada",
  "last_name": "Lovelace",
  "custom_fields": {
    "company": "Analytical Engines"
  },
  "subscribed": true,
  "subscribed_at": "2026-10-01T10:20:31.000000Z",
  "unsubscribed_at": null,
  "created_at": "2026-10-01T10:20:31.000000Z",
  "updated_at": "2026-10-01T10:20:31.000000Z"
}
```

**404**

```json
{
  "error": "Audience not found"
}
```

**409**

```json
{
  "error": "Contact is already subscribed to this audience",
  "existing": {
    "object": "subscriber",
    "id": "sub_4KECYl5AwXEy8ezswYRhuddttxo",
    "audience_id": "aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2",
    "contact_id": "con_4K9kQdrXth7am0TPKvPrR5yd2oo",
    "email": "ada@example.com",
    "first_name": "Ada",
    "last_name": "Lovelace",
    "custom_fields": { "company": "Analytical Engines" },
    "subscribed": true,
    "subscribed_at": "2026-10-01T10:20:31.000Z",
    "unsubscribed_at": null,
    "created_at": "2026-10-01T10:20:31.000Z",
    "updated_at": "2026-10-01T10:20:31.000Z"
  }
}
```

**422**

```json
{
  "error": "Pro includes 50,000 subscribers per audience.",
  "usage": {
    "used": 50000,
    "limit": 50000,
    "plan": "pro"
  }
}
```

---
Source: https://emailit.com/fr/docs/api-reference/audiences/subscribers/add/

## Récupérer un abonné — GET /audiences/{audience_id}/subscribers/{id}

> Récupérez un abonné d’une liste de contacts par son ID d’abonné ou son adresse e-mail, avec les informations du contact et son statut d’inscription.

# Récupérer un abonné

Récupère l’inscription d’un contact à une liste de contacts.

`GET /audiences/{audience_id}/subscribers/{id}`

Nécessite une clé API `full`. Un abonné relie un [contact](/fr/docs/api-reference/contacts/) à une liste. L’adresse e-mail, les noms et les champs personnalisés appartiennent au contact, tandis que `subscribed` ne concerne que cette liste.

## Paramètres de chemin

- `audience_id` (string, obligatoire): L’ID de la liste (`aud_…`) ou son nom.

- `id` (string, obligatoire): L’ID de l’abonné (`sub_…`) ou l’adresse e-mail du contact, encodée pour l’URL.

## Réponse

Renvoie l’objet abonné.

- `object` (string): Toujours `subscriber`.

- `id` (string): L’ID de l’abonné.

- `audience_id` (string): L’ID de la liste.

- `contact_id` (string): L’ID du contact.

- `email` (string): L’adresse e-mail du contact.

- `first_name` (string | null): Le prénom du contact.

- `last_name` (string | null): Le nom de famille du contact.

- `custom_fields` (object | null): Les valeurs des champs personnalisés du contact.

- `subscribed` (boolean): `true` si le contact est abonné à cette liste, `false` s’il s’est désinscrit.

- `subscribed_at` (string | null): Date de la dernière inscription du contact.

- `unsubscribed_at` (string | null): Date de désinscription du contact, ou `null`.

- `created_at` (string): Date à laquelle le contact a rejoint la liste.

- `updated_at` (string): Date de la dernière modification de l’inscription.

**Requête** `GET /audiences/{audience_id}/subscribers/{id}`

**Node.js**

```javascript
import { Emailit } from '@emailit/node';
const emailit = new Emailit('your_api_key');

const subscriber = await emailit.subscribers.get('aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2', 'sub_4KECYl5AwXEy8ezswYRhuddttxo');
```

**Python**

```python
from emailit import EmailitClient
client = EmailitClient("your_api_key")

subscriber = client.subscribers.get("aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2", "sub_4KECYl5AwXEy8ezswYRhuddttxo")
```

**PHP**

```php
$emailit = Emailit::client('your_api_key');

$subscriber = $emailit->subscribers()->get('aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2', 'sub_4KECYl5AwXEy8ezswYRhuddttxo');
```

**Ruby**

```ruby
require "emailit"
client = Emailit::EmailitClient.new("your_api_key")

subscriber = client.subscribers.get("aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2", "sub_4KECYl5AwXEy8ezswYRhuddttxo")
```

**Go**

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

subscriber, err := client.Subscribers.Get("aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2", "sub_4KECYl5AwXEy8ezswYRhuddttxo")
```

**Rust**

```rust
use emailit::Emailit;

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

let subscriber = emailit.subscribers.get("aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2", "sub_4KECYl5AwXEy8ezswYRhuddttxo").await?;
```

**Java**

```java
import com.emailit.*;

EmailitClient emailit = new EmailitClient("your_api_key");

EmailitObject subscriber = emailit.subscribers().get("aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2", "sub_4KECYl5AwXEy8ezswYRhuddttxo");
```

**.NET**

```csharp
using Emailit;

var emailit = new EmailitClient("your_api_key");

var subscriber = emailit.Subscribers.Get("aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2", "sub_4KECYl5AwXEy8ezswYRhuddttxo");
```

**Laravel**

```php
use Emailit\Laravel\Facades\Emailit;

$subscriber = Emailit::subscribers()->get('aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2', 'sub_4KECYl5AwXEy8ezswYRhuddttxo');
```

**cURL**

```bash
curl https://api.emailit.com/v2/audiences/aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2/subscribers/sub_4KECYl5AwXEy8ezswYRhuddttxo \
  -H "Authorization: Bearer $EMAILIT_API_KEY"
```

**200**

```json
{
  "object": "subscriber",
  "id": "sub_4KECYl5AwXEy8ezswYRhuddttxo",
  "audience_id": "aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2",
  "contact_id": "con_4K9kQdrXth7am0TPKvPrR5yd2oo",
  "email": "ada@example.com",
  "first_name": "Ada",
  "last_name": "Lovelace",
  "custom_fields": {
    "company": "Analytical Engines"
  },
  "subscribed": true,
  "subscribed_at": "2026-10-01T10:20:31.000000Z",
  "unsubscribed_at": null,
  "created_at": "2026-10-01T10:20:31.000000Z",
  "updated_at": "2026-10-01T10:20:31.000000Z"
}
```

**404**

```json
{
  "error": "Subscriber not found"
}
```

---
Source: https://emailit.com/fr/docs/api-reference/audiences/subscribers/get/

## Mettre à jour un abonné — POST /audiences/{audience_id}/subscribers/{id}

> Désinscrivez ou réinscrivez un contact dans une liste de contacts, ou modifiez l’adresse e-mail, les noms et les champs personnalisés du contact.

# Mettre à jour un abonné

Modifie le statut d’un abonné dans la liste de contacts, ou les informations de son contact.

`POST /audiences/{audience_id}/subscribers/{id}`

Nécessite une clé API `full`. N’envoyez que les champs à modifier. `subscribed` ne s’applique qu’à cette liste. `email`, `first_name`, `last_name` et `custom_fields` modifient le contact lui-même : la modification apparaît donc dans toutes les listes auxquelles le contact appartient. Déclenche l’événement `subscriber.updated`.

## Paramètres de chemin

- `audience_id` (string, obligatoire): L’ID de la liste (`aud_…`) ou son nom.

- `id` (string, obligatoire): L’ID de l’abonné (`sub_…`) ou l’adresse e-mail du contact, encodée pour l’URL.

## Paramètres du corps

- `subscribed` (boolean): `false` pour désinscrire le contact de cette liste, `true` pour le réinscrire. Dans les deux cas, l’abonné reste dans la liste.

- `email` (string): Une nouvelle adresse e-mail pour le contact. Enregistrée en minuscules.

- `first_name` (string): Le prénom du contact.

- `last_name` (string): Le nom de famille du contact.

- `custom_fields` (object): Valeurs des champs personnalisés par clé. Remplacent les champs personnalisés existants du contact.

## Réponse

Renvoie l’[objet abonné](/fr/docs/api-reference/audiences/subscribers/get/) mis à jour. Une requête sans aucun de ces champs renvoie `400`.

**Requête** `POST /audiences/{audience_id}/subscribers/{id}`

**Node.js**

```javascript
import { Emailit } from '@emailit/node';
const emailit = new Emailit('your_api_key');

const subscriber = await emailit.subscribers.update('aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2', 'sub_4KECYl5AwXEy8ezswYRhuddttxo', {
  first_name: 'Augusta',
});
```

**Python**

```python
from emailit import EmailitClient
client = EmailitClient("your_api_key")

subscriber = client.subscribers.update("aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2", "sub_4KECYl5AwXEy8ezswYRhuddttxo", {
  "first_name": "Augusta",
})
```

**PHP**

```php
$emailit = Emailit::client('your_api_key');

$subscriber = $emailit->subscribers()->update('aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2', 'sub_4KECYl5AwXEy8ezswYRhuddttxo', [
  'first_name' => 'Augusta',
]);
```

**Ruby**

```ruby
require "emailit"
client = Emailit::EmailitClient.new("your_api_key")

subscriber = client.subscribers.update("aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2", "sub_4KECYl5AwXEy8ezswYRhuddttxo",
  first_name: "Augusta"
)
```

**Go**

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

subscriber, err := client.Subscribers.Update("aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2", "sub_4KECYl5AwXEy8ezswYRhuddttxo", &emailit.UpdateSubscriberRequest{
  FirstName: "Augusta",
})
```

**Rust**

```rust
use emailit::Emailit;
use emailit::types::UpdateSubscriberParams;

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

let subscriber = emailit.subscribers.update("aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2", "sub_4KECYl5AwXEy8ezswYRhuddttxo", UpdateSubscriberParams {
  first_name: Some("Augusta".into()),
  ..Default::default()
}).await?;
```

**Java**

```java
import com.emailit.*;
import com.emailit.params.*;

EmailitClient emailit = new EmailitClient("your_api_key");

EmailitObject subscriber = emailit.subscribers().update("aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2", "sub_4KECYl5AwXEy8ezswYRhuddttxo",
  SubscriberUpdateParams.builder()
    .setFirstName("Augusta")
    .build()
);
```

**.NET**

```csharp
using Emailit;

var emailit = new EmailitClient("your_api_key");

var subscriber = emailit.Subscribers.Update("aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2", "sub_4KECYl5AwXEy8ezswYRhuddttxo", new SubscriberUpdateOptions {
  FirstName = "Augusta",
});
```

**Laravel**

```php
use Emailit\Laravel\Facades\Emailit;

$subscriber = Emailit::subscribers()->update('aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2', 'sub_4KECYl5AwXEy8ezswYRhuddttxo', [
  'first_name' => 'Augusta',
]);
```

**cURL**

```bash
curl -X POST https://api.emailit.com/v2/audiences/aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2/subscribers/sub_4KECYl5AwXEy8ezswYRhuddttxo \
  -H "Authorization: Bearer $EMAILIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"first_name": "Augusta"}'
```

**cURL**

```bash
curl -X POST https://api.emailit.com/v2/audiences/aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2/subscribers/ada%40example.com \
  -H "Authorization: Bearer $EMAILIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"subscribed": false}'
```

**200**

```json
{
  "object": "subscriber",
  "id": "sub_4KECYl5AwXEy8ezswYRhuddttxo",
  "audience_id": "aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2",
  "contact_id": "con_4K9kQdrXth7am0TPKvPrR5yd2oo",
  "email": "ada@example.com",
  "first_name": "Ada",
  "last_name": "Lovelace",
  "custom_fields": {
    "company": "Analytical Engines"
  },
  "subscribed": false,
  "subscribed_at": "2026-10-01T10:20:31.000000Z",
  "unsubscribed_at": "2026-10-02T08:14:55.000000Z",
  "created_at": "2026-10-01T10:20:31.000000Z",
  "updated_at": "2026-10-02T08:14:55.000000Z"
}
```

**400**

```json
{
  "error": "No valid fields provided for update. Provide at least one of: email, first_name, last_name, custom_fields, subscribed"
}
```

**404**

```json
{
  "error": "Subscriber not found"
}
```

---
Source: https://emailit.com/fr/docs/api-reference/audiences/subscribers/update/

## Lister les abonnés — GET /audiences/{audience_id}/subscribers

> Listez les abonnés d’une liste de contacts, du plus récent au plus ancien, avec recherche, filtre d’inscription, filtres de liste et consommation du forfait pour la liste.

# Lister les abonnés

Renvoie une page des abonnés d’une liste de contacts, du plus récent au plus ancien.

`GET /audiences/{audience_id}/subscribers`

Nécessite une clé API `full`. La liste renvoyée inclut les contacts qui se sont désinscrits de la liste, sauf si vous les excluez avec `subscribed=true`.

## Paramètres de chemin

- `audience_id` (string, obligatoire): L’ID de la liste (`aud_…`) ou son nom.

## Paramètres de requête

- `page` (integer): La page à renvoyer.

- `limit` (integer): Nombre d’abonnés par page, de 1 à 100. `per_page` fonctionne aussi.

- `subscribed` (string): `true` pour les contacts abonnés uniquement, `false` pour les contacts désinscrits uniquement.

- `search` (string): Recherche insensible à la casse sur l’adresse e-mail, le prénom ou le nom de famille.

- `match` (string): `all` ou `or`. Mode de combinaison des filtres ci-dessous.

- `order` (string): Une clé de filtre selon laquelle trier.

- `direction` (string): `asc` ou `desc`.

## Filtres

Ajoutez des filtres sous la forme `key.condition=value`, par exemple `email.ends_with=@acme.com`. Consultez [Filtrage et tri](/fr/docs/api-reference/filtering/).

| Clé | Type | Remarques |
| --- | --- | --- |
| `email` | chaîne | |
| `first_name` | chaîne | |
| `last_name` | chaîne | |
| `subscribed` | booléen | |
| `created_at` | date | Date à laquelle le contact a rejoint la liste. |

Chaque clé est aussi une clé de tri.

## Réponse

- `data` (object[]): Les [objets abonné](/fr/docs/api-reference/audiences/subscribers/get/) de cette page.

- `next_page_url` (string | null): Chemin de la page suivante, ou `null`. Il conserve `subscribed`, mais pas vos autres filtres. Consultez [Pagination](/fr/docs/api-reference/pagination/).

- `previous_page_url` (string | null): Chemin de la page précédente, ou `null`.

- `usage` (object): `used` (abonnés de la liste), `limit` (le maximum autorisé par liste sur votre forfait, ou `null`) et `plan`.

**Requête** `GET /audiences/{audience_id}/subscribers`

**Node.js**

```javascript
import { Emailit } from '@emailit/node';
const emailit = new Emailit('your_api_key');

const subscribers = await emailit.subscribers.list('aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2');
```

**Python**

```python
from emailit import EmailitClient
client = EmailitClient("your_api_key")

subscribers = client.subscribers.list("aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2")
```

**PHP**

```php
$emailit = Emailit::client('your_api_key');

$subscribers = $emailit->subscribers()->list('aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2');
```

**Ruby**

```ruby
require "emailit"
client = Emailit::EmailitClient.new("your_api_key")

subscribers = client.subscribers.list("aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2")
```

**Go**

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

subscribers, err := client.Subscribers.List("aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2", nil)
```

**Rust**

```rust
use emailit::Emailit;

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

let subscribers = emailit.subscribers.list("aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2", None).await?;
```

**Java**

```java
import com.emailit.*;

EmailitClient emailit = new EmailitClient("your_api_key");

EmailitObject subscribers = emailit.subscribers().list("aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2");
```

**.NET**

```csharp
using Emailit;

var emailit = new EmailitClient("your_api_key");

var subscribers = emailit.Subscribers.List("aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2");
```

**Laravel**

```php
use Emailit\Laravel\Facades\Emailit;

$subscribers = Emailit::subscribers()->list('aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2');
```

**cURL**

```bash
curl https://api.emailit.com/v2/audiences/aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2/subscribers \
  -H "Authorization: Bearer $EMAILIT_API_KEY"
```

**cURL**

```bash
curl -G https://api.emailit.com/v2/audiences/aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2/subscribers \
  -H "Authorization: Bearer $EMAILIT_API_KEY" \
  -d subscribed=true \
  -d limit=100
```

**200**

```json
{
  "data": [
    {
      "object": "subscriber",
      "id": "sub_4KECYl5AwXEy8ezswYRhuddttxo",
      "audience_id": "aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2",
      "contact_id": "con_4K9kQdrXth7am0TPKvPrR5yd2oo",
      "email": "ada@example.com",
      "first_name": "Ada",
      "last_name": "Lovelace",
      "custom_fields": {
        "company": "Analytical Engines"
      },
      "subscribed": true,
      "subscribed_at": "2026-10-01T10:20:31.000000Z",
      "unsubscribed_at": null,
      "created_at": "2026-10-01T10:20:31.000000Z",
      "updated_at": "2026-10-01T10:20:31.000000Z"
    },
    {
      "object": "subscriber",
      "id": "sub_4KnmYprkoMRytdkm3tAHIfPW0Vh",
      "audience_id": "aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2",
      "contact_id": "con_4KiXIs4xLTcJIAHnKJaLcnMZYh7",
      "email": "grace@example.com",
      "first_name": "Grace",
      "last_name": "Hopper",
      "custom_fields": null,
      "subscribed": false,
      "subscribed_at": "2026-09-28T07:55:02.000000Z",
      "unsubscribed_at": "2026-09-30T18:11:40.000000Z",
      "created_at": "2026-09-28T07:55:02.000000Z",
      "updated_at": "2026-09-30T18:11:40.000000Z"
    }
  ],
  "next_page_url": null,
  "previous_page_url": null,
  "usage": {
    "used": 2,
    "limit": 50000,
    "plan": "pro"
  }
}
```

**404**

```json
{
  "error": "Audience not found"
}
```

---
Source: https://emailit.com/fr/docs/api-reference/audiences/subscribers/list/

## Supprimer un abonné — DELETE /audiences/{audience_id}/subscribers/{id}

> Retirez un contact d’une liste de contacts. Le contact et ses inscriptions aux autres listes restent dans votre espace de travail.

# Supprimer un abonné

Retire un contact d’une liste de contacts.

`DELETE /audiences/{audience_id}/subscribers/{id}`

Nécessite une clé API `full`. Le [contact](/fr/docs/api-reference/contacts/) lui-même n’est pas supprimé et reste dans ses autres listes. Pour garder une trace de la désinscription d’une personne, [désinscrivez-la](/fr/docs/api-reference/audiences/subscribers/update/) plutôt avec `subscribed: false`. Déclenche l’événement `subscriber.deleted`.

## Paramètres de chemin

- `audience_id` (string, obligatoire): L’ID de la liste (`aud_…`) ou son nom.

- `id` (string, obligatoire): L’ID de l’abonné (`sub_…`) ou l’adresse e-mail du contact, encodée pour l’URL.

## Réponse

- `object` (string): Toujours `subscriber`.

- `id` (string): L’ID de l’abonné supprimé.

- `audience_id` (string): L’ID de la liste.

- `contact_id` (string): L’ID du contact.

- `email` (string): L’adresse e-mail du contact.

- `deleted` (boolean): Toujours `true`.

**Requête** `DELETE /audiences/{audience_id}/subscribers/{id}`

**Node.js**

```javascript
import { Emailit } from '@emailit/node';
const emailit = new Emailit('your_api_key');

await emailit.subscribers.delete('aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2', 'sub_4KECYl5AwXEy8ezswYRhuddttxo');
```

**Python**

```python
from emailit import EmailitClient
client = EmailitClient("your_api_key")

client.subscribers.delete("aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2", "sub_4KECYl5AwXEy8ezswYRhuddttxo")
```

**PHP**

```php
$emailit = Emailit::client('your_api_key');

$emailit->subscribers()->delete('aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2', 'sub_4KECYl5AwXEy8ezswYRhuddttxo');
```

**Ruby**

```ruby
require "emailit"
client = Emailit::EmailitClient.new("your_api_key")

client.subscribers.delete("aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2", "sub_4KECYl5AwXEy8ezswYRhuddttxo")
```

**Go**

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

err := client.Subscribers.Delete("aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2", "sub_4KECYl5AwXEy8ezswYRhuddttxo")
```

**Rust**

```rust
use emailit::Emailit;

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

emailit.subscribers.delete("aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2", "sub_4KECYl5AwXEy8ezswYRhuddttxo").await?;
```

**Java**

```java
import com.emailit.*;

EmailitClient emailit = new EmailitClient("your_api_key");

emailit.subscribers().delete("aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2", "sub_4KECYl5AwXEy8ezswYRhuddttxo");
```

**.NET**

```csharp
using Emailit;

var emailit = new EmailitClient("your_api_key");

emailit.Subscribers.Delete("aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2", "sub_4KECYl5AwXEy8ezswYRhuddttxo");
```

**Laravel**

```php
use Emailit\Laravel\Facades\Emailit;

Emailit::subscribers()->delete('aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2', 'sub_4KECYl5AwXEy8ezswYRhuddttxo');
```

**cURL**

```bash
curl -X DELETE https://api.emailit.com/v2/audiences/aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2/subscribers/sub_4KECYl5AwXEy8ezswYRhuddttxo \
  -H "Authorization: Bearer $EMAILIT_API_KEY"
```

**200**

```json
{
  "object": "subscriber",
  "id": "sub_4KECYl5AwXEy8ezswYRhuddttxo",
  "audience_id": "aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2",
  "contact_id": "con_4K9kQdrXth7am0TPKvPrR5yd2oo",
  "email": "ada@example.com",
  "deleted": true
}
```

**404**

```json
{
  "error": "Subscriber not found"
}
```

---
Source: https://emailit.com/fr/docs/api-reference/audiences/subscribers/delete/
