nelmio_api_doc:
    models:
        use_jms: true
        names:
            - { alias: CustomerEditForm,            type: App\Form\API\CustomerApiEditForm,         groups: [Default, Entity, Customer] }
            - { alias: CustomerEntity,              type: App\Entity\Customer,                      groups: [Default, Entity, Customer, Customer_Entity, Not_Expanded] }
            - { alias: Customer,                    type: App\Entity\Customer,                      groups: [Default, Not_Expanded] }
            - { alias: CustomerRate,                type: App\Entity\CustomerRate,                  groups: [Default, Entity, Customer_Rate] }
            - { alias: CustomerRateForm,            type: App\Form\API\CustomerRateApiForm,         groups: [Default, Entity, Customer_Rate] }
            - { alias: CustomerCollection,          type: App\Entity\Customer,                      groups: [Default, Collection, Customer] }
            - { alias: ProjectEditForm,             type: App\Form\API\ProjectApiEditForm,          groups: [Default, Entity, Project] }
            - { alias: ProjectEntity,               type: App\Entity\Project,                       groups: [Default, Entity, Project, Project_Entity, Not_Expanded] }
            - { alias: Project,                     type: App\Entity\Project,                       groups: [Default, Not_Expanded] }
            - { alias: ProjectExpanded,             type: App\Entity\Project,                       groups: [Default, Expanded] }
            - { alias: ProjectRate,                 type: App\Entity\ProjectRate,                   groups: [Default, Entity, Project_Rate] }
            - { alias: ProjectRateForm,             type: App\Form\API\ProjectRateApiForm,          groups: [Default, Entity, Project_Rate] }
            - { alias: ProjectCollection,           type: App\Entity\Project,                       groups: [Default, Collection, Project] }
            - { alias: ActivityEditForm,            type: App\Form\API\ActivityApiEditForm,         groups: [Default, Entity, Activity] }
            - { alias: ActivityEntity,              type: App\Entity\Activity,                      groups: [Default, Entity, Activity, Activity_Entity, Not_Expanded] }
            - { alias: Activity,                    type: App\Entity\Activity,                      groups: [Default, Not_Expanded] }
            - { alias: ActivityExpanded,            type: App\Entity\Activity,                      groups: [Default, Expanded] }
            - { alias: ActivityRate,                type: App\Entity\ActivityRate,                  groups: [Default, Entity, Activity_Rate] }
            - { alias: ActivityRateForm,            type: App\Form\API\ActivityRateApiForm,         groups: [Default, Entity, Activity_Rate] }
            - { alias: ActivityCollection,          type: App\Entity\Activity,                      groups: [Default, Collection, Activity] }
            - { alias: TagEditForm,                 type: App\Form\API\TagApiEditForm,              groups: [Default, Entity, Tag] }
            - { alias: TagEntity,                   type: App\Entity\Tag,                           groups: [Default, Entity, Tag] }
            - { alias: TimesheetEditForm,           type: App\Form\API\TimesheetApiEditForm,        groups: [Default, Entity, Timesheet, Not_Expanded] }
            - { alias: TimesheetEntity,             type: App\Entity\Timesheet,                     groups: [Default, Entity, Timesheet, Timesheet_Entity, Not_Expanded] }
            - { alias: TimesheetExpanded,           type: App\Entity\Timesheet,                     groups: [Default, Entity, Timesheet, Timesheet_Entity, Expanded] }
            - { alias: TimesheetCollection,         type: App\Entity\Timesheet,                     groups: [Default, Collection, Timesheet, Not_Expanded] }
            - { alias: TimesheetCollectionExpanded, type: App\Entity\Timesheet,                     groups: [Default, Collection, Timesheet, Subresource, Expanded] }
            - { alias: UserCreateForm,              type: App\Form\API\UserApiCreateForm,           groups: [Default, Entity, User, User_Entity] }
            - { alias: UserEditForm,                type: App\Form\API\UserApiEditForm,             groups: [Default, Entity, User, User_Entity] }
            - { alias: User,                        type: App\Entity\User,                          groups: [Default] }
            - { alias: UserPreference,              type: App\Entity\UserPreference,                groups: [Default, User_Entity] }
            - { alias: UserEntity,                  type: App\Entity\User,                          groups: [Default, Entity, User, User_Entity] }
            - { alias: UserCollection,              type: App\Entity\User,                          groups: [Default, Collection, User] }
            - { alias: TeamEditForm,                type: App\Form\API\TeamApiEditForm,             groups: [Default, Entity, Team, Team_Entity] }
            - { alias: Team,                        type: App\Entity\Team,                          groups: [Default, Entity, Team, Team_Entity] }
            - { alias: TeamCollection,              type: App\Entity\Team,                          groups: [Default, Collection, Team] }
            - { alias: TeamMember,                  type: App\Entity\TeamMember,                    groups: [Team_Entity] }
            - { alias: TeamMembership,              type: App\Entity\TeamMember,                    groups: [User_Entity] }
    areas:
        path_patterns:
            - ^/api(?!/doc)
    documentation:
        info:
            title: Kimai - API Docs
            description: |
                JSON API for the Kimai time-tracking software: [API documentation](https://www.kimai.org/documentation/rest-api.html), [Swagger definition file](doc.json)
            version: '0.7'
        components:
            securitySchemes:
                apiUser:
                    type: apiKey
                    description: 'Value: {Username}'
                    name: X-AUTH-USER
                    in: header
                apiToken:
                    type: apiKey
                    description: 'Value: {API Token}'
                    name: X-AUTH-TOKEN
                    in: header
        security:
            - X-AUTH-USER: []
              X-AUTH-TOKEN: []
