Ir al contenido

Cliente rota su propia API key (JWT)

POST
/v1/client/keys/{id}/rotate
curl --request POST \
--url https://api.mailerdash.com/v1/client/keys/example/rotate \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "password": "example", "grace_hours": 48 }'

El usuario cliente rota una key vinculada a su cuenta. Genera un token nuevo y deja el anterior vivo durante la ventana de gracia, así que rotar no corta servicio: por eso no pide contraseña, sólo confirmación en el panel. Avisa por email al cliente y a los admins (paper trail), y ese aviso no se puede desactivar. Para matar el token anterior antes de que expire la ventana está POST /v1/client/keys/{id}/rotate/finish, que sí pide contraseña. 403 si la key no está vinculada al usuario autenticado.

id
required
string
Media type application/json
object
password

Ya no se usa ni se valida. Se sigue aceptando para no romper a quien lo mandaba antes; se ignora.

string
grace_hours

Horas que el token anterior sigue siendo válido. Mínimo 24: sin contraseña de por medio, una ventana corta convertiría el rotate en un corte de servicio inmediato. Para eso está rotate/finish.

integer
default: 48 >= 24 <= 168

Token nuevo generado

Media type application/json
object
id
string
label
string
token
string
previous_key_expires_at
string
nullable
Example generated
{
"id": "example",
"label": "example",
"token": "example",
"previous_key_expires_at": "example"
}

La key no está vinculada al usuario autenticado

Key no encontrada

Demasiadas rotaciones seguidas (6 por hora y por usuario). El tope existe porque este endpoint ya no pide contraseña.

Error interno