Programatically setting dropdown options in a matrix I'm building a Matrix field from within a module's migration.
I can get all fields setup correctly except the options of either a Dropdown or Checkboxes field.
$field = new \craft\fields\Matrix([
    'groupId' =&gt; 1,
    'name' =&gt; $fieldSettings['name'],
    'handle' =&gt; $fieldSettings['handle']
])

$blocks = [
    'new1' =&gt; [
        'name' =&gt; 'Heading',
        'handle' =&gt; 'heading',
        'fields' =&gt; [
            'new1' =&gt; [
                'type' =&gt; \craft\fields\Dropdown::class,
                'name' =&gt; 'Heading',
                'handle' =&gt; 'pageContentHeading',
                'options' =&gt; [
                     ['label' =&gt; 'H1', 'value' =&gt; 'h1', 'default' =&gt; 1],
                     ['label' =&gt; 'H2', 'value' =&gt; 'h2', 'default' =&gt; ''],
                     ['label' =&gt; 'H3', 'value' =&gt; 'h3', 'default' =&gt; '']
                 ]
             ]
         ]
     ]
]

$field-&gt;setBlockTypes($blocks);

try {
    Craft::$app-&gt;getFields()-&gt;saveField($field);
} catch (\Throwable $e) {
    echo $e-&gt;getMessage();
}

This creates the dropdown field, but doesn't set the options. Am I missing something obvious?
I figured it out! Field-specific options need to go inside 'typesettings'.
'typesettings' =&gt; [
    'options' =&gt; [
        ['label' =&gt; 'H1', 'value' =&gt; 'h1', 'default' =&gt; 1],
        ['label' =&gt; 'H2', 'value' =&gt; 'h2', 'default' =&gt; ''],
        ['label' =&gt; 'H3', 'value' =&gt; 'h3', 'default' =&gt; '']
    ]
]