Cada respuesta de error identifica su causa con un code estable. Esta página es el inventario completo: 682 códigos, de los cuales 631 los emite la API y el resto están registrados para traducción.

La forma del documento de error y la razón por la que se ramifica sobre code y no sobre detail están en el contrato de errores.

Códigos documentados

Admin (operación interna)

Autenticación y sesión

codeStatusCuándo se disparaQué debe hacer el cliente
account_deleted401La cuenta fue soft-deleted.Contactar soporte.
account_suspended401 / 403La cuenta del caller está suspendida.Contactar soporte.
api_key_decryption_failed401Falla criptográfica al descifrar la API key.Regenerar la key.
auth_header_empty401El header Authorization está vacío.Adjuntar Authorization: Bearer ....
auth_method_denied403El endpoint no acepta el método de autenticación con el que llegaste.Usar el método de auth correcto — ver Autenticación.
forbidden403Permiso denegado por RBAC.Pedir el permiso al admin de tu cuenta.
invalid_api_key401El prefijo o el formato de la API key es inválido.Regenerar la key desde /usage o POST /v1/users/me/api-key/regenerate.
invalid_credentials401Email o contraseña incorrectos.Mostrar mensaje genérico al usuario — no revelar cuál falló.
invalid_encrypted_api_key401La API key no descifra contra el secret server-side (rotación de claves o key falsificada).Regenerar la key.
registration_disabled403El flag global registration.enabled está OFF.Esperar a que se reactive.
unauthorized401Credenciales ausentes, inválidas o vencidas.Volver a autenticarse, o renovar la API key.
unrecognized_auth_format401El header Authorization no parsea como Bearer <token>.Usar Bearer veriko_..., con la API key.

Beneficiarios

codeStatusCuándo se disparaQué debe hacer el cliente
account_not_in_catalog404La cuenta no aparece en el directorio cross-tenant.Comportarse como "sin info".
account_number_required422Falta account_number en el body.Agregar el campo.
beneficiary_already_registered422La cuenta ya está en tus beneficiarios.Reutilizar el existente.
beneficiary_not_found_for_account404No hay beneficiario asociado a esa cuenta.Crearlo.
invalid_last_digits_length400last_digits no tiene 4 dígitos.Pasar 4 dígitos.
query_param_account_required400Falta ?account= en la query.Agregar el parámetro.
query_param_last_digits_required400Falta ?last_digits= en la query.Agregar el parámetro.

Códigos terminales async de validaciones

codeStatusCuándo se disparaQué debe hacer el cliente
bank_code_unresolvable_for_phone422No.
banxico_error502 / 503No.
intra_bank_no_cep422No.
ocr_error502No.

Finanzas

codeStatusCuándo se disparaQué debe hacer el cliente
csv_stream_failed500El stream CSV falló.Reintentar.
invalid_export_format400Formato pedido fuera de json/csv/xlsx/pdf.Elegir uno soportado.
invalid_month400Param month ausente o no YYYY-MM.Pasar YYYY-MM.
invalid_period400Param period no matchea convención.Corregir.
invalid_range400Range from/to incoherente.Corregir.
no_ceps404No hay CEPs disponibles en el rango.Ajustar rango.
pdf_render_failed500dompdf falló al renderizar.Reintentar; reportar si persiste.
range_required400Falta range o from/to.Pasar uno.
xlsx_render_failed500PhpSpreadsheet falló.Reintentar.

Idempotencia

codeStatusCuándo se disparaQué debe hacer el cliente
idempotency_key_in_progress409Hay otra request en vuelo con la misma key.
idempotency_key_reused422La misma key se usó antes con un body distinto.
invalid_idempotency_key400El header Idempotency-Key no cumple el formato [A-Za-z0-9_-]{1,255}.

Importes masivos (validations + beneficiaries)

codeStatusCuándo se disparaQué debe hacer el cliente
file_required422El upload no incluye archivo.Adjuntar el archivo.
job_not_editable422Querés editar una importación en estado terminal.La importación ya fue confirmada.
multi_upload_not_allowed_for_text422Multi-select pero los archivos son texto plano.Subir uno por uno o usar imágenes/ZIP.
no_valid_fields422El payload de edit no tiene campos válidos.Incluir al menos un campo.
no_valid_test_files422Ningún archivo del upload es procesable.Revisar el set.
zip_pack_failed422Falló el repacking de un ZIP de imágenes.Reintentar con ZIP estándar.

