> ## Documentation Index
> Fetch the complete documentation index at: https://developers.redo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# AutomationCheck

> An automation checked as publishing checks it, with the types its expressions can use.

**Required scopes:** [`automations_read`](https://developers.redo.com/docs/api-reference/v3/reference/scopes#scope-automations_read)

**diagnostics** `[\[AutomationDiagnostic!\]!](/docs/api-reference/v3/reference/automations/automation-diagnostic)` *required*

Its problems. Any ERROR blocks publishing.

**fields**

**code** `String!` *required*

A stable code, such as F0004. Read `diagnostics/<code>` in `automationCatalog`.

**fixes** `[\[AutomationFix!\]!](/docs/api-reference/v3/reference/automations/automation-fix)` *required*

Suggested fixes, best first.

**fields**

**definition** `[AutomationDefinition!](/docs/api-reference/v3/reference/automations/automation-definition)` *required*

The definition with the fix applied.

**needsInput** `Boolean!` *required*

It fills in a placeholder you should check first.

**title** `String!` *required*

What the fix does.

**message** `String!` *required*

What is wrong.

**path** `[String!]`

Where in that step it is, such as `["config", "seconds"]`; without a step, where in the definition. Null when it has no one place.

**rulesVersion** `String!` *required*

The rules version its code arrived in. An error from a version newer than the automation's is reported as a WARNING.

**severity** `[AutomationDiagnosticSeverity!](/docs/api-reference/v3/reference/automations/automation-diagnostic-severity)` *required*

How much it matters. ERROR blocks publishing.

**stepId** `String`

`"trigger"` or the id of the step it is on; null for the automation as a whole.

**entryContextType** `String`

The type `entryCondition` reads, defined in `typesSDL`.

**steps** `[\[AutomationStepAnalysis!\]!](/docs/api-reference/v3/reference/automations/automation-step-analysis)` *required*

Each step, in the definition's order.

**fields**

**contextType** `String`

The type expressions in the step read, defined in `typesSDL`. Null when the automation can't be typed.

**id** `String!` *required*

The step's id.

**outputType** `String`

The type later steps read from it under `steps`; null when it produces nothing.

**ports** `[\[AutomationPort!\]!](/docs/api-reference/v3/reference/automations/automation-port)` *required*

The ports its config gives it.

**fields**

**id** `String!` *required*

The port's id, as `AutomationEdge.port` names it.

**label** `String!` *required*

What editors show.

**summary** `String`

A one-line description of its settings.

**typesSDL** `String`

GraphQL SDL of every type the context and step outputs use. Null when the automation can't be typed, such as an unknown trigger.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.