POST /api/v1/contacts/{contactId}/topics/{topicId}/opt-out
Empêche un contact de recevoir les messages rattachés à un sujet. Le contact reste abonné à la liste et peut toujours recevoir les messages de tous les autres sujets.
Autorisation
| Rôle dans l'organisation | Cet endpoint |
|---|---|
OWNER | Autorisé |
ADMIN | Autorisé |
MEMBER | Refusé — 403 |
Paramètres de chemin
| Paramètre | Type | Description |
|---|---|---|
contactId | string | Obligatoire. Identifiant du contact |
topicId | string | Obligatoire. Identifiant du sujet à ne plus envoyer |
Exemple
bash
curl -X POST -H "x-api-key: $AGENTMAIL_API_KEY" \
"https://www.agentsmail.io/api/v1/contacts/$CONTACT_ID/topics/$TOPIC_ID/opt-out"Réponse
200 OK— la préférence pour le sujet estopted_out, y compris quand elle l'était déjà.400 Bad Request— un identifiant du chemin n'est pas un UUID valide ;detailsdésigne le champ.401 Unauthorized— clé absente ou invalide, ou son propriétaire a quitté l'organisation.403 Forbidden— le propriétaire de la clé estmember, pasadmin.404 Not Found— le contact ou le sujet est introuvable, appartient à une autre organisation, ou les deux ressources n'appartiennent pas à la même organisation.429 Too Many Requests— plus de 120 requêtes en une minute pour cette clé.
Champs de la réponse
| Champ | Type | Description |
|---|---|---|
success | boolean | Indique si l'opération a réussi |
data.contactId | string | Identifiant du contact |
data.topicId | string | Identifiant du sujet |
data.status | string | Toujours opted_out |
Exemple de réponse
json
{
"success": true,
"data": {
"contactId": "4d19c0a2-8f20-4fb8-9d55-39a88f86d778",
"topicId": "a338c425-3115-4890-a01c-f2f6f012db93",
"status": "opted_out"
}
}Remarques
- L'appel est idempotent. Le répéter ne crée pas d'autre préférence et ne change pas la date du retrait initial.
- Cet appel ne change jamais le statut d'abonnement global du contact.
Voir aussi
- Lister les sujets — d'où vient le
topicIdci-dessus - Réabonner un contact à un sujet
- Désabonner un contact
- Obtenir un contact