Clés API
Créez, listez, renommez et révoquez les clés API d’un espace de travail.
Créer une clé API
Crée une clé API et renvoie son secret.
/api-keysNécessite une clé API full. Le secret contenu dans key n’est renvoyé que dans cette réponse et lorsque vous régénérez la clé : stockez-le immédiatement en lieu sûr. La clé sert aussi de mot de passe SMTP. Pour savoir ce que permet chaque portée, consultez Authentification.
Paramètres du corps
namestringobligatoireProduction web app. Doit être unique parmi les clés de l’espace de travail.scopestringpar défaut : fullfull pour accéder à tous les endpoints, ou sending pour les seuls endpoints d’envoi. Ne peut pas être modifiée par la suite.
sending_domain_idstringL’ID d’un domaine d’envoi (dom_…) auquel restreindre une clé sending. La clé ne peut alors envoyer que depuis des adresses de ce domaine. Ignoré pour les clés full.
Réponse
Renvoie 201 avec l’objet clé API et son secret :
keystringsecret_. Utilisez-le comme jeton bearer. Il n’est plus jamais affiché.curl -X POST https://api.emailit.com/v2/api-keys \
-H "Authorization: Bearer $EMAILIT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Production web app",
"scope": "sending",
"sending_domain_id": "dom_4K468YrjOkR1wwdhqiO0G9XEUey"
}'const apiKey = await emailit.apiKeys.create({
name: 'Production web app',
scope: 'sending',
sending_domain_id: 'dom_4K468YrjOkR1wwdhqiO0G9XEUey',
});api_key = client.api_keys.create({
"name": "Production web app",
"scope": "sending",
"sending_domain_id": "dom_4K468YrjOkR1wwdhqiO0G9XEUey",
}){
"object": "api_key",
"id": "key_4KEaYMnfrxQGkuB0svwiuyt0ZhB",
"name": "Production web app",
"scope": "sending",
"sending_domain_id": "dom_4K468YrjOkR1wwdhqiO0G9XEUey",
"last_used_at": null,
"created_at": "2026-10-01T09:40:18.204917Z",
"updated_at": "2026-10-01T09:40:18.204917Z",
"key": "secret_Xq7pL2mN9vB4kR8tW1yZ6cH3jF5dS0aG"
}{
"error": "Invalid sending_domain_id. Domain not found in workspace"
}{
"error": "API key with this name already exists",
"existing": {
"object": "api_key",
"id": "key_4Kw6E8FodRivXbJlwPdn79gOxi1",
"name": "Production web app"
}
}Récupérer une clé API
Récupère les détails d’une clé API. Le secret n’est pas inclus.
/api-keys/{id}Nécessite une clé API full. Les clés supprimées sont introuvables.
Paramètres de chemin
idstringobligatoirekey_…) ou son nom. Encodez pour l’URL les noms qui contiennent des espaces.Réponse
Renvoie l’objet clé API.
objectstringapi_key.idstringnamestringscopestringfull ou sending.sending_domain_idstring | nullnull.last_used_atstring | nullnull si elle n’a pas été utilisée depuis sa création ou sa régénération.created_atstringupdated_atstring{
"object": "api_key",
"id": "key_4KEaYMnfrxQGkuB0svwiuyt0ZhB",
"name": "Production web app",
"scope": "sending",
"sending_domain_id": "dom_4K468YrjOkR1wwdhqiO0G9XEUey",
"last_used_at": "2026-10-01T11:58:02.000000Z",
"created_at": "2026-10-01T09:40:18.204917Z",
"updated_at": "2026-10-01T09:40:18.204917Z"
}{
"error": "API key not found"
}Lister les clés API
Renvoie une page des clés API de l’espace de travail, de la plus récente à la plus ancienne.
/api-keysNécessite une clé API full. Les clés supprimées et les secrets ne sont pas inclus. Consultez last_used_at pour repérer les clés que vous n’utilisez plus.
Paramètres de requête
pageintegerpar défaut : 1limitintegerpar défaut : 10searchstringmatchstringpar défaut : allall ou or. Mode de combinaison des filtres ci-dessous.orderstringdirectionstringasc ou desc.Filtres
Ajoutez des filtres sous la forme key.condition=value, par exemple scope.exact=sending. Consultez Filtrage et tri.
| Clé | Type | Remarques |
|---|---|---|
name |
string | |
scope |
string | full ou sending. |
type |
string | Type d’identifiant. Les clés créées dans le tableau de bord ou via l’API sont de type api. |
created_at |
date |
Chaque clé est aussi une clé de tri.
Réponse
Renvoie un tableau data d’objets clé API avec next_page_url et previous_page_url. Consultez Pagination.
{
"data": [
{
"object": "api_key",
"id": "key_4KEaYMnfrxQGkuB0svwiuyt0ZhB",
"name": "Production web app",
"scope": "sending",
"sending_domain_id": "dom_4K468YrjOkR1wwdhqiO0G9XEUey",
"last_used_at": "2026-10-01T11:58:02.000000Z",
"created_at": "2026-10-01T09:40:18.204917Z",
"updated_at": "2026-10-01T09:40:18.204917Z"
},
{
"object": "api_key",
"id": "key_4Kw6E8FodRivXbJlwPdn79gOxi1",
"name": "Back office",
"scope": "full",
"sending_domain_id": null,
"last_used_at": null,
"created_at": "2026-09-02T14:21:07.613508Z",
"updated_at": "2026-09-02T14:21:07.613508Z"
}
],
"next_page_url": null,
"previous_page_url": null
}Mettre à jour une clé API
Renomme une clé API.
/api-keys/{id}Nécessite une clé API full. Seul le nom peut être modifié. Pour changer la portée ou la restriction de domaine, créez une nouvelle clé et supprimez celle-ci. Pour remplacer le secret, régénérez la clé.
Paramètres de chemin
idstringobligatoireParamètres du corps
namestringobligatoireRéponse
Renvoie l’objet clé API mis à jour.
{
"object": "api_key",
"id": "key_4KEaYMnfrxQGkuB0svwiuyt0ZhB",
"name": "Production web app (EU)",
"scope": "sending",
"sending_domain_id": "dom_4K468YrjOkR1wwdhqiO0G9XEUey",
"last_used_at": "2026-10-01T11:58:02.000000Z",
"created_at": "2026-10-01T09:40:18.204917Z",
"updated_at": "2026-10-01T12:10:33.000000Z"
}{
"error": "API key not found"
}{
"error": "Another API key with this name already exists"
}Régénérer une clé API
Remplace le secret de la clé par un nouveau. L’ancien secret cesse immédiatement de fonctionner pour les requêtes API et les nouvelles connexions SMTP. La clé conserve son ID, son nom, sa portée et son domaine d’envoi, et last_used_at est réinitialisé. Nécessite une clé API de portée full.
Le nouveau secret n’est renvoyé que dans cette réponse. Enregistrez-le immédiatement, puis mettez à jour chaque application et chaque client SMTP qui utilisait l’ancien. Si vous régénérez la clé qui effectue cette requête, utilisez le nouveau secret pour les requêtes suivantes.
/api-keys/{id}/regenerateParamètres de chemin
idstringobligatoirekey_…) ou le nom de la clé.Réponse
Renvoie l’objet clé API avec le nouveau secret dans key.
keystringsecret_ suivi de 32 lettres et chiffres. Affiché une seule fois.scopestringfull ou sending.sending_domain_idstring | nullsending est limitée, ou null.last_used_atnullnull après une régénération.Renvoie 404 si aucune clé API active ne correspond à id.
{
"object": "api_key",
"id": "key_3t4p05pmtgBssZzXRT0QmJn3UgH",
"name": "Production server",
"key": "secret_tbgPKVFk7QMi1nneTKdFcUWTyh8XoPz3",
"scope": "sending",
"sending_domain_id": "dom_3bTLTaNUAcCiXuokxifeIYdFOYf",
"last_used_at": null,
"created_at": "2026-09-12 08:01:44.120931+00",
"updated_at": "2026-10-01T13:15:07.402881Z"
}{
"error": "API key not found"
}Supprimer une clé API
Révoque une clé API. Les requêtes et les connexions SMTP qui utilisent son secret échouent dès lors.
/api-keys/{id}Nécessite une clé API full. Vous pouvez supprimer la clé avec laquelle vous effectuez l’appel : assurez-vous d’abord que votre intégration dispose d’une autre clé. Une clé supprimée n’apparaît plus dans Lister les clés API, et son nom redevient disponible pour une nouvelle clé. Les e-mails déjà envoyés avec la clé ne sont pas affectés.
Paramètres de chemin
idstringobligatoireRéponse
objectstringapi_key.idstringnamestringdeletedbooleantrue.{
"object": "api_key",
"id": "key_4Kw6E8FodRivXbJlwPdn79gOxi1",
"name": "Back office",
"deleted": true
}{
"error": "API key not found"
}