OTP, 2FA y verificación

codeStatusCuándo se disparaQué debe hacer el cliente
confirmation_token_already_used409El token ya fue consumido (single-use).Re-solicitar uno nuevo.
confirmation_token_invalid422Token de confirmación malformado.Re-solicitar el token.
confirmation_token_malformed400Variante: el token no tiene la estructura esperada.Re-solicitar.
confirmation_token_mismatch422El token corresponde a otra acción distinta.Re-solicitar para la acción correcta.
confirmation_token_missing422Falta el confirmation_token en una operación de step-up.Agregar confirmation_token.
confirmation_token_slug_mismatch422El token fue emitido para otro plan/slug.Re-emitir para el slug correcto.
free_plan_already_claimed409El plan gratuito ya fue reclamado por esta cuenta.Continuar al flujo normal; no hay nada que reclamar.
invalid_otp_parameters422El payload de OTP está incompleto.Revisar los campos requeridos.
invalid_reset_context400El contexto del reset (purpose, audience, expiry) no coincide.Reiniciar el flujo.
invalid_verification_token400El token de un flujo de verificación es inválido o malformado.Reiniciar el flujo de verificación.
missing_otp_id400Falta el otp_id en el body.Agregar otp_id.
otp_already_used400El OTP ya fue consumido.Solicitar otro.
otp_expired400El OTP venció antes de ser usado.Re-solicitar OTP.
otp_invalid_code400El código OTP enviado es incorrecto.Reingresarlo (máximo N intentos).
otp_max_attempts400Se agotaron los intentos para ese OTP.Re-solicitar un OTP nuevo.
otp_not_found404No hay OTP activo para esa combinación user+purpose.Re-solicitar OTP.
phone_already_verified422El teléfono ya está verificado — no hay nada que hacer.Continuar al flujo normal.
phone_not_verifiedEl teléfono no está verificado. Ya no lo lanza el login (v1.58.0): iniciar sesión no exige teléfono verificado.Verificar con POST /v1/users/me/phone/request-verify.
phone_verification_required409 / 422La acción exige un teléfono verificado y la cuenta no lo tiene. meta.masked_phone indica a qué número irá el código (null si aún no hay teléfono) y meta.needs_phone si hay que pedirlo primero.Abrir el flujo de verificación (POST /v1/users/me/phone/request-verify) y reintentar.
purpose_mismatch400El OTP fue generado para otro propósito (ej. login vs. password reset).Solicitar OTP con el purpose correcto.
twofa_action_mismatch400El challenge resuelto no corresponde a la acción solicitada.Re-iniciar el step-up.
twofa_already_disabled422Se pidió disable de 2FA pero ya está disabled.Ignorar — estado correcto.
twofa_already_enabled422Se pidió enable de 2FA pero ya está enabled.Ignorar — estado correcto.
twofa_invalid_challenge400El código del challenge 2FA es incorrecto.Reingresarlo.
twofa_invalid_context400El contexto 2FA (purpose / audience) no matchea.Reiniciar el flujo.
twofa_method_same422Se pidió cambiar a un método 2FA igual al actual.Elegir un método distinto.
twofa_method_unsupported422El método 2FA pedido no está soportado.Usar sms o email.
twofa_not_enabled422Intentaste verificar 2FA pero el usuario no lo tiene activo.Habilitar 2FA primero.
twofa_required401El usuario tiene 2FA activo — necesitas resolver el challenge.Disparar POST /v1/auth/2fa/verify-challenge.

Plan y facturación

