# {{apiPackage}}\{{classname}}{{#description}}
{{.}}{{/description}}

All URIs are relative to *{{basePath}}*

Method | HTTP request | Description
------------- | ------------- | -------------
{{#operations}}{{#operation}}[**{{operationId}}**]({{classname}}.md#{{operationId}}) | **{{httpMethod}}** {{path}} | {{summary}}
{{/operation}}{{/operations}}

{{#operations}}
## Service Declaration
```yaml
# config/services.yaml
services:
    # ...
    Acme\MyBundle\Api\{{baseName}}Api:
        tags:
            - { name: "{{bundleAlias}}.api", api: "{{pathPrefix}}" }
    # ...
```

{{#operation}}
## **{{{operationId}}}**
> {{#returnType}}{{{.}}} {{/returnType}}{{{operationId}}}({{#allParams}}${{paramName}}{{^-last}}, {{/-last}}{{/allParams}})

{{{summary}}}{{#notes}}

{{{.}}}{{/notes}}

### Example Implementation
```php
<?php
// src/Acme/MyBundle/Api/{{classname}}.php

namespace Acme\MyBundle\Api;

use {{apiPackage}}\{{classname}};

class {{baseName}}Api implements {{classname}}
{
{{#authMethods}}{{#isApiKey}}
    /**
     * Configure API key authorization: {{{name}}}
     */
    public function set{{name}}($apiKey)
    {
        // Retrieve logged in user from $apiKey ...
    }
{{/isApiKey}}{{#isOAuth}}
    /**
     * Configure OAuth2 access token for authorization: {{{name}}}
     */
    public function set{{name}}($oauthToken)
    {
        // Retrieve logged in user from $oauthToken ...
    }
{{/isOAuth}}{{/authMethods}}
    // ...

    /**
     * Implementation of {{classname}}#{{operationId}}
     */
    public function {{operationId}}({{#allParams}}{{^required}}{{^defaultValue}}?{{/defaultValue}}{{/required}}{{#vendorExtensions.x-parameter-type}}{{vendorExtensions.x-parameter-type}} {{/vendorExtensions.x-parameter-type}}${{paramName}}, {{/allParams}}int &$responseCode, array &$responseHeaders): {{{vendorExtensions.x-return-type}}}
    {
        // Implement the operation ...
    }

    // ...
}
```

### Parameters
{{^allParams}}This endpoint does not need any parameter.{{/allParams}}{{#allParams}}{{#-last}}
Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------{{/-last}}{{/allParams}}
{{#allParams}} **{{paramName}}** | {{#isFile}}**{{dataType}}**{{/isFile}}{{#isPrimitiveType}}**{{dataType}}**{{/isPrimitiveType}}{{^isPrimitiveType}}{{^isFile}}[**{{dataType}}**](../Model/{{baseType}}.md){{/isFile}}{{/isPrimitiveType}}| {{description}} |{{^required}} [optional]{{/required}}{{#defaultValue}} [default to {{.}}]{{/defaultValue}}
{{/allParams}}

### Return type

{{#returnType}}{{#returnTypeIsPrimitive}}**{{{returnType}}}**{{/returnTypeIsPrimitive}}{{^returnTypeIsPrimitive}}[**{{{returnType}}}**](../Model/{{returnBaseType}}.md){{/returnTypeIsPrimitive}}{{/returnType}}{{^returnType}}void (empty response body){{/returnType}}

### Authorization

{{^authMethods}}No authorization required{{/authMethods}}{{#authMethods}}[{{{name}}}](../../README.md#{{{name}}}){{^-last}}, {{/-last}}{{/authMethods}}

### HTTP request headers

 - **Content-Type**: {{#consumes}}{{{mediaType}}}{{^-last}}, {{/-last}}{{/consumes}}{{^consumes}}Not defined{{/consumes}}
 - **Accept**: {{#produces}}{{{mediaType}}}{{^-last}}, {{/-last}}{{/produces}}{{^produces}}Not defined{{/produces}}

[[Back to top]](#) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to Model list]](../../README.md#documentation-for-models) [[Back to README]](../../README.md)

{{/operation}}
{{/operations}}
