

# ValidateStateMachineDefinitionDiagnostic
<a name="API_ValidateStateMachineDefinitionDiagnostic"></a>

Describes potential issues found during state machine validation. Rather than raise an exception, validation will return a list of **diagnostic elements** containing diagnostic information. 

**Note**  
The [ValidateStateMachineDefinitionlAPI](https://docs.aws.amazon.com/step-functions/latest/apireference/API_ValidateStateMachineDefinition.html) might add new diagnostics in the future, adjust diagnostic codes, or change the message wording. Your automated processes should only rely on the value of the **result** field value (OK, FAIL). Do **not** rely on the exact order, count, or wording of diagnostic messages.

 **List of warning codes** 

NO\$1DOLLAR  
No `.$` on a field that appears to be a JSONPath or Intrinsic Function.

NO\$1PATH  
Field value looks like a path, but field name does not end with 'Path'.

PASS\$1RESULT\$1IS\$1STATIC  
Attempt to use a path in the result of a pass state.

 **List of error codes** 

INVALID\$1JSON\$1DESCRIPTION  
JSON syntax problem found.

MISSING\$1DESCRIPTION  
Received a null or empty workflow input.

SCHEMA\$1VALIDATION\$1FAILED  
Schema validation reported errors.

INVALID\$1RESOURCE  
The value of a Task-state resource field is invalid.

MISSING\$1END\$1STATE  
The workflow does not have a terminal state.

DUPLICATE\$1STATE\$1NAME  
The same state name appears more than once.

INVALID\$1STATE\$1NAME  
The state name does not follow the naming convention.

STATE\$1MACHINE\$1NAME\$1EMPTY  
The state machine name has not been specified.

STATE\$1MACHINE\$1NAME\$1INVALID  
The state machine name does not follow the naming convention.

STATE\$1MACHINE\$1NAME\$1TOO\$1LONG  
The state name exceeds the allowed length.

STATE\$1MACHINE\$1NAME\$1ALREADY\$1EXISTS  
The state name already exists.

DUPLICATE\$1LABEL\$1NAME  
A label name appears more than once.

INVALID\$1LABEL\$1NAME  
You have provided an invalid label name.

MISSING\$1TRANSITION\$1TARGET  
The value of "Next" field doesn't match a known state name.

TOO\$1DEEPLY\$1NESTED  
The states are too deeply nested.

## Contents
<a name="API_ValidateStateMachineDefinitionDiagnostic_Contents"></a>

 ** code **   <a name="StepFunctions-Type-ValidateStateMachineDefinitionDiagnostic-code"></a>
Identifying code for the diagnostic.  
Type: String  
Required: Yes

 ** message **   <a name="StepFunctions-Type-ValidateStateMachineDefinitionDiagnostic-message"></a>
Message describing the diagnostic condition.  
Type: String  
Required: Yes

 ** severity **   <a name="StepFunctions-Type-ValidateStateMachineDefinitionDiagnostic-severity"></a>
A value of `ERROR` means that you cannot create or update a state machine with this definition.  
 `WARNING` level diagnostics alert you to potential issues, but they will not prevent you from creating or updating your state machine.  
Type: String  
Valid Values: `ERROR | WARNING`   
Required: Yes

 ** location **   <a name="StepFunctions-Type-ValidateStateMachineDefinitionDiagnostic-location"></a>
Location of the issue in the state machine, if available.  
For errors specific to a field, the location could be in the format: `/States/<StateName>/<FieldName>`, for example: `/States/FailState/ErrorPath`.  
Type: String  
Required: No

## See Also
<a name="API_ValidateStateMachineDefinitionDiagnostic_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/states-2016-11-23/ValidateStateMachineDefinitionDiagnostic) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/states-2016-11-23/ValidateStateMachineDefinitionDiagnostic) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/states-2016-11-23/ValidateStateMachineDefinitionDiagnostic) 