# Swagger / Open API Support API Platform natively support the [Open API](https://www.openapis.org/) (formerly Swagger) API documentation format. It also integrates a customized version of [Swagger UI](https://swagger.io/swagger-ui/), a nice tool to display the API documentation in a user friendly way. ![Screenshot](../distribution/images/swagger-ui-1.png) ## Overriding the Swagger Documentation Symfony allows to [decorate services](https://symfony.com/doc/current/service_container/service_decoration.html), here we need to decorate `api_platform.swagger.normalizer.documentation`. In the following example, we will see how to override the title of the Swagger documentation and add a custom filter for the `GET` operation of `/foos` path ```yaml # app/config/services.yml services: 'AppBundle\Swagger\SwaggerDecorator': decorates: 'api_platform.swagger.normalizer.documentation' arguments: [ '@AppBundle\Swagger\SwaggerDecorator.inner' ] autoconfigure: false ``` ```php decorated = $decorated; } public function normalize($object, $format = null, array $context = []) { $docs = $this->decorated->normalize($object, $format, $context); $customDefinition = [ 'name' => 'fields', 'definition' => 'Fields to remove of the outpout', 'default' => 'id', 'in' => 'query', ]; // e.g. add a custom parameter $docs['paths']['/foos']['get']['parameters'][] = $customDefinition; // Override title $docs['info']['title'] = 'My Api Foo'; return $docs; } public function supportsNormalization($data, $format = null) { return $this->decorated->supportsNormalization($data, $format); } } ``` ## Using the Swagger Context Sometimes you may want to have additional information included in your Swagger documentation. The following configuration will provide additional context to your Swagger definitions: ```php