Claves de API
Crea, lista, renombra y revoca las claves de API de un espacio de trabajo.
Crear una clave de API
Crea una clave de API y devuelve su secreto.
/api-keysRequiere una clave de API full. El secreto de key solo se devuelve en esta respuesta y cuando regeneras la clave, así que guárdalo de forma segura enseguida. La clave también sirve como contraseña SMTP. Para saber qué permite cada permiso, consulta Autenticación.
Parámetros del cuerpo
namestringobligatorioProduction web app. Debe ser único entre las claves del espacio de trabajo.scopestringpor defecto: fullfull para acceder a todos los endpoints, o sending para acceder solo a los endpoints de envío. No se puede cambiar después.
sending_domain_idstringEl ID de un dominio de envío (dom_…) al que limitar una clave sending. Así, la clave solo puede enviar desde direcciones de ese dominio. Se ignora en las claves full.
Devuelve
Devuelve 201 con el objeto de clave de API y su secreto:
keystringsecret_. Úsalo como token Bearer. No se vuelve a mostrar.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"
}
}Obtener una clave de API
Obtiene los detalles de una clave de API. No incluye el secreto.
/api-keys/{id}Requiere una clave de API full. Las claves eliminadas no se encuentran.
Parámetros de ruta
idstringobligatoriokey_…) o su nombre. Codifica para URL los nombres con espacios.Devuelve
Devuelve el objeto de clave de API.
objectstringapi_key.idstringnamestringscopestringfull o sending.sending_domain_idstring | nullnull.last_used_atstring | nullnull si no se ha usado desde que se creó o se regeneró.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"
}Listar claves de API
Devuelve una página de claves de API del espacio de trabajo, de la más reciente a la más antigua.
/api-keysRequiere una clave de API full. No incluye las claves eliminadas ni los secretos. Comprueba last_used_at para encontrar las claves que ya no usas.
Parámetros de consulta
pageintegerpor defecto: 1limitintegerpor defecto: 10searchstringmatchstringpor defecto: allall u or. Cómo se combinan los filtros que se indican abajo.orderstringdirectionstringasc o desc.Filtros
Añade filtros con el formato key.condition=value, por ejemplo scope.exact=sending. Consulta Filtrado.
| Clave | Tipo | Notas |
|---|---|---|
name |
cadena | |
scope |
cadena | full o sending. |
type |
cadena | Tipo de credencial. Las claves creadas en el panel o con la API son api. |
created_at |
fecha |
Todas las claves de filtro son también claves de ordenación.
Devuelve
Devuelve un array data de objetos de clave de API con next_page_url y previous_page_url. Consulta Paginación.
{
"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
}Actualizar una clave de API
Cambia el nombre de una clave de API.
/api-keys/{id}Requiere una clave de API full. Solo se puede cambiar el nombre. Para cambiar el permiso o la limitación a un dominio, crea una clave nueva y elimina esta. Para sustituir el secreto, regenéralo.
Parámetros de ruta
idstringobligatorioParámetros del cuerpo
namestringobligatorioDevuelve
Devuelve el objeto de clave de API actualizado.
{
"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"
}Regenerar una clave de API
Sustituye el secreto de la clave por uno nuevo. El secreto anterior deja de funcionar de inmediato para las peticiones a la API y los nuevos inicios de sesión SMTP. La clave conserva su ID, su nombre, su permiso y su dominio de envío, y last_used_at se restablece. Requiere una clave de API con el permiso full.
El secreto nuevo solo se devuelve en esta respuesta. Guárdalo enseguida y después actualiza todas las aplicaciones y los clientes SMTP que usaban el anterior. Si regeneras la clave con la que haces esta petición, usa el secreto nuevo en las peticiones siguientes.
/api-keys/{id}/regenerateParámetros de ruta
idstringobligatoriokey_…) o el nombre de la clave.Devuelve
Devuelve el objeto de clave de API con el secreto nuevo en key.
keystringsecret_ seguido de 32 letras y dígitos. Solo se muestra una vez.scopestringfull o sending.sending_domain_idstring | nullsending, o null.last_used_atnullnull después de una regeneración.Devuelve 404 si ninguna clave de API activa coincide con 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"
}Eliminar una clave de API
Revoca una clave de API. A partir de ese momento, las peticiones y los inicios de sesión SMTP con su secreto fallan.
/api-keys/{id}Requiere una clave de API full. Puedes eliminar la clave con la que haces la llamada, así que asegúrate antes de que tu integración tenga otra clave. Una clave eliminada deja de aparecer en Listar claves de API, y su nombre queda libre para una clave nueva. Los emails ya enviados con la clave no se ven afectados.
Parámetros de ruta
idstringobligatorioDevuelve
objectstringapi_key.idstringnamestringdeletedbooleantrue.{
"object": "api_key",
"id": "key_4Kw6E8FodRivXbJlwPdn79gOxi1",
"name": "Back office",
"deleted": true
}{
"error": "API key not found"
}