codeStatusCuándo se disparaQué debe hacer el cliente
admin_grant_failed422Falló el grant de plan admin-side.Revisar el detalle.
billing_disabled503El módulo de billing está desactivado en este deploy.Esperar a que se active.
billing_invalid_interval422El interval no es month ni year.Usar uno permitido.
billing_invalid_kind422El kind del precio no es base ni metered.Usar uno permitido.
billing_plan_is_free422Intentas subscribir a un plan free vía Stripe checkout.El plan free se asigna sin Stripe.
billing_plan_not_found404Variante: el slug no resuelve a un plan activo.Revisar el slug.
billing_plan_not_self_service403Plan no asignable vía self-service.Contactar soporte.
billing_plan_slug_invalid422El slug no cumple ^[a-z0-9-]+$.Corregir.
billing_plan_slug_required422Falta plan_slug en el body.Agregar el campo.
billing_plan_slug_too_long422El slug supera el max.Acortar.
comp_amount_invalid422Monto de compensación inválido.Corregir.
comp_user_missing422Falta target user en comp.Agregar.
comp_user_not_found404El user de comp no existe.Verificar.
no_active_subscription404El usuario no tiene suscripción activa.Iniciar checkout.
overage_not_applicable422El plan actual no soporta overage.Upgradear plan.
overage_update_failed422Falló el toggle de overage.Reintentar.
plan_not_found404El plan referenciado no existe.Listar planes con GET /v1/plans/public.
price_already_in_catalog409El stripe_price_id ya está usado por otro precio.Reutilizar el existente.
price_combo_already_exists409 / 422Combinación (plan, interval, currency, kind) duplicada.Editar el existente.
price_local_id_required422Falta price_local_id.Agregar.
price_not_active422El precio está archived.Activar primero.
price_not_found404El precio local no existe.Verificar el ID.
price_plan_mismatch422El precio referenciado no pertenece a ese plan.Usar el plan correcto.
refund_amount_invalid422Monto de refund inválido (negativo o > invoice).Corregir.
refund_invoice_not_found404El invoice referenciado no existe en Stripe.Verificar el invoice_id.
source_price_id_required422Falta source_price_id en migrate.Agregar.
stripe_cancel_failed502Stripe rechazó el cancel.Reintentar.
stripe_checkout_failed502Stripe rechazó la creación de session.Reintentar.
stripe_invoice_malformed500El invoice de Stripe llegó incompleto en el webhook.(logged y resync).
stripe_meter_lookup_failed502Stripe meter lookup falló.Reintentar.
stripe_meter_missing422 / 500El meter esperado no existe en Stripe.Crear el meter o desactivar metered.
stripe_price_archive_failed502Stripe rechazó archivar el precio.Reintentar.
stripe_price_id_format_invalid422El stripe_price_id no matchea price_*.Corregir.
stripe_price_id_required422Falta stripe_price_id.Agregar.
stripe_price_not_found404El stripe_price_id no existe en Stripe.Verificar el ID.
stripe_product_create_failed502Falló creación de Product en Stripe.Reintentar.
stripe_subscription_malformed500El subscription de Stripe llegó incompleto.(logged y resync).
stripe_unreachable502Stripe API timeout/connection error.Reintentar.
subscription_not_found409La suscripción no existe.Verificar el user_id.
subscription_race_retry409Race condition mutando la subscripción — el cliente debe reintentar.Reintentar tras 1-2s.
unit_amount_required422Falta unit_amount.Agregar.

Rate limit

codeStatusCuándo se disparaQué debe hacer el cliente
rate_limit_exceeded429Variante para grupos internos (e.g. login).

Recursos genéricos

codeStatusCuándo se disparaQué debe hacer el cliente
cep_not_available404 / 409El CEP de la validación todavía no está disponible.
changelog_emptyNo hay changelog publicado.
changelog_not_foundLa versión solicitada no existe.
dispatch_failed500 / 503La importación no pudo despacharse al trabajador.
image_not_available404La imagen original no está accesible.
internal_error500Falla inesperada.
key_not_available404 / 409La API key del user no está disponible para mostrar.
method_not_allowed405Método HTTP no soportado para ese path.
not_found404El recurso pedido no existe o no es visible.
user_not_found401 / 404El user referenciado no existe.

Registro y cuenta

