**Source URL:** https://general.veevavault.dev/mdl/documentation/mdl-commands/command-syntax.md

# Command Syntax

Most MDL commands follow the general syntax shown below:

```
COMMAND Componenttypename component_name (
  attribute_name(attribute_value),
  attribute_name(attribute_value),

  Subcomponenttypename subcomponent_name (
  
    attribute_name(attribute_value),
    attribute_name(attribute_value)
  )
);

```

The following elements are used to build most types of MDL commands:

| Element | Description | Example |
| --- | --- | --- |
| Component Type Name | The name of the MDL component type. It is expressed as a string starting with an uppercase letter followed by lowercase letters. | `Picklist` |
| Component Name | The name of the MDL component. An MDL component is an instance of a component type. It is expressed as a snake_case string that ends with the applicable Veeva namespace. Component names can represent a hierarchy using dot-notation. For example, `my_baseobject__c.my_objecttype__c`. In this example, `my_objecttype__c` is a child component of `my_baseobject__c`. | `color__c` |
| Subcomponent Type Name | The name of the subcomponent type, defined within the context of the component type. Subcomponents only exist within the parent component and cannot stand alone. | `Picklistentry` |
| Subcomponent Name | The name of the subcomponent. A subcomponent is an instance of a subcomponent type. A subcomponent name can represent a hierarchy using dot-notation. For example, `my_object__c.my_field__c` | `red__c` |
| Attribute Name | The name of the attribute of the component or a subcomponent. It is expressed as a lowercase, snake_case string. For example, a `Docfield` component has a `max_length` attribute. | `label` |
| Attribute Value | The value which is set on to an attribute. The value is expressed depending on the type accepted by the attribute metadata. For example, attributes of type Number are expressed as `my_number_attribute(5)`, while attributes of type Boolean are expressed as `my_bool_attribute(true)`. See Attribute Data Types for more information. | `'Color'` |

Upon failure, Vault returns detailed error messages.

Not all component types support all commands. See the Component Support Matrix for details.



---

**Previous:** [MDL Commands](/mdl/documentation/mdl-commands)  
**Next:** [CREATE](/mdl/documentation/mdl-commands/create)