Programatically create a Neo block with children
I figured it out. You have to create a separate block and it somehow figures out it's a child based on the level you specify. So something like this:
[
    'new1' = [
        'modified' =&gt; 1,
        'type' =&gt; 'parentBlock',
        'enabled' =&gt; 1,
        'collapsed' =&gt; 0,
        'level' =&gt; 0,
        'fields' =&gt; [
            'theme' =&gt; 'black',
        ],
    ],
    'new2'= [
        'modified' =&gt; 1,
        'type' =&gt; 'childBlock',
        'enabled' =&gt; 1,
        'collapsed' =&gt; 0,
        'level' =&gt; 1, // increment the level
        'fields' =&gt; [
            'value' =&gt; 'text',
        ],
    ]
]