codeStatusCuándo se disparaQué debe hacer el cliente
current_password_incorrect422El current_password no matchea.Reingresar correctamente.
current_password_required422Falta current_password en un cambio de contraseña.Agregar el campo.
email_already_registered422El email ya tiene cuenta verificada.Mostrar mensaje genérico anti-enum.
email_already_taken422Variante: el email no está libre.Pedir otro email.
email_already_verified422El email ya está verificado.Continuar al flujo normal.
email_delivery_failedEl proveedor de email rechazó el envío.Reintentar; si persiste, soporte.
email_same_as_current422El email nuevo coincide con el actual.Ingresar uno distinto.
invalid_email_change_context400El contexto del cambio de email no es válido (purpose mismatch).Reiniciar el flujo.
language_unsupported422Variante de unsupported_locale.Usar es o en.
new_password_too_short422Variante: en cambio de contraseña, la nueva es muy corta.Usar más caracteres.
password_mismatch422password y password_confirmation no coinciden.Reingresar coincidentes.
password_too_shortLa contraseña no cumple el largo mínimo.Usar contraseña más larga.
password_too_weakLa contraseña no cumple las reglas de complejidad.Reforzar la contraseña.
phone_required_for_email_change422Necesitás teléfono verificado antes de cambiar email.Verificar phone primero.
phone_takenEl teléfono ya está en otra cuenta verificada.Pedir otro teléfono.
sms_delivery_failedEl proveedor SMS rechazó el envío del OTP.Reintentar; si persiste, soporte.
unsupported_locale422El idioma enviado no está en la lista de admitidos.Usar es o en.

Validación de transferencias SPEI

codeStatusCuándo se disparaQué debe hacer el cliente
bank_code_required_for_phone422Para account_type=phone se requiere bank_code explícito.
clabe_prefix_not_recognized422Los primeros 3 dígitos de la CLABE no coinciden con ningún banco participante de SPEI.
clave_or_ref_required422Se requiere clave_rastreo o referencia_numerica.
image_not_readable422Para validaciones desde imagen (OCR): OCR no pudo leer la imagen.
image_not_readable_receipt422Para validaciones desde imagen (OCR): OCR leyó pero no parece un comprobante SPEI.
image_not_spei_receipt422Para validaciones desde imagen (OCR): El recibo no es SPEI (otro tipo de transferencia).
image_or_image_url_required422Para validaciones desde imagen (OCR): No se proporcionó ni image ni image_url.

Validación general de campos

codeStatusCuándo se disparaQué debe hacer el cliente
image_too_largeImagen supera el tope de peso.
invalid_account_format400El número de cuenta no es CLABE 18 / tarjeta 16 / celular E.164.
invalid_account_length422Largo incorrecto para el tipo (18 CLABE / 16 tarjeta / 10 celular).
invalid_amountMonto no es válido como decimal positivo.
invalid_bank_code422El código de banco no existe en el catálogo.
invalid_card_luhnEl check Luhn de la tarjeta falla.
invalid_clabe_checksumEl dígito verificador de la CLABE falla.
invalid_email422El email no es válido.
invalid_format422El campo no coincide con el formato esperado.
invalid_imageLa imagen no es decodificable.
invalid_image_formatFormato fuera de JPEG/PNG/WEBP.
invalid_request_body422El JSON no es válido.
invalid_urlLa URL es malformada.
invalid_url_scheme422Solo https aceptado.
invalid_uuidNo es un UUID v4.
invalid_value422El valor está fuera del set permitido.
max_length_exceededSupera el max length del campo.
message_build_failed422El server no pudo armar el mensaje a responder.
missing_field422Variante de required para campos concretos.
url_dns_failed400DNS no resolvió el host.
url_ssrf_blocked400La URL apunta a una IP privada / DNS rebind.
validation_error422Error de validación genérico.
validation_failed422Variante para fallas combinadas.

Webhooks y notificaciones

