openapi: 3.0.3
info:
    title: 'GeoRoute WebService'
    description: ''
    version: 1.0.0
servers:
    -
        url: 'http://localhost:8000'
paths:
    /api/login:
        post:
            summary: ''
            description: ''
            parameters:
                -
                    in: header
                    name: Authorization
                    description: ''
                    example: 'Bearer {YOUR_AUTH_KEY}'
                    schema:
                        type: string
                -
                    in: header
                    name: Content-Type
                    description: ''
                    example: application/json
                    schema:
                        type: string
                -
                    in: header
                    name: Accept
                    description: ''
                    example: application/json
                    schema:
                        type: string
            responses: {  }
            tags:
                - ''
    /api/profile:
        post:
            summary: ''
            description: ''
            parameters:
                -
                    in: header
                    name: Authorization
                    description: ''
                    example: 'Bearer {YOUR_AUTH_KEY}'
                    schema:
                        type: string
                -
                    in: header
                    name: Content-Type
                    description: ''
                    example: application/json
                    schema:
                        type: string
                -
                    in: header
                    name: Accept
                    description: ''
                    example: application/json
                    schema:
                        type: string
            responses: {  }
            tags:
                - ''
    /api/logout:
        post:
            summary: ''
            description: ''
            parameters:
                -
                    in: header
                    name: Authorization
                    description: ''
                    example: 'Bearer {YOUR_AUTH_KEY}'
                    schema:
                        type: string
                -
                    in: header
                    name: Content-Type
                    description: ''
                    example: application/json
                    schema:
                        type: string
                -
                    in: header
                    name: Accept
                    description: ''
                    example: application/json
                    schema:
                        type: string
            responses: {  }
            tags:
                - ''
    /api/distances:
        post:
            summary: 'Store a newly created resource in storage.'
            description: ''
            parameters:
                -
                    in: header
                    name: Authorization
                    description: ''
                    example: 'Bearer {YOUR_AUTH_KEY}'
                    schema:
                        type: string
                -
                    in: header
                    name: Content-Type
                    description: ''
                    example: application/json
                    schema:
                        type: string
                -
                    in: header
                    name: Accept
                    description: ''
                    example: application/json
                    schema:
                        type: string
            responses: {  }
            tags:
                - ''
        get:
            summary: 'Display a distance matching search query'
            description: ''
            parameters:
                -
                    in: query
                    name: sid
                    description: 'start track city id (city id comes from /api/cities/ results)'
                    example: facilis
                    required: true
                    schema:
                        type: string
                        description: 'start track city id (city id comes from /api/cities/ results)'
                        example: facilis
                -
                    in: query
                    name: eid
                    description: 'end track city id (city id comes from /api/cities/ results)'
                    example: esse
                    required: true
                    schema:
                        type: string
                        description: 'end track city id (city id comes from /api/cities/ results)'
                        example: esse
                -
                    in: header
                    name: Authorization
                    description: ''
                    example: 'Bearer {YOUR_AUTH_KEY}'
                    schema:
                        type: string
                -
                    in: header
                    name: Content-Type
                    description: ''
                    example: application/json
                    schema:
                        type: string
                -
                    in: header
                    name: Accept
                    description: ''
                    example: application/json
                    schema:
                        type: string
            responses:
                401:
                    description: ''
                    content:
                        application/json:
                            schema:
                                type: object
                                example:
                                    message: Unauthenticated.
                                properties:
                                    message: { type: string, example: Unauthenticated. }
            tags:
                - 'Distance management'
    '/api/distances/{distance}':
        get:
            summary: 'Display the specified resource.'
            description: ''
            parameters:
                -
                    in: header
                    name: Authorization
                    description: ''
                    example: 'Bearer {YOUR_AUTH_KEY}'
                    schema:
                        type: string
                -
                    in: header
                    name: Content-Type
                    description: ''
                    example: application/json
                    schema:
                        type: string
                -
                    in: header
                    name: Accept
                    description: ''
                    example: application/json
                    schema:
                        type: string
            responses:
                401:
                    description: ''
                    content:
                        application/json:
                            schema:
                                type: object
                                example:
                                    message: Unauthenticated.
                                properties:
                                    message: { type: string, example: Unauthenticated. }
            tags:
                - ''
        put:
            summary: 'Update the specified resource in storage.'
            description: ''
            parameters:
                -
                    in: header
                    name: Authorization
                    description: ''
                    example: 'Bearer {YOUR_AUTH_KEY}'
                    schema:
                        type: string
                -
                    in: header
                    name: Content-Type
                    description: ''
                    example: application/json
                    schema:
                        type: string
                -
                    in: header
                    name: Accept
                    description: ''
                    example: application/json
                    schema:
                        type: string
            responses: {  }
            tags:
                - ''
        delete:
            summary: 'Remove the specified resource from storage.'
            description: ''
            parameters:
                -
                    in: header
                    name: Authorization
                    description: ''
                    example: 'Bearer {YOUR_AUTH_KEY}'
                    schema:
                        type: string
                -
                    in: header
                    name: Content-Type
                    description: ''
                    example: application/json
                    schema:
                        type: string
                -
                    in: header
                    name: Accept
                    description: ''
                    example: application/json
                    schema:
                        type: string
            responses: {  }
            tags:
                - ''
        parameters:
            -
                in: path
                name: distance
                description: ''
                example: assumenda
                required: true
                schema:
                    type: string
    /api/fullAddrs:
        post:
            summary: 'Store a newly created resource in storage.'
            description: ''
            parameters:
                -
                    in: header
                    name: Authorization
                    description: ''
                    example: 'Bearer {YOUR_AUTH_KEY}'
                    schema:
                        type: string
                -
                    in: header
                    name: Content-Type
                    description: ''
                    example: application/json
                    schema:
                        type: string
                -
                    in: header
                    name: Accept
                    description: ''
                    example: application/json
                    schema:
                        type: string
            responses: {  }
            tags:
                - ''
        get:
            summary: 'Display a listing of addresses matching search query'
            description: ''
            parameters:
                -
                    in: query
                    name: s
                    description: 'search address'
                    example: voluptatem
                    required: true
                    schema:
                        type: string
                        description: 'search address'
                        example: voluptatem
                -
                    in: header
                    name: Authorization
                    description: ''
                    example: 'Bearer {YOUR_AUTH_KEY}'
                    schema:
                        type: string
                -
                    in: header
                    name: Content-Type
                    description: ''
                    example: application/json
                    schema:
                        type: string
                -
                    in: header
                    name: Accept
                    description: ''
                    example: application/json
                    schema:
                        type: string
            responses:
                401:
                    description: ''
                    content:
                        application/json:
                            schema:
                                type: object
                                example:
                                    message: Unauthenticated.
                                properties:
                                    message: { type: string, example: Unauthenticated. }
            tags:
                - 'FullAddr management'
    '/api/fullAddrs/{fullAddr}':
        get:
            summary: 'Display the specified resource.'
            description: ''
            parameters:
                -
                    in: header
                    name: Authorization
                    description: ''
                    example: 'Bearer {YOUR_AUTH_KEY}'
                    schema:
                        type: string
                -
                    in: header
                    name: Content-Type
                    description: ''
                    example: application/json
                    schema:
                        type: string
                -
                    in: header
                    name: Accept
                    description: ''
                    example: application/json
                    schema:
                        type: string
            responses:
                401:
                    description: ''
                    content:
                        application/json:
                            schema:
                                type: object
                                example:
                                    message: Unauthenticated.
                                properties:
                                    message: { type: string, example: Unauthenticated. }
            tags:
                - ''
        put:
            summary: 'Update the specified resource in storage.'
            description: ''
            parameters:
                -
                    in: header
                    name: Authorization
                    description: ''
                    example: 'Bearer {YOUR_AUTH_KEY}'
                    schema:
                        type: string
                -
                    in: header
                    name: Content-Type
                    description: ''
                    example: application/json
                    schema:
                        type: string
                -
                    in: header
                    name: Accept
                    description: ''
                    example: application/json
                    schema:
                        type: string
            responses: {  }
            tags:
                - ''
        delete:
            summary: 'Remove the specified resource from storage.'
            description: ''
            parameters:
                -
                    in: header
                    name: Authorization
                    description: ''
                    example: 'Bearer {YOUR_AUTH_KEY}'
                    schema:
                        type: string
                -
                    in: header
                    name: Content-Type
                    description: ''
                    example: application/json
                    schema:
                        type: string
                -
                    in: header
                    name: Accept
                    description: ''
                    example: application/json
                    schema:
                        type: string
            responses: {  }
            tags:
                - ''
        parameters:
            -
                in: path
                name: fullAddr
                description: ''
                example: fugiat
                required: true
                schema:
                    type: string
    /api/cities:
        get:
            summary: 'Display a listing of cities matching search query'
            description: ''
            parameters:
                -
                    in: query
                    name: s
                    description: 'city name or zip code to search.'
                    example: arcachon
                    required: true
                    schema:
                        type: string
                        description: 'city name or zip code to search.'
                        example: arcachon
                -
                    in: header
                    name: Authorization
                    description: ''
                    example: 'Bearer {YOUR_AUTH_KEY}'
                    schema:
                        type: string
                -
                    in: header
                    name: Content-Type
                    description: ''
                    example: application/json
                    schema:
                        type: string
                -
                    in: header
                    name: Accept
                    description: ''
                    example: application/json
                    schema:
                        type: string
            responses:
                401:
                    description: ''
                    content:
                        application/json:
                            schema:
                                type: object
                                example:
                                    message: Unauthenticated.
                                properties:
                                    message: { type: string, example: Unauthenticated. }
            tags:
                - 'City management'
    '/api/distances/gps/{slat}/{slng}/{elat}/{elng}':
        get:
            summary: 'Display a distance matching search query with precise GPS points'
            description: ''
            parameters:
                -
                    in: header
                    name: Authorization
                    description: ''
                    example: 'Bearer {YOUR_AUTH_KEY}'
                    schema:
                        type: string
                -
                    in: header
                    name: Content-Type
                    description: ''
                    example: application/json
                    schema:
                        type: string
                -
                    in: header
                    name: Accept
                    description: ''
                    example: application/json
                    schema:
                        type: string
            responses:
                401:
                    description: ''
                    content:
                        application/json:
                            schema:
                                type: object
                                example:
                                    message: Unauthenticated.
                                properties:
                                    message: { type: string, example: Unauthenticated. }
            tags:
                - 'Distance management'
        parameters:
            -
                in: path
                name: slat
                description: ''
                example: qui
                required: true
                schema:
                    type: string
            -
                in: path
                name: slng
                description: ''
                example: culpa
                required: true
                schema:
                    type: string
            -
                in: path
                name: elat
                description: ''
                example: molestiae
                required: true
                schema:
                    type: string
            -
                in: path
                name: elng
                description: ''
                example: molestiae
                required: true
                schema:
                    type: string
components:
    securitySchemes:
        default:
            type: http
            scheme: bearer
            description: ''
security:
    -
        default: []
