Let's start by adding the bundles in your `composer.json` : ```json { "jms/serializer-bundle": "dev-master", "friendsofsymfony/user-bundle": "2.0.*@dev", "friendsofsymfony/rest-bundle": "1.4.*@dev", "friendsofsymfony/oauth-server-bundle": "1.4.*@dev", "nelmio/api-doc-bundle": "2.5.*@dev", } ``` And in your `app/AppKernel.php` : ```php $bundles = array( // ... new JMS\SerializerBundle\JMSSerializerBundle(), new FOS\UserBundle\FOSUserBundle(), new FOS\RestBundle\FOSRestBundle(), new FOS\OAuthServerBundle\FOSOAuthServerBundle(), new Nelmio\ApiDocBundle\NelmioApiDocBundle(), // ... ); ``` And in your `app/config/config.yml` : ```yml framework: # ... translator: { fallback: "%locale%" } # ... fos_user: db_driver: orm firewall_name: main user_class: test\ApiBundle\Entity\User fos_oauth_server: db_driver: orm client_class: test\ApiBundle\Entity\Client access_token_class: test\ApiBundle\Entity\AccessToken refresh_token_class: test\ApiBundle\Entity\RefreshToken auth_code_class: test\ApiBundle\Entity\AuthCode service: options: supported_scopes: read nelmio_api_doc: ~ sensio_framework_extra: view: annotations: false fos_rest: param_fetcher_listener: true body_listener: true format_listener: true view: view_response_listener: 'force' routing_loader: default_format: json access_denied_listener: json: true exception: codes: 'Symfony\Component\Routing\Exception\ResourceNotFoundException': 404 'Doctrine\ORM\OptimisticLockException': HTTP_CONFLICT messages: 'Symfony\Component\Routing\Exception\ResourceNotFoundException': true ``` And in the `app/config/routing.yml` : ``` # FOSUserBundle fos_user_security: resource: "@FOSUserBundle/Resources/config/routing/security.xml" fos_user_profile: resource: "@FOSUserBundle/Resources/config/routing/profile.xml" prefix: /profile fos_user_register: resource: "@FOSUserBundle/Resources/config/routing/registration.xml" prefix: /register fos_user_resetting: resource: "@FOSUserBundle/Resources/config/routing/resetting.xml" prefix: /resetting fos_user_change_password: resource: "@FOSUserBundle/Resources/config/routing/change_password.xml" prefix: /profile # FOSAuthServerBundle fos_oauth_server_token: resource: "@FOSOAuthServerBundle/Resources/config/routing/token.xml" fos_oauth_server_authorize: resource: "@FOSOAuthServerBundle/Resources/config/routing/authorize.xml" # testApiBundle test_api_bundle: type: rest resource: "@testApiBundle/Resources/config/routing.yml" prefix: / ```