Я попробовал решение @abimelex, но в Slim 3.0 сопоставление запросов OPTIONS выглядит следующим образом:
$app = new \Slim\App();
$app->options('/books/{id}', function ($request, $response, $args) {
// Return response headers
});
https://www.slimframework.com/docs/objects/router. HTML # варианты маршрута