How do I do a 'required if other field = x' using the entity validation api?
That sounds like a job for Drupal's Form API states.

Just add a hook_form_alter similar to this, in a custom module:

function MYMODULE_form_alter(&amp;$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {
  if ($form_id == 'FORM_ID_TO_ALTER') {
    $form['OPTIONALLY_REQUIRED_FIELD']['#states'] = array(
      'visible' =&gt; array(
        ':input[name="CHECKBOX_NAME"]' =&gt; array('checked' =&gt; 'checked'),
      ),
      'required' =&gt; array(
        ':input[name="CHECKBOX_NAME"]' =&gt; array('checked' =&gt; 'checked'),
      ),
    );
  }
}