Códigos de error de Automatizaciones
Todos los códigos de error de la API pública que emite Automatizaciones, con su estado HTTP, su type y una página por código.
Códigos de error que emite Automatizaciones. Cada code enlaza a su propia página con la causa y la acción a tomar.
| Code | Type | HTTP | Descripción |
|---|---|---|---|
automation_action_order_invalid | invalid_request_error | 422 | La posición de un paso dentro de la secuencia no es un número entero, o es negativa. Esa posición es la que fija el orden en que se ejecutan las acciones. |
automation_action_parameter_missing | invalid_request_error | 422 | No ha llegado un parámetro que la acción declara obligatorio. Se rechaza aquí, en vez de rellenarlo con un valor por defecto dentro del adaptador, para que el ensayo prediga la ejecución real. |
automation_action_parameter_unknown | invalid_request_error | 422 | Una clave de parámetro no pertenece al esquema de la acción. Aceptarla guardaría una configuración que ningún adaptador lee, y la creerías activa hasta que la regla se disparase e hiciera otra cosa. |
automation_action_parameter_value_invalid | invalid_request_error | 422 | Un parámetro de la acción lleva un valor fuera del conjunto que admite su esquema. |
automation_action_parameters_invalid | invalid_request_error | 422 | Los parámetros de una acción no se sostienen como conjunto: un valor no es serializable, una clave no es texto, han llegado juntos dos parámetros excluyentes, o una pareja que exige uno de los dos ha llegado sin ninguno. |
automation_action_type_invalid | invalid_request_error | 422 | Uno de los pasos declara un tipo de acción sin adaptador detrás, así que en esa posición no se ejecutaría nada. |
automation_chain_depth_exceeded | invalid_request_error | 422 | Una automatización disparó a otra hasta agotar el margen de encadenamiento, así que la ejecución se detiene antes de encolar ningún paso. Esperar no lo arregla: el mismo evento volvería a recorrer la misma cadena. |
automation_condition_combinator_invalid | invalid_request_error | 422 | Una rama de la condición declara un combinador lógico fuera del conjunto admitido, así que la rama no se puede leer como un «y» ni como un «o». |
automation_condition_depth_exceeded | invalid_request_error | 422 | La condición anida más niveles de los que recorre el evaluador, así que la regla no se puede evaluar entera. |
automation_condition_expression_invalid | invalid_request_error | 422 | La forma del árbol de condiciones no se sostiene: un nodo mal formado, un operador que recibe un valor de la clase equivocada, una ruta de campo que no es un camino con puntos, o un árbol que pasa del límite de profundidad o de nodos. |
automation_condition_field_not_evaluable | invalid_request_error | 422 | La condición lee un campo que el disparador no publica como evaluable. La lista de campos admitidos nunca resuelve una ruta desconocida con un valor por defecto, porque un campo resuelto en silencio es justo el agujero que el sandbox existe para cerrar. |
automation_condition_operator_invalid | invalid_request_error | 422 | Una comparación de la condición nombra un operador fuera del conjunto admitido. |
automation_condition_operator_not_applicable | invalid_request_error | 422 | El operador no aplica al tipo del campo que compara: preguntar si un texto es mayor que otro no es una comparación que el evaluador pueda hacer. |
automation_condition_operator_unsupported | invalid_request_error | 422 | El evaluador no implementa ese operador, así que se detiene en vez de responder «falso»: un «falso» en silencio haría indistinguible «la condición no se cumple» de «no se puede evaluar». |
automation_condition_payload_field_missing | invalid_request_error | 422 | La clave que lee la condición no viene en el payload del evento, que no es lo mismo que venir presente con valor nulo. Algunos eventos llevan un payload reducido: un borrado, por ejemplo, puede conservar solo el identificador. |
automation_condition_payload_type_mismatch | invalid_request_error | 422 | El valor del evento contradice el tipo que el disparador declara para ese campo, y el evaluador no convierte tipos: una comparación por conversión daría un veredicto correcto por accidente y ocultaría que el payload cambió de forma. |
automation_dry_run_event_type_mismatch | invalid_request_error | 422 | El ensayo se ha pedido con un tipo de evento distinto del disparador de la automatización que se ensaya, y una regla solo recibe eventos de su propio disparador. La predicción describiría una entrega que nunca va a ocurrir. |
automation_event_company_unresolvable | invalid_request_error | 422 | El evento llegó al motor sin una empresa resoluble, y el motor se detiene en vez de suponer una: escribir una ejecución bajo una empresa sustituida rompería el aislamiento entre empresas. |
automation_event_payload_not_resolvable | invalid_request_error | 422 | No se ha podido recuperar el contenido del evento, así que no hay payload que congelar en la ejecución. Ocurre cuando el recurso que hay detrás del evento ya no se puede leer en el momento de la entrega. |
automation_monthly_budget_exhausted | payment_required_error | 402 | La empresa agotó las ejecuciones de automatización que su plan incluye para el periodo en curso, así que la ejecución se detiene antes de encolar ningún paso. A diferencia de un límite de ritmo, esperar unos segundos no cambia nada: lo agotado es el presupuesto del ciclo. |
automation_portfolio_scope_forbids_action | invalid_request_error | 422 | Una de las acciones de la automatización actúa sobre datos de una sola empresa, y en alcance de cartera cada ejecución tiene por sujeto a una empresa gestionada distinta. Sólo se admiten las acciones que avisan a la gestoría o que no tocan ningún documento. |
automation_portfolio_scope_not_available | authorization_error | 403 | La empresa no puede crear automatizaciones sobre su cartera: o no tiene contratado el módulo de gestoría, o ella misma es una empresa gestionada por otra, y la relación es de un solo nivel. |
automation_rate_limit_exceeded | rate_limit_error | 429 | La empresa superó las ejecuciones de automatización que su plan admite dentro de la ventana del limitador. El trabajo sí es admisible; sencillamente llegó demasiado rápido. |
automation_replay_not_allowed | invalid_request_error | 422 | La ejecución existe y es tuya, pero relanzarla no procede: aún no ha terminado, terminó bien y su efecto ya se produjo, su desenlace volvería a tomar exactamente la misma rama, o no consta el motivo por el que acabó. |
automation_rule_actions_empty | invalid_request_error | 422 | La automatización no declara ninguna acción, así que no habría nada que ejecutar cuando saltara su disparador. |
automation_rule_actions_limit_exceeded | invalid_request_error | 422 | La regla contiene más de 50 acciones. Un solo evento disparador se multiplicaría en demasiados pasos, jobs en cola y posibles efectos externos. |
automation_rule_already_deleted | invalid_request_error | 422 | La automatización ya estaba dada de baja. El borrado es lógico y no devuelve éxito en silencio la segunda vez, para que dos bajas distintas no se confundan entre sí. |
automation_rule_company_mismatch | invalid_request_error | 422 | La automatización que iba a materializarse no pertenece a la empresa del evento, así que la ejecución no se crea: congelar el snapshot de un evento —cliente, importes, identificador fiscal— en filas de otra empresa no se permite nunca. |
automation_rule_name_invalid | invalid_request_error | 422 | El nombre está vacío o supera el límite de longitud. El nombre es lo que identifica la automatización en los listados y en el histórico de sus ejecuciones. |
automation_rule_not_found | not_found_error | 404 | No existe ninguna automatización con ese identificador para la empresa autenticada. Una regla de otra empresa responde exactamente igual, así que la respuesta nunca revela si existe en otro sitio. |
automation_rule_scope_immutable | invalid_request_error | 422 | La petición intenta cambiar el alcance de una automatización que ya existe. El alcance se fija al crearla porque determina de qué empresas observa los eventos, y cambiarlo reinterpretaría todas sus ejecuciones anteriores. |
automation_rule_scope_invalid | invalid_request_error | 422 | El alcance enviado no pertenece al catálogo de la automatización. Sólo existen dos: la empresa que la crea y la cartera de empresas gestionadas. |
automation_rule_status_transition_invalid | invalid_request_error | 422 | La automatización no puede pasar de su estado actual al que pides: activar, pausar y dar de baja aceptan cada uno sus propios estados de origen. |
automation_rule_uuid_invalid | invalid_request_error | 422 | El identificador no es un UUID v7 válido. Las automatizaciones direccionan sus recursos por el id que devuelve la API, nunca por un número interno. |
automation_rule_version_not_found | not_found_error | 404 | La automatización existe, pero no tiene ninguna versión con ese número: cada guardado publica una versión nueva y la numeración nunca reutiliza un valor. |
automation_rule_version_number_invalid | invalid_request_error | 422 | El número de versión es menor que 1. Las versiones se numeran desde uno hacia arriba, en el orden en que se publicaron. |
automation_rule_version_snapshot_not_found | not_found_error | 404 | La ejecución apunta a una versión de la automatización cuya definición congelada no está guardada, así que no hay definición que ejecutar: una ejecución corre siempre la versión con la que empezó, nunca la regla viva. |
automation_run_not_found | not_found_error | 404 | No existe ninguna ejecución de automatización con ese identificador para la empresa autenticada. Una ejecución de otra empresa responde exactamente igual, así que la respuesta nunca revela si existe en otro sitio. |
automation_run_status_transition_invalid | invalid_request_error | 422 | La ejecución no puede pasar de su estado actual al solicitado: el ciclo de vida de una ejecución solo admite las transiciones que declara su estado. |
automation_run_step_not_found | not_found_error | 404 | La ejecución existe y es tuya, pero no tiene ningún paso en ese índice. Una ejecución materializa todos sus pasos al arrancar y el número no cambia después. |
automation_run_uuid_invalid | invalid_request_error | 422 | El identificador de la ejecución no es un UUID v7 válido. |
automation_step_index_invalid | invalid_request_error | 422 | El índice de un paso no puede ser negativo: ninguna ejecución direcciona un paso así. |
automation_step_status_transition_invalid | invalid_request_error | 422 | El paso no puede pasar de su estado actual al solicitado. Es lo que impide reclamar dos veces un paso ya terminado, y esa guarda es la que hace que un relanzamiento produzca cada efecto una sola vez. |
automation_step_subject_company_mismatch | invalid_request_error | 422 | El elemento sobre el que iba a actuar la acción no pertenece a la empresa de la ejecución, o no se ha podido determinar a qué empresa pertenece. En los dos casos el paso aborta antes de invocar el adaptador, así que no se produce ningún efecto. |
automation_subject_company_ownership_not_verified | invalid_request_error | 422 | Al preparar la ejecución no se pudo demostrar que la empresa del evento siga siendo una empresa gestionada y activa de quien creó la automatización. Puede que el vínculo se archivara, que la empresa se diera de baja o que la ejecución llegara con datos cruzados. |
automation_trigger_not_found | not_found_error | 404 | El disparador no está en el catálogo que tu empresa puede ver. Un nombre que no existe y un disparador real cuyo módulo tu empresa no tiene concedido responden igual, así que la respuesta nunca confirma cuál de los dos casos es. |
automation_trigger_payload_contract_unknown | invalid_request_error | 422 | El disparador no publica contrato de campos evaluables, así que no hay catálogo contra el que resolver una condición. |
automation_trigger_type_invalid | invalid_request_error | 422 | La escritura lleva un disparador que no está en el catálogo disponible para tu empresa, así que la regla no recibiría ningún evento. |
Relacionado
Códigos de error por categoría
Localiza un error por la categoría que lo emite.
Tabla de referencia completa
Todos los códigos, estados HTTP, tipos y descripciones en una referencia.
Modelo de errores
Interpreta la respuesta de error y gestiona los errores por código.