API com parâmetros POST no formato JSON em PHP

Às vezes, os parâmetros representam arrays. Nesse caso, tais parâmetros devem ser empacotados em JSON. Vamos ver um exemplo. Suponha que temos a seguinte API, que espera um array no formato JSON e retorna a soma dos elementos desse array:

api.loc/index.php<?php
  echo array_sum(json_decode($_POST['json'], true));
?>

Vamos fazer uma requisição para esta API:

tst.loc/index.php<?php
  $url = 'http://api.loc/index.php';
  
  $curl = curl_init();
  curl_setopt($curl, CURLOPT_URL, $url);
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($curl, CURLOPT_POST, 1);
  
  $arr  = [1, 2, 3, 4, 5];
  $json = json_encode($arr);
  $data = ['json' => $json];
  curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
  
  $res = curl_exec($curl);
  
  var_dump($res);
?>
Задание 1

Faça uma API que receberá como parâmetro um array de datas, e retornará um array de eventos históricos que aconteceram nas datas fornecidas.