codeStatusCuándo se disparaQué debe hacer el cliente
invalid_notification_id422El id no es UUID.Corregir.
notification_not_found404Notificación referenciada no existe.Verificar el id.
notifications_preferences_empty422El body no trae preferencias.Agregar al menos una.
push_fcm_token_invalid422El token FCM no tiene un formato válido.Re-obtener el token del SDK de Firebase.
push_fcm_token_required422Falta token (FCM) en el body.Agregar.
push_not_configured503El servidor no tiene ni VAPID ni FCM configurados.Soporte.
push_subscription_endpoint_not_https422Endpoint no es HTTPS.Verificar el provider.
push_subscription_endpoint_required422Falta endpoint.Agregar.
push_subscription_endpoint_too_long422Endpoint excede el max.(problema del provider).
push_subscription_invalid_shape422El objeto PushSubscription es inválido.Re-suscribir desde el SW.
push_subscription_none_active422No tienes suscripciones push activas.Suscribirse primero.
quiet_hours_invalid_timezone422El timezone no existe.Usar IANA TZ.
quiet_hours_minutes_out_of_range422Minutos fuera de [0, 1440].Corregir.
telegram_bot_not_configured503El bot de Telegram no está configurado server-side.Soporte.
webhook_event_invalid422Evento fuera del registry.Ver eventos en docs.
webhook_events_required422Falta el array events.Agregar al menos uno.
webhook_events_too_many422Más eventos que el max.Reducir.
webhook_limit_reached422Tope de webhooks del plan alcanzado.Upgradear plan o borrar uno.
webhook_status_invalid422status no es active/disabled.Corregir.
webhook_url_empty422url enviado pero vacío.Agregar URL real.
webhook_url_invalid_format422url no parsea.Corregir.
webhook_url_not_https422El scheme no es https.Usar HTTPS.
webhook_url_required422Falta url.Agregar.
webhook_url_too_long422url supera 2048 chars.Acortar.

Códigos sin glosar

La API puede emitir estos 381 códigos, y todavía no tienen descripción. Se listan con su estado HTTP para que una integración pueda al menos clasificarlos.

