Códigos de error de la API de SpeakNotes
Cada fallo devuelve el mismo sobre JSON: un código estable, un mensaje legible por humanos, un enlace a esta página y los campos con errores cuando los hay.
La forma
Los errores nunca se devuelven como HTML. El código es estable y seguro para crear ramificaciones; el mensaje puede cambiar en cualquier momento.
HTTP/1.1 402 Payment Required
X-Request-Id: 0f0a3f2c-6f1e-4a5e-9f1b-9d0b5a2c7e11
{
"error": {
"type": "billing_error",
"code": "insufficient_credits",
"message": "This operation costs 14 credits and the account has 3 left.",
"doc_url": "https://speaknotes.io/developers/errors#insufficient_credits",
"request_id": "0f0a3f2c-6f1e-4a5e-9f1b-9d0b5a2c7e11"
}
}Códigos
invalid_request400The request was malformed or failed validation.
invalid_token401The credential is missing, malformed, expired, or revoked.
insufficient_scope403The credential is valid but lacks the scope this operation needs.
not_found404The requested resource does not exist.
method_not_allowed405That HTTP method is not supported on this path.
conflict409The request conflicts with the current state of the resource.
payload_too_large413The uploaded file exceeds the size limit.
unsupported_media_type415The file format is not supported.
insufficient_credits402The account has no credits left for this operation.
rate_limited429Too many requests. Retry after the interval in the Retry-After header.
upstream_failure502A provider SpeakNotes depends on failed.
content_policy422The content was refused by the AI content policy.
internal_error500SpeakNotes failed to process the request.
Qué reintentar
Reintenta rate_limited después del intervalo en Retry-After, y upstream_failure una o dos veces con retroceso exponencial. Nunca reintentes invalid_request, insufficient_scope o content_policy sin cambios: fallarán de la misma manera cada vez.
IDs de solicitud
Cada respuesta lleva un encabezado X-Request-Id, y los cuerpos de error lo repiten. Cítalo al soporte técnico y se podrá encontrar el fallo exacto.