openapi: 3.0.3
info:
    title: 'Symptom Based Troubleshooting API documentation'
    description: ''
    version: 1.0.0
servers:
    -
        url: 'https://api-sbt.com'
paths:
    /api/v1/document:
        get:
            summary: List
            description: "Retrieve all documents. If the parameter 'symptom_id' is specified all documents for it are retrieved\nand all other query parameters don't work. If 'symptom_id' is missed the result is paginated."
            parameters:
                -
                    in: query
                    name: symptom_id
                    description: 'The ''id'' of the symptom for which all documents to retrieve.'
                    example: 3
                    required: false
                    schema:
                        type: integer
                        description: 'The ''id'' of the symptom for which all documents to retrieve.'
                        example: 3
                -
                    in: query
                    name: sort_by
                    description: 'Field to sort by. Defaults to ''name''. Possible values: ''name''.'
                    example: name
                    required: false
                    schema:
                        type: string
                        description: 'Field to sort by. Defaults to ''name''. Possible values: ''name''.'
                        example: name
                -
                    in: query
                    name: sort_dir
                    description: 'Sort direction. Defaults to ''asc''. Possible values: ''asc'' or ''desc''.'
                    example: desc
                    required: false
                    schema:
                        type: string
                        description: 'Sort direction. Defaults to ''asc''. Possible values: ''asc'' or ''desc''.'
                        example: desc
                -
                    in: query
                    name: page
                    description: 'Page of result to return. Defaults to 1.'
                    example: 20
                    required: false
                    schema:
                        type: integer
                        description: 'Page of result to return. Defaults to 1.'
                        example: 20
                -
                    in: query
                    name: per_page
                    description: 'How many rows to return per page. Defaults to 10, maximum 100.'
                    example: 20
                    required: false
                    schema:
                        type: integer
                        description: 'How many rows to return per page. Defaults to 10, maximum 100.'
                        example: 20
                -
                    in: header
                    name: X-Authorization
                    description: ''
                    example: vZ1k56EP6ehdac83abfgVD4
                    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:
                200:
                    description: '200'
                    content:
                        application/json:
                            schema:
                                type: object
                                example:
                                    data: [{ id: 1, symptom_id: 1, name: 'Lorem ipsum dolor sit amet', notes: '<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla congue imperdiet erat, id sollicitudin mi laoreet at. Aliquam ac augue placerat, pharetra justo quis, iaculis nisl. Quisque neque lorem, rutrum id nisi et, interdum scelerisque justo. Morbi sit amet congue urna.</p>', videoUrl: 'https://www.youtube.com/watch?v=72372392293', fileUrl: 'https://api-sbt.com/storage/public/files/TyKJwXPn8akJzMfW9rr0QwwBQFB2jXOkZ1jDXWuq.pdf', order: 1 }, { id: 2, symptom_id: 1, name: 'Nulla volutpat libero eget est aliquet', notes: '<p>Nulla volutpat libero eget est aliquet, in cursus urna vulputate. Sed non convallis sapien.</p>', videoUrl: 'https://www.youtube.com/watch?v=42342342555', fileUrl: '', order: 2 }]
                                    meta: { pdfUrl: 'https://api-sbt.com/api/v1/view/eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzeW1wdG9tX2lkIjoiNDEiLCJpYXQiOjE2MTIxNzE5ODgsImV4cCI6MTYxMjE3NTU4OH0.9kHhaMcyHcbOlN6ry--YUGZ_ruyvV1JnxlwoqeFQ_1o' }
                                properties:
                                    data: { type: array, example: [{ id: 1, symptom_id: 1, name: 'Lorem ipsum dolor sit amet', notes: '<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla congue imperdiet erat, id sollicitudin mi laoreet at. Aliquam ac augue placerat, pharetra justo quis, iaculis nisl. Quisque neque lorem, rutrum id nisi et, interdum scelerisque justo. Morbi sit amet congue urna.</p>', videoUrl: 'https://www.youtube.com/watch?v=72372392293', fileUrl: 'https://api-sbt.com/storage/public/files/TyKJwXPn8akJzMfW9rr0QwwBQFB2jXOkZ1jDXWuq.pdf', order: 1 }, { id: 2, symptom_id: 1, name: 'Nulla volutpat libero eget est aliquet', notes: '<p>Nulla volutpat libero eget est aliquet, in cursus urna vulputate. Sed non convallis sapien.</p>', videoUrl: 'https://www.youtube.com/watch?v=42342342555', fileUrl: '', order: 2 }], items: { type: object } }
                                    meta: { type: object, example: { pdfUrl: 'https://api-sbt.com/api/v1/view/eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzeW1wdG9tX2lkIjoiNDEiLCJpYXQiOjE2MTIxNzE5ODgsImV4cCI6MTYxMjE3NTU4OH0.9kHhaMcyHcbOlN6ry--YUGZ_ruyvV1JnxlwoqeFQ_1o' } }
                401:
                    description: '401'
                    content:
                        application/json:
                            schema:
                                type: object
                                example:
                                    message: Unauthenticated.
                                properties:
                                    message: { type: string, example: Unauthenticated. }
            tags:
                - Document
            requestBody:
                required: false
                content:
                    application/json:
                        schema:
                            type: object
                            properties:
                                symptom_id:
                                    type: integer
                                    description: ''
                                    example: 9
    /api/v1/industry:
        get:
            summary: List
            description: 'Retrieve all industries'
            parameters:
                -
                    in: query
                    name: sort_by
                    description: 'Field to sort by. Defaults to ''name''. Possible values: ''name''.'
                    example: name
                    required: false
                    schema:
                        type: string
                        description: 'Field to sort by. Defaults to ''name''. Possible values: ''name''.'
                        example: name
                -
                    in: query
                    name: sort_dir
                    description: 'Sort direction. Defaults to ''asc''. Possible values: ''asc'' or ''desc''.'
                    example: desc
                    required: false
                    schema:
                        type: string
                        description: 'Sort direction. Defaults to ''asc''. Possible values: ''asc'' or ''desc''.'
                        example: desc
                -
                    in: query
                    name: page
                    description: 'Page of result to return. Defaults to 1.'
                    example: 2
                    required: false
                    schema:
                        type: integer
                        description: 'Page of result to return. Defaults to 1.'
                        example: 2
                -
                    in: query
                    name: per_page
                    description: 'How many rows to return per page. Defaults to 100, maximum 100.'
                    example: 20
                    required: false
                    schema:
                        type: integer
                        description: 'How many rows to return per page. Defaults to 100, maximum 100.'
                        example: 20
                -
                    in: header
                    name: X-Authorization
                    description: ''
                    example: bgkDe86h3df1V56vEacaP4Z
                    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:
                200:
                    description: '200'
                    content:
                        application/json:
                            schema:
                                type: object
                                example:
                                    data: [{ id: 1, name: Auto }, { id: 2, name: 'Off Highway' }]
                                    links: { first: 'https://api-sbt.com/api/v1/industry?page=1', last: 'https://api-sbt.com/api/v1/industry?page=1', prev: null, next: null }
                                    meta: { current_page: 1, from: 1, last_page: 1, links: [{ url: null, label: '&laquo; Previous', active: false }, { url: 'https://api-sbt.com/api/v1/industry?page=1', label: 1, active: true }, { url: null, label: 'Next &raquo;', active: false }], path: 'https://api-sbt.com/api/v1/industry', per_page: 100, to: 2, total: 2 }
                                properties:
                                    data: { type: array, example: [{ id: 1, name: Auto }, { id: 2, name: 'Off Highway' }], items: { type: object } }
                                    links: { type: object, example: { first: 'https://api-sbt.com/api/v1/industry?page=1', last: 'https://api-sbt.com/api/v1/industry?page=1', prev: null, next: null } }
                                    meta: { type: object, example: { current_page: 1, from: 1, last_page: 1, links: [{ url: null, label: '&laquo; Previous', active: false }, { url: 'https://api-sbt.com/api/v1/industry?page=1', label: 1, active: true }, { url: null, label: 'Next &raquo;', active: false }], path: 'https://api-sbt.com/api/v1/industry', per_page: 100, to: 2, total: 2 } }
                401:
                    description: '401'
                    content:
                        application/json:
                            schema:
                                type: object
                                example:
                                    message: Unauthenticated.
                                properties:
                                    message: { type: string, example: Unauthenticated. }
            tags:
                - Industry
    /api/v1/make:
        get:
            summary: List
            description: 'Retrieve all makes'
            parameters:
                -
                    in: query
                    name: industry_id
                    description: 'Filter by ''id'' of the industry.'
                    example: 20
                    required: false
                    schema:
                        type: integer
                        description: 'Filter by ''id'' of the industry.'
                        example: 20
                -
                    in: query
                    name: sort_by
                    description: 'Field to sort by. Defaults to ''name''. Possible values: ''name''.'
                    example: name
                    required: false
                    schema:
                        type: string
                        description: 'Field to sort by. Defaults to ''name''. Possible values: ''name''.'
                        example: name
                -
                    in: query
                    name: sort_dir
                    description: 'Sort direction. Defaults to ''asc''. Possible values: ''asc'' or ''desc''.'
                    example: asc
                    required: false
                    schema:
                        type: string
                        description: 'Sort direction. Defaults to ''asc''. Possible values: ''asc'' or ''desc''.'
                        example: asc
                -
                    in: query
                    name: page
                    description: 'Page of result to return. Defaults to 1.'
                    example: 6
                    required: false
                    schema:
                        type: integer
                        description: 'Page of result to return. Defaults to 1.'
                        example: 6
                -
                    in: query
                    name: per_page
                    description: 'How many rows to return per page. Defaults to 100, maximum 100.'
                    example: 20
                    required: false
                    schema:
                        type: integer
                        description: 'How many rows to return per page. Defaults to 100, maximum 100.'
                        example: 20
                -
                    in: header
                    name: X-Authorization
                    description: ''
                    example: k4316ZaacgDbf8dheEVP56v
                    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:
                200:
                    description: '200'
                    content:
                        application/json:
                            schema:
                                type: object
                                example:
                                    data: [{ id: 4, industry_id: 3, name: Cummins }]
                                    links: { first: 'https://api-sbt.com/api/v1/make?page=1', last: 'https://api-sbt.com/api/v1/make?page=1', prev: null, next: null }
                                    meta: { current_page: 1, from: 1, last_page: 1, links: [{ url: null, label: '&laquo; Previous', active: false }, { url: 'https://api-sbt.com/api/v1/make?page=1', label: 1, active: true }, { url: null, label: 'Next &raquo;', active: false }], path: 'https://api-sbt.com/api/v1/make', per_page: 100, to: 2, total: 2 }
                                properties:
                                    data: { type: array, example: [{ id: 4, industry_id: 3, name: Cummins }], items: { type: object } }
                                    links: { type: object, example: { first: 'https://api-sbt.com/api/v1/make?page=1', last: 'https://api-sbt.com/api/v1/make?page=1', prev: null, next: null } }
                                    meta: { type: object, example: { current_page: 1, from: 1, last_page: 1, links: [{ url: null, label: '&laquo; Previous', active: false }, { url: 'https://api-sbt.com/api/v1/make?page=1', label: 1, active: true }, { url: null, label: 'Next &raquo;', active: false }], path: 'https://api-sbt.com/api/v1/make', per_page: 100, to: 2, total: 2 } }
                401:
                    description: '401'
                    content:
                        application/json:
                            schema:
                                type: object
                                example:
                                    message: Unauthenticated.
                                properties:
                                    message: { type: string, example: Unauthenticated. }
            tags:
                - Make
            requestBody:
                required: false
                content:
                    application/json:
                        schema:
                            type: object
                            properties:
                                industry_id:
                                    type: integer
                                    description: ''
                                    example: 13
    /api/v1/model:
        get:
            summary: List
            description: 'Retrieve all models'
            parameters:
                -
                    in: query
                    name: year_id
                    description: 'Filter by ''id'' of the year.'
                    example: 3
                    required: false
                    schema:
                        type: integer
                        description: 'Filter by ''id'' of the year.'
                        example: 3
                -
                    in: query
                    name: sort_by
                    description: 'Field to sort by. Defaults to ''name''. Possible values: ''name''.'
                    example: name
                    required: false
                    schema:
                        type: string
                        description: 'Field to sort by. Defaults to ''name''. Possible values: ''name''.'
                        example: name
                -
                    in: query
                    name: sort_dir
                    description: 'Sort direction. Defaults to ''asc''. Possible values: ''asc'' or ''desc''.'
                    example: asc
                    required: false
                    schema:
                        type: string
                        description: 'Sort direction. Defaults to ''asc''. Possible values: ''asc'' or ''desc''.'
                        example: asc
                -
                    in: query
                    name: page
                    description: 'Page of result to return. Defaults to 1.'
                    example: 9
                    required: false
                    schema:
                        type: integer
                        description: 'Page of result to return. Defaults to 1.'
                        example: 9
                -
                    in: query
                    name: per_page
                    description: 'How many rows to return per page. Defaults to 100, maximum 100.'
                    example: 20
                    required: false
                    schema:
                        type: integer
                        description: 'How many rows to return per page. Defaults to 100, maximum 100.'
                        example: 20
                -
                    in: header
                    name: X-Authorization
                    description: ''
                    example: dh86kbfEcaePV4a1v536gZD
                    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:
                200:
                    description: '200'
                    content:
                        application/json:
                            schema:
                                type: object
                                example:
                                    data: [{ id: 53, year_id: 12, name: ISX15 }]
                                    links: { first: 'https://api-sbt.com/api/v1/model?page=1', last: 'https://api-sbt.com/api/v1/model?page=1', prev: null, next: null }
                                    meta: { current_page: 1, from: 1, last_page: 1, links: [{ url: null, label: '&laquo; Previous', active: false }, { url: 'https://api-sbt.com/api/v1/model?page=1', label: 1, active: true }, { url: null, label: 'Next &raquo;', active: false }], path: 'https://api-sbt.com/api/v1/model', per_page: 100, to: 4, total: 4 }
                                properties:
                                    data: { type: array, example: [{ id: 53, year_id: 12, name: ISX15 }], items: { type: object } }
                                    links: { type: object, example: { first: 'https://api-sbt.com/api/v1/model?page=1', last: 'https://api-sbt.com/api/v1/model?page=1', prev: null, next: null } }
                                    meta: { type: object, example: { current_page: 1, from: 1, last_page: 1, links: [{ url: null, label: '&laquo; Previous', active: false }, { url: 'https://api-sbt.com/api/v1/model?page=1', label: 1, active: true }, { url: null, label: 'Next &raquo;', active: false }], path: 'https://api-sbt.com/api/v1/model', per_page: 100, to: 4, total: 4 } }
                401:
                    description: '401'
                    content:
                        application/json:
                            schema:
                                type: object
                                example:
                                    message: Unauthenticated.
                                properties:
                                    message: { type: string, example: Unauthenticated. }
            tags:
                - Model
            requestBody:
                required: false
                content:
                    application/json:
                        schema:
                            type: object
                            properties:
                                year_id:
                                    type: integer
                                    description: ''
                                    example: 14
    '/api/v1/view/{jwt_token}':
        get:
            summary: View
            description: "View documents for a symptom in PDF format. ID of the symptom is encoded in the JWT token.\nJWT token can be obtained from the documents list request."
            parameters:
                -
                    in: query
                    name: download
                    description: 'If true the documents are downloaded.'
                    example: false
                    required: false
                    schema:
                        type: boolean
                        description: 'If true the documents are downloaded.'
                        example: false
                -
                    in: header
                    name: Content-Type
                    description: ''
                    example: application/json
                    schema:
                        type: string
                -
                    in: header
                    name: Accept
                    description: ''
                    example: application/json
                    schema:
                        type: string
            responses:
                200:
                    description: '200'
                    content:
                        application/json:
                            schema:
                                type: string
                                example: 'File in PDF format'
            tags:
                - PDF
            security: []
        parameters:
            -
                in: path
                name: jwt_token
                description: 'Optional parameter. JWT token issued by the endpoint api/v1/document.'
                required: true
                schema:
                    type: string
                examples:
                    omitted:
                        summary: 'When the value is omitted'
                        value: ''
                    present:
                        summary: 'When the value is present'
                        value: repudiandae
    '/api/v1/documents/{symptom_id}/email':
        get:
            summary: Email
            description: 'Send documents in PDF format to email.'
            parameters:
                -
                    in: query
                    name: email
                    description: 'Email address to send a PDF.'
                    example: earum
                    required: false
                    schema:
                        type: string
                        description: 'Email address to send a PDF.'
                        example: earum
                -
                    in: header
                    name: X-Authorization
                    description: ''
                    example: 1aVEhZdP66gkaecvD4b538f
                    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:
                200:
                    description: '200'
                    content:
                        application/json:
                            schema:
                                type: object
                                example:
                                    data: 'Documents are sent to john.doe@gmail.com.'
                                properties:
                                    data: { type: string, example: 'Documents are sent to john.doe@gmail.com.' }
            tags:
                - PDF
        parameters:
            -
                in: path
                name: symptom_id
                description: 'Optional parameter. The ''id'' of the symptom.'
                required: true
                schema:
                    type: string
                examples:
                    omitted:
                        summary: 'When the value is omitted'
                        value: ''
                    present:
                        summary: 'When the value is present'
                        value: doloribus
    /api/v1/symptom:
        get:
            summary: List
            description: 'Retrieve all symptoms'
            parameters:
                -
                    in: query
                    name: model_id
                    description: 'Filter by ''id'' of the model.'
                    example: 7
                    required: false
                    schema:
                        type: integer
                        description: 'Filter by ''id'' of the model.'
                        example: 7
                -
                    in: query
                    name: sort_by
                    description: 'Field to sort by. Defaults to ''name''. Possible values: ''name''.'
                    example: name
                    required: false
                    schema:
                        type: string
                        description: 'Field to sort by. Defaults to ''name''. Possible values: ''name''.'
                        example: name
                -
                    in: query
                    name: sort_dir
                    description: 'Sort direction. Defaults to ''asc''. Possible values: ''asc'' or ''desc''.'
                    example: asc
                    required: false
                    schema:
                        type: string
                        description: 'Sort direction. Defaults to ''asc''. Possible values: ''asc'' or ''desc''.'
                        example: asc
                -
                    in: query
                    name: page
                    description: 'Page of result to return. Defaults to 1.'
                    example: 9
                    required: false
                    schema:
                        type: integer
                        description: 'Page of result to return. Defaults to 1.'
                        example: 9
                -
                    in: query
                    name: per_page
                    description: 'How many rows to return per page. Defaults to 100, maximum 100.'
                    example: 20
                    required: false
                    schema:
                        type: integer
                        description: 'How many rows to return per page. Defaults to 100, maximum 100.'
                        example: 20
                -
                    in: header
                    name: X-Authorization
                    description: ''
                    example: a51gcV8DahP4fZebkvd6E63
                    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:
                200:
                    description: '200'
                    content:
                        application/json:
                            schema:
                                type: object
                                example:
                                    data: [{ id: 1, component_id: 2, name: 'Coolant Loss' }, { id: 2, component_id: 2, name: 'Low Power' }]
                                    links: { first: 'https://api-sbt.com/api/v1/symptom?page=1', last: 'https://api-sbt.com/api/v1/symptom?page=1', prev: null, next: null }
                                    meta: { current_page: 1, from: 1, last_page: 1, links: [{ url: null, label: '&laquo; Previous', active: false }, { url: 'https://api-sbt.com/api/v1/symptom?page=1', label: 1, active: true }, { url: null, label: 'Next &raquo;', active: false }], path: 'https://api-sbt.com/api/v1/symptom', per_page: 100, to: 2, total: 2 }
                                properties:
                                    data: { type: array, example: [{ id: 1, component_id: 2, name: 'Coolant Loss' }, { id: 2, component_id: 2, name: 'Low Power' }], items: { type: object } }
                                    links: { type: object, example: { first: 'https://api-sbt.com/api/v1/symptom?page=1', last: 'https://api-sbt.com/api/v1/symptom?page=1', prev: null, next: null } }
                                    meta: { type: object, example: { current_page: 1, from: 1, last_page: 1, links: [{ url: null, label: '&laquo; Previous', active: false }, { url: 'https://api-sbt.com/api/v1/symptom?page=1', label: 1, active: true }, { url: null, label: 'Next &raquo;', active: false }], path: 'https://api-sbt.com/api/v1/symptom', per_page: 100, to: 2, total: 2 } }
                401:
                    description: '401'
                    content:
                        application/json:
                            schema:
                                type: object
                                example:
                                    message: Unauthenticated.
                                properties:
                                    message: { type: string, example: Unauthenticated. }
            tags:
                - Symptom
            requestBody:
                required: false
                content:
                    application/json:
                        schema:
                            type: object
                            properties:
                                model_id:
                                    type: integer
                                    description: ''
                                    example: 17
    /api/v1/type:
        get:
            summary: List
            description: 'Retrieve all types'
            parameters:
                -
                    in: query
                    name: make_id
                    description: 'Filter by ''id'' of the make.'
                    example: 20
                    required: false
                    schema:
                        type: integer
                        description: 'Filter by ''id'' of the make.'
                        example: 20
                -
                    in: query
                    name: sort_by
                    description: 'Field to sort by. Defaults to ''name''. Possible values: ''name''.'
                    example: name
                    required: false
                    schema:
                        type: string
                        description: 'Field to sort by. Defaults to ''name''. Possible values: ''name''.'
                        example: name
                -
                    in: query
                    name: sort_dir
                    description: 'Sort direction. Defaults to ''asc''. Possible values: ''asc'' or ''desc''.'
                    example: asc
                    required: false
                    schema:
                        type: string
                        description: 'Sort direction. Defaults to ''asc''. Possible values: ''asc'' or ''desc''.'
                        example: asc
                -
                    in: query
                    name: page
                    description: 'Page of result to return. Defaults to 1.'
                    example: 16
                    required: false
                    schema:
                        type: integer
                        description: 'Page of result to return. Defaults to 1.'
                        example: 16
                -
                    in: query
                    name: per_page
                    description: 'How many rows to return per page. Defaults to 100, maximum 100.'
                    example: 20
                    required: false
                    schema:
                        type: integer
                        description: 'How many rows to return per page. Defaults to 100, maximum 100.'
                        example: 20
                -
                    in: header
                    name: X-Authorization
                    description: ''
                    example: bcgv6PE5Vhdkf8aea6Z1D43
                    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:
                200:
                    description: '200'
                    content:
                        application/json:
                            schema:
                                type: object
                                example:
                                    data: [{ id: 2, make_id: 2, name: Engine }]
                                    links: { first: 'https://api-sbt.com/api/v1/type?page=1', last: 'https://api-sbt.com/api/v1/type?page=1', prev: null, next: null }
                                    meta: { current_page: 1, from: 1, last_page: 1, links: [{ url: null, label: '&laquo; Previous', active: false }, { url: 'https://api-sbt.com/api/v1/type?page=1', label: 1, active: true }, { url: null, label: 'Next &raquo;', active: false }], path: 'https://api-sbt.com/api/v1/type', per_page: 100, to: 2, total: 2 }
                                properties:
                                    data: { type: array, example: [{ id: 2, make_id: 2, name: Engine }], items: { type: object } }
                                    links: { type: object, example: { first: 'https://api-sbt.com/api/v1/type?page=1', last: 'https://api-sbt.com/api/v1/type?page=1', prev: null, next: null } }
                                    meta: { type: object, example: { current_page: 1, from: 1, last_page: 1, links: [{ url: null, label: '&laquo; Previous', active: false }, { url: 'https://api-sbt.com/api/v1/type?page=1', label: 1, active: true }, { url: null, label: 'Next &raquo;', active: false }], path: 'https://api-sbt.com/api/v1/type', per_page: 100, to: 2, total: 2 } }
                401:
                    description: '401'
                    content:
                        application/json:
                            schema:
                                type: object
                                example:
                                    message: Unauthenticated.
                                properties:
                                    message: { type: string, example: Unauthenticated. }
            tags:
                - Type
            requestBody:
                required: false
                content:
                    application/json:
                        schema:
                            type: object
                            properties:
                                make_id:
                                    type: integer
                                    description: ''
                                    example: 16
    /api/v1/year:
        get:
            summary: List
            description: 'Retrieve all years'
            parameters:
                -
                    in: query
                    name: type_id
                    description: 'Filter by ''id'' of the type.'
                    example: 5
                    required: false
                    schema:
                        type: integer
                        description: 'Filter by ''id'' of the type.'
                        example: 5
                -
                    in: query
                    name: sort_by
                    description: 'Field to sort by. Defaults to ''name''. Possible values: ''name''.'
                    example: name
                    required: false
                    schema:
                        type: string
                        description: 'Field to sort by. Defaults to ''name''. Possible values: ''name''.'
                        example: name
                -
                    in: query
                    name: sort_dir
                    description: 'Sort direction. Defaults to ''asc''. Possible values: ''asc'' or ''desc''.'
                    example: asc
                    required: false
                    schema:
                        type: string
                        description: 'Sort direction. Defaults to ''asc''. Possible values: ''asc'' or ''desc''.'
                        example: asc
                -
                    in: query
                    name: page
                    description: 'Page of result to return. Defaults to 1.'
                    example: 19
                    required: false
                    schema:
                        type: integer
                        description: 'Page of result to return. Defaults to 1.'
                        example: 19
                -
                    in: query
                    name: per_page
                    description: 'How many rows to return per page. Defaults to 100, maximum 100.'
                    example: 20
                    required: false
                    schema:
                        type: integer
                        description: 'How many rows to return per page. Defaults to 100, maximum 100.'
                        example: 20
                -
                    in: header
                    name: X-Authorization
                    description: ''
                    example: a65PgZecDda16b348vfkVEh
                    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:
                200:
                    description: '200'
                    content:
                        application/json:
                            schema:
                                type: object
                                example:
                                    data: [{ id: 8, type_id: 4, name: '2010' }]
                                    links: { first: 'https://api-sbt.com/api/v1/year?page=1', last: 'https://api-sbt.com/api/v1/year?page=1', prev: null, next: null }
                                    meta: { current_page: 1, from: 1, last_page: 1, links: [{ url: null, label: '&laquo; Previous', active: false }, { url: 'https://api-sbt.com/api/v1/year?page=1', label: 1, active: true }, { url: null, label: 'Next &raquo;', active: false }], path: 'https://api-sbt.com/api/v1/year', per_page: 100, to: 12, total: 12 }
                                properties:
                                    data: { type: array, example: [{ id: 8, type_id: 4, name: '2010' }], items: { type: object } }
                                    links: { type: object, example: { first: 'https://api-sbt.com/api/v1/year?page=1', last: 'https://api-sbt.com/api/v1/year?page=1', prev: null, next: null } }
                                    meta: { type: object, example: { current_page: 1, from: 1, last_page: 1, links: [{ url: null, label: '&laquo; Previous', active: false }, { url: 'https://api-sbt.com/api/v1/year?page=1', label: 1, active: true }, { url: null, label: 'Next &raquo;', active: false }], path: 'https://api-sbt.com/api/v1/year', per_page: 100, to: 12, total: 12 } }
                401:
                    description: '401'
                    content:
                        application/json:
                            schema:
                                type: object
                                example:
                                    message: Unauthenticated.
                                properties:
                                    message: { type: string, example: Unauthenticated. }
            tags:
                - Year
            requestBody:
                required: false
                content:
                    application/json:
                        schema:
                            type: object
                            properties:
                                type_id:
                                    type: integer
                                    description: ''
                                    example: 11
components:
    securitySchemes:
        default:
            type: apiKey
            name: X-Authorization
            in: header
            description: ''
security:
    -
        default: []