codeStatus
admin_self_delete_not_allowed403
admin_self_restore_not_allowed403
already_blocked409
already_canceling409
audience_required422
audience_too_many422
audience_value_too_long422
banxico_check_cooldown429
banxico_sync_failed502
beneficiary_already_exists409
billing_already_subscribed409
billing_interval_invalid422
billing_invalid_currency422
billing_no_customer422
billing_orphan_customer500
billing_plan_unresolvable500
billing_price_not_found422
bin_invalid422
bin_not_found404
body_empty400
body_too_large413
bot_custom_command_too_many422
bot_custom_command_trigger_reserved409
bot_custom_command_trigger_taken409
bot_system_command_trigger_reserved409
broadcast_already_active409
broadcast_audience_empty422
broadcast_audience_too_large422
broadcast_invalid_user_ids422
broadcast_message_empty422
broadcast_message_too_long422
broadcast_not_cancelable409
broadcast_not_dispatchable409
broadcast_rate_limited429
bulk_too_many400
cannot_cancel409
cannot_modify_role_permissions422
cannot_remove_critical_permission422
cannot_restore_self422
category_too_many422
category_value_too_long422
changelog_registry_error500
channels_required422
cloudflare_not_configured409
comp_cap_not_configured500
comp_currency_invalid422
comp_daily_cap_exceeded429
comp_lock_contention503
comp_reason_invalid422
comp_user_no_customer422
compare_runs_must_differ422
confirm_required422
control_unavailable409
create_rate_limited429
date_range_too_large422
device_credential_id_required422
device_credential_not_found404
device_credential_reauth_required422
docs_site_missing503
email_taken422
entry_ids_required422
event_not_broadcast_safe422
event_type_required422
event_type_too_long422
file_not_found404
filter_invalid422
health_check_not_found404
identity_not_found404
image_invalid422
import_failed500
invalid_account422
invalid_account_type422
invalid_audience400 / 422
invalid_audience_filter422
invalid_audience_kind422
invalid_audience_override422
invalid_audience_value422
invalid_block_reason422
invalid_bot_user_id422
invalid_broadcast_id422
invalid_broadcast_language422
invalid_broadcast_segment422
invalid_category400
invalid_category_value422
invalid_channel422
invalid_channel_value422
invalid_channels422
invalid_channels_override422
invalid_custom_command_id422
invalid_custom_command_response422
invalid_custom_command_trigger422
invalid_date_filter422
invalid_date_format422
invalid_date_range422
invalid_datetime422
invalid_device_credential401
invalid_enabled422
invalid_event_type422
invalid_except_value422
invalid_expected_banxico_status422
invalid_filter422
invalid_identity422
invalid_identity_value422
invalid_impact_level422
invalid_include400
invalid_json400
invalid_lang400
invalid_limit400
invalid_page_by400
invalid_path422
invalid_payload_value422
invalid_permission_action422
invalid_plan422
invalid_proxy_request422
invalid_remember422
invalid_reorder422
invalid_role422
invalid_session_id422
invalid_setting_value422
invalid_settings422
invalid_severity422
invalid_status400 / 422
invalid_system_command_description422
invalid_system_command_id422
invalid_system_command_trigger422
invalid_telegram_token422
invalid_timestamp400
invalid_user_id_filter422
invalid_webhook_url422
last_auth_method409
lockout_unavailable503
malformed_payload400
migration_bootstrap_missing500
migration_drift_conflict409
migration_file_missing404
migration_filename_format422
migration_filename_required422
migration_filenames_must_be_array422
migration_lock_held409
migration_mark_bulk_limit422
migration_not_found404
migration_target_invalid_type422
migration_target_version_format422
missing_jti401
missing_param400
missing_required_payload_var422
missing_required_var422
name_empty422
name_too_long422
no_active_grant409
no_api_key404
no_failed_files404
no_matching_entries422
not_blocked409
not_canceling409
not_linked409
not_stripe_subscription422
notifications_preferences_invalid422
oauth_missing_handoff400
oauth_no_pending_flow404
oauth_provider_unavailable404
ocr_not_configured502 / 503
only_owner_can_assign_owner422
only_owner_can_create_owner422
only_owner_can_delete_owner422
only_owner_can_modify_owner422
only_owner_can_restore_owner422
only_owner_can_suspend_admin422
openapi_spec_parse_failed500
owner_only_action403
password_already_set409
password_not_set422
path_not_allowed403
permission_actions_must_be_array422
phone_required422
phone_unavailable409
plan_beneficiaries_max_invalid422
plan_billing_model_change_blocked422
plan_billing_model_invalid422
plan_cap_exceeded422
plan_comparison_invalid_shape422
plan_create_post_commit_inconsistent500
plan_create_stripe_price_failed502
plan_create_stripe_product_failed502
plan_currency_invalid422
plan_delete_has_active_subs409
plan_duplicate_same_slug422
plan_feature_icon_invalid422
plan_feature_text_required422
plan_feature_text_too_long422
plan_features_invalid_shape422
plan_features_too_many422
plan_free_cannot_have_initial_prices422
plan_free_cannot_have_stripe_product422
plan_included_exceeds_limit422
plan_included_validations_negative422
plan_limit_negative422
plan_name_required422
plan_name_too_long422
plan_price_edit_noop422
plan_price_migrate_invalid_proration422
plan_price_migrate_source_format_invalid422
plan_price_migrate_source_not_archived422
plan_price_migrate_source_not_found404
plan_price_migrate_source_product_mismatch422
plan_price_migrate_source_retrieve_failed502
plan_price_migrate_source_same_as_target422
plan_price_not_active422
plan_price_not_found404
plan_price_out_of_range422
plan_price_slug_mismatch422
plan_retry_max_dispatched_out_of_range422
plan_retry_max_pending_out_of_range422
plan_retry_max_retries_out_of_range422
plan_slug_already_exists422
plan_slug_format_invalid422
plan_slug_invalid422
plan_slug_required422
plan_sort_order_negative422
plan_stale_prepare422
plan_stripe_product_missing422
plan_tax_behavior_invalid422
plan_trial_days_out_of_range422
plan_update_post_commit_inconsistent500
plan_update_stripe_price_failed502
plan_update_stripe_product_failed502
platform_disabled404
price_archive_has_active_subs409
price_create_race_unrecoverable500
processing_failed500
proxy_upstream_error502
push_subscription_endpoint_conflict409
queue_unavailable503
queues_batch_failed500
queues_batches_failed500
queues_cancel_failed500
queues_cancel_prepare_failed500
queues_config_failed500
queues_config_reset_failed500
queues_config_update_failed500
queues_discard_failed500
queues_discard_prepare_failed500
queues_dlq_entry_failed500
queues_dlq_failed500
queues_job_failed500
queues_jobs_failed500
queues_overview_failed500
queues_pause_failed500
queues_restart_failed500
queues_restart_prepare_failed500
queues_resume_failed500
queues_retry_failed500
queues_retry_prepare_failed500
queues_start_failed500
queues_states_failed500
queues_stats_failed500
queues_stop_failed500
queues_worker_failed500
queues_workers_failed500
rate_limited_billing_portal429
rate_limited_email_flow429
rate_limited_login429
rate_limited_oauth429
rate_limited_otp429
rate_limited_password_reset429
rate_limited_register429
rate_limited_twofa429
reactivation_cap_exceeded422
rebuild_request_failed503
refund_amount_exceeds_refundable422
refund_cap_not_configured500
refund_currency_mismatch422
refund_daily_cap_exceeded429
refund_invoice_not_paid422
refund_lock_contention503
refund_no_charge422
release_not_found404
restore_token_expired422
restore_token_invalid422
restore_token_required422
restore_token_used422
retry_age_exceeded422
retry_already_resolved422
retry_not_active422
retry_not_applicable422
retry_not_supported_for_bulk422
retry_pending_cap_exceeded422
role_has_no_permissions403
rollback_no_down400
rotate_rate_limited429
scheduled_for_required422
scheduled_task_create_failed500
scheduled_task_delete_failed500
scheduled_task_delete_prepare_failed500
scheduled_task_detail_failed500
scheduled_task_execution_detail_failed500
scheduled_task_executions_failed500
scheduled_task_run_now_failed500
scheduled_task_update_failed500
scheduled_too_far422
scheduled_too_soon422
search_too_long422
seeder_bulk_limit422
seeder_filename_format422
seeder_filename_required422
seeder_invalid500
seeder_not_found404
service_unavailable503
session_expired401
session_not_found_or_already_revoked404
session_revoked401
session_unknown401
simulation_failed500
stale_draft409
stripe_account_check_misconfigured500
stripe_comp_failed502
stripe_customer_create_failed502
stripe_customer_persist_failed500
stripe_customer_update_failed502
stripe_event_malformed400
stripe_foreign_account400
stripe_invalid_mode500
stripe_portal_failed502
stripe_price_archive_divergent502
stripe_price_create_failed502
stripe_price_orphaned_post_create500
stripe_price_orphaned_post_edit500
stripe_price_product_mismatch422
stripe_price_shape_incompatible422
stripe_refresh_failed502
stripe_refund_failed502
stripe_resume_failed502
stripe_secret_missing500
stripe_secret_placeholder500
stripe_secret_too_short500
stripe_signature_invalid401
stripe_signature_malformed401
stripe_signature_missing401
stripe_signature_no_secrets500
stripe_signature_timestamp_skew401
stripe_subs_list_failed502
stripe_subscription_fetch_failed502
stripe_unavailable503
stripe_upcoming_failed502
subject_override_invalid422
subject_override_too_long422
subscriber_limit_reached422
subscription_not_cancelable422
subscription_not_resumable422
subscription_sync_failed500
sync_too_many_prices422
telegram_bot_token_missing422
telegram_identity_update_failed502
telegram_not_linked409
telegram_test_send_failed502
telegram_token_persist_failed500
telegram_token_verification_failed422
telegram_user_not_linked422
telegram_webhook_secret_missing422
telegram_webhook_set_failed502
telegram_webhook_url_not_https422
telegram_webhook_url_unresolvable422
test_file_not_found404
test_filename_format422
test_files_limit422
test_files_must_be_array422
test_name_invalid422
test_suite_empty404
test_suite_invalid422
tests_lock_held409
timezone_unsupported422
twofa_method_not_verified422
twofa_setup_required401
unknown_event_type422
unknown_permission_resource422
unknown_platform404
unknown_setting_key422
user_not_restorable404
var_too_long422
vars_must_be_object422
version_not_found400

Sin traducción

Estos 292 códigos se emiten sin entrada en el catálogo de traducción, de modo que su detail llega en el idioma en que se escribió, sin traducir.

Registrados sin emisión detectada

Estos 33 códigos están dados de alta en el catálogo de traducción, pero el análisis del código fuente no encuentra dónde se emiten. Puede tratarse de códigos retirados o de códigos que se arman en tiempo de ejecución. Se listan para que el inventario sea completo; una integración no debería contar con recibirlos.