openapi: 3.0.3
info:
  title: 'Smarter Launch'
  description: 'API documentation for developers'
  version: 1.0.0
servers:
  -
    url: 'https://staging.api.smarterlaunch.com'
paths:
  /api/v1/service-plans:
    get:
      summary: List
      operationId: list
      description: 'Shows the list of Service Plans with pagination.'
      parameters: []
      responses: {  }
      tags:
        - 'Service Plan'
    post:
      summary: Create
      operationId: create
      description: 'Store a newly created Service Plan.'
      parameters: []
      responses: {  }
      tags:
        - 'Service Plan'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of Service Plan.'
                  example: 'Premium Service Plan'
                display_name:
                  type: string
                  description: ''
                  example: est
                description:
                  type: string
                  description: 'The description of Service Plan.'
                  example: 'Lorem ipsum dolor sit amet consectetur adipisicing elit'
                company_locations_uuid:
                  type: array
                  description: 'List of company_location_uuid.'
                  example:
                    - 10933939-447e-3d2c-944f-b3ef57dc6eeb
                    - 10933939-447e-3d2c-944f-b3ef57dc6eeb
                  items:
                    type: string
                categories_uuid:
                  type: array
                  description: 'List of category_uuid. Example:'
                  example:
                    - 10933939-447e-3d2c-944f-b3ef57dc6eeb
                    - 10933939-447e-3d2c-944f-b3ef57dc6eeb
                  items:
                    type: string
                default_contract_term:
                  type: string
                  description: ''
                  example: null
                default_contract_term_units:
                  type: number
                  description: ''
                  example: 6.021677
              required:
                - name
    parameters:
      -
        in: path
        name: page
        description: 'Optional parameter. The page number. Example : 1'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 19
      -
        in: path
        name: page_size
        description: 'Optional parameter. The number of record you want per page. Example : 5'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 18
      -
        in: path
        name: sort_by
        description: 'Optional parameter. The column name. Example : name'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: quidem
      -
        in: path
        name: sort_order
        description: 'Optional parameter. The order in which you want your records. Example : asc'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: omnis
      -
        in: path
        name: search
        description: 'Optional parameter. The general search, it will find matching string. Example : home'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: voluptatem
      -
        in: path
        name: string
        description: 'Optional parameter. The filter for service plans with status in statuses_uuid.'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: '["725d1dcd-54ad-3a8b-a28e-830c43d8ed6c", "b033658c-4532-3dd7-9be7-64433580eda6"]'
  '/api/v1/service-plans/{servicePlan_uuid}':
    get:
      summary: Get
      operationId: get
      description: 'Shows the specified Service Plan.'
      parameters: []
      responses: {  }
      tags:
        - 'Service Plan'
    put:
      summary: Update
      operationId: update
      description: 'Perform a full field update for the specified Service Plan.'
      parameters: []
      responses: {  }
      tags:
        - 'Service Plan'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of Service Plan.'
                  example: 'Premium Service Plan'
                display_name:
                  type: string
                  description: ''
                  example: dicta
                description:
                  type: string
                  description: 'The description of Service Plan.'
                  example: 'Lorem ipsum dolor sit amet consectetur adipisicing elit'
                company_locations_uuid:
                  type: array
                  description: 'List of company_location_uuid.'
                  example:
                    - 10933939-447e-3d2c-944f-b3ef57dc6eeb
                    - 10933939-447e-3d2c-944f-b3ef57dc6eeb
                  items:
                    type: string
                categories_uuid:
                  type: array
                  description: 'List of category_uuid. Example:'
                  example:
                    - 10933939-447e-3d2c-944f-b3ef57dc6eeb
                    - 10933939-447e-3d2c-944f-b3ef57dc6eeb
                  items:
                    type: string
                default_contract_term:
                  type: string
                  description: ''
                  example: null
                default_contract_term_units:
                  type: number
                  description: ''
                  example: 314824.99
                save_as:
                  type: string
                  description: ''
                  example: SERVICE_PLAN_DRAFT
                  enum:
                    - SERVICE_PLAN_DRAFT
                    - SERVICE_PLAN_ACTIVE
                    - SERVICE_PLAN_ARCHIVED
              required:
                - name
    patch:
      summary: Patch
      operationId: patch
      description: 'Perform a patch for the specified Service Plan.'
      parameters: []
      responses: {  }
      tags:
        - 'Service Plan'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'requiredThe name of Service Plan.'
                  example: 'Premium Service Plan'
                display_name:
                  type: string
                  description: ''
                  example: officiis
                description:
                  type: string
                  description: 'The description of Service Plan.'
                  example: 'Lorem ipsum dolor sit amet consectetur adipisicing elit'
                company_locations_uuid:
                  type: array
                  description: 'List of company_location_uuid.'
                  example:
                    - 10933939-447e-3d2c-944f-b3ef57dc6eeb
                    - 10933939-447e-3d2c-944f-b3ef57dc6eeb
                  items:
                    type: string
                categories_uuid:
                  type: array
                  description: 'List of category_uuid. Example:'
                  example:
                    - 10933939-447e-3d2c-944f-b3ef57dc6eeb
                    - 10933939-447e-3d2c-944f-b3ef57dc6eeb
                  items:
                    type: string
                settings:
                  type: object
                  description: ''
                  example: null
                  properties: {  }
                default_contract_term:
                  type: string
                  description: ''
                  example: null
                default_contract_term_units:
                  type: number
                  description: ''
                  example: 7.938
                save_as:
                  type: string
                  description: ''
                  example: SERVICE_PLAN_ACTIVE
                  enum:
                    - SERVICE_PLAN_DRAFT
                    - SERVICE_PLAN_ACTIVE
                    - SERVICE_PLAN_ARCHIVED
    delete:
      summary: Delete
      operationId: delete
      description: 'Remove the specified Service Plan.'
      parameters: []
      responses: {  }
      tags:
        - 'Service Plan'
    parameters:
      -
        in: path
        name: servicePlan_uuid
        description: ''
        example: 2
        required: true
        schema:
          type: integer
  '/api/v1/service-plans/{servicePlan_uuid}/duplicate':
    post:
      summary: Duplicate
      operationId: duplicate
      description: 'This endpoint lets user to duplicate service plan and set into a draft mode'
      parameters: []
      responses: {  }
      tags:
        - 'Service Plan'
    parameters:
      -
        in: path
        name: servicePlan_uuid
        description: ''
        example: 2
        required: true
        schema:
          type: integer
      -
        in: path
        name: service_plan_uuid
        description: 'Optional parameter. uuid required The uuid of the service plan.'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 3245d630-24fd-11ec-accd-e397aec85c7f
  '/api/v1/service-plans/{servicePlan_uuid}/draft':
    patch:
      summary: 'Save as Draft'
      operationId: saveAsDraft
      description: 'Save as Draft the specified Service Plan.'
      parameters: []
      responses: {  }
      tags:
        - 'Service Plan'
    parameters:
      -
        in: path
        name: servicePlan_uuid
        description: ''
        example: 2
        required: true
        schema:
          type: integer
  '/api/v1/service-plans/{servicePlan_uuid}/publish':
    patch:
      summary: Publish
      operationId: publish
      description: 'Publish the specified Service Plan.'
      parameters: []
      responses: {  }
      tags:
        - 'Service Plan'
    parameters:
      -
        in: path
        name: servicePlan_uuid
        description: ''
        example: 2
        required: true
        schema:
          type: integer
  '/api/v1/service-plans/{servicePlan_uuid}/archive':
    patch:
      summary: Archived
      operationId: archived
      description: 'Archived the specified Service Plan.'
      parameters: []
      responses: {  }
      tags:
        - 'Service Plan'
    parameters:
      -
        in: path
        name: servicePlan_uuid
        description: ''
        example: 2
        required: true
        schema:
          type: integer
  '/api/v1/service-plans/{servicePlan_uuid}/unarchive':
    patch:
      summary: Unarchived
      operationId: unarchived
      description: 'Unarchived the specified Service Plan.'
      parameters: []
      responses: {  }
      tags:
        - 'Service Plan'
    parameters:
      -
        in: path
        name: servicePlan_uuid
        description: ''
        example: 2
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_uuid}/decline-reasons':
    get:
      summary: List
      operationId: list
      description: 'Shows the list of decline reasons with pagination.'
      parameters: []
      responses: {  }
      tags:
        - 'Decline Reason'
    post:
      summary: Store
      operationId: store
      description: 'Store a newly created decline reasons.'
      parameters: []
      responses: {  }
      tags:
        - 'Decline Reason'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                title:
                  type: string
                  description: 'The title of the decline reasons. Example : So Expensive'
                  example: reiciendis
                description:
                  type: object
                  description: 'The description of the decline reasons.'
                  example: 'Lorem, ipsum dolor sit amet consectetur adipisicing elit.'
                  properties: {  }
              required:
                - title
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: page
        description: 'Optional parameter. The page number. Example : 1'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 8
      -
        in: path
        name: page_size
        description: 'Optional parameter. The number of record you want per page. Example : 5'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 17
      -
        in: path
        name: sort_by
        description: 'Optional parameter. The column name. Example : name'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: sint
      -
        in: path
        name: sort_order
        description: 'Optional parameter. The order in which you want your records. Example : asc'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: sint
      -
        in: path
        name: search
        description: 'Optional parameter. The general search, it will find matching string. Example : home'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: expedita
  '/api/v1/companies/{company_uuid}/decline-reasons/{declineReason_uuid}':
    get:
      summary: Show
      operationId: show
      description: 'Show a single decline reason.'
      parameters: []
      responses: {  }
      tags:
        - 'Decline Reason'
    put:
      summary: Update
      operationId: update
      description: 'Update a decline reason.'
      parameters: []
      responses: {  }
      tags:
        - 'Decline Reason'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                title:
                  type: string
                  description: 'The title of the decline reasons. Example : "So Expensive"'
                  example: deleniti
                description:
                  type: object
                  description: 'The description of the decline reasons.'
                  example: 'Lorem, ipsum dolor sit amet consectetur adipisicing elit.'
                  properties: {  }
              required:
                - title
    patch:
      summary: Patch
      operationId: patch
      description: 'Patch a company decline reason.'
      parameters: []
      responses: {  }
      tags:
        - 'Decline Reason'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                title:
                  type: string
                  description: 'The title of the decline reasons. Example : So Expensive'
                  example: nihil
                description:
                  type: object
                  description: 'The description of the decline reasons.'
                  example: 'Lorem, ipsum dolor sit amet consectetur adipisicing elit.'
                  properties: {  }
              required:
                - title
    delete:
      summary: Delete
      operationId: delete
      description: 'Delete a decline reason.'
      parameters: []
      responses: {  }
      tags:
        - 'Decline Reason'
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: declineReason_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_uuid}/automations':
    get:
      summary: List
      operationId: list
      description: 'Shows the list of Automations with pagination.'
      parameters: []
      responses: {  }
      tags:
        - Automation
    post:
      summary: Create
      operationId: create
      description: 'Store a newly created Automation.'
      parameters: []
      responses: {  }
      tags:
        - Automation
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the automation.'
                  example: 'Small Pests'
                description:
                  type: string
                  description: 'The description of the automation.'
                  example: 'Lorem ipsum dolor sit amet consectetur adipisicing elit'
                type:
                  type: string
                  description: 'The type of the automation.'
                  example: 'Lorem ipsum dolor sit amet consectetur adipisicing elit'
                actions:
                  type: array
                  description: "of object required The actions of automation.\n Example : [{action: \"SEND_EMAIL\",\n value: [\"john@smarterlaunch.com\", \"smith@smarterlaunch.com\"],\n settings: {body: \"Please follow-up with this and set an appointment.\"}}]"
                  example:
                    - illum
                  items:
                    type: string
                filters:
                  type: array
                  description: "of object required The filters of automation.\n Example : [{type: \"CUSTOMER\",operator: \"IS\",value: \"3245d630-24fd-11ec-accd-e397aec85c7f\",},\n {type: \"USER\",operator: \"IS_ONE_OF\",value: [\"3245d630-24fd-11ec-accd-e397aec85c7f\",\n \"3245d630-24fd-11ec-accd-e397aec85c7h\"]}]"
                  example:
                    - sed
                  items:
                    type: string
                triggers:
                  type: array
                  description: "of object required The triggers of automation.\n Example : [{type: \"CUSTOMER\",operator: \"IS_CHANGED_TO\",value: \"3245d630-24fd-11ec-accd-e397aec85c7f\"}]"
                  example:
                    - eos
                  items:
                    type: string
              required:
                - name
                - type
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: page
        description: 'Optional parameter. The page number. Example : 1'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 2
      -
        in: path
        name: page_size
        description: 'Optional parameter. The number of record you want per page. Example : 5'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 10
      -
        in: path
        name: sort_by
        description: 'Optional parameter. The column name. Example : name'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: qui
      -
        in: path
        name: sort_order
        description: 'Optional parameter. The order in which you want your records. Example : asc'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: culpa
      -
        in: path
        name: search
        description: 'Optional parameter. The general search, it will find matching string. Example : home'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: aut
      -
        in: path
        name: is_enabled
        description: 'Optional parameter. boolean Filter by enabled status. Example : true'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: dolor
  '/api/v1/companies/{company_uuid}/automations/{automation_uuid}':
    get:
      summary: Get
      operationId: get
      description: 'Display the specified Automation.'
      parameters: []
      responses: {  }
      tags:
        - Automation
    put:
      summary: Update
      operationId: update
      description: 'Modify the specified Automation.'
      parameters: []
      responses: {  }
      tags:
        - Automation
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the automation.'
                  example: 'Small Pests'
                description:
                  type: string
                  description: 'The description of the automation.'
                  example: 'Lorem ipsum dolor sit amet consectetur adipisicing elit'
                type:
                  type: string
                  description: 'The type of the automation.'
                  example: 'Lorem ipsum dolor sit amet consectetur adipisicing elit'
                actions:
                  type: array
                  description: "of object required The actions of automation.\n Example : [{action: \"SEND_EMAIL\",value: [\"john@smarterlaunch.com\", \"smith@smarterlaunch.com\"],\n settings: {body: \"Please follow-up with this and set an appointment.\"}}]"
                  example:
                    - aliquam
                  items:
                    type: string
                filters:
                  type: array
                  description: "of object required The filters of automation.\n Example : [{type: \"CUSTOMER\",operator: \"IS\",\n value: \"3245d630-24fd-11ec-accd-e397aec85c7f\",},\n {type: \"USER\",operator: \"IS_ONE_OF\",\n value: [\"3245d630-24fd-11ec-accd-e397aec85c7f\", \"3245d630-24fd-11ec-accd-e397aec85c7h\"]}]"
                  example:
                    - accusantium
                  items:
                    type: string
                triggers:
                  type: array
                  description: "of object required The triggers of automation.\n Example : [{type: \"CUSTOMER\",operator: \"IS_CHANGED_TO\",value: \"3245d630-24fd-11ec-accd-e397aec85c7f\"}]"
                  example:
                    - totam
                  items:
                    type: string
              required:
                - name
                - type
    patch:
      summary: Patch
      operationId: patch
      description: 'Perform patches for the specified Automation.'
      parameters: []
      responses: {  }
      tags:
        - Automation
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the automation.'
                  example: 'Small Pests'
                description:
                  type: string
                  description: 'The description of the automation.'
                  example: 'Lorem ipsum dolor sit amet consectetur adipisicing elit'
                type:
                  type: string
                  description: 'The type of the automation.'
                  example: 'Lorem ipsum dolor sit amet consectetur adipisicing elit'
                actions:
                  type: array
                  description: "of object The actions of automation.\n Example : [{action: \"SEND_EMAIL\",\n value: [\"john@smarterlaunch.com\", \"smith@smarterlaunch.com\"],\n settings: {body: \"Please follow-up with this and set an appointment.\"}}]"
                  example:
                    - labore
                  items:
                    type: string
                filters:
                  type: array
                  description: "of object The filters of automation.\n Example : [{type: \"CUSTOMER\",operator: \"IS\",\n value: \"3245d630-24fd-11ec-accd-e397aec85c7f\",},\n {type: \"USER\",operator: \"IS_ONE_OF\",\n value: [\"3245d630-24fd-11ec-accd-e397aec85c7f\", \"3245d630-24fd-11ec-accd-e397aec85c7h\"]}]"
                  example:
                    - tempore
                  items:
                    type: string
                triggers:
                  type: array
                  description: "of object The triggers of automation.\n Example : [{type: \"CUSTOMER\",operator: \"IS_CHANGED_TO\",value: \"3245d630-24fd-11ec-accd-e397aec85c7f\"}]"
                  example:
                    - asperiores
                  items:
                    type: string
    delete:
      summary: Delete
      operationId: delete
      description: 'Remove the specified Automation.'
      parameters: []
      responses: {  }
      tags:
        - Automation
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: automation_uuid
        description: ''
        example: 3
        required: true
        schema:
          type: integer
  /api/v1/heartbeat:
    post:
      summary: Lock
      operationId: lock
      description: 'Lock a specific item of given the type for editing'
      parameters: []
      responses: {  }
      tags:
        - Heartbeat
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                type:
                  type: string
                  description: 'The type of endpoint to be locked.'
                  example: '"Proposal"'
                uuid:
                  type: string
                  description: 'The uuid of the specific item.'
                  example: '"f26834b1-b086-3c99-adc7-b1660383a3fd"'
              required:
                - type
                - uuid
    delete:
      summary: Unlock
      operationId: unlock
      description: 'Unlock a specific item of given the type for editing'
      parameters: []
      responses: {  }
      tags:
        - Heartbeat
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                type:
                  type: string
                  description: 'The type of endpoint to be unlocked.'
                  example: '"Proposal"'
                uuid:
                  type: string
                  description: 'The uuid of the specific item.'
                  example: '"f26834b1-b086-3c99-adc7-b1660383a3fd"'
              required:
                - type
                - uuid
  /api/v1/roles:
    get:
      summary: 'List / Fetch'
      operationId: listFetch
      description: 'Shows the list of role or fetch single record using uuid.'
      parameters: []
      responses: {  }
      tags:
        - Role
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                uuid:
                  type: string
                  description: 'optional The uuid of the role.'
                  example: 3245d630-24fd-11ec-accd-e397aec85c7f
                name:
                  type: string
                  description: 'optional The role name.'
                  example: admin
    post:
      summary: 'Create / Update role.'
      operationId: createUpdateRole
      description: 'This endpoint lets user to create/update role.'
      parameters: []
      responses: {  }
      tags:
        - Role
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the role.'
                  example: admin
                uuid:
                  type: string
                  description: 'optional The uuid of the role.'
                  example: ecd24580-2749-11ec-9b86-1102c06e74b4
              required:
                - name
  '/api/v1/roles/{roleUuid}':
    get:
      summary: 'List / Fetch'
      operationId: listFetch
      description: 'Shows the list of role or fetch single record using uuid.'
      parameters: []
      responses: {  }
      tags:
        - Role
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                uuid:
                  type: string
                  description: 'optional The uuid of the role.'
                  example: 3245d630-24fd-11ec-accd-e397aec85c7f
                name:
                  type: string
                  description: 'optional The role name.'
                  example: admin
    put:
      summary: 'Create / Update role.'
      operationId: createUpdateRole
      description: 'This endpoint lets user to create/update role.'
      parameters: []
      responses: {  }
      tags:
        - Role
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the role.'
                  example: admin
                uuid:
                  type: string
                  description: 'optional The uuid of the role.'
                  example: ecd24580-2749-11ec-9b86-1102c06e74b4
              required:
                - name
    delete:
      summary: Delete
      operationId: delete
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Role
    parameters:
      -
        in: path
        name: roleUuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_uuid}/reviews':
    get:
      summary: List
      operationId: list
      description: 'Shows the list of review with pagination.'
      parameters: []
      responses: {  }
      tags:
        - Review
    post:
      summary: Store
      operationId: store
      description: 'Store a newly created review.'
      parameters: []
      responses: {  }
      tags:
        - Review
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the customer/reviewer. Example : "My Review"'
                  example: voluptas
                message:
                  type: string
                  description: 'The message of the review. Example : "Lorem ipsum dolor sit, amet consectetur adipisicing elit. Consequatur dolores iste quae soluta."'
                  example: sed
                rate:
                  type: string
                  description: 'The rate of the review ranging from 0-5. Example : 5'
                  example: atque
                photo:
                  type: string
                  format: binary
                  description: 'The file photo of the review..jpg, .jpeg, .png'
                external_photo_url:
                  type: string
                  description: 'An external url of an image as review/photo.'
                  example: 'http://koch.biz/'
                position:
                  type: integer
                  description: 'The the position of the review. Example : 2'
                  example: 5
                company_location_uuid:
                  type: uuid
                  description: 'The company location to be associated to the review. Leaving empty/blank means visible to all company locations.'
                  example: aba7b70b-5025-38d5-86ac-4c4cd68bc24e
              required:
                - name
                - rate
    patch:
      summary: 'Patch Index'
      operationId: patchIndex
      description: 'Performs specific updates for review ranking'
      parameters: []
      responses: {  }
      tags:
        - Review
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: page
        description: 'Optional parameter. The page number. Example : 1'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 15
      -
        in: path
        name: page_size
        description: 'Optional parameter. The number of record you want per page. Example : 5'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 18
      -
        in: path
        name: sort_by
        description: 'Optional parameter. The column name. Example : name'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: sit
      -
        in: path
        name: sort_order
        description: 'Optional parameter. The order in which you want your records. Example : asc'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: aliquam
      -
        in: path
        name: search
        description: 'Optional parameter. The general search, it will find matching string. Example : home'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: minima
      -
        in: path
        name: is_all_location
        description: 'Optional parameter. boolean Will get all reviews that is not company location specific. Example : true'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: esse
  '/api/v1/companies/{company_uuid}/reviews/{review_uuid}':
    get:
      summary: Show
      operationId: show
      description: 'Show a single review.'
      parameters: []
      responses: {  }
      tags:
        - Review
    post:
      summary: Update
      operationId: update
      description: 'Update a review.'
      parameters: []
      responses: {  }
      tags:
        - Review
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the customer/reviewer. Example : "My Review"'
                  example: aliquid
                message:
                  type: string
                  description: 'The message of the review. Example : "Lorem ipsum dolor sit, amet consectetur adipisicing elit. Consequatur dolores iste quae soluta."'
                  example: itaque
                rate:
                  type: string
                  description: 'The rate of the review ranging from 0-5. Example : 5'
                  example: nobis
                photo:
                  type: string
                  format: binary
                  description: 'The file photo of the review..jpg, .jpeg, .png'
                external_photo_url:
                  type: string
                  description: 'An external url of an image as review/photo.'
                  example: 'http://www.upton.info/deleniti-non-voluptatem-nulla'
                position:
                  type: integer
                  description: 'The the position of the review. Example : 2'
                  example: 9
                company_location_uuid:
                  type: uuid
                  description: 'The company location to be associated to the review. Leaving empty/blank means visible to all company locations.'
                  example: 10c65063-bffc-3f78-aaae-8a0e45bb10cd
              required:
                - name
                - rate
    patch:
      summary: Patch
      operationId: patch
      description: 'Patch a company review.'
      parameters: []
      responses: {  }
      tags:
        - Review
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the customer/reviewer. Example : "My Review"'
                  example: cumque
                message:
                  type: string
                  description: 'The message of the review. Example : "Lorem ipsum dolor sit, amet consectetur adipisicing elit. Consequatur dolores iste quae soluta."'
                  example: natus
                rate:
                  type: string
                  description: 'The rate of the review ranging from 0-5. Example : 5'
                  example: adipisci
                external_photo_url:
                  type: string
                  description: 'An external url of an image as review/photo.'
                  example: 'http://www.lind.com/ut-voluptatum-ab-ut-quaerat'
                position:
                  type: integer
                  description: 'The the position of the review. Example : 2'
                  example: 16
                company_location_uuid:
                  type: uuid
                  description: 'The company location to be associated to the review. Leaving empty/blank means visible to all company locations.'
                  example: c8cfb265-e2b9-34c8-a4ed-07966f661acf
    delete:
      summary: Delete
      operationId: delete
      description: 'Delete a review.'
      parameters: []
      responses: {  }
      tags:
        - Review
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: review_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_uuid}/forms/{form_uuid}/fields':
    get:
      summary: List
      operationId: list
      description: 'Shows the list of form fields with pagination.'
      parameters: []
      responses: {  }
      tags:
        - 'Form Field'
    post:
      summary: Store
      operationId: store
      description: 'Store a newly created formField.'
      parameters: []
      responses: {  }
      tags:
        - 'Form Field'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                label:
                  type: string
                  description: 'The label of the form field. Example : "Are you satisfied with the communication from our technician?"'
                  example: architecto
                input_type:
                  type: string
                  description: 'The label of the form field. Example : "MULTI_SELECT"'
                  example: et
                default_value:
                  type: string
                  description: 'The label of the form field. Example : "[1,2,3,4,5]"'
                  example: eos
                is_required:
                  type: boolean
                  description: 'The label of the form field. Example : true'
                  example: true
                is_conditional:
                  type: boolean
                  description: 'The label of the form field. Example : true'
                  example: true
                has_help_guide:
                  type: boolean
                  description: 'The label of the form field. Example : true'
                  example: true
                conditional_value:
                  type: text
                  description: 'The label of the form field. Example : {"condition1":"condition"}'
                  example: velit
                help_guide:
                  type: string
                  description: 'text The label of the form field. Example : "This a help guide for communication from our technicians."'
                  example: consequatur
                position:
                  type: integer
                  description: 'The position of the form field. Example : 1'
                  example: 15
              required:
                - label
                - input_type
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: form_uuid
        description: ''
        example: 2
        required: true
        schema:
          type: integer
      -
        in: path
        name: page
        description: 'Optional parameter. The page number. Example : 1'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 4
      -
        in: path
        name: page_size
        description: 'Optional parameter. The number of record you want per page. Example : 5'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 14
      -
        in: path
        name: sort_by
        description: 'Optional parameter. The column name. Example : name'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: dolor
      -
        in: path
        name: sort_order
        description: 'Optional parameter. The order in which you want your records. Example : asc'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: odio
      -
        in: path
        name: search
        description: 'Optional parameter. The general search, it will find matching string. Example : "Quality Assurance"'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: aut
  '/api/v1/companies/{company_uuid}/forms/{form_uuid}/fields/{formField_uuid}':
    get:
      summary: Show
      operationId: show
      description: 'Show a single form field.'
      parameters: []
      responses: {  }
      tags:
        - 'Form Field'
    put:
      summary: Update
      operationId: update
      description: 'Update a formfield.'
      parameters: []
      responses: {  }
      tags:
        - 'Form Field'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                label:
                  type: string
                  description: 'The label of the form field. Example : "Are you satisfied with the communication from our technician?"'
                  example: dolorum
                input_type:
                  type: string
                  description: 'The label of the form field. Example : "MULTI_SELECT"'
                  example: minus
                default_value:
                  type: string
                  description: 'The label of the form field. Example : "[1,2,3,4,5]"'
                  example: et
                is_required:
                  type: boolean
                  description: 'The label of the form field. Example : true'
                  example: false
                is_conditional:
                  type: boolean
                  description: 'The label of the form field. Example : true'
                  example: false
                has_help_guide:
                  type: boolean
                  description: 'The label of the form field. Example : true'
                  example: false
                conditional_value:
                  type: text
                  description: 'The label of the form field. Example : {"condition1":"condition"}'
                  example: et
                help_guide:
                  type: string
                  description: 'text The label of the form field. Example : "This a help guide for communication from our technicians."'
                  example: animi
                position:
                  type: integer
                  description: 'The position of the form field. Example : 1'
                  example: 17
              required:
                - label
                - input_type
    post:
      summary: Update
      operationId: update
      description: 'Update a formfield.'
      parameters: []
      responses: {  }
      tags:
        - 'Form Field'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                label:
                  type: string
                  description: 'The label of the form field. Example : "Are you satisfied with the communication from our technician?"'
                  example: qui
                input_type:
                  type: string
                  description: 'The label of the form field. Example : "MULTI_SELECT"'
                  example: error
                default_value:
                  type: string
                  description: 'The label of the form field. Example : "[1,2,3,4,5]"'
                  example: vitae
                is_required:
                  type: boolean
                  description: 'The label of the form field. Example : true'
                  example: true
                is_conditional:
                  type: boolean
                  description: 'The label of the form field. Example : true'
                  example: true
                has_help_guide:
                  type: boolean
                  description: 'The label of the form field. Example : true'
                  example: false
                conditional_value:
                  type: text
                  description: 'The label of the form field. Example : {"condition1":"condition"}'
                  example: vel
                help_guide:
                  type: string
                  description: 'text The label of the form field. Example : "This a help guide for communication from our technicians."'
                  example: quasi
                position:
                  type: integer
                  description: 'The position of the form field. Example : 1'
                  example: 1
              required:
                - label
                - input_type
    patch:
      summary: Patch
      operationId: patch
      description: 'Patch a company form field.'
      parameters: []
      responses: {  }
      tags:
        - 'Form Field'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                label:
                  type: string
                  description: 'The label of the form field. Example : "Are you satisfied with the communication from our technician?"'
                  example: libero
                input_type:
                  type: string
                  description: 'The label of the form field. Example : "MULTI_SELECT"'
                  example: fuga
                default_value:
                  type: string
                  description: 'The label of the form field. Example : "[1,2,3,4,5]"'
                  example: commodi
                is_required:
                  type: boolean
                  description: 'The label of the form field. Example : true'
                  example: true
                is_conditional:
                  type: boolean
                  description: 'The label of the form field. Example : true'
                  example: true
                has_help_guide:
                  type: boolean
                  description: 'The label of the form field. Example : true'
                  example: false
                conditional_value:
                  type: text
                  description: 'The label of the form field. Example : {"condition1":"condition"}'
                  example: consequuntur
                help_guide:
                  type: string
                  description: 'text The label of the form field. Example : "This a help guide for communication from our technicians."'
                  example: voluptate
                position:
                  type: integer
                  description: 'The position of the form field. Example : 1'
                  example: 8
    delete:
      summary: Delete
      operationId: delete
      description: 'Delete a form field.'
      parameters: []
      responses: {  }
      tags:
        - 'Form Field'
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: form_uuid
        description: ''
        example: 2
        required: true
        schema:
          type: integer
      -
        in: path
        name: formField_uuid
        description: ''
        example: 4f5c8991-d5f2-3d31-ac5b-8774748463ec
        required: true
        schema:
          type: string
  /api/v1/app-data:
    get:
      summary: 'Application Settings.'
      operationId: applicationSettings
      description: 'Show the list of application data: [roles, company_locations, statuses, countries[states], client_version]'
      parameters: []
      responses: {  }
      tags:
        - 'App Data'
  '/api/v1/customers/{customer_uuid}/customer-contacts':
    put:
      summary: Update
      operationId: update
      description: 'Update customer contacts'
      parameters: []
      responses: {  }
      tags:
        - 'Customer Contacts'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                'contacts[]':
                  type: array
                  description: 'of contacts.'
                  example: null
                  items:
                    type: string
                'delete_contacts[]':
                  type: array
                  description: 'of contacts.uuid to be deleted.'
                  example: null
                  items:
                    type: string
    parameters:
      -
        in: path
        name: customer_uuid
        description: 'Optional parameter. uuid required The UUID of the customer that is to be updated.'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 3245d634-24fd-11ec-accd-e397aec85c7f
  '/api/v1/service-plans/{servicePlan_uuid}/custom-fields':
    get:
      summary: List
      operationId: list
      description: 'Shows the list of Service Plan Custom Fields with pagination.'
      parameters: []
      responses: {  }
      tags:
        - 'Service Plan Custom Field'
    post:
      summary: 'Create (Single/Multiple)'
      operationId: createSingleMultiple
      description: "Store a newly created Service Plan Custom Field.\nFor multiple creation, the @bodyParameter will be an array of a single @bodyParameter"
      parameters: []
      responses: {  }
      tags:
        - 'Service Plan Custom Field'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                label:
                  type: string
                  description: 'The label Service Plan Custom Field.'
                  example: 'First Name'
                input_type:
                  type: string
                  description: 'The field type of the custom field.'
                  example: TEXT
                default_value:
                  type: string
                  description: 'optional The default value of the custom field.'
                  example: '""'
                combine_input_value_collection:
                  type: boolean
                  description: 'optional The option to combine custom fields by label.'
                  example: true
              required:
                - label
                - input_type
    put:
      summary: 'Update (Single/Multiple)'
      operationId: updateSingleMultiple
      description: "Modify the specified Service Plan Custom Field.\nFor Multiple update, @bodyparameter will be an array of the Single @bodyParameter (if uuid is included then perform an update; else, create new record)."
      parameters: []
      responses: {  }
      tags:
        - 'Service Plan Custom Field'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                custom_fields:
                  type: array
                  description: 'Must have at least 0 items. Must not have more than 150 items.'
                  example: lkbfvtoluxcpxdnsf
                  items:
                    type: string
                save_service_plan_as:
                  type: string
                  description: ''
                  example: SERVICE_PLAN_ACTIVE
                  enum:
                    - SERVICE_PLAN_DRAFT
                    - SERVICE_PLAN_ACTIVE
                    - SERVICE_PLAN_ARCHIVED
                label:
                  type: string
                  description: 'The label Service Plan Custom Field.'
                  example: 'First Name'
                input_type:
                  type: string
                  description: 'The field type of the custom field.'
                  example: TEXT
                default_value:
                  type: string
                  description: 'optional The default value of the custom field.'
                  example: '""'
                combine_input_value_collection:
                  type: boolean
                  description: 'optional The option to combine custom fields by label.'
                  example: true
              required:
                - label
                - input_type
    parameters:
      -
        in: path
        name: servicePlan_uuid
        description: ''
        example: 2
        required: true
        schema:
          type: integer
      -
        in: path
        name: page
        description: 'Optional parameter. The page number. Example : 1'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 4
      -
        in: path
        name: page_size
        description: 'Optional parameter. The number of record you want per page. Example : 5'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 13
      -
        in: path
        name: sort_by
        description: 'Optional parameter. The column name. Example : name'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: asperiores
      -
        in: path
        name: sort_order
        description: 'Optional parameter. The order in which you want your records. Example : asc'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: mollitia
      -
        in: path
        name: search
        description: 'Optional parameter. The general search, it will find matching string. Example : home'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: soluta
  '/api/v1/service-plans/{servicePlan_uuid}/custom-fields/{servicePlanCustomField_uuid}':
    get:
      summary: Get
      operationId: get
      description: 'Display the specified Service Plan Custom Field.'
      parameters: []
      responses: {  }
      tags:
        - 'Service Plan Custom Field'
    put:
      summary: 'Update (Single/Multiple)'
      operationId: updateSingleMultiple
      description: "Modify the specified Service Plan Custom Field.\nFor Multiple update, @bodyparameter will be an array of the Single @bodyParameter (if uuid is included then perform an update; else, create new record)."
      parameters: []
      responses: {  }
      tags:
        - 'Service Plan Custom Field'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                custom_fields:
                  type: array
                  description: 'Must have at least 0 items. Must not have more than 150 items.'
                  example: qobfljcaprleyzqvrlt
                  items:
                    type: string
                save_service_plan_as:
                  type: string
                  description: ''
                  example: SERVICE_PLAN_ARCHIVED
                  enum:
                    - SERVICE_PLAN_DRAFT
                    - SERVICE_PLAN_ACTIVE
                    - SERVICE_PLAN_ARCHIVED
                label:
                  type: string
                  description: 'The label Service Plan Custom Field.'
                  example: 'First Name'
                input_type:
                  type: string
                  description: 'The field type of the custom field.'
                  example: TEXT
                default_value:
                  type: string
                  description: 'optional The default value of the custom field.'
                  example: '""'
                combine_input_value_collection:
                  type: boolean
                  description: 'optional The option to combine custom fields by label.'
                  example: true
              required:
                - label
                - input_type
    patch:
      summary: Patch
      operationId: patch
      description: 'Perform patches for the specified Service Plan Custom Field.'
      parameters: []
      responses: {  }
      tags:
        - 'Service Plan Custom Field'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                label:
                  type: string
                  description: 'The label Service Plan Custom Field.'
                  example: 'First Name'
                input_type:
                  type: string
                  description: 'The field type of the custom field.'
                  example: TEXT
                default_value:
                  type: string
                  description: 'optional The default value of the custom field.'
                  example: '""'
                combine_input_value_collection:
                  type: boolean
                  description: 'optional The option to combine custom fields by label.'
                  example: true
    delete:
      summary: Delete
      operationId: delete
      description: 'Remove the specified Service Plan Custom Field.'
      parameters: []
      responses: {  }
      tags:
        - 'Service Plan Custom Field'
    parameters:
      -
        in: path
        name: servicePlan_uuid
        description: ''
        example: 2
        required: true
        schema:
          type: integer
      -
        in: path
        name: servicePlanCustomField_uuid
        description: ''
        example: e2bbcd14-80f5-3d76-bbab-0cee7f24e358
        required: true
        schema:
          type: string
  /api/v1/media-tags:
    get:
      summary: List
      operationId: list
      description: 'Shows the list of media tag with pagination.'
      parameters: []
      responses: {  }
      tags:
        - 'Media Tag'
    post:
      summary: Store
      operationId: store
      description: 'Upload a media tag'
      parameters: []
      responses: {  }
      tags:
        - 'Media Tag'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the file. Example : Tag 1'
                  example: ea
    parameters:
      -
        in: path
        name: page
        description: 'Optional parameter. The page number. Example : 1'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 3
      -
        in: path
        name: page_size
        description: 'Optional parameter. The number of record you want per page. Example : 5'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 12
      -
        in: path
        name: sort_by
        description: 'Optional parameter. The column name. Example : name'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: qui
      -
        in: path
        name: sort_order
        description: 'Optional parameter. The order in which you want your records. Example : asc'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: voluptate
      -
        in: path
        name: search
        description: 'Optional parameter. The general search, it will find matching string. Example : home'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: in
  '/api/v1/media-tags/{mediaTag_uuid}':
    get:
      summary: Show
      operationId: show
      description: 'Show a single media tag'
      parameters: []
      responses: {  }
      tags:
        - 'Media Tag'
    put:
      summary: Update
      operationId: update
      description: 'Update a media tag.'
      parameters: []
      responses: {  }
      tags:
        - 'Media Tag'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the media tag. Example : "My media tag"'
                  example: ut
              required:
                - name
    patch:
      summary: Patch
      operationId: patch
      description: 'Patch a media tag.'
      parameters: []
      responses: {  }
      tags:
        - 'Media Tag'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the media tag. Example : "My media tag"'
                  example: at
              required:
                - name
    delete:
      summary: Delete
      operationId: delete
      description: 'Delete a media tag.'
      parameters: []
      responses: {  }
      tags:
        - 'Media Tag'
    parameters:
      -
        in: path
        name: mediaTag_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_uuid}/property-locations':
    get:
      summary: List
      operationId: list
      description: 'Shows the list of property locations with pagination.'
      parameters: []
      responses: {  }
      tags:
        - 'Property Locations'
    post:
      summary: Store
      operationId: store
      description: 'Store a newly created property location.'
      parameters: []
      responses: {  }
      tags:
        - 'Property Locations'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the property location. Example : "Living Room"'
                  example: velit
              required:
                - name
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: page
        description: 'Optional parameter. The page number. Example : 1'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 5
      -
        in: path
        name: page_size
        description: 'Optional parameter. The number of record you want per page. Example : 5'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 16
      -
        in: path
        name: sort_by
        description: 'Optional parameter. The column name. Example : name'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: accusamus
      -
        in: path
        name: sort_order
        description: 'Optional parameter. The order in which you want your records. Example : asc'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: alias
      -
        in: path
        name: search
        description: 'Optional parameter. The general search, it will find matching string. Example : home'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: consequatur
  '/api/v1/companies/{company_uuid}/property-locations/{propertyLocation_uuid}':
    get:
      summary: Show
      operationId: show
      description: 'Show a single property location.'
      parameters: []
      responses: {  }
      tags:
        - 'Property Locations'
    put:
      summary: Update
      operationId: update
      description: 'Update a property location.'
      parameters: []
      responses: {  }
      tags:
        - 'Property Locations'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the property location. Example : "Living Room Updated"'
                  example: tempora
              required:
                - name
    patch:
      summary: Patch
      operationId: patch
      description: 'Patch a company property location.'
      parameters: []
      responses: {  }
      tags:
        - 'Property Locations'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the property location. Example : "Living Room Patched"'
                  example: et
    delete:
      summary: Delete
      operationId: delete
      description: 'Delete a property location.'
      parameters: []
      responses: {  }
      tags:
        - 'Property Locations'
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: propertyLocation_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/countries/{countryUuid}/states/{countryStateUuid}':
    get:
      summary: 'List / Fetch'
      operationId: listFetch
      description: 'Shows the list of state or fetch single record using uuid.'
      parameters: []
      responses: {  }
      tags:
        - State
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                country_uuid:
                  type: string
                  description: 'optional The country uuid.'
                  example: ecd24580-2749-11ec-9b86-1102c06e74b4
                country_state_uuid:
                  type: string
                  description: 'optional The state uuid.'
                  example: ed20f1c0-2749-11ec-85fa-a791bcbdc50d
                name:
                  type: string
                  description: 'optional The state name.'
                  example: 'Queen Creek'
      security: []
    parameters:
      -
        in: path
        name: countryUuid
        description: ''
        example: 277e169f-e5b2-3025-bd4c-9b100e6a0222
        required: true
        schema:
          type: string
      -
        in: path
        name: countryStateUuid
        description: ''
        example: 708bf525-71f7-3ecd-99c4-56771ae6f2b8
        required: true
        schema:
          type: string
  '/api/v1/companies/{company_uuid}/taxes':
    get:
      summary: List
      operationId: list
      description: 'Shows the list of taxes with pagination.'
      parameters: []
      responses: {  }
      tags:
        - 'Company Tax'
    patch:
      summary: 'Patch Index'
      operationId: patchIndex
      description: 'Performs specific updates for tax settings'
      parameters: []
      responses: {  }
      tags:
        - 'Company Tax'
    post:
      summary: Store
      operationId: store
      description: 'Store a newly created tax.'
      parameters: []
      responses: {  }
      tags:
        - 'Company Tax'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                country_uuid:
                  type: string
                  description: 'The UUID of a country. Example : "815d3d9c-f371-3781-8456-7e6954b5b0f5"'
                  example: c837d736-da96-3a3a-b5dd-a6446e917dc2
                country_state_uuids:
                  type: array
                  description: 'An array of country state UUID. Example : ["815d3d9c-f371-3781-8456-7e6954b5b0f5", "815d3d9c-f371-3781-8456-7e6954b5b0f2"]'
                  example:
                    - hic
                  items:
                    type: string
                name:
                  type: string
                  description: 'The name of the tax. Example : Pest Route Initial Proposal'
                  example: reiciendis
                postal_codes:
                  type: array
                  description: 'optional The postal code of the company.'
                  example: 85410
                  items:
                    type: string
                cities:
                  type: string
                  description: 'required[] The company city name.'
                  example: 'Queen Creek'
                rate:
                  type: decimal
                  description: 'The tax rate.'
                  example: '12.0000'
                is_compound:
                  type: boolean
                  description: 'A flag that indicate if the tax is a compound.'
                  example: true
              required:
                - country_uuid
                - country_state_uuids
                - name
                - rate
                - is_compound
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: page
        description: 'Optional parameter. The page number. Example : 1'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 1
      -
        in: path
        name: page_size
        description: 'Optional parameter. The number of record you want per page. Example : 5'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 20
      -
        in: path
        name: sort_by
        description: 'Optional parameter. The column name. Example : name'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: voluptas
      -
        in: path
        name: sort_order
        description: 'Optional parameter. The order in which you want your records. Example : asc'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: nihil
      -
        in: path
        name: search
        description: 'Optional parameter. The general search, it will find matching string (name, postal_code, cities). Example : home'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: non
      -
        in: path
        name: country_uuid
        description: 'Optional parameter. The UUID of country. Example : "815d3d9c-f371-3781-8456-7e6954b5b0f5"'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: be2bdff3-ce69-32cf-8395-4cd9e48e3972
      -
        in: path
        name: country_state_uuids
        description: 'Optional parameter. string[] The UUID of country state. Example : "815d3d9c-f371-3781-8456-7e6954b5b0f5"'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 3
      -
        in: path
        name: is_compound
        description: 'Optional parameter. boolean To filter by is_compound flag. Example : true'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: veritatis
  '/api/v1/companies/{company_uuid}/taxes/{companyTax_uuid}':
    get:
      summary: Show
      operationId: show
      description: 'Show a single tax.'
      parameters: []
      responses: {  }
      tags:
        - 'Company Tax'
    put:
      summary: Update
      operationId: update
      description: 'Update a tax.'
      parameters: []
      responses: {  }
      tags:
        - 'Company Tax'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                country_uuid:
                  type: string
                  description: 'The UUID of a country. Example : "815d3d9c-f371-3781-8456-7e6954b5b0f5"'
                  example: e4f071be-c639-3c44-aa92-c737c9af6655
                country_state_uuids:
                  type: array
                  description: 'The UUID of a country state. Example : "815d3d9c-f371-3781-8456-7e6954b5b0f5"'
                  example:
                    - error
                  items:
                    type: string
                name:
                  type: string
                  description: 'The name of the tax. Example : Pest Route Initial Proposal'
                  example: fugit
                postal_codes:
                  type: string
                  description: 'optional The postal code of the company.'
                  example: '85410'
                cities:
                  type: string
                  description: 'The company city name.'
                  example: 'Queen Creek'
                rate:
                  type: decimal
                  description: 'The tax rate.'
                  example: '12.0000'
                is_compound:
                  type: boolean
                  description: 'A flag that indicate if the tax is a compound.'
                  example: true
                rank:
                  type: integer
                  description: 'The rank/order number of tax in a company.'
                  example: 1
              required:
                - country_uuid
                - country_state_uuids
                - name
                - cities
                - rate
                - is_compound
    patch:
      summary: Patch
      operationId: patch
      description: 'Patch a tax.'
      parameters: []
      responses: {  }
      tags:
        - 'Company Tax'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                country_uuid:
                  type: string
                  description: 'optional The UUID of a country. Example : "815d3d9c-f371-3781-8456-7e6954b5b0f5"'
                  example: dd5bb66a-0de3-3aca-b926-a0510eef32ce
                country_state_uuids:
                  type: array
                  description: 'optional The UUID of a country state. Example : "815d3d9c-f371-3781-8456-7e6954b5b0f5"'
                  example:
                    - molestias
                  items:
                    type: string
                name:
                  type: string
                  description: 'optional The name of the tax. Example : Pest Route Initial Proposal'
                  example: ut
                postal_codes:
                  type: string
                  description: 'optional The postal code of the company.'
                  example: '85410'
                cities:
                  type: string
                  description: 'optional The company city name.'
                  example: 'Queen Creek'
                rate:
                  type: decimal
                  description: 'optional The tax rate.'
                  example: '12.0000'
                is_compound:
                  type: boolean
                  description: 'optional A flag that indicate if the tax is a compound.'
                  example: true
                rank:
                  type: integer
                  description: 'The rank/order number of tax in a company.'
                  example: 1
    delete:
      summary: Delete
      operationId: delete
      description: 'Delete a tax.'
      parameters: []
      responses: {  }
      tags:
        - 'Company Tax'
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: companyTax_uuid
        description: ''
        example: 9d4e3369-ad5a-3881-8050-b09d0967b8f1
        required: true
        schema:
          type: string
  '/api/v1/companies/{company_uuid}/locations':
    get:
      summary: List
      operationId: list
      description: 'Shows the list of locations with pagination.'
      parameters: []
      responses: {  }
      tags:
        - 'Company Location'
    post:
      summary: Create
      operationId: create
      description: 'This endpoint lets user to create single record using uuid.'
      parameters: []
      responses: {  }
      tags:
        - 'Company Location'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the location.'
                  example: 'Phoenix Metro Area'
                description:
                  type: string
                  description: 'optional The description of the location.'
                  example: 'We do amazing things here.'
                phone:
                  type: string
                  description: 'optional The last name of the location.'
                  example: '5554443333'
                email:
                  type: string
                  description: 'optional The email of the location.'
                  example: hello@smarterlaunch.com
                address1:
                  type: string
                  description: 'optional The address of the company.'
                  example: "'123 Smarter Launch Way'"
                address2:
                  type: string
                  description: 'optional The address of the company.'
                  example: "'Suite 101'"
                city:
                  type: string
                  description: 'optional The company city name.'
                  example: 'Queen Creek'
                country_state_uuid:
                  type: string
                  description: 'optional The company state uuid.'
                  example: ecd24580-2749-11ec-9b86-1102c06e74b4
                country_uuid:
                  type: string
                  description: 'optional The company country uuid.'
                  example: ecd24580-2749-11ec-9b86-1102c06e74b4
                postal_code:
                  type: string
                  description: 'optional The postal code of the company.'
                  example: '85410'
                latitude:
                  type: string
                  description: 'optional The latitude of the company.'
                  example: '23.0396'
                longitude:
                  type: string
                  description: 'optional The longitude of the company.'
                  example: '72.566'
                enable_overrides:
                  type: boolean
                  description: optional.
                  example: true
                license_number:
                  type: string
                  description: optional.
                  example: lc-123456
              required:
                - name
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: page
        description: 'Optional parameter. The page number. Example : 1'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 5
      -
        in: path
        name: page_size
        description: 'Optional parameter. The number of record you want per page. Example : 5'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 1
      -
        in: path
        name: sort_by
        description: 'Optional parameter. The column name. Example : name'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: totam
      -
        in: path
        name: sort_order
        description: 'Optional parameter. The order in which you want your records. Example : asc'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: atque
      -
        in: path
        name: search
        description: 'Optional parameter. The general search, it will find matching string. Example : home'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: corrupti
      -
        in: path
        name: has_service_plans
        description: 'Optional parameter. boolean The locations which has service plans. Example : true'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: ut
  '/api/v1/companies/{company_uuid}/locations/{companyLocation_uuid}':
    get:
      summary: Show
      operationId: show
      description: 'Shows the detail of a specific company location.'
      parameters: []
      responses: {  }
      tags:
        - 'Company Location'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                withTemplates:
                  type: boolean
                  description: 'optional Whether return templates attached to company location.'
                  example: true
    put:
      summary: Edit
      operationId: edit
      description: 'This endpoint lets user to update single record using uuid (using PUT method).'
      parameters: []
      responses: {  }
      tags:
        - 'Company Location'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the location.'
                  example: 'Phoenix Metro Area'
                description:
                  type: string
                  description: 'optional The description of the location.'
                  example: 'We do amazing things here.'
                phone:
                  type: string
                  description: 'optional The last name of the location.'
                  example: '5554443333'
                email:
                  type: string
                  description: 'optional The email of the location.'
                  example: hello@smarterlaunch.com
                address1:
                  type: string
                  description: 'optional The address of the company.'
                  example: "'123 Smarter Launch Way'"
                address2:
                  type: string
                  description: 'optional The address of the company.'
                  example: "'Suite 101'"
                city:
                  type: string
                  description: 'optional The company city name.'
                  example: 'Queen Creek'
                country_state_uuid:
                  type: string
                  description: 'optional The company state uuid.'
                  example: ecd24580-2749-11ec-9b86-1102c06e74b4
                country_uuid:
                  type: string
                  description: 'optional The company country uuid.'
                  example: ecd24580-2749-11ec-9b86-1102c06e74b4
                postal_code:
                  type: string
                  description: 'optional The postal code of the company.'
                  example: '85410'
                latitude:
                  type: string
                  description: 'optional The latitude of the company.'
                  example: '23.0396'
                longitude:
                  type: string
                  description: 'optional The longitude of the company.'
                  example: '72.566'
                enable_overrides:
                  type: boolean
                  description: optional.
                  example: true
                license_number:
                  type: string
                  description: optional.
                  example: lc-123456
              required:
                - name
    patch:
      summary: Update
      operationId: update
      description: 'This endpoint lets user to update single record using uuid.'
      parameters: []
      responses: {  }
      tags:
        - 'Company Location'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the location.'
                  example: 'Phoenix Metro Area'
                description:
                  type: string
                  description: 'optional The description of the location.'
                  example: 'We do amazing things here.'
                phone:
                  type: string
                  description: 'optional The last name of the location.'
                  example: '5554443333'
                email:
                  type: string
                  description: 'optional The email of the location.'
                  example: hello@smarterlaunch.com
                address1:
                  type: string
                  description: 'optional The address of the company.'
                  example: "'123 Smarter Launch Way'"
                address2:
                  type: string
                  description: 'optional The address of the company.'
                  example: "'Suite 101'"
                city:
                  type: string
                  description: 'optional The company city name.'
                  example: 'Queen Creek'
                country_state_uuid:
                  type: string
                  description: 'optional The company state uuid.'
                  example: ecd24580-2749-11ec-9b86-1102c06e74b4
                country_uuid:
                  type: string
                  description: 'optional The company country uuid.'
                  example: ecd24580-2749-11ec-9b86-1102c06e74b4
                postal_code:
                  type: string
                  description: 'optional The postal code of the company.'
                  example: '85410'
                latitude:
                  type: string
                  description: 'optional The latitude of the company.'
                  example: '23.0396'
                longitude:
                  type: string
                  description: 'optional The longitude of the company.'
                  example: '72.566'
                enable_overrides:
                  type: boolean
                  description: optional.
                  example: true
                license_number:
                  type: string
                  description: optional.
                  example: lc-123456
              required:
                - name
    delete:
      summary: Delete
      operationId: delete
      description: 'This endpoint enables user to delete a company location'
      parameters: []
      responses: {  }
      tags:
        - 'Company Location'
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: companyLocation_uuid
        description: ''
        example: 0d980228-9e69-3470-b7c5-c9f146e91123
        required: true
        schema:
          type: string
      -
        in: path
        name: companyUUID
        description: 'The company uuid.'
        example: 3245d630-24fd-11ec-accd-e397aec85c7f
        required: true
        schema:
          type: string
      -
        in: path
        name: companyLocationUUID
        description: 'The company uuid.'
        example: 3245d630-24fd-11ec-accd-e397aec85c7f
        required: true
        schema:
          type: string
  '/api/v1/companies/{company_uuid}/locations/updateAll':
    put:
      summary: 'Update All'
      operationId: updateAll
      description: 'This endpoint lets user to update multiple record using uuids.'
      parameters: []
      responses: {  }
      tags:
        - 'Company Location'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                '*':
                  type: object
                  description: ''
                  example:
                    name: 'Phoenix Metro Area'
                  properties:
                    name:
                      type: string
                      description: 'The name of the location.'
                      example: 'Phoenix Metro Area'
                    description:
                      type: string
                      description: 'optional The description of the location.'
                      example: 'We do amazing things here.'
                    phone:
                      type: string
                      description: 'optional The last name of the location.'
                      example: '5554443333'
                    email:
                      type: string
                      description: 'optional The email of the location.'
                      example: hello@smarterlaunch.com
                    address1:
                      type: string
                      description: 'optional The address of the company.'
                      example: "'123 Smarter Launch Way'"
                    address2:
                      type: string
                      description: 'optional The address of the company.'
                      example: "'Suite 101'"
                    city:
                      type: string
                      description: 'optional The company city name.'
                      example: 'Queen Creek'
                    country_state_uuid:
                      type: string
                      description: 'optional The company state uuid.'
                      example: ecd24580-2749-11ec-9b86-1102c06e74b4
                    country_uuid:
                      type: string
                      description: 'optional The company country uuid.'
                      example: ecd24580-2749-11ec-9b86-1102c06e74b4
                    postal_code:
                      type: string
                      description: 'optional The postal code of the company.'
                      example: '85410'
                    latitude:
                      type: string
                      description: 'optional The latitude of the company.'
                      example: '23.0396'
                    longitude:
                      type: string
                      description: 'optional The longitude of the company.'
                      example: '72.566'
                    enable_overrides:
                      type: boolean
                      description: optional.
                      example: true
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: companyUuid
        description: 'The uuid id of the company.'
        example: 3245d630-24fd-11ec-accd-e397aec85c7f
        required: true
        schema:
          type: string
  '/api/v1/companies/{company_uuid}/locations/{companyLocation_uuid}/integration-data':
    get:
      summary: 'Integration Data'
      operationId: integrationData
      description: 'Get data from a 3rd party API'
      parameters: []
      responses: {  }
      tags:
        - 'Company Location'
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: companyLocation_uuid
        description: ''
        example: ba12d499-bd73-3ab1-b1ef-a6a9d84ec3cb
        required: true
        schema:
          type: string
      -
        in: path
        name: uuid
        description: 'The uuid of the company location.'
        example: 3245d630-24fd-11ec-accd-e397aec85c7f
        required: true
        schema:
          type: string
      -
        in: path
        name: integration_type_uuid
        description: 'The uuid of the integration type.'
        example: 3245d630-24fd-11ec-accd-e397aec85c7f
        required: true
        schema:
          type: string
      -
        in: path
        name: force_look_up
        description: 'Optional parameter.'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 'true'
  /api/v1/auth/register:
    post:
      summary: 'Company Registration.'
      operationId: companyRegistration
      description: 'This endpoint lets company owner/manager to register.'
      parameters: []
      responses: {  }
      tags:
        - 'User Authentication'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                company_name:
                  type: string
                  description: 'The company name of the user.'
                  example: 'Smarter Launch'
                first_name:
                  type: string
                  description: 'The first name of the user.'
                  example: John
                last_name:
                  type: string
                  description: 'The last name of the user.'
                  example: Smith
                email:
                  type: string
                  description: 'The email of the user.'
                  example: hello@smarterlaunch.com
                password:
                  type: string
                  description: 'The password of the user.'
                  example: '$m@4T34L@un(}{'
                confirm_password:
                  type: string
                  description: 'The same password for confirmation.'
                  example: '$m@4T34L@un(}{'
                referral_source:
                  type: string
                  description: 'optional The referral source.'
                  example: 'google ad'
              required:
                - company_name
                - first_name
                - last_name
                - email
                - password
                - confirm_password
      security: []
  /api/v1/auth/register/social:
    post:
      summary: 'Company registration using social account.'
      operationId: companyRegistrationUsingSocialAccount
      description: 'This endpoint lets company to register using social account.'
      parameters: []
      responses: {  }
      tags:
        - 'User Authentication'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                social_type:
                  type: integer
                  description: 'The login type of the user (Google = 1).'
                  example: 1
                code:
                  type: string
                  description: 'auth code of the user.'
                  example: '111806022046983237516'
                referral_source:
                  type: string
                  description: 'optional The referral source.'
                  example: 'google ad'
              required:
                - social_type
                - code
      security: []
  /api/v1/auth/register/company-user:
    post:
      summary: 'User registration based on company invite.'
      operationId: userRegistrationBasedOnCompanyInvite
      description: 'This endpoint lets you user to register himself who are invited by company.'
      parameters: []
      responses: {  }
      tags:
        - 'User Authentication'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                first_name:
                  type: string
                  description: 'The first name of the user.'
                  example: John
                last_name:
                  type: string
                  description: 'The last name of the user.'
                  example: Smith
                email:
                  type: string
                  description: 'The email of the user.'
                  example: hello@smarterlaunch.com
                password:
                  type: string
                  description: 'The password of the user.'
                  example: '$m@4T34L@un(}{'
                confirm_password:
                  type: string
                  description: 'The same password for confirmation.'
                  example: '$m@4T34L@un(}{'
                token:
                  type: string
                  description: 'To restrict unauthorized registration.'
                  example: 7hKxKlz5sKHlqXFkkCfsKpj9iVPoaSlM18Uv5JuehYXQfTme33XtxGmNQ1yE
              required:
                - first_name
                - last_name
                - email
                - password
                - confirm_password
                - token
      security: []
  /api/v1/auth/register/social/company-user:
    post:
      summary: 'User registration using social account based on company invite.'
      operationId: userRegistrationUsingSocialAccountBasedOnCompanyInvite
      description: 'This endpoint lets user to register using social account.'
      parameters: []
      responses: {  }
      tags:
        - 'User Authentication'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                email:
                  type: string
                  description: 'The email of the user.'
                  example: hello@smarterlaunch.com
                social_type:
                  type: integer
                  description: 'The login type of the user (Google = 1).'
                  example: 1
                social_id:
                  type: string
                  description: 'The social id of the user provided by the 3rd party provider.'
                  example: '111806022046983237516'
                social_token_id:
                  type: string
                  description: 'The social id of the user.'
                  example: eyRhbGciOiJSUzI1NiIsImtpZCI6Ijg1ODI4YzU5Jjg0YTY5YjU0YjI3NDgzZTQ4N2MzYmQ0NmNkMmEyYjMiLCJ0eXAiOiJKV1QifB
                token:
                  type: string
                  description: 'To restrict unauthorized registration.'
                  example: 7hKxKlz5sKHlqXFkkCfsKpj9iVPoaSlM18Uv5JuehYXQfTme33XtxGmNQ1yE
              required:
                - email
                - social_type
                - social_id
                - social_token_id
                - token
      security: []
  /api/v1/auth/login:
    post:
      summary: Login.
      operationId: login
      description: 'This endpoint allows common login into the system.'
      parameters: []
      responses: {  }
      tags:
        - 'User Authentication'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                email:
                  type: string
                  description: 'The email-id of the user.'
                  example: hello@smarterlaunch.com
                password:
                  type: string
                  description: 'The password of the user.'
                  example: xxxxxx
              required:
                - email
                - password
      security: []
  /api/v1/auth/login/social:
    post:
      summary: 'Social Login.'
      operationId: socialLogin
      description: 'This endpoint lets you login into the system using a 3rd party provider.'
      parameters: []
      responses: {  }
      tags:
        - 'User Authentication'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                social_type:
                  type: integer
                  description: 'The login type of the user (Google = 1).'
                  example: 1
                code:
                  type: string
                  description: 'auth code of the user.'
                  example: '111806022046983237516'
              required:
                - social_type
                - code
      security: []
  /api/v1/auth/forgot-password:
    post:
      summary: 'Forgot password.'
      operationId: forgotPassword
      description: 'This endpoint lets user to get token to change password.'
      parameters: []
      responses: {  }
      tags:
        - 'User Authentication'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                email:
                  type: string
                  description: 'The email of the user.'
                  example: hello@smarterlaunch.com
                token:
                  type: string
                  description: 'This field is required when email is not present.'
                  example: quam
              required:
                - email
      security: []
  /api/v1/auth/token-validate:
    post:
      summary: 'Validate Bearer token.'
      operationId: validateBearerToken
      description: 'This endpoint lets user to validate token, on success returns token object.'
      parameters: []
      responses: {  }
      tags:
        - 'User Authentication'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                bearer_token:
                  type: string
                  description: required.
                  example: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9...
      security: []
  /api/v1/auth/token-expiration:
    get:
      summary: "Get Token Expiration\nThis endpoint allows client to retrieve their user token expiration date."
      operationId: getTokenExpirationThisEndpointAllowsClientToRetrieveTheirUserTokenExpirationDate
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'User Authentication'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                email:
                  type: string
                  description: 'The email of the user.'
                  example: hello@smarterlaunch.com
              required:
                - email
      security: []
  /api/v1/auth/verify-email:
    post:
      summary: 'Verify email.'
      operationId: verifyEmail
      description: 'This endpoint lets the user verify their email and login with token and password.'
      parameters: []
      responses: {  }
      tags:
        - 'User Authentication'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                email:
                  type: string
                  description: 'The email of the user.'
                  example: hello@smarterlaunch.com
                password:
                  type: string
                  description: 'The password of the user.'
                  example: '$m@4T34L@un(}{'
                token:
                  type: string
                  description: 'To restrict unauthorized registration.'
                  example: '123456'
              required:
                - email
                - password
                - token
      security: []
  /api/v1/auth/verify-email-resend:
    post:
      summary: 'Resend the email verification notification.'
      operationId: resendTheEmailVerificationNotification
      description: 'This endpoint lets user to resend email verification notification.'
      parameters: []
      responses: {  }
      tags:
        - 'User Authentication'
  /api/v1/auth/reset-password:
    post:
      summary: 'Reset password.'
      operationId: resetPassword
      description: 'This endpoint lets the user reset their password.'
      parameters: []
      responses: {  }
      tags:
        - 'User Authentication'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                password:
                  type: string
                  description: 'The password of the user.'
                  example: '$m@4T34L@un(}{'
                confirm_password:
                  type: string
                  description: 'The same password for confirmation.'
                  example: '$m@4T34L@un(}{'
                token:
                  type: string
                  description: 'To restrict unauthorized registration.'
                  example: 7hKxKlz5sKHlqXFkkCfsKpj9iVPoaSlM18Uv5JuehYXQfTme33XtxGmNQ1yE
                email:
                  type: string
                  description: 'The email of the user.'
                  example: hello@smarterlaunch.com
              required:
                - password
                - confirm_password
                - token
                - email
  /api/v1/auth/check-token-validity:
    post:
      summary: 'Check token validity.'
      operationId: checkTokenValidity
      description: 'This endpoint verifies the validity of a reset password token.'
      parameters: []
      responses: {  }
      tags:
        - 'User Authentication'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                token:
                  type: string
                  description: 'The token to be verified.'
                  example: 7hKxKlz5sKHlqXFkkCfsKpj9iVPoaSlM18Uv5JuehYXQfTme33XtxGmNQ1yE
              required:
                - token
  /api/v1/auth/user-invite:
    get:
      summary: 'Get invited user by token'
      operationId: getInvitedUserByToken
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'User Authentication'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                token:
                  type: string
                  description: 'The token provided for the invited user.'
                  example: BMj4tHdI9jeRidv8O6emwqwepk34sl2tYrm1gakhDhqgOxdi7JO4BEkJG4yh
              required:
                - token
      security: []
  /api/v1/auth/logout:
    post:
      summary: Logout.
      operationId: logout
      description: "let's user to logout."
      parameters: []
      responses: {  }
      tags:
        - 'User Authentication'
  /api/v1/device-info/store:
    post:
      summary: 'User Device Management.'
      operationId: userDeviceManagement
      description: 'This endpoint lets user to add device information.'
      parameters: []
      responses: {  }
      tags:
        - 'User Authentication'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                pushtoken:
                  type: string
                  description: 'The push-token.'
                  example: xxxxx
                device_name:
                  type: string
                  description: 'The device name of the device.'
                  example: 'iPhone 12'
                device_id:
                  type: string
                  description: 'The device id of the device.'
                  example: skdlfsk-sfs-dsfsdf-sdfs
                app_version:
                  type: string
                  description: 'The app version of the device.'
                  example: v1
                os_version:
                  type: string
                  description: 'The os version of the device.'
                  example: 'iOS 14.1'
                time_zone:
                  type: string
                  description: 'The time zone of the user.'
                  example: NZ
                platform:
                  type: string
                  description: 'The platform of the device.'
                  example: Apple
              required:
                - pushtoken
                - device_name
                - device_id
                - app_version
                - os_version
                - time_zone
                - platform
  '/api/v1/companies/{company_uuid}/integrations/{companyIntegration_uuid}/{action}':
    get:
      summary: 'Generic handler for company integration actions'
      operationId: genericHandlerForCompanyIntegrationActions
      description: "If the method exists within the CompanyIntegrationController, it will be called,\notherwise it will be passed to the integration type if the method exists there.\n\nIf the endpoint is a no-auth endpoint, we will allow it to be executed without\ngoing through the auth middleware. This is useful for endpoints that are called\nby customers that aren't logged in. The endpoint must be explicitly defined to\nbe a no-auth endpoint in the integration type."
      parameters: []
      responses: {  }
      tags:
        - 'Company Integration'
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: companyIntegration_uuid
        description: ''
        example: e6b24f5e-ed60-3e88-a5c6-87a7d4f4dab0
        required: true
        schema:
          type: string
      -
        in: path
        name: action
        description: ''
        example: ipsam
        required: true
        schema:
          type: string
  '/api/v1/integration-types/{integrationType_type_code}/{action}':
    get:
      summary: 'Generic handler for integration type actions'
      operationId: genericHandlerForIntegrationTypeActions
      description: "it will be passed to the integration type if the method exists there.\n\nIf the endpoint is a no-auth endpoint, we will allow it to be executed without\ngoing through the auth middleware. This is useful for endpoints that are called\nby customers that aren't logged in. The endpoint must be explicitly defined to\nbe a no-auth endpoint in the integration type."
      parameters: []
      responses: {  }
      tags:
        - 'Company Integration'
    parameters:
      -
        in: path
        name: integrationType_type_code
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: action
        description: ''
        example: modi
        required: true
        schema:
          type: string
  '/api/v1/companies/{company_uuid}/integrations':
    get:
      summary: List
      operationId: list
      description: 'Shows the list of integrations for a company'
      parameters: []
      responses: {  }
      tags:
        - 'Company Integration'
    post:
      summary: Store
      operationId: store
      description: 'Create a company integration with empty credential values'
      parameters: []
      responses: {  }
      tags:
        - 'Company Integration'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                integration_type_uuid:
                  type: uuid
                  description: 'The integration type UUID.'
                  example: 3245d630-24fd-11ec-accd-e397aec85c7f
              required:
                - integration_type_uuid
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_uuid}/integrations/{companyIntegration_uuid}':
    get:
      summary: Show
      operationId: show
      description: 'Shows a single item of integrations for a company'
      parameters: []
      responses: {  }
      tags:
        - 'Company Integration'
    put:
      summary: Update
      operationId: update
      description: "This endpoint updates the company integration and triggers the sync process (if applicable)\nif the data is verified and the status is set to active."
      parameters: []
      responses: {  }
      tags:
        - 'Company Integration'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                credentials:
                  type: array
                  description: 'The credentials for the company integration'
                  example:
                    - iste
                  items:
                    type: string
                status_uuid:
                  type: uuid
                  description: 'The status UUID for company integration'
                  example: 374c4991-99c1-3998-af2e-fc7bfe44f9a7
              required:
                - credentials
                - status_uuid
    patch:
      summary: Patch
      operationId: patch
      description: "This endpoint patch the company integration and triggers the sync process\nif the data is verified and the status is set to active."
      parameters: []
      responses: {  }
      tags:
        - 'Company Integration'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                credentials:
                  type: array
                  description: 'The credentials for the company integration'
                  example:
                    - rerum
                  items:
                    type: string
                status_uuid:
                  type: uuid
                  description: 'The status uuid for company integration'
                  example: 355eaaba-cd5e-3b37-b21e-2749cef47328
              required:
                - credentials
                - status_uuid
    delete:
      summary: Delete
      operationId: delete
      description: 'This endpoint allows user to delete a Company Integration.'
      parameters: []
      responses: {  }
      tags:
        - 'Company Integration'
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: companyIntegration_uuid
        description: ''
        example: 1a846b14-82da-3085-9a3a-d7f34f198b02
        required: true
        schema:
          type: string
      -
        in: path
        name: company_integration_uuid
        description: "Optional parameter. uuid required\n     The UUID of the company integration that is to be updated."
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 3245d634-24fd-11ec-accd-e397aec85c7f
  /api/v1/integrations:
    get:
      summary: 'List Integration Types'
      operationId: listIntegrationTypes
      description: "Shows the list of integration types available for a company. 
\nNote: Only administrators have access to certain integration types."
      parameters: []
      responses: {  }
      tags:
        - 'Company Integration'
  '/api/v1/companies/{company_uuid}/symbols':
    get:
      summary: List
      operationId: list
      description: 'Shows the list of company symbols with pagination.'
      parameters: []
      responses: {  }
      tags:
        - 'Company Symbol'
    post:
      summary: Store
      operationId: store
      description: 'Store a newly created company symbol.'
      parameters: []
      responses: {  }
      tags:
        - 'Company Symbol'
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the symbol. Example : Dig'
                  example: aspernatur
                source:
                  type: string
                  description: 'The source of the symbol. Example : text'
                  example: veritatis
                description:
                  type: string
                  description: 'optional The description of the symbol. Example : text'
                  example: 'Possimus repellat autem repellendus et fugiat et.'
                icon_url:
                  type: string
                  description: 'optional The image url of the symbol.'
                  example: 'http://smarterlaunch.local/image1.jpg'
                icon_file:
                  type: string
                  format: binary
                  description: 'optional The file of the symbol image.'
                company_product_uuids:
                  type: array
                  description: 'of string optional The products of the symbol.'
                  example:
                    - suscipit
                  items:
                    type: string
              required:
                - name
                - source
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: page
        description: 'Optional parameter. The page number. Example : 1'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 16
      -
        in: path
        name: page_size
        description: 'Optional parameter. The number of record you want per page. Example : 5'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 5
      -
        in: path
        name: sort_by
        description: 'Optional parameter. The column name. Example : name'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: deserunt
      -
        in: path
        name: sort_order
        description: 'Optional parameter. The order in which you want your records. Example : asc'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: qui
      -
        in: path
        name: search
        description: 'Optional parameter. The general search, it will find matching string. Example : home'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: dolore
      -
        in: path
        name: with_trashed
        description: 'Optional parameter. boolean To display soft deleted data as well. Example : true'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: autem
      -
        in: path
        name: category_uuids
        description: 'Optional parameter. string[] To filter symbols by category. Example : [3245d630-24fd-11ec-accd-e397aec85c7f, 3245d630-24fd-11ec-accd-e397aec85c7f]'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: fuga
  '/api/v1/companies/{company_uuid}/symbols/{companySymbol_uuid}':
    get:
      summary: Show
      operationId: show
      description: 'Show a single company symbol.'
      parameters: []
      responses: {  }
      tags:
        - 'Company Symbol'
    put:
      summary: Update
      operationId: update
      description: 'Update a company symbol.'
      parameters: []
      responses: {  }
      tags:
        - 'Company Symbol'
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the symbol. Example : Dig'
                  example: quia
                source:
                  type: string
                  description: 'The source of the symbol. Example : text'
                  example: corrupti
                description:
                  type: string
                  description: 'optional The description of the symbol. Example : text'
                  example: 'Accusamus consequatur voluptates sequi quo consectetur.'
                icon_url:
                  type: string
                  description: 'optional The image url of the symbol.'
                  example: 'http://smarterlaunch.local/image1.jpg'
                icon_file:
                  type: string
                  format: binary
                  description: 'optional The file of the symbol image.'
                company_product_uuids:
                  type: array
                  description: 'of string optional The products of the symbol.'
                  example:
                    - nisi
                  items:
                    type: string
              required:
                - name
                - source
    post:
      summary: Update
      operationId: update
      description: 'Update a company symbol.'
      parameters: []
      responses: {  }
      tags:
        - 'Company Symbol'
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the symbol. Example : Dig'
                  example: voluptatem
                source:
                  type: string
                  description: 'The source of the symbol. Example : text'
                  example: porro
                description:
                  type: string
                  description: 'optional The description of the symbol. Example : text'
                  example: 'Autem beatae beatae et placeat ea temporibus.'
                icon_url:
                  type: string
                  description: 'optional The image url of the symbol.'
                  example: 'http://smarterlaunch.local/image1.jpg'
                icon_file:
                  type: string
                  format: binary
                  description: 'optional The file of the symbol image.'
                company_product_uuids:
                  type: array
                  description: 'of string optional The products of the symbol.'
                  example:
                    - suscipit
                  items:
                    type: string
              required:
                - name
                - source
    patch:
      summary: Patch
      operationId: patch
      description: 'Patch a company symbol.'
      parameters: []
      responses: {  }
      tags:
        - 'Company Symbol'
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the symbol. Example : Dig'
                  example: labore
                source:
                  type: string
                  description: 'The source of the symbol. Example : text'
                  example: dicta
                description:
                  type: string
                  description: 'optional The description of the symbol. Example : text'
                  example: 'Qui dolorum error itaque rerum praesentium dolorem autem.'
                icon_url:
                  type: string
                  description: 'optional The image url of the symbol.'
                  example: 'http://smarterlaunch.local/image1.jpg'
                icon_file:
                  type: string
                  format: binary
                  description: 'optional The file of the symbol image.'
              required:
                - name
                - source
    delete:
      summary: Delete
      operationId: delete
      description: 'Delete a company symbol.'
      parameters: []
      responses: {  }
      tags:
        - 'Company Symbol'
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: companySymbol_uuid
        description: ''
        example: 400bd498-5c87-32db-9234-de4fdf41d834
        required: true
        schema:
          type: string
  /api/v1/support-request:
    post:
      summary: Store
      operationId: store
      description: 'Send support request from users'
      parameters: []
      responses: {  }
      tags:
        - 'Support Request'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                support_type:
                  type: string
                  description: 'The support type.'
                  example: "'General Inquiry'"
                description:
                  type: string
                  description: 'The support request details.'
                  example: "'I cannot access documents. Please help.'"
                recordings:
                  type: object
                  description: ''
                  example: null
                  properties: {  }
                client_detail:
                  type: object
                  description: ''
                  example: null
                  properties: {  }
                screenshots_url:
                  type: array
                  description: 'The screenshots URL string.'
                  example:
                    - 'https://example.net/image1.jpg'
                    - 'https://example.net/image1.png'
                  items:
                    type: string
                error_detail:
                  type: object
                  description: ''
                  example: null
                  properties: {  }
                no_attachments:
                  type: boolean
                  description: 'Check if request has attachments.'
                  example: false
              required:
                - support_type
                - description
                - screenshots_url
                - no_attachments
  '/api/v1/support-request-upload/{supportRequest_uuid}':
    post:
      summary: Upload
      operationId: upload
      description: 'Upload photos for Cover Letter or Photo Layout pages'
      parameters: []
      responses: {  }
      tags:
        - 'Support Request'
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                screenshot_file:
                  type: string
                  format: binary
                  description: 'Must be a file. Must be an image.'
                document_template_page_title:
                  type: string
                  description: 'The template page title.'
                  example: 'Cover Letter'
                photo_file:
                  type: string
                  format: binary
                  description: 'The photo of template page.'
                title:
                  type: string
                  description: 'optional The title of the photo.'
                  example: 'Cover Letter Featured Image'
                decription:
                  type: string
                  description: 'optional The description of the photo.'
                  example: 'Lorem ipsum dolor'
                append:
                  type: boolean
                  description: 'optional Determine whether to append uploaded photo to existing photos of template page.'
                  example: true
              required:
                - screenshot_file
                - document_template_page_title
                - photo_file
    parameters:
      -
        in: path
        name: supportRequest_uuid
        description: ''
        example: 2551cf7e-81b5-33db-b4fe-a06b619d1ff4
        required: true
        schema:
          type: string
  '/api/v1/companies/{company_uuid}/pests-treated':
    get:
      summary: List
      operationId: list
      description: 'Shows the list of pest treated with pagination.'
      parameters: []
      responses: {  }
      tags:
        - 'Pest Treated'
    post:
      summary: Store
      operationId: store
      description: 'Store a newly created pest treated.'
      parameters: []
      responses: {  }
      tags:
        - 'Pest Treated'
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the pest treated. Example : Pest Treated 1'
                  example: ullam
                pest_treated_attributes:
                  type: object
                  description: 'The attributes of the pest treated.'
                  example:
                    attr: value
                  properties: {  }
                icon_image_url:
                  type: string
                  description: 'optional The image url of the pest treated.'
                  example: 'http://smarterlaunch.local/image1.jpg'
                photo_file:
                  type: string
                  format: binary
                  description: 'optional The file of the pest treated image.'
                pest_treated:
                  type: array
                  description: 'optional An array of the above parameters.'
                  example: null
                  items:
                    type: object
              required:
                - name
                - pest_treated_attributes
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: page
        description: 'Optional parameter. The page number. Example : 1'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 1
      -
        in: path
        name: page_size
        description: 'Optional parameter. The number of record you want per page. Example : 5'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 7
      -
        in: path
        name: sort_by
        description: 'Optional parameter. The column name. Example : name'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: rerum
      -
        in: path
        name: sort_order
        description: 'Optional parameter. The order in which you want your records. Example : asc'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: nihil
      -
        in: path
        name: search
        description: 'Optional parameter. The general search, it will find matching string. Example : home'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: aperiam
  '/api/v1/companies/{company_uuid}/pests-treated/{pestTreated_uuid}':
    get:
      summary: Show
      operationId: show
      description: 'Show a single pest treated.'
      parameters: []
      responses: {  }
      tags:
        - 'Pest Treated'
    put:
      summary: Update
      operationId: update
      description: 'Update a pest treated.'
      parameters: []
      responses: {  }
      tags:
        - 'Pest Treated'
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the pest treated. Example : Pest Treated 1'
                  example: et
                pest_treated_attributes:
                  type: object
                  description: 'The attributes of the pest treated.'
                  example:
                    attr: value
                  properties: {  }
                icon_image_url:
                  type: string
                  description: 'optional The image url of the pest treated.'
                  example: 'http://smarterlaunch.local/image1.jpg'
                photo_file:
                  type: string
                  format: binary
                  description: 'optional The file of the pest treated image.'
              required:
                - name
                - pest_treated_attributes
    post:
      summary: Update
      operationId: update
      description: 'Update a pest treated.'
      parameters: []
      responses: {  }
      tags:
        - 'Pest Treated'
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the pest treated. Example : Pest Treated 1'
                  example: aut
                pest_treated_attributes:
                  type: object
                  description: 'The attributes of the pest treated.'
                  example:
                    attr: value
                  properties: {  }
                icon_image_url:
                  type: string
                  description: 'optional The image url of the pest treated.'
                  example: 'http://smarterlaunch.local/image1.jpg'
                photo_file:
                  type: string
                  format: binary
                  description: 'optional The file of the pest treated image.'
              required:
                - name
                - pest_treated_attributes
    patch:
      summary: Patch
      operationId: patch
      description: 'Patch a company pest treated.'
      parameters: []
      responses: {  }
      tags:
        - 'Pest Treated'
      requestBody:
        required: false
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'optional The name of the pest treated. Example : Pest Treated 1'
                  example: praesentium
                pest_treated_attributes:
                  type: object
                  description: 'optional The attributes of the pest treated.'
                  example:
                    attr: value
                  properties: {  }
                icon_image_url:
                  type: string
                  description: 'optional The image url of the pest treated.'
                  example: 'http://smarterlaunch.local/image1.jpg'
                photo_file:
                  type: string
                  format: binary
                  description: 'optional The file of the pest treated image.'
    delete:
      summary: Delete
      operationId: delete
      description: 'Delete a pest treated.'
      parameters: []
      responses: {  }
      tags:
        - 'Pest Treated'
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: pestTreated_uuid
        description: ''
        example: 16e22993-7d68-3430-ac78-acf633e78406
        required: true
        schema:
          type: string
  /api/v1/media-sources:
    get:
      summary: List
      operationId: list
      description: 'Shows the list of media source with pagination.'
      parameters: []
      responses: {  }
      tags:
        - 'Media Source'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                types:
                  type: object
                  description: ''
                  example: null
                  properties: {  }
    post:
      summary: Store
      operationId: store
      description: 'Upload a media source'
      parameters: []
      responses: {  }
      tags:
        - 'Media Source'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the file. Example : MyFile.txt'
                  example: sed
                description:
                  type: string
                  description: 'The description of the file. Example : This is a sample description for uploaded file'
                  example: 'Ut est repudiandae veniam dolores aut.'
    parameters:
      -
        in: path
        name: page
        description: 'Optional parameter. The page number. Example : 1'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 2
      -
        in: path
        name: page_size
        description: 'Optional parameter. The number of record you want per page. Example : 5'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 19
      -
        in: path
        name: sort_by
        description: 'Optional parameter. The column name. Example : name'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: voluptates
      -
        in: path
        name: sort_order
        description: 'Optional parameter. The order in which you want your records. Example : asc'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: impedit
      -
        in: path
        name: search
        description: 'Optional parameter. The general search, it will find matching string. Example : home'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: qui
  /api/v1/media-sources/favorites:
    get:
      summary: 'Favorite Media Source List'
      operationId: favoriteMediaSourceList
      description: 'Get the list of favorite Media Sources'
      parameters: []
      responses: {  }
      tags:
        - 'Media Source'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the media source. Example : "My media source"'
                  example: libero
                description:
                  type: string
                  description: 'The description of the media source. Example : "Lorem ipsum dolor sit, amet consectetur adipisicing elit. Consequatur dolores iste quae soluta."'
                  example: 'Cumque dolores aut et omnis repellendus molestias.'
              required:
                - name
  '/api/v1/media-sources/{mediaSource_uuid}':
    get:
      summary: Show
      operationId: show
      description: 'Show a single media source'
      parameters: []
      responses: {  }
      tags:
        - 'Media Source'
    put:
      summary: Update
      operationId: update
      description: 'Update a media source.'
      parameters: []
      responses: {  }
      tags:
        - 'Media Source'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the media source. Example : "My media source"'
                  example: voluptas
                description:
                  type: string
                  description: 'The description of the media source. Example : "Lorem ipsum dolor sit, amet consectetur adipisicing elit. Consequatur dolores iste quae soluta."'
                  example: 'Quia dolorum reprehenderit quisquam id.'
              required:
                - name
    patch:
      summary: Patch
      operationId: patch
      description: 'Patch a media source.'
      parameters: []
      responses: {  }
      tags:
        - 'Media Source'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the media source. Example : "My media source"'
                  example: veritatis
                description:
                  type: string
                  description: 'The description of the media source. Example : "Lorem ipsum dolor sit, amet consectetur adipisicing elit. Consequatur dolores iste quae soluta."'
                  example: 'Voluptas a vel cumque et cupiditate suscipit.'
              required:
                - name
    delete:
      summary: Delete
      operationId: delete
      description: 'Delete a media source.'
      parameters: []
      responses: {  }
      tags:
        - 'Media Source'
    parameters:
      -
        in: path
        name: mediaSource_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/media-sources/{mediaSource_uuid}/favorites':
    post:
      summary: 'Add to Favorite'
      operationId: addToFavorite
      description: "Add media source to the user company's media source favorites"
      parameters: []
      responses: {  }
      tags:
        - 'Media Source'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the media source. Example : "My media source"'
                  example: sunt
                description:
                  type: string
                  description: 'The description of the media source. Example : "Lorem ipsum dolor sit, amet consectetur adipisicing elit. Consequatur dolores iste quae soluta."'
                  example: 'Debitis quidem voluptas adipisci quas delectus possimus ut fugiat.'
              required:
                - name
    delete:
      summary: 'Remove Favorite Media Source'
      operationId: removeFavoriteMediaSource
      description: "Remove media source to the user company's media source favorites"
      parameters: []
      responses: {  }
      tags:
        - 'Media Source'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the media source. Example : "My media source"'
                  example: molestias
                description:
                  type: string
                  description: 'The description of the media source. Example : "Lorem ipsum dolor sit, amet consectetur adipisicing elit. Consequatur dolores iste quae soluta."'
                  example: 'Beatae et aut hic quas sit et ratione.'
              required:
                - name
    parameters:
      -
        in: path
        name: mediaSource_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/media-sources/{mediaSource_uuid}/import-csv':
    post:
      summary: 'Import CSV'
      operationId: importCSV
      description: 'Accept CSV and populate media item data for a media source/manufacturer'
      parameters: []
      responses: {  }
      tags:
        - 'Media Source'
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  type: string
                  format: binary
                  description: 'The name of the media source. Example : "company.csv"'
              required:
                - file
    parameters:
      -
        in: path
        name: mediaSource_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
  /api/v1/proposals/templates:
    get:
      summary: List
      operationId: list
      description: 'Shows the list of ProposalTemplates with pagination.'
      parameters: []
      responses: {  }
      tags:
        - 'Proposal Templates'
    post:
      summary: Store
      operationId: store
      description: 'Store a newly created Proposal Template.'
      parameters: []
      responses: {  }
      tags:
        - 'Proposal Templates'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                company_location_uuid:
                  type: string
                  description: "The uuid of company location for proposal template.\n     Example : \"815d3d9c-f371-3781-8456-7e6954b5b0f5\""
                  example: 6f25c752-03ef-3184-954a-dbf0d631d0de
                title:
                  type: string
                  description: 'The name of the proposal template. Example : Proposal Template 1'
                  example: quam
                description:
                  type: string
                  description: 'The name of the proposal template. Example : This is a sample description'
                  example: 'Omnis ipsa qui deleniti in voluptatibus.'
                settings:
                  type: object
                  description: 'The attributes of the proposal template.'
                  example:
                    attr: value
                  properties: {  }
                service_plan_uuids:
                  type: array
                  description: 'The list of ServicePlans to be associated to the ProposalTemplate.'
                  example:
                    - 815d3d9c-f371-3781-8456-7e6954b5b0f5
                    - 815d3d9c-f371-3781-8456-7e6954b5b0f5
                  items:
                    type: string
              required:
                - company_location_uuid
                - title
    parameters:
      -
        in: path
        name: page
        description: 'Optional parameter. The page number. Example : 1'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 12
      -
        in: path
        name: page_size
        description: 'Optional parameter. The number of record you want per page. Example : 5'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 6
      -
        in: path
        name: sort_by
        description: 'Optional parameter. The column name. Example : name'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: ut
      -
        in: path
        name: sort_order
        description: 'Optional parameter. The order in which you want your records. Example : asc'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: recusandae
      -
        in: path
        name: search
        description: 'Optional parameter. The general search, it will find matching string. Example : home'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: tempora
      -
        in: path
        name: string
        description: 'Optional parameter. The filter for proposal templates with company location in company_locations_uuid.'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: '["725d1dcd-54ad-3a8b-a28e-830c43d8ed6c", "b033658c-4532-3dd7-9be7-64433580eda6"]'
  '/api/v1/proposals/templates/{proposalTemplate_uuid}/duplicate':
    post:
      summary: Duplicate
      operationId: duplicate
      description: 'Duplicate a proposal template'
      parameters: []
      responses: {  }
      tags:
        - 'Proposal Templates'
    parameters:
      -
        in: path
        name: proposalTemplate_uuid
        description: ''
        example: b0abf2bc-90a3-37d0-aab7-cd8fcf28e334
        required: true
        schema:
          type: string
  '/api/v1/proposals/templates/{proposalTemplate_uuid}':
    get:
      summary: Show
      operationId: show
      description: 'Show a single proposal template.'
      parameters: []
      responses: {  }
      tags:
        - 'Proposal Templates'
    put:
      summary: Update
      operationId: update
      description: 'Update a proposal template.'
      parameters: []
      responses: {  }
      tags:
        - 'Proposal Templates'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                company_location_uuid:
                  type: string
                  description: "The uuid of company location for proposal template.\n     Example : \"815d3d9c-f371-3781-8456-7e6954b5b0f5\""
                  example: 6ba6aae3-2c56-385b-adc1-b0cfb92fb591
                title:
                  type: string
                  description: 'The name of the proposal template. Example : Proposal Template 1'
                  example: sit
                description:
                  type: string
                  description: 'The name of the proposal template. Example : This is a sample description'
                  example: 'Recusandae ad rem et temporibus.'
                settings:
                  type: object
                  description: 'The attributes of the proposal template.'
                  example:
                    attr: value
                  properties: {  }
                service_plan_uuids:
                  type: array
                  description: 'The list of ServicePlans to be associated to the ProposalTemplate.'
                  example:
                    - 815d3d9c-f371-3781-8456-7e6954b5b0f5
                    - 815d3d9c-f371-3781-8456-7e6954b5b0f5
                  items:
                    type: string
              required:
                - company_location_uuid
                - title
    patch:
      summary: Patch
      operationId: patch
      description: 'Patch a company proposal template.'
      parameters: []
      responses: {  }
      tags:
        - 'Proposal Templates'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                company_location_uuid:
                  type: string
                  description: "The uuid of company location for proposal template.\n     Example : \"815d3d9c-f371-3781-8456-7e6954b5b0f5\""
                  example: 6b4afa19-ffe0-33fb-bfcb-de1771751b75
                title:
                  type: string
                  description: 'The name of the proposal template. Example : Proposal Template 1'
                  example: voluptas
                description:
                  type: string
                  description: 'The name of the proposal template. Example : This is a sample description'
                  example: 'Ad et magnam voluptas placeat nostrum sequi quia.'
                settings:
                  type: object
                  description: 'The attributes of the proposal template.'
                  example:
                    attr: value
                  properties: {  }
                service_plan_uuids:
                  type: array
                  description: 'The list of ServicePlans to be associated to the ProposalTemplate.'
                  example:
                    - 815d3d9c-f371-3781-8456-7e6954b5b0f5
                    - 815d3d9c-f371-3781-8456-7e6954b5b0f5
                  items:
                    type: string
    delete:
      summary: Delete
      operationId: delete
      description: 'Delete a proposal template.'
      parameters: []
      responses: {  }
      tags:
        - 'Proposal Templates'
    parameters:
      -
        in: path
        name: proposalTemplate_uuid
        description: ''
        example: 3dfb293a-ba9a-3fc0-9e66-d854243bf178
        required: true
        schema:
          type: string
  /api/v1/media-items:
    get:
      summary: List
      operationId: list
      description: 'Shows the list of media items with pagination.'
      parameters: []
      responses: {  }
      tags:
        - 'Media Item'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                types:
                  type: object
                  description: ''
                  example: null
                  properties: {  }
                media_tag_names:
                  type: object
                  description: ''
                  example: null
                  properties: {  }
                company_uuid:
                  type: string
                  description: 'Must be a valid UUID.'
                  example: a075bdfd-bee8-34d2-a202-d725aff9115b
                companies_uuid:
                  type: object
                  description: ''
                  example: null
                  properties: {  }
                company_location_uuid:
                  type: string
                  description: 'Must be a valid UUID.'
                  example: 6325f4b0-7295-36d5-8765-8a9bd20defcb
                company_locations_uuid:
                  type: object
                  description: ''
                  example: null
                  properties: {  }
                media_source_uuid:
                  type: string
                  description: 'Must be a valid UUID.'
                  example: c5402b65-743b-3d7f-84c9-0ce40400f8b3
                include_global_files:
                  type: boolean
                  description: ''
                  example: false
    post:
      summary: Store
      operationId: store
      description: 'Upload a media item'
      parameters: []
      responses: {  }
      tags:
        - 'Media Item'
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the file. Example : MyFile.txt'
                  example: sunt
                description:
                  type: string
                  description: 'The description of the file. Example : This is a sample description for uploaded file'
                  example: 'Libero provident quos quia in totam et incidunt.'
                directory:
                  type: string
                  description: 'The directory where the file will be located.'
                  example: proposal-template
                type:
                  type: string
                  description: 'The type of the file (in: image, document).'
                  example: document
                fileUpload:
                  type: string
                  format: binary
                  description: 'The file to be uploaded.'
              required:
                - directory
                - type
                - fileUpload
    parameters:
      -
        in: path
        name: page
        description: 'Optional parameter. The page number. Example : 1'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 6
      -
        in: path
        name: page_size
        description: 'Optional parameter. The number of record you want per page. Example : 5'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 10
      -
        in: path
        name: sort_by
        description: 'Optional parameter. The column name. Example : name'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: est
      -
        in: path
        name: sort_order
        description: 'Optional parameter. The order in which you want your records. Example : asc'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: repellendus
      -
        in: path
        name: search
        description: 'Optional parameter. The general search, it will find matching string. Example : home'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: at
  '/api/v1/media-items/{mediaItem_uuid}':
    get:
      summary: Show
      operationId: show
      description: 'Show a single media item'
      parameters: []
      responses: {  }
      tags:
        - 'Media Item'
    put:
      summary: Update
      operationId: update
      description: 'Update a media item.'
      parameters: []
      responses: {  }
      tags:
        - 'Media Item'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the media item. Example : "My media item"'
                  example: aut
                description:
                  type: string
                  description: 'The description of the media item. Example : "Lorem ipsum dolor sit, amet consectetur adipisicing elit. Consequatur dolores iste quae soluta."'
                  example: 'Quis ratione nisi eligendi quas fuga facilis.'
              required:
                - name
    patch:
      summary: Patch
      operationId: patch
      description: 'Patch a media item.'
      parameters: []
      responses: {  }
      tags:
        - 'Media Item'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the media item. Example : "My media item"'
                  example: ut
                description:
                  type: string
                  description: 'The description of the media item. Example : "Lorem ipsum dolor sit, amet consectetur adipisicing elit. Consequatur dolores iste quae soluta."'
                  example: 'Id pariatur aut voluptate facilis doloribus in a sed.'
              required:
                - name
    delete:
      summary: Delete
      operationId: delete
      description: 'Delete a media item.'
      parameters: []
      responses: {  }
      tags:
        - 'Media Item'
    parameters:
      -
        in: path
        name: mediaItem_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_uuid}/products':
    get:
      summary: List
      operationId: list
      description: 'Shows the list of company products with pagination.'
      parameters: []
      responses: {  }
      tags:
        - 'Company Product'
    post:
      summary: Store
      operationId: store
      description: 'Store a newly created company product.'
      parameters: []
      responses: {  }
      tags:
        - 'Company Product'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the product. Example : Product 1'
                  example: nihil
                product_attributes:
                  type: object
                  description: 'The attributes of the product.'
                  example:
                    attr: value
                  properties: {  }
                label_image_url:
                  type: string
                  description: 'optional The image url of the product.'
                  example: 'http://smarterlaunch.local/image1.jpg'
              required:
                - name
                - product_attributes
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: page
        description: 'Optional parameter. The page number. Example : 1'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 17
      -
        in: path
        name: page_size
        description: 'Optional parameter. The number of record you want per page. Example : 5'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 10
      -
        in: path
        name: sort_by
        description: 'Optional parameter. The column name. Example : name'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: ipsa
      -
        in: path
        name: sort_order
        description: 'Optional parameter. The order in which you want your records. Example : asc'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: perspiciatis
      -
        in: path
        name: search
        description: 'Optional parameter. The general search, it will find matching string. Example : home'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: in
  '/api/v1/companies/{company_uuid}/products/{companyProduct_uuid}':
    get:
      summary: Show
      operationId: show
      description: 'Show a single company product.'
      parameters: []
      responses: {  }
      tags:
        - 'Company Product'
    put:
      summary: Update
      operationId: update
      description: 'Update a company product.'
      parameters: []
      responses: {  }
      tags:
        - 'Company Product'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the product. Example : Product 1'
                  example: corrupti
                product_attributes:
                  type: object
                  description: 'The attributes of the product.'
                  example:
                    attr: value
                  properties: {  }
                label_image_url:
                  type: string
                  description: 'optional The image url of the product.'
                  example: 'http://smarterlaunch.local/image1.jpg'
              required:
                - name
                - product_attributes
    patch:
      summary: Patch
      operationId: patch
      description: 'Patch a company product.'
      parameters: []
      responses: {  }
      tags:
        - 'Company Product'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'optional The name of the product. Example : Product 1'
                  example: iste
                product_attributes:
                  type: object
                  description: 'optional The attributes of the product.'
                  example:
                    attr: value
                  properties: {  }
                label_image_url:
                  type: string
                  description: 'optional The image url of the product.'
                  example: 'http://smarterlaunch.local/image1.jpg'
    delete:
      summary: Delete
      operationId: delete
      description: 'Delete a product.'
      parameters: []
      responses: {  }
      tags:
        - 'Company Product'
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: companyProduct_uuid
        description: ''
        example: 012310d6-342d-3f51-b542-a66231e2b332
        required: true
        schema:
          type: string
  /api/v1/import-set-tags:
    get:
      summary: List
      operationId: list
      description: 'Shows the list of tags with pagination.'
      parameters: []
      responses: {  }
      tags:
        - Tag
    parameters:
      -
        in: path
        name: page
        description: 'Optional parameter. The page number. Example : 1'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 6
      -
        in: path
        name: page_size
        description: 'Optional parameter. The number of record you want per page. Example : 5'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 10
      -
        in: path
        name: sort_by
        description: 'Optional parameter. The column name. Example : name'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: iusto
      -
        in: path
        name: sort_order
        description: 'Optional parameter. The order in which you want your records. Example : asc'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: inventore
      -
        in: path
        name: search
        description: 'Optional parameter. The general search, it will find matching string. Example : "Pest Control"'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: perspiciatis
  /api/v1/permissions:
    get:
      summary: 'List / Fetch'
      operationId: listFetch
      description: 'Shows the list of permission or fetch single record using uuid.'
      parameters: []
      responses: {  }
      tags:
        - Permission
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                uuid:
                  type: string
                  description: 'optional The uuid of the permission.'
                  example: 3245d630-24fd-11ec-accd-e397aec85c7f
                name:
                  type: string
                  description: 'The name of the permission.'
                  example: user-list
              required:
                - name
    post:
      summary: 'Create / Update permission.'
      operationId: createUpdatePermission
      description: 'This endpoint lets user to create/update permission.'
      parameters: []
      responses: {  }
      tags:
        - Permission
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the permission.'
                  example: user-list
                uuid:
                  type: string
                  description: 'optional The uuid of the permission.'
                  example: ecd24580-2749-11ec-9b86-1102c06e74b4
              required:
                - name
  '/api/v1/permissions/{permissionUuid}':
    get:
      summary: 'List / Fetch'
      operationId: listFetch
      description: 'Shows the list of permission or fetch single record using uuid.'
      parameters: []
      responses: {  }
      tags:
        - Permission
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                uuid:
                  type: string
                  description: 'optional The uuid of the permission.'
                  example: 3245d630-24fd-11ec-accd-e397aec85c7f
                name:
                  type: string
                  description: 'The name of the permission.'
                  example: user-list
              required:
                - name
    put:
      summary: 'Create / Update permission.'
      operationId: createUpdatePermission
      description: 'This endpoint lets user to create/update permission.'
      parameters: []
      responses: {  }
      tags:
        - Permission
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the permission.'
                  example: user-list
                uuid:
                  type: string
                  description: 'optional The uuid of the permission.'
                  example: ecd24580-2749-11ec-9b86-1102c06e74b4
              required:
                - name
    delete:
      summary: Delete
      operationId: delete
      description: 'This endpoint allows user to delete permission.'
      parameters: []
      responses: {  }
      tags:
        - Permission
    parameters:
      -
        in: path
        name: permissionUuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_uuid}/files':
    post:
      summary: Store
      operationId: store
      description: 'Upload a file into a company'
      parameters: []
      responses: {  }
      tags:
        - 'Company File'
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the file. Example : MyFile.txt'
                  example: est
                description:
                  type: string
                  description: 'The description of the file. Example : This is a sample description for uploaded file'
                  example: 'Possimus odio maiores pariatur.'
                directory:
                  type: string
                  description: 'The directory where the file will be located.'
                  example: proposal-template
                type:
                  type: string
                  description: 'The type of the file (in: image, document).'
                  example: document
                fileUpload:
                  type: string
                  format: binary
                  description: 'The file to be uploaded.'
              required:
                - directory
                - type
                - fileUpload
    delete:
      summary: Delete
      operationId: delete
      description: 'Delete a file from a company'
      parameters: []
      responses: {  }
      tags:
        - 'Company File'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                file_url:
                  type: string
                  description: 'or array The url of the file. Example : MyFile.txt'
                  example: 'http://www.hansen.com/'
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
  /api/v1/countries:
    get:
      summary: 'List / Fetch'
      operationId: listFetch
      description: 'Shows the list of country or fetch single record using uuid.'
      parameters: []
      responses: {  }
      tags:
        - Country
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                uuid:
                  type: string
                  description: 'optional The country uuid.'
                  example: 3245d630-24fd-11ec-accd-e397aec85c7f
                name:
                  type: string
                  description: 'optional The country name.'
                  example: baroda
      security: []
  '/api/v1/countries/{countryUuid}':
    get:
      summary: 'List / Fetch'
      operationId: listFetch
      description: 'Shows the list of country or fetch single record using uuid.'
      parameters: []
      responses: {  }
      tags:
        - Country
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                uuid:
                  type: string
                  description: 'optional The country uuid.'
                  example: 3245d630-24fd-11ec-accd-e397aec85c7f
                name:
                  type: string
                  description: 'optional The country name.'
                  example: baroda
      security: []
    parameters:
      -
        in: path
        name: countryUuid
        description: ''
        example: 3090c2a4-ff54-3104-93e1-1d425abed41b
        required: true
        schema:
          type: string
  '/api/v1/countries/{countryUuid}/states':
    get:
      summary: 'Get country states using country uuid.'
      operationId: getCountryStatesUsingCountryUuid
      description: 'Shows the list of states using country uuid.'
      parameters: []
      responses: {  }
      tags:
        - Country
      security: []
    parameters:
      -
        in: path
        name: countryUuid
        description: ''
        example: 6f336365-9d73-3f49-941e-b5f164004766
        required: true
        schema:
          type: string
      -
        in: path
        name: country_uuid
        description: 'The country uuid.'
        example: 3245d630-24fd-11ec-accd-e397aec85c7f
        required: true
        schema:
          type: string
  /api/v1/solution-categories:
    get:
      summary: List
      operationId: list
      description: 'Shows the list of solution categories.'
      parameters: []
      responses: {  }
      tags:
        - 'Solution Category'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                include_fields:
                  type: array
                  description: ''
                  example:
                    - user_progress
                  items:
                    type: string
                ignore_cached:
                  type: boolean
                  description: ''
                  example: false
    post:
      summary: Store
      operationId: store
      description: 'Store a new solution category.'
      parameters: []
      responses: {  }
      tags:
        - 'Solution Category'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the solution category. Example : Solution Category 1'
                  example: repellendus
                description:
                  type: string
                  description: 'The attributes of the solution category.'
                  example: '"Lorem ipsum dolor sit amet consectetur adipisicing elit."'
                parent_solution_category_uuid:
                  type: string
                  description: 'optional The parent of the solution category.'
                  example: '"3c787d66-2a4f-3f1d-9591-c330be0abe82"'
              required:
                - name
                - description
    parameters:
      -
        in: path
        name: page
        description: 'Optional parameter. The page number. Example : 1'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 18
      -
        in: path
        name: page_size
        description: 'Optional parameter. The number of record you want per page. Example : 5'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 6
      -
        in: path
        name: sort_by
        description: 'Optional parameter. The column name. Example : name'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: ab
      -
        in: path
        name: sort_order
        description: 'Optional parameter. The order in which you want your records. Example : asc'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: enim
      -
        in: path
        name: search
        description: 'Optional parameter. The general search, it will find matching string. Example : home'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: architecto
      -
        in: path
        name: filter_by_parent_solution_category_uuids
        description: 'Optional parameter. array To filter the list of solution categories by parent solution category. Example : ["3c787d66-2a4f-3f1d-9591-c330be0abe82"]'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: aspernatur
  '/api/v1/solution-categories/{solutionCategory_uuid}':
    get:
      summary: Show
      operationId: show
      description: 'Show a single solution category.'
      parameters: []
      responses: {  }
      tags:
        - 'Solution Category'
    put:
      summary: Update
      operationId: update
      description: 'Update a solution category.'
      parameters: []
      responses: {  }
      tags:
        - 'Solution Category'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the solution category. Example : Proposal Creation'
                  example: molestias
                description:
                  type: string
                  description: 'The attributes of the solution category.'
                  example: '"Lorem ipsum dolor sit amet consectetur adipisicing elit."'
                parent_solution_category_uuid:
                  type: string
                  description: 'optional The parent of the solution category.'
                  example: '"3c787d66-2a4f-3f1d-9591-c330be0abe82"'
              required:
                - name
                - description
    patch:
      summary: Patch
      operationId: patch
      description: 'Patch a solution category.'
      parameters: []
      responses: {  }
      tags:
        - 'Solution Category'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the solution category. Example : Proposal Creation'
                  example: commodi
                description:
                  type: string
                  description: 'The attributes of the solution category.'
                  example: '"Lorem ipsum dolor sit amet consectetur adipisicing elit."'
                parent_solution_category_uuid:
                  type: string
                  description: 'optional The parent of the solution category.'
                  example: '"3c787d66-2a4f-3f1d-9591-c330be0abe82"'
              required:
                - name
                - description
    delete:
      summary: Delete
      operationId: delete
      description: 'Delete a solution category.'
      parameters: []
      responses: {  }
      tags:
        - 'Solution Category'
    parameters:
      -
        in: path
        name: solutionCategory_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/solution-categories/{solutionCategory_uuid}/reset':
    put:
      summary: Reset
      operationId: reset
      description: 'Reset a solution category user progress.'
      parameters: []
      responses: {  }
      tags:
        - 'Solution Category'
    parameters:
      -
        in: path
        name: solutionCategory_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/solution-categories/{solutionCategory_uuid}/user-progress':
    put:
      summary: 'Update user progress'
      operationId: updateUserProgress
      description: 'Update user progress.'
      parameters: []
      responses: {  }
      tags:
        - 'Solution Category'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                is_completed:
                  type: boolean
                  description: 'The solution category of the solution. Example : false'
                  example: false
                step:
                  type: object
                  description: 'The current step the use is on. Example : 2'
                  example: []
                  properties: {  }
    parameters:
      -
        in: path
        name: solutionCategory_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/solution-categories/{solutionCategory_uuid}/sort':
    patch:
      summary: 'Patch Index'
      operationId: patchIndex
      description: 'Performs specific updates for solution categories'
      parameters: []
      responses: {  }
      tags:
        - 'Solution Category'
    parameters:
      -
        in: path
        name: solutionCategory_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: solution_categories_ranking_list
        description: 'Optional parameter. string[] A dictionary of uuids with uuid as key and rank as the value. Example : {"69e56cdf-cea8-4356-b35d-58d610aba886" : 1, "9c578b77-916a-4620-a246-fa951f422912" : 2}'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: possimus
  '/api/v1/solutions/{solution_uuid}/feedback':
    get:
      summary: List
      operationId: list
      description: 'Shows the list of solution feedbacks.'
      parameters: []
      responses: {  }
      tags:
        - 'Solution Feedback'
    post:
      summary: Store
      operationId: store
      description: 'Store a new solution feedback.'
      parameters: []
      responses: {  }
      tags:
        - 'Solution Feedback'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                rate:
                  type: integer
                  description: 'The name of the solution. Example : 5'
                  example: 18
                feedback:
                  type: string
                  description: 'The attributes of the solution.'
                  example: '"Lorem ipsum dolor sit amet consectetur adipisicing elit."'
              required:
                - rate
    parameters:
      -
        in: path
        name: solution_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: page
        description: 'Optional parameter. The page number. Example : 1'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 16
      -
        in: path
        name: page_size
        description: 'Optional parameter. The number of record you want per page. Example : 5'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 15
      -
        in: path
        name: sort_by
        description: 'Optional parameter. The column name. Example : name'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: sit
      -
        in: path
        name: sort_order
        description: 'Optional parameter. The order in which you want your records. Example : asc'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: non
      -
        in: path
        name: search
        description: 'Optional parameter. The general search, it will find matching string. Example : home'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: atque
  '/api/v1/solutions/{solution_uuid}/feedback/{solutionFeedback_uuid}':
    get:
      summary: Show
      operationId: show
      description: 'Show a single solution.'
      parameters: []
      responses: {  }
      tags:
        - 'Solution Feedback'
    put:
      summary: Update
      operationId: update
      description: 'Update a solution .'
      parameters: []
      responses: {  }
      tags:
        - 'Solution Feedback'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                rate:
                  type: integer
                  description: 'The name of the solution. Example : 5'
                  example: 17
                feedback:
                  type: string
                  description: 'The attributes of the solution.'
                  example: '"Lorem ipsum dolor sit amet consectetur adipisicing elit."'
              required:
                - rate
    patch:
      summary: Patch
      operationId: patch
      description: 'Patch a solution feedback.'
      parameters: []
      responses: {  }
      tags:
        - 'Solution Feedback'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                rate:
                  type: integer
                  description: 'The name of the solution. Example : 5'
                  example: 14
                feedback:
                  type: string
                  description: 'The attributes of the solution.'
                  example: '"Lorem ipsum dolor sit amet consectetur adipisicing elit."'
              required:
                - rate
    delete:
      summary: Delete
      operationId: delete
      description: 'Remove the specified resource from storage.'
      parameters: []
      responses: {  }
      tags:
        - 'Solution Feedback'
    parameters:
      -
        in: path
        name: solution_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: solutionFeedback_uuid
        description: ''
        example: dbc2de69-2abb-3430-8bd9-89e6a5eebd70
        required: true
        schema:
          type: string
  '/api/v1/companies/{company_uuid}/users':
    get:
      summary: List
      operationId: list
      description: 'Shows the list of company users that the user has access to view.'
      parameters:
        -
          in: query
          name: page
          description: 'optional The page number.'
          example: 1
          required: false
          schema:
            type: integer
            description: 'optional The page number.'
            example: 1
      responses: {  }
      tags:
        - 'Company Users'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                include_fields:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: string
                ignore_cached:
                  type: boolean
                  description: ''
                  example: true
                should_reset_cache:
                  type: boolean
                  description: 'optional Resets the cache'
                  example: false
                page_size:
                  type: integer
                  description: 'optional The number of records you want per page.'
                  example: 15
                sort_by:
                  type: string
                  description: 'optional The column name.'
                  example: display_name
                sort_order:
                  type: string
                  description: 'optional The order in which you want your records.'
                  example: asc
                search:
                  type: string
                  description: 'optional The general search, it will find matching string.'
                  example: John
                filter_by_status_code:
                  type: string/array
                  description: 'optional Filter results by user status.'
                  example: 'STATUS_ACTIVE / ["STATUS_ACTIVE"."STATUS_DISABLED"]'
                filter_by_role_code:
                  type: string
                  description: 'optional Filter results by user role.'
                  example: ROLE_COMPANY_MANAGER
                filter_by_company_location_uuid:
                  type: string
                  description: 'uuid optional Filter results by company location uuid.'
                  example: 3245d630-24fd-11ec-accd-e397aec85c7f
    post:
      summary: 'Send invitation to user.'
      operationId: sendInvitationToUser
      description: 'This endpoint lets company owner to send invite to its sub-user.'
      parameters: []
      responses: {  }
      tags:
        - 'Company Users'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                first_name:
                  type: string
                  description: 'The first name of the user.'
                  example: John
                email:
                  type: string
                  description: 'The email of the user.'
                  example: hello@smarterlaunch.com
                role_uuid:
                  type: string
                  description: 'uuid required The role uuid of the user.'
                  example: 45955590-4152-11ec-9c77-2181a8ee04db
                company_locations:
                  type: object
                  description: ''
                  example: []
                  properties: {  }
                last_name:
                  type: string
                  description: 'The first name of the user.'
                  example: Smith
                'company_locations[]':
                  type: string
                  description: 'uuid of The company location.'
                  example: '["45955590-4152-11ec-9c77-2181a8ee04db"]'
              required:
                - first_name
                - email
                - company_locations
                - last_name
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: companyUuid
        description: 'The company uuid.'
        example: 3245d630-24fd-11ec-accd-e397aec85c7f
        required: true
        schema:
          type: string
  '/api/v1/companies/{company_uuid}/users/{userOrUserInviteUuid}':
    get:
      summary: Show
      operationId: show
      description: 'Shows detail of a specific company user'
      parameters: []
      responses: {  }
      tags:
        - 'Company Users'
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: userOrUserInviteUuid
        description: ''
        example: 3
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_uuid}/users/{uuid}':
    post:
      summary: 'Resend invitation to user.'
      operationId: resendInvitationToUser
      description: 'This endpoint lets company owner to send invite to its sub-user.'
      parameters: []
      responses: {  }
      tags:
        - 'Company Users'
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: uuid
        description: 'The invited user uuid.'
        example: 3245d630-24fd-11ec-accd-e397aec85c7f
        required: true
        schema:
          type: string
  '/api/v1/companies/{company_uuid}/users/{userInviteUuid}/activate':
    post:
      summary: 'Force activate user'
      operationId: forceActivateUser
      description: 'This endpoint lets admin/super admin to activate user.'
      parameters: []
      responses: {  }
      tags:
        - 'Company Users'
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: userInviteUuid
        description: ''
        example: 3
        required: true
        schema:
          type: integer
      -
        in: path
        name: uuid
        description: 'The invited user uuid.'
        example: 3245d630-24fd-11ec-accd-e397aec85c7f
        required: true
        schema:
          type: string
  '/api/v1/companies/{company_uuid}/users/{userUuid}':
    put:
      summary: Update
      operationId: update
      description: 'This endpoint lets the user update company user.'
      parameters: []
      responses: {  }
      tags:
        - 'Company Users'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                first_name:
                  type: string
                  description: 'The first name of the user.'
                  example: John
                last_name:
                  type: string
                  description: 'The last name of the user.'
                  example: Smith
                email:
                  type: string
                  description: 'optional The email of the user.'
                  example: hello@smarterlaunch.com
                role_uuid:
                  type: string
                  description: 'uuid required The role uuid of the user.'
                  example: 45955590-4152-11ec-9c77-2181a8ee04db
                company_locations:
                  type: array
                  description: 'array of uuid required The company location.'
                  example:
                    - 3245d630-24fd-11ec-accd-e397aec85c7f
                  items:
                    type: object
              required:
                - first_name
                - last_name
    patch:
      summary: Patch
      operationId: patch
      description: 'This endpoint lets the user patch company user.'
      parameters: []
      responses: {  }
      tags:
        - 'Company Users'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                first_name:
                  type: string
                  description: 'optional The first name of the user.'
                  example: John
                last_name:
                  type: string
                  description: 'optional The last name of the user.'
                  example: Smith
                role_uuid:
                  type: string
                  description: 'uuid optional The role uuid of the user.'
                  example: 45955590-4152-11ec-9c77-2181a8ee04db
                company_locations:
                  type: array
                  description: 'array of uuid optional The company location.'
                  example:
                    - 3245d630-24fd-11ec-accd-e397aec85c7f
                  items:
                    type: object
                status_uuid:
                  type: string
                  description: 'Must be a valid UUID.'
                  example: 6e4afc95-ac9c-330a-afcc-d62aee67a46f
                email:
                  type: string
                  description: 'optional The email of the user.'
                  example: hello@smarterlaunch.com
    delete:
      summary: Delete
      operationId: delete
      description: 'This endpoint allows owner to delete a user.'
      parameters: []
      responses: {  }
      tags:
        - 'Company Users'
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: userUuid
        description: ''
        example: 3
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_uuid}/custom-field-groups':
    get:
      summary: List
      operationId: list
      description: 'Shows the list of company custom field groups with pagination.'
      parameters: []
      responses: {  }
      tags:
        - 'Company Field Group'
    post:
      summary: Store
      operationId: store
      description: 'Store a newly created company custom field group.'
      parameters: []
      responses: {  }
      tags:
        - 'Company Field Group'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the custom field group. Example : Additional Details'
                  example: soluta
                assignment:
                  type: enum
                  description: 'CUSTOMER|CUSTOMER_ADDRESS|MY_ACCOUNT|COMPANY|COMPANY_LOCATION required The assignment of the custom field group. Example : CUSTOMER'
                  example: id
                company_custom_fields:
                  type: array
                  description: "of object required The company_custom_fields of the custom field group. Example : [{label: 'Address 3', input_type: 'TEXT}]"
                  example:
                    - hic
                  items:
                    type: string
              required:
                - name
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: page
        description: 'Optional parameter. The page number. Example : 1'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 2
      -
        in: path
        name: page_size
        description: 'Optional parameter. The number of record you want per page. Example : 5'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 16
      -
        in: path
        name: sort_by
        description: 'Optional parameter. The column name. Example : name'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: corrupti
      -
        in: path
        name: sort_order
        description: 'Optional parameter. The order in which you want your records. Example : asc'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: ut
      -
        in: path
        name: search
        description: 'Optional parameter. The general search, it will find matching string. Example : home'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: voluptatem
      -
        in: path
        name: with_trashed
        description: 'Optional parameter. boolean To display soft deleted data as well. Example : true'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: est
      -
        in: path
        name: assignment
        description: 'Optional parameter. To filter data by assignment. Example : CUSTOMER_ADDRESS'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: ut
  '/api/v1/companies/{company_uuid}/custom-field-groups/{companyCustomFieldGroup_uuid}':
    get:
      summary: Show
      operationId: show
      description: 'Show a single company custom field group.'
      parameters: []
      responses: {  }
      tags:
        - 'Company Field Group'
    put:
      summary: Update
      operationId: update
      description: 'Update a company custom field group.'
      parameters: []
      responses: {  }
      tags:
        - 'Company Field Group'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the custom field group. Example : Additional Details'
                  example: officia
                assignment:
                  type: enum
                  description: 'CUSTOMER|CUSTOMER_ADDRESS|MY_ACCOUNT|COMPANY|COMPANY_LOCATION required The assignment of the custom field group. Example : CUSTOMER'
                  example: et
                company_custom_fields:
                  type: array
                  description: "of object required The company_custom_fields of the custom field group. Example : [{label: 'Address 3', input_type: 'TEXT}]"
                  example:
                    - reprehenderit
                  items:
                    type: string
                deleted_custom_field_uuids:
                  type: array
                  description: 'of uuid required The deleted_custom_field_uuids of the custom field group. Example : ["3245d630-24fd-11ec-accd-e397aec85c7f", "3245d630-24fd-11ec-accd-e397aec85c7f"]'
                  example:
                    - quia
                  items:
                    type: string
              required:
                - name
    patch:
      summary: Patch
      operationId: patch
      description: 'Patch a company custom field group.'
      parameters: []
      responses: {  }
      tags:
        - 'Company Field Group'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the custom field group. Example : Additional Details'
                  example: ea
                assignment:
                  type: enum
                  description: 'CUSTOMER|CUSTOMER_ADDRESS|MY_ACCOUNT|COMPANY|COMPANY_LOCATION required The assignment of the custom field group. Example : CUSTOMER'
                  example: animi
                company_custom_fields:
                  type: array
                  description: "of object required The company_custom_fields of the custom field group. Example : [{label: 'Address 3', input_type: 'TEXT}]"
                  example:
                    - et
                  items:
                    type: string
                deleted_custom_field_uuids:
                  type: array
                  description: 'of uuid required The deleted_custom_field_uuids of the custom field group. Example : ["3245d630-24fd-11ec-accd-e397aec85c7f", "3245d630-24fd-11ec-accd-e397aec85c7f"]'
                  example:
                    - et
                  items:
                    type: string
              required:
                - name
    delete:
      summary: Delete
      operationId: delete
      description: 'Delete a company custom field group.'
      parameters: []
      responses: {  }
      tags:
        - 'Company Field Group'
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: companyCustomFieldGroup_uuid
        description: ''
        example: 255856ef-ebaf-3b54-9e14-c6120f297a9a
        required: true
        schema:
          type: string
  /api/v1/upload-from-url:
    post:
      summary: ''
      operationId: postApiV1UploadFromUrl
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'Other Endpoints'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                url:
                  type: string
                  description: 'Must be a valid URL.'
                  example: 'http://runolfsdottir.com/'
              required:
                - url
  /api/v1/auth/webhook-receiving-url:
    post:
      summary: ''
      operationId: postApiV1AuthWebhookReceivingUrl
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'Other Endpoints'
  /api/v1/auth/webhooks/subscribe-test:
    post:
      summary: Test
      operationId: test
      description: 'Save new webhook subscription'
      parameters: []
      responses: {  }
      tags:
        - 'Other Endpoints'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                url:
                  type: string
                  description: 'The url where smarterlaunch submit data when particular events are triggered.'
                  example: "'http://zapier.com/customer-created-in-smarterlaunch'"
                event:
                  type: string
                  description: 'To determine what kind of trigger the webhook is for.'
                  example: "customer-create'"
                type:
                  type: boolean
                  description: 'Check To determine what integration the incoming webhook is for.'
                  example: true
              required:
                - url
                - event
                - type
  '/api/v1/companies/{company_uuid}/proposals/{proposal_uuid}/proposal-file-upload-presigned-url':
    post:
      summary: "POST\nGet S3 Pre-signed Url for Proposal Review"
      operationId: pOSTGetS3PreSignedUrlForProposalReview
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'Other Endpoints'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                signature_photo:
                  type: object
                  description: 'The signature image file object {"full_path": string, "md5_hash": string, "extension": string}.'
                  example:
                    full_path: /test/signature.png
                    md5_hash: '#hash#'
                    extension: png
                  properties: {  }
                proposal_pdf:
                  type: object
                  description: 'The pdf file object {"full_path": string, "md5_hash": string, "extension": string}.'
                  example:
                    full_path: /test/proposal.pdf
                    md5_hash: '#hash#'
                    extension: pdf
                  properties: {  }
              required:
                - signature_photo
                - proposal_pdf
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: proposal_uuid
        description: ''
        example: 15
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_uuid}/proposals/{proposal_uuid}/file-upload-presigned-url':
    post:
      summary: "POST\nGet S3 Pre-signed Url"
      operationId: pOSTGetS3PreSignedUrl
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'Other Endpoints'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                'items[]':
                  type: $items
                  description: "An array of ['path' => string, 'extension' => string, 'md5_hash' => string, 'is_full_path' => boolean]."
                  example: '[{"path": "/companies/{company-uuid}/", "extension": "jpg"}]'
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: proposal_uuid
        description: ''
        example: 15
        required: true
        schema:
          type: integer
  /api/v1/file-upload-presigned-url:
    post:
      summary: "POST\nGet S3 Pre-signed Url"
      operationId: pOSTGetS3PreSignedUrl
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'Other Endpoints'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                'items[]':
                  type: $items
                  description: "An array of ['path' => string, 'extension' => string, 'md5_hash' => string, 'is_full_path' => boolean]."
                  example: '[{"path": "/companies/{company-uuid}/", "extension": "jpg"}]'
  '/api/v1/companies/{company_uuid}/line-items':
    get:
      summary: List
      operationId: list
      description: 'Shows the list of line items with pagination.'
      parameters: []
      responses: {  }
      tags:
        - 'Other Endpoints'
    post:
      summary: Store
      operationId: store
      description: 'Store a new line item.'
      parameters: []
      responses: {  }
      tags:
        - 'Other Endpoints'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the line item. Example : "Termite Pesticide"'
                  example: dolore
                description:
                  type: string
                  description: 'The description of the line item. Example : "Termite Pesticide"'
                  example: 'Sapiente sit in iste mollitia quo exercitationem eligendi.'
                line_item_values:
                  type: string
                  description: 'The data of the line item. Example : {"price": [100, 100]}'
                  example: consequatur
              required:
                - name
                - description
                - line_item_values
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: page
        description: 'Optional parameter. The page number. Example : 1'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 4
      -
        in: path
        name: page_size
        description: 'Optional parameter. The number of record you want per page. Example : 5'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 20
      -
        in: path
        name: sort_by
        description: 'Optional parameter. The column name. Example : name'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: quia
      -
        in: path
        name: sort_order
        description: 'Optional parameter. The order in which you want your records. Example : asc'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: fugiat
      -
        in: path
        name: search
        description: 'Optional parameter. The general search, it will find matching string. Example : home'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: nobis
  '/api/v1/companies/{company_uuid}/line-items/{lineItem_uuid}':
    get:
      summary: Show
      operationId: show
      description: 'Show a single line item.'
      parameters: []
      responses: {  }
      tags:
        - 'Other Endpoints'
    put:
      summary: Update
      operationId: update
      description: 'Update a line item.'
      parameters: []
      responses: {  }
      tags:
        - 'Other Endpoints'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the line item. Example : "Termite Pesticide"'
                  example: sed
                description:
                  type: string
                  description: 'The description of the line item. Example : "Termite Pesticide"'
                  example: 'Alias ut quo animi dolores fugit.'
                line_item_values:
                  type: string
                  description: 'The data of the line item. Example : {"price": [100, 100]}'
                  example: fugit
              required:
                - name
                - line_item_values
    patch:
      summary: Patch
      operationId: patch
      description: 'Update a line item.'
      parameters: []
      responses: {  }
      tags:
        - 'Other Endpoints'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the line item. Example : "Termite Pesticide"'
                  example: aliquam
                description:
                  type: string
                  description: 'The description of the line item. Example : "Termite Pesticide"'
                  example: 'Nam aliquid aut est consequatur.'
                line_item_values:
                  type: string
                  description: 'The data of the line item. Example : {"price": [100, 100]}'
                  example: harum
              required:
                - name
                - line_item_values
    delete:
      summary: Delete
      operationId: delete
      description: 'Delete a line item.'
      parameters: []
      responses: {  }
      tags:
        - 'Other Endpoints'
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: lineItem_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_uuid}/line-items/import':
    post:
      summary: 'Import Set to Line Items'
      operationId: importSetToLineItems
      description: 'Store a newly created import set.'
      parameters: []
      responses: {  }
      tags:
        - 'Other Endpoints'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                import_files:
                  type: files
                  description: 'The set of json files containing import settings data.'
                  example: quasi
                override:
                  type: boolean
                  description: 'Determine if the import set will replace the current ones with matching names.'
                  example: false
              required:
                - import_files
                - override
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_uuid}/teams':
    get:
      summary: List
      operationId: list
      description: 'Shows the list of teams with pagination.'
      parameters: []
      responses: {  }
      tags:
        - 'Other Endpoints'
    post:
      summary: Store
      operationId: store
      description: 'Store a newly created team.'
      parameters: []
      responses: {  }
      tags:
        - 'Other Endpoints'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the team. Example : "Engineering"'
                  example: sit
              required:
                - name
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: page
        description: 'Optional parameter. The page number. Example : 1'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 1
      -
        in: path
        name: page_size
        description: 'Optional parameter. The number of record you want per page. Example : 5'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 4
      -
        in: path
        name: sort_by
        description: 'Optional parameter. The column name. Example : name'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: magnam
      -
        in: path
        name: sort_order
        description: 'Optional parameter. The order in which you want your records. Example : asc'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: vitae
      -
        in: path
        name: search
        description: 'Optional parameter. The general search, it will find matching string. Example : home'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: qui
  '/api/v1/companies/{company_uuid}/teams/{team_uuid}':
    get:
      summary: Show
      operationId: show
      description: 'Show a single team.'
      parameters: []
      responses: {  }
      tags:
        - 'Other Endpoints'
    put:
      summary: Update
      operationId: update
      description: 'Update a team.'
      parameters: []
      responses: {  }
      tags:
        - 'Other Endpoints'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the team. Example : "Accounting"'
                  example: et
              required:
                - name
    patch:
      summary: Patch
      operationId: patch
      description: 'Patch a company team.'
      parameters: []
      responses: {  }
      tags:
        - 'Other Endpoints'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the team. Example : "Accounting"'
                  example: nihil
    delete:
      summary: Delete
      operationId: delete
      description: 'Delete a team.'
      parameters: []
      responses: {  }
      tags:
        - 'Other Endpoints'
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: team_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
  /api/v1/reports/templates:
    get:
      summary: List
      operationId: list
      description: 'Returns the list of available reports'
      parameters: []
      responses: {  }
      tags:
        - 'Other Endpoints'
    parameters:
      -
        in: path
        name: page
        description: 'Optional parameter. The page number. Example : 1'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 19
      -
        in: path
        name: page_size
        description: 'Optional parameter. The number of record you want per page. Example : 5'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 9
      -
        in: path
        name: sort_by
        description: 'Optional parameter. The column name. Example : title'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: facilis
      -
        in: path
        name: sort_order
        description: 'Optional parameter. The order in which you want your records. Example : asc'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: vel
      -
        in: path
        name: search
        description: 'Optional parameter. The general search, it will find matching string. Example : home'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: et
      -
        in: path
        name: filter_by_uuids
        description: 'Optional parameter. string[] To fitler by selected uuids. Example : [uuid, uuid-2]'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: enim
      -
        in: path
        name: groups
        description: 'Optional parameter. string[] To fitler by selected groups. Example : [dashboard, sales]'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: optio
      -
        in: path
        name: uuid
        description: 'Optional parameter. optional The company uuid.'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 3245d630-24fd-11ec-accd-e397aec85c7f
  '/api/v1/reports/templates/{reportTemplate_uuid}':
    put:
      summary: Update
      operationId: update
      description: 'Update a report template.'
      parameters: []
      responses: {  }
      tags:
        - 'Other Endpoints'
    delete:
      summary: Delete
      operationId: delete
      description: 'Delete a report template.'
      parameters: []
      responses: {  }
      tags:
        - 'Other Endpoints'
    parameters:
      -
        in: path
        name: reportTemplate_uuid
        description: ''
        example: 77c5dbb8-ba41-3850-bb5f-6ef9557981a2
        required: true
        schema:
          type: string
  /api/v1/webhooks/subscribe:
    get:
      summary: List
      operationId: list
      description: 'Shows the list of webhooks.'
      parameters: []
      responses: {  }
      tags:
        - 'Other Endpoints'
    post:
      summary: Store
      operationId: store
      description: 'Save new webhook subscription'
      parameters: []
      responses: {  }
      tags:
        - 'Other Endpoints'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                url:
                  type: string
                  description: 'The url where smarterlaunch submit data when particular events are triggered.'
                  example: "'http://zapier.com/customer-created-in-smarterlaunch'"
                event:
                  type: string
                  description: 'To determine what kind of trigger the webhook is for.'
                  example: "customer-create'"
                type:
                  type: boolean
                  description: 'Check To determine what integration the incoming webhook is for.'
                  example: true
              required:
                - url
                - event
                - type
    parameters:
      -
        in: path
        name: page
        description: 'Optional parameter. The page number. Example : 1'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 19
      -
        in: path
        name: page_size
        description: 'Optional parameter. The number of record you want per page. Example : 5'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 1
      -
        in: path
        name: sort_by
        description: 'Optional parameter. The column name. Example : name'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: et
      -
        in: path
        name: sort_order
        description: 'Optional parameter. The order in which you want your records. Example : asc'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: libero
      -
        in: path
        name: search
        description: 'Optional parameter. The general search, it will find matching string. Example : home'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: provident
  '/api/v1/webhooks/subscribe/{webhook_uuid}':
    delete:
      summary: Delete
      operationId: delete
      description: 'Delete a webhook.'
      parameters: []
      responses: {  }
      tags:
        - 'Other Endpoints'
    parameters:
      -
        in: path
        name: webhook_uuid
        description: ''
        example: 7e33cc54-7143-377c-a8d8-47982095890d
        required: true
        schema:
          type: string
  /api/v1/users:
    get:
      summary: 'List / Fetch'
      operationId: listFetch
      description: 'Shows the list of users or fetch single record using uuid.'
      parameters: []
      responses: {  }
      tags:
        - User
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                uuid:
                  type: string
                  description: 'optional The uuid of the user.'
                  example: 3245d630-24fd-11ec-accd-e397aec85c7f
    post:
      summary: 'Create / Update.'
      operationId: createUpdate
      description: 'This endpoint lets user to create or update single record using uuid'
      parameters: []
      responses: {  }
      tags:
        - User
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                uuid:
                  type: string
                  description: 'optional The document uuid.'
                  example: 3245d630-24fd-11ec-accd-e397aec85c7f
                first_name:
                  type: string
                  description: 'The first name of the customer.'
                  example: John
                last_name:
                  type: string
                  description: 'The last name of the customer.'
                  example: Smith
                phone:
                  type: string
                  description: 'The phone of the customer.'
                  example: '7897897894'
                email:
                  type: string
                  description: 'optional The email of the customer.'
                  example: hello@smarterlaunch.com
                position:
                  type: string
                  description: 'The position of the customer.'
                  example: Manager
                new_password:
                  type: string
                  description: 'optional The current password of the customer.'
                  example: XXX
                confirm_new_password:
                  type: string
                  description: "optional The confirmation of the new password of\n the customer."
                  example: XTXT
                profile_photo_url:
                  type: string
                  format: binary
                  description: 'optional The image file.'
              required:
                - first_name
                - last_name
                - phone
                - position
  '/api/v1/users/{user_uuid}':
    get:
      summary: 'List / Fetch'
      operationId: listFetch
      description: 'Shows the list of users or fetch single record using uuid.'
      parameters: []
      responses: {  }
      tags:
        - User
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                uuid:
                  type: string
                  description: 'optional The uuid of the user.'
                  example: 3245d630-24fd-11ec-accd-e397aec85c7f
    put:
      summary: 'Create / Update.'
      operationId: createUpdate
      description: 'This endpoint lets user to create or update single record using uuid'
      parameters: []
      responses: {  }
      tags:
        - User
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                uuid:
                  type: string
                  description: 'optional The document uuid.'
                  example: 3245d630-24fd-11ec-accd-e397aec85c7f
                first_name:
                  type: string
                  description: 'The first name of the customer.'
                  example: John
                last_name:
                  type: string
                  description: 'The last name of the customer.'
                  example: Smith
                phone:
                  type: string
                  description: 'The phone of the customer.'
                  example: '7897897894'
                email:
                  type: string
                  description: 'optional The email of the customer.'
                  example: hello@smarterlaunch.com
                position:
                  type: string
                  description: 'The position of the customer.'
                  example: Manager
                new_password:
                  type: string
                  description: 'optional The current password of the customer.'
                  example: XXX
                confirm_new_password:
                  type: string
                  description: "optional The confirmation of the new password of\n the customer."
                  example: XTXT
                profile_photo_url:
                  type: string
                  format: binary
                  description: 'optional The image file.'
              required:
                - first_name
                - last_name
                - phone
                - position
    patch:
      summary: Patch
      operationId: patch
      description: 'This endpoint allows users to patch their user info.'
      parameters: []
      responses: {  }
      tags:
        - User
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                first_name:
                  type: string
                  description: 'optional The first name of the user.'
                  example: John
                last_name:
                  type: string
                  description: 'optional The last name of the user.'
                  example: Smith
                phone:
                  type: string
                  description: 'optional The phone of the user.'
                  example: '7897897894'
                position:
                  type: string
                  description: 'optional The position of the user.'
                  example: Manager
                settings:
                  type: array
                  description: 'optional The user settings.'
                  example:
                    - similique
                  items:
                    type: string
                uuid:
                  type: string
                  description: 'The user uuid.'
                  example: 3245d630-24fd-11ec-accd-e397aec85c7f
              required:
                - uuid
    delete:
      summary: Delete
      operationId: delete
      description: 'This end point allows user to delete the user-account.'
      parameters: []
      responses: {  }
      tags:
        - User
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                uuid:
                  type: string
                  description: 'The uuid of the user.'
                  example: 3245d630-24fd-11ec-accd-e397aec85c7f
              required:
                - uuid
    parameters:
      -
        in: path
        name: user_uuid
        description: ''
        example: 3
        required: true
        schema:
          type: integer
  '/api/v1/users/{user_uuid}/image':
    post:
      summary: 'Store user profile pic.'
      operationId: storeUserProfilePic
      description: 'This endpoint lets user to upload or update profile picture.'
      parameters: []
      responses: {  }
      tags:
        - User
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                profile_photo_url:
                  type: string
                  format: binary
                  description: 'The image file.'
                uuid:
                  type: string
                  description: 'The user uuid.'
                  example: 3245d630-24fd-11ec-accd-e397aec85c7f
              required:
                - profile_photo_url
                - uuid
    delete:
      summary: 'Remove Profile pic.'
      operationId: removeProfilePic
      description: 'This endpoint allows users to remove profile pictures with proper authorization.'
      parameters: []
      responses: {  }
      tags:
        - User
    parameters:
      -
        in: path
        name: user_uuid
        description: ''
        example: 3
        required: true
        schema:
          type: integer
  '/api/v1/users/{user_uuid}/signature-image':
    post:
      summary: 'Store user signature pic.'
      operationId: storeUserSignaturePic
      description: 'This endpoint lets user to upload or update signature picture.'
      parameters: []
      responses: {  }
      tags:
        - User
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                signature_photo_url:
                  type: string
                  format: binary
                  description: 'The image file.'
                uuid:
                  type: string
                  description: 'The user uuid.'
                  example: 3245d630-24fd-11ec-accd-e397aec85c7f
              required:
                - signature_photo_url
                - uuid
    parameters:
      -
        in: path
        name: user_uuid
        description: ''
        example: 3
        required: true
        schema:
          type: integer
  /api/v1/users/image:
    delete:
      summary: 'Remove Profile pic.'
      operationId: removeProfilePic
      description: 'This endpoint allows users to remove profile pictures with proper authorization.'
      parameters: []
      responses: {  }
      tags:
        - User
  '/api/v1/companies/{company_uuid}/custom-settings':
    get:
      summary: List
      operationId: list
      description: 'Shows the list of do with filter or single template page data.'
      parameters:
        -
          in: query
          name: page
          description: 'optional The page number.'
          example: 1
          required: false
          schema:
            type: integer
            description: 'optional The page number.'
            example: 1
      responses: {  }
      tags:
        - 'Company Location Custom Settings'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                page_size:
                  type: integer
                  description: 'optional The number of records you want per page.'
                  example: 15
                sort_by:
                  type: string
                  description: 'optional The column name.'
                  example: title
                sort_order:
                  type: string
                  description: 'optional The order in which you want your records.'
                  example: asc
                search:
                  type: string
                  description: 'optional The general search, it will find matching string.'
                  example: John
    post:
      summary: Create
      operationId: create
      description: 'Create a company location custom setting'
      parameters: []
      responses: {  }
      tags:
        - 'Company Location Custom Settings'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of custom setting.'
                  example: Services
                value:
                  type: string
                  description: 'The value of custom setting.'
                  example: 'Pest control'
                company_location_uuid:
                  type: string
                  description: 'option The specific company location uuid of the custom setting.'
                  example: 3245d630-24fd-11ec-accd-e397aec85c7f
              required:
                - name
                - value
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_uuid}/custom-settings/{companyLocationCustomSetting_uuid}':
    get:
      summary: Show
      operationId: show
      description: 'Show detail of a company location setting'
      parameters: []
      responses: {  }
      tags:
        - 'Company Location Custom Settings'
    put:
      summary: Update
      operationId: update
      description: 'Update a company location custom setting'
      parameters: []
      responses: {  }
      tags:
        - 'Company Location Custom Settings'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of custom setting.'
                  example: Services
                value:
                  type: string
                  description: 'The value of custom setting.'
                  example: 'Pest control'
                company_location_uuid:
                  type: string
                  description: 'option The specific company location uuid of the custom setting.'
                  example: 3245d630-24fd-11ec-accd-e397aec85c7f
              required:
                - name
                - value
    delete:
      summary: Delete
      operationId: delete
      description: 'Deletes a company location custom setting'
      parameters: []
      responses: {  }
      tags:
        - 'Company Location Custom Settings'
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: companyLocationCustomSetting_uuid
        description: ''
        example: 76450865-8cdb-3a70-a2ec-b65113d282b4
        required: true
        schema:
          type: string
      -
        in: path
        name: companyUuid
        description: 'Optional parameter. Uuid of Company.'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 3245d630-24fd-11ec-accd-e397aec85c7f
      -
        in: path
        name: companyLocationCustomSettingUuid
        description: 'Optional parameter. Uuid of CompanyLocationCustomSetting.'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 3245d630-24fd-11ec-accd-e397aec85c7f
  /api/v1/import-types:
    get:
      summary: List
      operationId: list
      description: 'Shows the list of tags with pagination.'
      parameters: []
      responses: {  }
      tags:
        - 'Import Type'
    parameters:
      -
        in: path
        name: page
        description: 'Optional parameter. The page number. Example : 1'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 7
      -
        in: path
        name: page_size
        description: 'Optional parameter. The number of record you want per page. Example : 5'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 1
      -
        in: path
        name: sort_by
        description: 'Optional parameter. The column name. Example : name'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: omnis
      -
        in: path
        name: sort_order
        description: 'Optional parameter. The order in which you want your records. Example : asc'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: animi
      -
        in: path
        name: search
        description: 'Optional parameter. The general search, it will find matching string. Example : "Categories"'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: dolorum
      -
        in: path
        name: name
        description: 'Optional parameter. The name of import type. Example : "Categories"'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: ut
      -
        in: path
        name: code
        description: 'Optional parameter. The code of import type. Example : "categories"'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: aut
  '/api/v1/companies/{company_uuid}/proposals/{proposal_uuid}/preview':
    get:
      summary: Get
      operationId: get
      description: 'Display the selected proposal.'
      parameters: []
      responses: {  }
      tags:
        - Proposal
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: proposal_uuid
        description: ''
        example: 15
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_uuid}/proposals/{proposal_uuid}/get-ip-datetime':
    get:
      summary: 'Get client IP Address and Date time prior to accepting the proposal'
      operationId: getClientIPAddressAndDateTimePriorToAcceptingTheProposal
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Proposal
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: proposal_uuid
        description: ''
        example: 15
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_uuid}/proposals/{proposal_uuid}/support-request':
    post:
      summary: 'Store Proposal Inquiry'
      operationId: storeProposalInquiry
      description: 'Send inquiry request from users'
      parameters: []
      responses: {  }
      tags:
        - Proposal
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                support_type:
                  type: string
                  description: 'The support type.'
                  example: "'General Inquiry'"
                client_detail:
                  type: object
                  description: ''
                  example: null
                  properties: {  }
                screenshots_url:
                  type: array
                  description: 'The screenshots URL string.'
                  example:
                    - 'https://example.net/image1.jpg'
                    - 'https://example.net/image1.png'
                  items:
                    type: string
                description:
                  type: string
                  description: 'The support request details.'
                  example: "'I cannot access documents. Please help.'"
                no_attachments:
                  type: boolean
                  description: 'Check if request has attachments.'
                  example: false
              required:
                - support_type
                - screenshots_url
                - description
                - no_attachments
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: proposal_uuid
        description: ''
        example: 15
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_uuid}/proposals/{proposal_uuid}/{supportRequestUuid}/support-request-upload':
    post:
      summary: Upload
      operationId: upload
      description: 'Upload photos for Cover Letter or Photo Layout pages'
      parameters: []
      responses: {  }
      tags:
        - Proposal
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                screenshot_url:
                  type: string
                  description: 'The url of the attached image.'
                  example: 'https://example.net/test.png'
              required:
                - screenshot_url
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: proposal_uuid
        description: ''
        example: 15
        required: true
        schema:
          type: integer
      -
        in: path
        name: supportRequestUuid
        description: ''
        example: bef116f7-3374-3347-a829-69c49ede085a
        required: true
        schema:
          type: string
  '/api/v1/companies/{company_uuid}/proposals/{proposal_uuid}/accept-sign':
    post:
      summary: 'Accept and Sign'
      operationId: acceptAndSign
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Proposal
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                accepted_confirmation_uuids:
                  type: object
                  description: ''
                  example: null
                  properties: {  }
                signature_photo_url:
                  type: string
                  description: 'The image url.'
                  example: 'http://www.white.biz/soluta-qui-officia-voluptatum-et-reprehenderit-in-ut'
                proposal_pdf_url:
                  type: string
                  description: 'The pdf file url.'
                  example: 'http://hudson.org/est-libero-non-ratione-id-et-rerum-saepe-fugiat'
                auth_code:
                  type: string
                  description: ''
                  example: et
              required:
                - signature_photo_url
                - proposal_pdf_url
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: proposal_uuid
        description: ''
        example: 15
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_uuid}/proposals/{proposal_uuid}/replace-signature':
    post:
      summary: 'Replicate Signature'
      operationId: replicateSignature
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Proposal
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                signature_photo_url:
                  type: string
                  description: 'The image url.'
                  example: 'http://www.bins.org/molestiae-eos-nihil-reiciendis-perspiciatis-id-nulla-officia-est.html'
                proposal_pdf_url:
                  type: string
                  description: 'The pdf file url.'
                  example: 'http://bernier.com/quas-minima-repellat-autem-dicta-consectetur-aut-eveniet-et'
              required:
                - signature_photo_url
                - proposal_pdf_url
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: proposal_uuid
        description: ''
        example: 15
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_uuid}/proposals/{proposal_uuid}/update-attachment':
    post:
      summary: 'Update Attached Document'
      operationId: updateAttachedDocument
      description: 'Patch the specified proposal.'
      parameters: []
      responses: {  }
      tags:
        - Proposal
      requestBody:
        required: false
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                documentFile:
                  type: string
                  format: binary
                  description: 'The updated document file. Example : WDIIR.pdf'
                documentIndex:
                  type: number
                  description: 'The document index number. Example : 1'
                  example: 572.88
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: proposal_uuid
        description: ''
        example: 15
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_uuid}/proposals/{proposal_uuid}/video-clicked':
    post:
      summary: 'Log Video Clicked'
      operationId: logVideoClicked
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Proposal
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                video_type:
                  type: "'service'"
                  description: "| 'screen_recording'"
                  example: vitae
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: proposal_uuid
        description: ''
        example: 15
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_uuid}/proposals/{proposal_uuid}/decline':
    patch:
      summary: Decline
      operationId: decline
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Proposal
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: proposal_uuid
        description: ''
        example: 15
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_uuid}/proposals/{proposal_uuid}/update-selected-pricing':
    patch:
      summary: 'Update Selected Pricing'
      operationId: updateSelectedPricing
      description: 'Patch the specified proposal.'
      parameters: []
      responses: {  }
      tags:
        - Proposal
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                proposal_values:
                  type: object
                  description: "The collected data of the proposal in object format.\n     Example : {\"price\":1000.00,\"currency\":\"$\"}"
                  example: []
                  properties: {  }
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: proposal_uuid
        description: ''
        example: 15
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_uuid}/proposals/{proposal_uuid}/customer-forms':
    patch:
      summary: 'Submit Customer Forms'
      operationId: submitCustomerForms
      description: 'Patch the specified proposal.'
      parameters: []
      responses: {  }
      tags:
        - Proposal
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                formValues:
                  type: object
                  description: ''
                  example: []
                  properties: {  }
                attachedDocuments:
                  type: object
                  description: ''
                  example: null
                  properties: {  }
                submittedForms:
                  type: object
                  description: ''
                  example: []
                  properties: {  }
                proposal_values:
                  type: object
                  description: "The collected data of the proposal in object format.\n     Example : {\"price\":1000.00,\"currency\":\"$\"}"
                  example: []
                  properties: {  }
              required:
                - formValues
                - submittedForms
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: proposal_uuid
        description: ''
        example: 15
        required: true
        schema:
          type: integer
  /api/v1/proposals:
    get:
      summary: List
      operationId: list
      description: 'Shows the list of proposal with pagination.'
      parameters: []
      responses: {  }
      tags:
        - Proposal
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                include_fields:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: string
                ignore_cached:
                  type: boolean
                  description: ''
                  example: false
                date_range_start:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2025-09-25T15:21:37'
                date_range_end:
                  type: string
                  description: 'Must be a valid date. Must be a date after or equal to date_range_start.'
                  example: '2060-04-07'
                timezone:
                  type: string
                  description: 'Must be a valid time zone, such as Africa/Accra.'
                  example: Africa/Juba
    post:
      summary: Create
      operationId: create
      description: 'Store a newly created proposal.'
      parameters: []
      responses: {  }
      tags:
        - Proposal
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                title:
                  type: string
                  description: 'The title of the proposal. Example : Pest Route Initial Proposal'
                  example: vero
                description:
                  type: string
                  description: 'The paragraph describing the proposal.'
                  example: 'Repellat et aspernatur voluptatibus reiciendis est omnis.'
                company_location_uuid:
                  type: string
                  description: "The UUID of user's company location.\n     Example : \"815d3d9c-f371-3781-8456-7e6954b5b0f5\""
                  example: 3b134778-bc39-394a-b663-a5224c100bc2
                customer_uuid:
                  type: string
                  description: "The UUID of customer you wish to send the proposal.\n     Example : \"815d3d9c-f371-3781-8456-7e6954b5b0f5\""
                  example: a547aee8-f663-362a-bf49-9bd154929dd1
                customer_address_uuid:
                  type: string
                  description: "The UUID of customer's address.\n     Example : \"815d3d9c-f371-3781-8456-7e6954b5b0f5\""
                  example: a7d00220-23be-3826-8707-b74c30ad47cd
                status_uuid:
                  type: string
                  description: "The UUID of proposal status.\n     Example : \"815d3d9c-f371-3781-8456-7e6954b5b0f5\""
                  example: 76b7d450-d8b6-3897-a19b-b83c87d9a6e2
                service_plan_uuids:
                  type: array
                  description: "The list of ServicePlan's UUID you want to add in the proposal.\n     Example : [\"815d3d9c-f371-3781-8456-7e6954b5b0f5\", \"815d3d9c-f371-3781-8456-7e6954b5b0f5\"]"
                  example:
                    - sequi
                  items:
                    type: string
                proposal_values:
                  type: object
                  description: "The collected data of the proposal in object format.\n     Example : {\"price\":1000.00,\"currency\":\"$\"}"
                  example: []
                  properties: {  }
                proposal_template_uuid:
                  type: string
                  description: "The UUID of proposal template.\n     Example : \"815d3d9c-f371-3781-8456-7e6954b5b0f5\""
                  example: bfb37647-4539-3d28-bc0e-9530c140714b
              required:
                - title
                - company_location_uuid
                - customer_uuid
                - customer_address_uuid
                - status_uuid
                - proposal_template_uuid
    parameters:
      -
        in: path
        name: page
        description: 'Optional parameter. The page number. Example : 1'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 4
      -
        in: path
        name: page_size
        description: 'Optional parameter. The number of record you want per page. Example : 5'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 5
      -
        in: path
        name: sort_by
        description: 'Optional parameter. The column name. Example : name'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: harum
      -
        in: path
        name: sort_order
        description: 'Optional parameter. The order in which you want your records. Example : asc'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: sit
      -
        in: path
        name: search
        description: 'Optional parameter. The general search, it will find matching string. Example : home'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: qui
      -
        in: path
        name: search_by
        description: 'Optional parameter. The specific field to search within. Options: customer_name, title, description. Example : customer_name'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: non
      -
        in: path
        name: company_location_uuid
        description: "Optional parameter. The UUID of company location.\n     Example : \"815d3d9c-f371-3781-8456-7e6954b5b0f5\""
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 7ffeb45f-6054-395c-8f7b-ed056d896419
      -
        in: path
        name: company_location_uuids
        description: "Optional parameter. string[] The UUID of company location.\n     Example : \"815d3d9c-f371-3781-8456-7e6954b5b0f5\""
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: id
      -
        in: path
        name: status_uuid
        description: 'Optional parameter. string[] The UUID of proposal status. Example : ["815d3d9c-f371-3781-8456-7e6954b5b0f5"]'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 8cf45fe4-0b9d-346a-beca-1c7e95109708
      -
        in: path
        name: customer_uuid
        description: 'Optional parameter. The UUID of a customer. Example : "815d3d9c-f371-3781-8456-7e6954b5b0f5"'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 1aa3d899-5ec5-35ce-b712-edbbb2981c1b
      -
        in: path
        name: include_fields
        description: 'Optional parameter. string[] Optionally include related data for the proposal. Example : "company"'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: sequi
      -
        in: path
        name: user_uuid
        description: "Optional parameter. Filter by the user that created proposals.\n     Example : \"815d3d9c-f371-3781-8456-7e6954b5b0f5\""
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 2613e5a6-a2a7-37dc-8b62-e88a25d7b681
      -
        in: path
        name: timezone
        description: "Optional parameter. Optional timezone for date filtering. Falls back to user's favorite location timezone, then MST.\n     Example : \"America/New_York\""
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: Asia/Kuching
      -
        in: path
        name: date_range_start
        description: 'Optional parameter. Start date for filtering proposals. Example : "2024-08-01"'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: aliquid
      -
        in: path
        name: date_range_end
        description: 'Optional parameter. End date for filtering proposals. Example : "2024-08-13"'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: quibusdam
      -
        in: path
        name: date_range_type
        description: 'Optional parameter. Type of date to filter by. Options: created_at, updated_at. Example : "created_at"'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: quas
  /api/v1/proposals/export-list:
    get:
      summary: 'Export List'
      operationId: exportList
      description: 'Returns a CSV file of list of filtered proposal list.'
      parameters: []
      responses: {  }
      tags:
        - Proposal
    parameters:
      -
        in: path
        name: page
        description: 'Optional parameter. The page number. Example : 1'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 20
      -
        in: path
        name: page_size
        description: 'Optional parameter. The number of record you want per page. Example : 5'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 1
      -
        in: path
        name: sort_by
        description: 'Optional parameter. The column name. Example : name'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: laborum
      -
        in: path
        name: sort_order
        description: 'Optional parameter. The order in which you want your records. Example : asc'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: molestias
      -
        in: path
        name: search
        description: 'Optional parameter. The general search, it will find matching string. Example : home'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: dolor
      -
        in: path
        name: company_location_uuid
        description: "Optional parameter. The UUID of company location.\n     Example : \"815d3d9c-f371-3781-8456-7e6954b5b0f5\""
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: ccf12334-4b6c-3643-92de-12884de92cab
      -
        in: path
        name: company_location_uuids
        description: "Optional parameter. string[] The UUID of company location.\n     Example : \"815d3d9c-f371-3781-8456-7e6954b5b0f5\""
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: omnis
      -
        in: path
        name: status_uuid
        description: 'Optional parameter. The UUID of proposal status. Example : "815d3d9c-f371-3781-8456-7e6954b5b0f5"'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: b68c1c8f-4ed6-351d-87ab-23b1ab2e9e4f
      -
        in: path
        name: customer_uuid
        description: 'Optional parameter. The UUID of a customer. Example : "815d3d9c-f371-3781-8456-7e6954b5b0f5"'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: c9593113-2ced-398e-8100-6e0d655bb7b9
      -
        in: path
        name: include_fields
        description: 'Optional parameter. string[] Optionally include related data for the proposal. Example : "company"'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: praesentium
      -
        in: path
        name: user_uuid
        description: "Optional parameter. Filter by the user that created proposals.\n     Example : \"815d3d9c-f371-3781-8456-7e6954b5b0f5\""
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 54db43b7-a566-3447-92c3-fe02f93534a4
  /api/v1/proposals/summary:
    get:
      summary: Summary
      operationId: summary
      description: "Shows the summary of proposal.\nReturns number of items per Proposal status."
      parameters: []
      responses: {  }
      tags:
        - Proposal
  '/api/v1/proposals/{proposal_uuid}':
    get:
      summary: Get
      operationId: get
      description: 'Display the selected proposal.'
      parameters: []
      responses: {  }
      tags:
        - Proposal
    put:
      summary: Update
      operationId: update
      description: 'Updates the specified proposal.'
      parameters: []
      responses: {  }
      tags:
        - Proposal
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                title:
                  type: string
                  description: 'The title of the proposal.'
                  example: '"Pest Route Initial Proposal"'
                description:
                  type: string
                  description: 'The paragraph describing the proposal.'
                  example: '"Lorem, ipsum dolor sit amet consectetur adipisicing elit."'
                company_location_uuid:
                  type: string
                  description: "The UUID of user's company location.\n     Example : \"815d3d9c-f371-3781-8456-7e6954b5b0f5\""
                  example: 973fcbb6-642b-3405-85ed-a8a18913ae17
                customer_uuid:
                  type: string
                  description: "The UUID of customer you wish to send the proposal.\n     Example : \"815d3d9c-f371-3781-8456-7e6954b5b0f5\""
                  example: d1a9b6d3-34cd-3af1-bafb-955fa06733c8
                customer_address_uuid:
                  type: string
                  description: "The UUID of customer's address.\n     Example : \"815d3d9c-f371-3781-8456-7e6954b5b0f5\""
                  example: 737f7cbc-7dff-32de-bcfe-a62696684289
                status_uuid:
                  type: string
                  description: "The UUID of proposal status.\n     Example : \"815d3d9c-f371-3781-8456-7e6954b5b0f5\""
                  example: e338e82b-be26-3f28-92ce-8c3a1f52d697
                service_plan_uuids:
                  type: array
                  description: "The list of ServicePlan's UUID you want to add in the proposal.\n     Example : ['815d3d9c-f371-3781-8456-7e6954b5b0f5', '815d3d9c-f371-3781-8456-7e6954b5b0f5']"
                  example:
                    - error
                  items:
                    type: string
                proposal_values:
                  type: object
                  description: "The collected data of the proposal in object format.\n     Example : {\"price\":1000.00,\"currency\":\"$\"}"
                  example: []
                  properties: {  }
                settings:
                  type: object
                  description: ''
                  example: null
                  properties: {  }
                proposal_template_uuid:
                  type: string
                  description: "The UUID of proposal template.\n     Example : \"815d3d9c-f371-3781-8456-7e6954b5b0f5\""
                  example: c93ecb6a-20c0-3909-8b62-50692eb51793
                include_fields:
                  type: object
                  description: ''
                  example: null
                  properties: {  }
                expire_at:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2025-09-25T15:21:38'
              required:
                - title
                - company_location_uuid
                - customer_uuid
                - customer_address_uuid
                - status_uuid
                - proposal_template_uuid
    patch:
      summary: Patch
      operationId: patch
      description: 'Patch the specified proposal.'
      parameters: []
      responses: {  }
      tags:
        - Proposal
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                title:
                  type: string
                  description: 'The title of the proposal. Example : Pest Route Initial Proposal'
                  example: repudiandae
                description:
                  type: string
                  description: 'The paragraph describing the proposal.'
                  example: 'Mollitia aperiam nobis illo nihil suscipit provident similique.'
                company_location_uuid:
                  type: string
                  description: "The UUID of user's company location.\n     Example : \"815d3d9c-f371-3781-8456-7e6954b5b0f5\""
                  example: b0722089-fe70-3e96-9791-c1d821915173
                customer_uuid:
                  type: string
                  description: "The UUID of customer you wish to send the proposal.\n     Example : \"815d3d9c-f371-3781-8456-7e6954b5b0f5\""
                  example: 193cd3d4-c031-3134-b38f-eb14e2a8dc54
                customer_address_uuid:
                  type: string
                  description: "The UUID of customer's address.\n     Example : \"815d3d9c-f371-3781-8456-7e6954b5b0f5\""
                  example: 0f06df69-13fb-3b3a-a8a1-2f6766168527
                status_uuid:
                  type: string
                  description: "The UUID of proposal status.\n     Example : \"815d3d9c-f371-3781-8456-7e6954b5b0f5\""
                  example: ba88a68a-a636-3d6a-9f78-e06aa6ad0bb8
                service_plan_uuids:
                  type: array
                  description: "The list of ServicePlan's UUID you want to add in the proposal.\n     Example : ['815d3d9c-f371-3781-8456-7e6954b5b0f5', '815d3d9c-f371-3781-8456-7e6954b5b0f5']"
                  example:
                    - et
                  items:
                    type: string
                proposal_values:
                  type: object
                  description: "The collected data of the proposal in object format.\n     Example : {\"price\":1000.00,\"currency\":\"$\"}"
                  example: []
                  properties: {  }
                settings:
                  type: object
                  description: ''
                  example: null
                  properties: {  }
                proposal_template_uuid:
                  type: string
                  description: "The UUID of proposal template.\n     Example : \"815d3d9c-f371-3781-8456-7e6954b5b0f5\""
                  example: f81efe4d-ee8a-345d-8ee6-519d86bc4634
                include_fields:
                  type: object
                  description: ''
                  example: null
                  properties: {  }
                expire_at:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2025-09-25T15:21:38'
              required:
                - proposal_template_uuid
    delete:
      summary: Delete
      operationId: delete
      description: 'Delete a specified proposal.'
      parameters: []
      responses: {  }
      tags:
        - Proposal
    parameters:
      -
        in: path
        name: proposal_uuid
        description: ''
        example: 15
        required: true
        schema:
          type: integer
  '/api/v1/proposals/{proposal_uuid}/activity-logs':
    get:
      summary: 'List of Activity Logs'
      operationId: listOfActivityLogs
      description: "Shows the list of proposal's activity logs with pagination."
      parameters: []
      responses: {  }
      tags:
        - Proposal
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                include_fields:
                  type: object
                  description: ''
                  example: null
                  properties: {  }
    post:
      summary: Create
      operationId: create
      description: 'Store a newly created proposal activity entry'
      parameters: []
      responses: {  }
      tags:
        - Proposal
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                description:
                  type: string
                  description: 'The description of activity entry.'
                  example: "Be sure to follow-up with the customer.'"
                remind_at:
                  type: string
                  description: 'The date of reminder through email.'
                  example: 07/23/2024
              required:
                - description
                - remind_at
    parameters:
      -
        in: path
        name: proposal_uuid
        description: ''
        example: 15
        required: true
        schema:
          type: integer
      -
        in: path
        name: page
        description: 'Optional parameter. The page number. Example : 1'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 16
      -
        in: path
        name: page_size
        description: 'Optional parameter. The number of record you want per page. Example : 5'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 1
      -
        in: path
        name: sort_by
        description: 'Optional parameter. The column name. Example : name'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: saepe
      -
        in: path
        name: sort_order
        description: 'Optional parameter. The order in which you want your records. Example : asc'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: architecto
      -
        in: path
        name: search
        description: 'Optional parameter. The general search, it will find matching string. Example : home'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: aperiam
  '/api/v1/proposals/{proposal_uuid}/activity/{activity_uuid}/events':
    get:
      summary: 'Get the events associated with a specific proposal activity'
      operationId: getTheEventsAssociatedWithASpecificProposalActivity
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Proposal
    parameters:
      -
        in: path
        name: proposal_uuid
        description: ''
        example: 15
        required: true
        schema:
          type: integer
      -
        in: path
        name: activity_uuid
        description: ''
        example: a01674d6-28fa-3a57-82a8-35c73cab7f85
        required: true
        schema:
          type: string
  '/api/v1/proposals/{proposal_uuid}/tarf-xml-url':
    get:
      summary: 'Download TARF XML'
      operationId: downloadTARFXML
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Proposal
    parameters:
      -
        in: path
        name: proposal_uuid
        description: ''
        example: 15
        required: true
        schema:
          type: integer
  '/api/v1/proposals/{proposal_uuid}/cali-wdo-report-url':
    get:
      summary: 'Download California WDO XML'
      operationId: downloadCaliforniaWDOXML
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Proposal
    parameters:
      -
        in: path
        name: proposal_uuid
        description: ''
        example: 15
        required: true
        schema:
          type: integer
  '/api/v1/proposals/{proposal_uuid}/activity-logs/{activityEntryUuid}/{action}':
    post:
      summary: action
      operationId: action
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Proposal
    parameters:
      -
        in: path
        name: proposal_uuid
        description: ''
        example: 15
        required: true
        schema:
          type: integer
      -
        in: path
        name: activityEntryUuid
        description: ''
        example: 782e49f0-3452-3e77-84b6-98f628892c0f
        required: true
        schema:
          type: string
      -
        in: path
        name: action
        description: ''
        example: delectus
        required: true
        schema:
          type: string
  '/api/v1/proposals/{proposal_uuid}/duplicate':
    post:
      summary: Duplicate
      operationId: duplicate
      description: 'This endpoint lets user to duplicate proposal and set into a draft mode'
      parameters: []
      responses: {  }
      tags:
        - Proposal
    parameters:
      -
        in: path
        name: proposal_uuid
        description: 'Optional parameter. uuid required The uuid of the proposal.'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 3245d630-24fd-11ec-accd-e397aec85c7f
  '/api/v1/proposals/{proposal_uuid}/upload-review-photo':
    post:
      summary: 'Upload Review Photo'
      operationId: uploadReviewPhoto
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Proposal
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                photo:
                  type: string
                  format: binary
                  description: 'The image file.'
                type:
                  type: enum
                  description: "'cover' | 'photos' required The photo type."
                  example: "'cover'."
                layout:
                  type: enum
                  description: "'Tiled' | 'Stacked' required The photo type."
                  example: "'Tiled'."
              required:
                - photo
    parameters:
      -
        in: path
        name: proposal_uuid
        description: ''
        example: 15
        required: true
        schema:
          type: integer
  '/api/v1/proposals/{proposal_uuid}/push-to-crm':
    post:
      summary: 'Resync document'
      operationId: resyncDocument
      description: 'Resync document the specified proposal.'
      parameters: []
      responses: {  }
      tags:
        - Proposal
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                title:
                  type: string
                  description: 'The title of the proposal. Example : Pest Route Initial Proposal'
                  example: ipsam
                description:
                  type: string
                  description: 'The paragraph describing the proposal.'
                  example: 'Dolorem est reprehenderit ratione nobis.'
                company_location_uuid:
                  type: string
                  description: "The UUID of user's company location.\n     Example : \"815d3d9c-f371-3781-8456-7e6954b5b0f5\""
                  example: 52ab81d3-45a5-3334-9929-72f0e41dd6bf
                customer_uuid:
                  type: string
                  description: "The UUID of customer you wish to send the proposal.\n     Example : \"815d3d9c-f371-3781-8456-7e6954b5b0f5\""
                  example: ba076f5d-d873-3f4a-9ddd-657af4881203
                customer_address_uuid:
                  type: string
                  description: "The UUID of customer's address.\n     Example : \"815d3d9c-f371-3781-8456-7e6954b5b0f5\""
                  example: 6bf0c480-f6ee-3c1f-ba73-ed964b1bcb3f
                status_uuid:
                  type: string
                  description: "The UUID of proposal status.\n     Example : \"815d3d9c-f371-3781-8456-7e6954b5b0f5\""
                  example: 7a83bf97-96dd-3d16-bf8f-6246f35443ed
                service_plan_uuids:
                  type: array
                  description: "The list of ServicePlan's UUID you want to add in the proposal.\n     Example : ['815d3d9c-f371-3781-8456-7e6954b5b0f5', '815d3d9c-f371-3781-8456-7e6954b5b0f5']"
                  example:
                    - aperiam
                  items:
                    type: string
                proposal_values:
                  type: object
                  description: "The collected data of the proposal in object format.\n     Example : {\"price\":1000.00,\"currency\":\"$\"}"
                  example: []
                  properties: {  }
                proposal_template_uuid:
                  type: string
                  description: "The UUID of proposal template.\n     Example : \"815d3d9c-f371-3781-8456-7e6954b5b0f5\""
                  example: 5e1e4df1-683e-3429-a0cf-e42f8d5c659c
              required:
                - proposal_template_uuid
    parameters:
      -
        in: path
        name: proposal_uuid
        description: ''
        example: 15
        required: true
        schema:
          type: integer
  '/api/v1/proposals/{proposal_uuid}/activity-logs/{activityEntryUuid}':
    put:
      summary: Update
      operationId: update
      description: 'Update a proposal activity entry'
      parameters: []
      responses: {  }
      tags:
        - Proposal
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                description:
                  type: string
                  description: 'The description of activity entry.'
                  example: "Be sure to follow-up with the customer.'"
                remind_at:
                  type: string
                  description: 'The date of reminder through email.'
                  example: 07/23/2024
              required:
                - description
                - remind_at
    delete:
      summary: Delete
      operationId: delete
      description: 'Delete a proposal activity entry'
      parameters: []
      responses: {  }
      tags:
        - Proposal
    parameters:
      -
        in: path
        name: proposal_uuid
        description: ''
        example: 15
        required: true
        schema:
          type: integer
      -
        in: path
        name: activityEntryUuid
        description: ''
        example: 4db001d9-0447-3738-9208-8d911a8ff6c1
        required: true
        schema:
          type: string
  '/api/v1/proposals/{proposal_uuid}/share':
    patch:
      summary: Share
      operationId: share
      description: 'Send proposal via email'
      parameters: []
      responses: {  }
      tags:
        - Proposal
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                recipients:
                  type: array
                  description: 'The recipients of the proposal.'
                  example:
                    - johnsmith@example.net
                    - anasmith@example.net
                  items:
                    type: string
                subject:
                  type: string
                  description: 'The subject of the proposal.'
                  example: '"Pest Route Initial Proposal"'
                body:
                  type: string
                  description: 'The body of the proposal.'
                  example: '"Pest Route Initial Proposal"'
              required:
                - recipients
                - subject
                - body
    parameters:
      -
        in: path
        name: proposal_uuid
        description: ''
        example: 15
        required: true
        schema:
          type: integer
  '/api/v1/proposals/{proposal_uuid}/delete-review-photo':
    delete:
      summary: 'Delete Review Photo'
      operationId: deleteReviewPhoto
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Proposal
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                image_url:
                  type: string
                  description: 'The image url.'
                  example: 'http://ruecker.com/ut-veritatis-aut-fugit-dignissimos-eius-non-deleniti'
                type:
                  type: enum
                  description: "'cover' | 'photos' required The photo type."
                  example: "'cover'."
              required:
                - image_url
    parameters:
      -
        in: path
        name: proposal_uuid
        description: ''
        example: 15
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_uuid}/service-agreements':
    get:
      summary: List
      operationId: list
      description: 'Shows the list of company service agreements with pagination.'
      parameters: []
      responses: {  }
      tags:
        - 'Service Agreement'
    post:
      summary: Store
      operationId: store
      description: 'Store a service agreement.'
      parameters: []
      responses: {  }
      tags:
        - 'Service Agreement'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                title:
                  type: string
                  description: 'The title of the service agreement. Example : Termites Service Agreement'
                  example: explicabo
                content:
                  type: string
                  description: 'The content of the service agreement. Example : Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor'
                  example: nam
              required:
                - title
                - content
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: page
        description: 'Optional parameter. The page number. Example : 1'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 15
      -
        in: path
        name: page_size
        description: 'Optional parameter. The number of record you want per page. Example : 5'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 19
      -
        in: path
        name: sort_by
        description: 'Optional parameter. The column name. Example : title'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: dolor
      -
        in: path
        name: sort_order
        description: 'Optional parameter. The order in which you want your records. Example : asc'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: et
      -
        in: path
        name: search
        description: 'Optional parameter. The general search, it will find matching string. Example : home'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: soluta
      -
        in: path
        name: filter_by_uuids
        description: 'Optional parameter. string[] To fitler by selected uuids. Example : [uuid, uuid-2]'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: aliquid
  '/api/v1/companies/{company_uuid}/service-agreements/{serviceAgreement_uuid}':
    get:
      summary: Show
      operationId: show
      description: 'Show a single service agreement.'
      parameters: []
      responses: {  }
      tags:
        - 'Service Agreement'
    put:
      summary: Update
      operationId: update
      description: 'Update a service agreement.'
      parameters: []
      responses: {  }
      tags:
        - 'Service Agreement'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                title:
                  type: string
                  description: 'The title of the service agreement. Example : Termites Service Agreement'
                  example: doloribus
                content:
                  type: string
                  description: 'The content of the service agreement. Example : Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor'
                  example: quo
              required:
                - title
                - content
    patch:
      summary: Patch
      operationId: patch
      description: 'Patch a service agreement.'
      parameters: []
      responses: {  }
      tags:
        - 'Service Agreement'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                title:
                  type: string
                  description: 'optional The title of the service agreement. Example : Termites Service Agreement'
                  example: rerum
                content:
                  type: string
                  description: 'optional The content of the service agreement. Example : Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor'
                  example: quam
    delete:
      summary: Delete
      operationId: delete
      description: 'Delete a service agreement.'
      parameters: []
      responses: {  }
      tags:
        - 'Service Agreement'
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: serviceAgreement_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_uuid}/service-agreements/{serviceAgreement_uuid}/setAsActive':
    patch:
      summary: 'Patch - Set as Active'
      operationId: patchSetAsActive
      description: 'Set as Active a service agreement version.'
      parameters: []
      responses: {  }
      tags:
        - 'Service Agreement'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                title:
                  type: string
                  description: 'optional The title of the service agreement. Example : Termites Service Agreement'
                  example: quia
                content:
                  type: string
                  description: 'optional The content of the service agreement. Example : Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor'
                  example: voluptatem
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: serviceAgreement_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_uuid}/update-limit/{entity}':
    patch:
      summary: ''
      operationId: patchApiV1CompaniesCompany_uuidUpdateLimitEntity
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Company
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: entity
        description: ''
        example: aut
        required: true
        schema:
          type: string
  '/api/v1/companies/{company_uuid}':
    get:
      summary: 'List / Fetch.'
      operationId: listFetch
      description: 'Shows the list of company or fetch single record using uuid.'
      parameters: []
      responses: {  }
      tags:
        - Company
    put:
      summary: 'Update Company'
      operationId: updateCompany
      description: 'This endpoint lets user to update a company.'
      parameters: []
      responses: {  }
      tags:
        - Company
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the company.'
                  example: 'Smarter Launch'
                phone:
                  type: string
                  description: 'The last name of the company.'
                  example: '5554448888'
                email:
                  type: string
                  description: 'The email of the company.'
                  example: hello@smarterlaunch.com
                address1:
                  type: string
                  description: 'The address of the company.'
                  example: "'123 Smarter Launch Way'"
                address2:
                  type: string
                  description: 'optional The address of the company.'
                  example: "'Suite 101'"
                city:
                  type: string
                  description: 'The company city name.'
                  example: 'Queen Creek'
                country_state_uuid:
                  type: string
                  description: 'The company state uuid.'
                  example: ecd24580-2749-11ec-9b86-1102c06e74b4
                country_uuid:
                  type: string
                  description: 'The company country uuid.'
                  example: ecd24580-2749-11ec-9b86-1102c06e74b4
                postal_code:
                  type: string
                  description: 'optional The postal code of the company.'
                  example: '85410'
                latitude:
                  type: string
                  description: 'optional The latitude of the company.'
                  example: '23.0396'
                longitude:
                  type: string
                  description: 'optional The longitude of the company.'
                  example: '72.566'
                primary_color:
                  type: string
                  description: 'optional The primary color.'
                  example: '#009CFF'
                secondary_color:
                  type: string
                  description: 'optional The secondary color.'
                  example: '#FFFFFF'
                custom_settings:
                  type: object
                  description: ''
                  example: null
                  properties: {  }
                settings:
                  type: object
                  description: ''
                  example: []
                  properties:
                    available_integration_uuids:
                      type: object
                      description: ''
                      example: null
                      properties: {  }
                image_url:
                  type: string
                  description: ''
                  example: 'http://www.harris.info/'
                company_uuid:
                  type: string
                  description: 'optional The uuid of the company.'
                  example: ecd24580-2749-11ec-9b86-1102c06e74b4
                description:
                  type: string
                  description: 'optional The company description.'
                  example: 'We are helping take your business to the next level. Hop in!'
              required:
                - name
                - phone
                - email
                - address1
                - city
                - country_state_uuid
                - country_uuid
    patch:
      summary: 'Patch Company'
      operationId: patchCompany
      description: 'This endpoint lets user to update a company.'
      parameters: []
      responses: {  }
      tags:
        - Company
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'optional The name of the company.'
                  example: 'Smarter Launch'
                phone:
                  type: string
                  description: 'optional The last name of the company.'
                  example: '5554448888'
                email:
                  type: string
                  description: 'optional The email of the company.'
                  example: hello@smarterlaunch.com
                address1:
                  type: string
                  description: 'optional The address of the company.'
                  example: "'123 Smarter Launch Way'"
                address2:
                  type: string
                  description: 'optional The address of the company.'
                  example: "'Suite 101'"
                city:
                  type: string
                  description: 'optional The company city name.'
                  example: 'Queen Creek'
                country_state_uuid:
                  type: string
                  description: 'optional The company state uuid.'
                  example: ecd24580-2749-11ec-9b86-1102c06e74b4
                country_uuid:
                  type: string
                  description: 'optional The company country uuid.'
                  example: ecd24580-2749-11ec-9b86-1102c06e74b4
                postal_code:
                  type: string
                  description: 'optional The postal code of the company.'
                  example: '85410'
                latitude:
                  type: string
                  description: 'optional The latitude of the company.'
                  example: '23.0396'
                longitude:
                  type: string
                  description: 'optional The longitude of the company.'
                  example: '72.566'
                primary_color:
                  type: string
                  description: 'optional The primary color.'
                  example: '#009CFF'
                secondary_color:
                  type: string
                  description: 'optional The secondary color.'
                  example: '#FFFFFF'
                custom_settings:
                  type: object
                  description: ''
                  example: null
                  properties: {  }
                settings:
                  type: object
                  description: ''
                  example: []
                  properties:
                    available_integration_uuids:
                      type: object
                      description: ''
                      example: null
                      properties: {  }
                website_url:
                  type: string
                  description: 'Must be a valid URL.'
                  example: 'https://harber.com/dolorum-fuga-laboriosam-recusandae-aut.html'
                google_my_business_listing:
                  type: string
                  description: 'Must be a valid URL.'
                  example: 'http://www.krajcik.net/'
                image_url:
                  type: string
                  description: ''
                  example: 'http://carter.biz/mollitia-tempore-qui-aut-accusamus-exercitationem'
                company_uuid:
                  type: string
                  description: 'optional The uuid of the company.'
                  example: ecd24580-2749-11ec-9b86-1102c06e74b4
                description:
                  type: string
                  description: 'optional The company description.'
                  example: 'We are helping take your business to the next level. Hop in!'
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: uuid
        description: 'Optional parameter. optional The company uuid.'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 3245d630-24fd-11ec-accd-e397aec85c7f
  '/api/v1/companies/{company_uuid}/image':
    post:
      summary: 'Store company logo.'
      operationId: storeCompanyLogo
      description: 'This endpoint lets company to upload or update their logo.'
      parameters: []
      responses: {  }
      tags:
        - Company
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                image_url:
                  type: string
                  format: binary
                  description: 'The image file.'
              required:
                - image_url
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: uuid
        description: 'The company uuid.'
        example: 3245d630-24fd-11ec-accd-e397aec85c7f
        required: true
        schema:
          type: string
  /api/v1/companies/logo:
    delete:
      summary: 'Remove company logo.'
      operationId: removeCompanyLogo
      description: 'Only self can remove his logo.'
      parameters: []
      responses: {  }
      tags:
        - Company
  '/api/v1/companies/{company_uuid}/billing':
    get:
      summary: 'Redirect to Stripe Billing Auth'
      operationId: redirectToStripeBillingAuth
      description: 'This endpoint lets user to redirect to Stripe Billing Auth.'
      parameters: []
      responses: {  }
      tags:
        - Company
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: uuid
        description: 'The company uuid.'
        example: ecd24580-2749-11ec-9b86-1102c06e74b4
        required: true
        schema:
          type: string
  '/api/v1/companies/{company_uuid}/settings-json':
    get:
      summary: 'Get settings JSON file URL'
      operationId: getSettingsJSONFileURL
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Company
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                settings_name:
                  type: string
                  description: 'The setting name'
                  example: et
              required:
                - settings_name
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: uuid
        description: 'The company uuid.'
        example: 3245d630-24fd-11ec-accd-e397aec85c7f
        required: true
        schema:
          type: string
  '/api/v1/companies/{company_uuid}/upload-base64':
    post:
      summary: "POST\nUpload Base64 files to S3"
      operationId: pOSTUploadBase64FilesToS3
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Company
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                items:
                  type: array
                  description: 'The array of {base64String, uuid} object.'
                  example: null
                  items:
                    type: string
                deleteItems:
                  type: array
                  description: 'The array of uuid object.'
                  example: null
                  items:
                    type: string
              required:
                - items
                - deleteItems
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/customers/{customer_uuid}/customer-addresses':
    put:
      summary: Update
      operationId: update
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'Customer Address'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                'addresses[]':
                  type: array
                  description: 'of addresses.'
                  example: null
                  items:
                    type: string
                'delete_addresses[]':
                  type: array
                  description: 'of addresses.uuid to be deleted.'
                  example: null
                  items:
                    type: string
    parameters:
      -
        in: path
        name: customer_uuid
        description: 'Optional parameter. uuid required The UUID of the customer that is to be updated.'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 3245d634-24fd-11ec-accd-e397aec85c7f
  '/api/v1/customers/{customer_uuid}/customer-addresses/{customerAddress_uuid}':
    patch:
      summary: Patch
      operationId: patch
      description: 'Patch Customer Address'
      parameters: []
      responses: {  }
      tags:
        - 'Customer Address'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                address1:
                  type: string
                  description: 'optional The address 1. Example : Address 1'
                  example: quos
                address2:
                  type: string
                  description: 'optional The address 2. Example : Address 2'
                  example: non
                city:
                  type: string
                  description: 'optional The city. Example : Queen Creek'
                  example: exercitationem
                country_state_uuid:
                  type: string
                  description: 'optional The state uuid. Example : 3245d630-24fd-11ec-accd-e397aec85c7f'
                  example: 2df468ab-473f-3314-a687-2ddd8778373f
                country_uuid:
                  type: string
                  description: 'optional The country uuid. Example : 3245d630-24fd-11ec-accd-e397aec85c7f'
                  example: e0eeaa54-c615-3eba-8530-be9e21cd170a
                postal_code:
                  type: string
                  description: 'optional The postal code. Example : 12345'
                  example: qui
                latitude:
                  type: string
                  description: 'optional The latitude. Example : 33.2486'
                  example: nulla
                longitude:
                  type: string
                  description: 'optional The longitude. Example : 111.6377'
                  example: autem
                is_primary:
                  type: string
                  description: 'optional The is_primary. Example : true'
                  example: dolor
                settings:
                  type: string
                  description: 'optional The settings. Example : {}'
                  example: repudiandae
                county:
                  type: string
                  description: 'optional The county. Example : Pinal County'
                  example: voluptatibus
                integration_meta:
                  type: object
                  description: ''
                  example: null
                  properties: {  }
    parameters:
      -
        in: path
        name: customer_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: customerAddress_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/customers/{customer_uuid}/customer-addresses/{customerAddress_uuid}/integration-data':
    get:
      summary: 'Integration Data'
      operationId: integrationData
      description: 'Get data from a 3rd party API'
      parameters: []
      responses: {  }
      tags:
        - 'Customer Address'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                'addresses[]':
                  type: array
                  description: 'of addresses.'
                  example: null
                  items:
                    type: string
                'delete_addresses[]':
                  type: array
                  description: 'of addresses.uuid to be deleted.'
                  example: null
                  items:
                    type: string
    parameters:
      -
        in: path
        name: customer_uuid
        description: 'Optional parameter. uuid required The UUID of the customer that is to be updated.'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 3245d634-24fd-11ec-accd-e397aec85c7f
      -
        in: path
        name: customerAddress_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/service-plans/{servicePlan_uuid}/pricing-groups':
    get:
      summary: List
      operationId: list
      description: 'Shows the list of Service Plan Pricing Group with pagination.'
      parameters: []
      responses: {  }
      tags:
        - 'Service Plan Pricing Group'
    post:
      summary: Create
      operationId: create
      description: 'Store a newly created Service Plan Pricing Group.'
      parameters: []
      responses: {  }
      tags:
        - 'Service Plan Pricing Group'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                pricing_group:
                  type: object
                  description: ''
                  example: []
                  properties: {  }
                name:
                  type: string
                  description: 'The name of Service Plan Pricing Group.'
                  example: 'Premium Service Plan Pricing Group'
                frequency:
                  type: string
                  description: 'The frequency of Service Plan Pricing Group.'
                  example: MONTHLY
                pricing_type:
                  type: string
                  description: 'The pricing type of Service Plan Pricing Group.'
                  example: DYNAMIC_RANGE_PRICE
                apply_taxes:
                  type: boolean
                  description: 'The support request details.'
                  example: true
                description:
                  type: string
                  description: 'The support request details.'
                  example: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit...'
                pricing_data:
                  type: object
                  description: 'The support request details.'
                  example:
                    type: 'The Price'
                    default: 'The Pricing'
                    max: '1000.00'
                  properties: {  }
              required:
                - pricing_group
                - name
                - frequency
    put:
      summary: 'Update (Single/Multiple)'
      operationId: updateSingleMultiple
      description: "Modify the specified Service Plan Pricing Group.\nFor Single update, body parameter are all required.\nFor Multiple update, @bodyparameter will be an array of the Single @bodyParameter (if uuid is included then perform update; else, create new)."
      parameters: []
      responses: {  }
      tags:
        - 'Service Plan Pricing Group'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                pricing_group:
                  type: object
                  description: ''
                  example: []
                  properties: {  }
                pricing_group_rules:
                  type: object
                  description: ''
                  example: null
                  properties: {  }
                save_service_plan_as:
                  type: string
                  description: ''
                  example: SERVICE_PLAN_DRAFT
                  enum:
                    - SERVICE_PLAN_DRAFT
                    - SERVICE_PLAN_ACTIVE
                    - SERVICE_PLAN_ARCHIVED
                name:
                  type: string
                  description: 'The name of Service Plan Pricing Group.'
                  example: 'Premium Service Plan Pricing Group'
                frequency:
                  type: string
                  description: 'The frequency of Service Plan Pricing Group.'
                  example: MONTHLY
                pricing_type:
                  type: string
                  description: 'The pricing type of Service Plan Pricing Group.'
                  example: DYNAMIC_RANGE_PRICE
                apply_taxes:
                  type: boolean
                  description: 'The support request details.'
                  example: true
                description:
                  type: string
                  description: 'The support request details.'
                  example: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit...'
                pricing_data:
                  type: object
                  description: 'The support request details.'
                  example:
                    type: 'The Price'
                    default: 'The Pricing'
                    max: '1000.00'
                  properties: {  }
              required:
                - pricing_group
                - name
                - frequency
                - pricing_type
                - apply_taxes
                - description
                - pricing_data
    parameters:
      -
        in: path
        name: servicePlan_uuid
        description: ''
        example: 2
        required: true
        schema:
          type: integer
      -
        in: path
        name: page
        description: 'Optional parameter. The page number. Example : 1'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 11
      -
        in: path
        name: page_size
        description: 'Optional parameter. The number of record you want per page. Example : 5'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 6
      -
        in: path
        name: sort_by
        description: 'Optional parameter. The column name. Example : name'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: rem
      -
        in: path
        name: sort_order
        description: 'Optional parameter. The order in which you want your records. Example : asc'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: labore
      -
        in: path
        name: search
        description: 'Optional parameter. The general search, it will find matching string. Example : home'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: placeat
  '/api/v1/service-plans/{servicePlan_uuid}/pricing-groups/{servicePlanPricingGroup_uuid}':
    get:
      summary: Get
      operationId: get
      description: 'Display the specified Service Plan Pricing Group.'
      parameters: []
      responses: {  }
      tags:
        - 'Service Plan Pricing Group'
    put:
      summary: 'Update (Single/Multiple)'
      operationId: updateSingleMultiple
      description: "Modify the specified Service Plan Pricing Group.\nFor Single update, body parameter are all required.\nFor Multiple update, @bodyparameter will be an array of the Single @bodyParameter (if uuid is included then perform update; else, create new)."
      parameters: []
      responses: {  }
      tags:
        - 'Service Plan Pricing Group'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                pricing_group:
                  type: object
                  description: ''
                  example: []
                  properties: {  }
                pricing_group_rules:
                  type: object
                  description: ''
                  example: null
                  properties: {  }
                save_service_plan_as:
                  type: string
                  description: ''
                  example: SERVICE_PLAN_ARCHIVED
                  enum:
                    - SERVICE_PLAN_DRAFT
                    - SERVICE_PLAN_ACTIVE
                    - SERVICE_PLAN_ARCHIVED
                name:
                  type: string
                  description: 'The name of Service Plan Pricing Group.'
                  example: 'Premium Service Plan Pricing Group'
                frequency:
                  type: string
                  description: 'The frequency of Service Plan Pricing Group.'
                  example: MONTHLY
                pricing_type:
                  type: string
                  description: 'The pricing type of Service Plan Pricing Group.'
                  example: DYNAMIC_RANGE_PRICE
                apply_taxes:
                  type: boolean
                  description: 'The support request details.'
                  example: true
                description:
                  type: string
                  description: 'The support request details.'
                  example: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit...'
                pricing_data:
                  type: object
                  description: 'The support request details.'
                  example:
                    type: 'The Price'
                    default: 'The Pricing'
                    max: '1000.00'
                  properties: {  }
              required:
                - pricing_group
                - name
                - frequency
                - pricing_type
                - apply_taxes
                - description
                - pricing_data
    patch:
      summary: Patch
      operationId: patch
      description: 'Perform patches for the specified Service Plan Pricing Group.'
      parameters: []
      responses: {  }
      tags:
        - 'Service Plan Pricing Group'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of Service Plan Pricing Group.'
                  example: 'Premium Service Plan Pricing Group'
                frequency:
                  type: string
                  description: 'The frequency of Service Plan Pricing Group.'
                  example: MONTHLY
                pricing_type:
                  type: string
                  description: 'The pricing type of Service Plan Pricing Group.'
                  example: DYNAMIC_RANGE_PRICE
                apply_taxes:
                  type: boolean
                  description: 'The support request details.'
                  example: true
                description:
                  type: string
                  description: 'The support request details.'
                  example: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit...'
                pricing_data:
                  type: object
                  description: 'The support request details.'
                  example:
                    type: 'The Price'
                    default: 'The Pricing'
                    max: '1000.00'
                  properties: {  }
    delete:
      summary: Delete
      operationId: delete
      description: 'Remove the specified Service Plan Pricing Group.'
      parameters: []
      responses: {  }
      tags:
        - 'Service Plan Pricing Group'
    parameters:
      -
        in: path
        name: servicePlan_uuid
        description: ''
        example: 2
        required: true
        schema:
          type: integer
      -
        in: path
        name: servicePlanPricingGroup_uuid
        description: ''
        example: af6688a6-c5bb-3ebf-8747-9bec0877929e
        required: true
        schema:
          type: string
  /api/v1/reports/types:
    get:
      summary: ''
      operationId: getApiV1ReportsTypes
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Report
  /api/v1/reports:
    get:
      summary: List
      operationId: list
      description: 'Returns the list of available reports'
      parameters: []
      responses: {  }
      tags:
        - Report
    post:
      summary: Store
      operationId: store
      description: 'Store a newly created report.'
      parameters: []
      responses: {  }
      tags:
        - Report
    parameters:
      -
        in: path
        name: page
        description: 'Optional parameter. The page number. Example : 1'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 20
      -
        in: path
        name: page_size
        description: 'Optional parameter. The number of record you want per page. Example : 5'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 6
      -
        in: path
        name: sort_by
        description: 'Optional parameter. The column name. Example : title'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: accusamus
      -
        in: path
        name: sort_order
        description: 'Optional parameter. The order in which you want your records. Example : asc'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: est
      -
        in: path
        name: search
        description: 'Optional parameter. The general search, it will find matching string. Example : home'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: unde
      -
        in: path
        name: filter_by_uuids
        description: 'Optional parameter. string[] To filter by selected uuids. Example : [uuid, uuid-2]'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: illo
      -
        in: path
        name: groups
        description: 'Optional parameter. string[] To filter by selected groups. Example : [dashboard, sales]'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: animi
      -
        in: path
        name: report_type
        description: 'Optional parameter. To filter by selected report type. Example : 3245d630-24fd-11ec-accd-e397aec85c7f'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: eius
      -
        in: path
        name: template
        description: 'Optional parameter. To filter by selected template. Example : 3245d630-24fd-11ec-accd-e397aec85c7f'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: quo
      -
        in: path
        name: uuid
        description: 'Optional parameter. optional The company uuid.'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 3245d630-24fd-11ec-accd-e397aec85c7f
  '/api/v1/reports/{report_uuid}/duplicate':
    post:
      summary: Duplicate
      operationId: duplicate
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Report
    parameters:
      -
        in: path
        name: report_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
  /api/v1/reports/admin-overview:
    get:
      summary: Show
      operationId: show
      description: 'Show admin overview report.'
      parameters: []
      responses: {  }
      tags:
        - Report
  '/api/v1/reports/{report_uuid}':
    get:
      summary: Show
      operationId: show
      description: 'Show a single report.'
      parameters: []
      responses: {  }
      tags:
        - Report
    delete:
      summary: Delete
      operationId: delete
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Report
    parameters:
      -
        in: path
        name: report_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: user_uuid
        description: 'Optional parameter. optional string The user uuid. Example : "815d3d9c-f371-3781-8456-7e6954b5b0f5"'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 67253ee2-ebe8-3691-828a-05d6ae48f449
      -
        in: path
        name: period
        description: "Optional parameter. optional array The period type. Example : [['period_type' => 'days', 'period_detail' => [1, 7, 30, 365]], ['period_type' => 'months', 'period_detail' => ['2023-01-01', '2023-02-02']]]"
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: aut
      -
        in: path
        name: company_location_uuid
        description: 'Optional parameter. optional string The company location uuid. Example : "815d3d9c-f371-3781-8456-7e6954b5b0f5"'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 305d2226-9b3d-3c86-b1c9-df9ba2d71141
  '/api/v1/reports/{report_uuid}/export':
    get:
      summary: Export
      operationId: export
      description: 'Export summary reports'
      parameters: []
      responses: {  }
      tags:
        - Report
    parameters:
      -
        in: path
        name: report_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/reports/{report_uuid}/filters':
    get:
      summary: Filters
      operationId: filters
      description: 'Retrieve filters to be used in frontend processes'
      parameters: []
      responses: {  }
      tags:
        - Report
    parameters:
      -
        in: path
        name: report_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_uuid}/import-defaults':
    post:
      summary: 'Apply Import Set to Company'
      operationId: applyImportSetToCompany
      description: 'Store a newly created import set.'
      parameters: []
      responses: {  }
      tags:
        - ImportSet
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                tags:
                  type: array
                  description: 'The array of tags to be associated in an import set. Example : ["Pest Control", "Arizona"]'
                  example:
                    - quo
                  items:
                    type: string
                import_files:
                  type: files
                  description: 'The set of json files containing import settings data.'
                  example: suscipit
                override:
                  type: boolean
                  description: 'Determine if the import set will replace the current ones with matchinig names. Example : false'
                  example: false
                admin_only:
                  type: boolean
                  description: 'Determine if the import set is only accessible by admin. Example : true'
                  example: false
              required:
                - tags
                - import_files
                - override
                - admin_only
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_uuid}/import-defaults/upload':
    post:
      summary: 'Apply Import Set to Company'
      operationId: applyImportSetToCompany
      description: 'Store a newly created import set.'
      parameters: []
      responses: {  }
      tags:
        - ImportSet
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                tags:
                  type: array
                  description: 'The array of tags to be associated in an import set. Example : ["Pest Control", "Arizona"]'
                  example:
                    - blanditiis
                  items:
                    type: string
                import_files:
                  type: files
                  description: 'The set of json files containing import settings data.'
                  example: impedit
                override:
                  type: boolean
                  description: 'Determine if the import set will replace the current ones with matchinig names. Example : false'
                  example: true
                admin_only:
                  type: boolean
                  description: 'Determine if the import set is only accessible by admin. Example : true'
                  example: false
              required:
                - tags
                - import_files
                - override
                - admin_only
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
  /api/v1/import-sets:
    get:
      summary: List
      operationId: list
      description: 'Shows the list of import set with pagination.'
      parameters: []
      responses: {  }
      tags:
        - ImportSet
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                type_name:
                  type: string
                  description: ''
                  example: null
                type_code:
                  type: string
                  description: ''
                  example: null
    post:
      summary: Store
      operationId: store
      description: 'Store a newly created import set.'
      parameters: []
      responses: {  }
      tags:
        - ImportSet
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                tags:
                  type: array
                  description: 'The array of tags to be associated in an import set. Example : ["Pest Control", "Arizona"]'
                  example:
                    - voluptatum
                  items:
                    type: string
                import_files:
                  type: files
                  description: 'The set of json files containing import settings data.'
                  example: laudantium
                override:
                  type: boolean
                  description: 'Determine if the import set will replace the current ones with matchinig names. Example : false'
                  example: false
                admin_only:
                  type: boolean
                  description: 'Determine if the import set is only accessible by admin. Example : true'
                  example: true
              required:
                - tags
                - import_files
                - override
                - admin_only
    parameters:
      -
        in: path
        name: page
        description: 'Optional parameter. The page number. Example : 1'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 18
      -
        in: path
        name: page_size
        description: 'Optional parameter. The number of record you want per page. Example : 5'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 14
      -
        in: path
        name: sort_by
        description: 'Optional parameter. The column name. Example : name'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: in
      -
        in: path
        name: sort_order
        description: 'Optional parameter. The order in which you want your records. Example : asc'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: consectetur
      -
        in: path
        name: search
        description: 'Optional parameter. The general search, it will find matching string. Example : "Quality Assurance"'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: magni
      -
        in: path
        name: type_name
        description: 'Optional parameter. Filter by import type name : "Categories"'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: consequatur
      -
        in: path
        name: type_code
        description: 'Optional parameter. Filter by import type name : "categories"'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: adipisci
  '/api/v1/import-sets/{importSet_uuid}':
    get:
      summary: Show
      operationId: show
      description: 'Show a single import set.'
      parameters: []
      responses: {  }
      tags:
        - ImportSet
    put:
      summary: Update
      operationId: update
      description: 'Update a import set.'
      parameters: []
      responses: {  }
      tags:
        - ImportSet
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                import_files:
                  type: files
                  description: 'The set of json files containing import settings data.'
                  example: est
                admin_only:
                  type: boolean
                  description: 'Determine if the import set is only accessible by admin. Example : true'
                  example: false
                is_selected:
                  type: boolean
                  description: 'Determine if the import set will be automatically selected when popping the dialog. Example : true'
                  example: true
              required:
                - import_files
                - admin_only
                - is_selected
    patch:
      summary: 'Update the specified resource in storage.'
      operationId: updateTheSpecifiedResourceInStorage
      description: ''
      parameters: []
      responses: {  }
      tags:
        - ImportSet
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                admin_only:
                  type: boolean
                  description: 'Determine if the import set is only accessible by admin. Example : true'
                  example: true
                is_selected:
                  type: boolean
                  description: 'Determine if the import set will be automatically selected when popping the dialog. Example : true'
                  example: true
              required:
                - admin_only
                - is_selected
    delete:
      summary: Delete
      operationId: delete
      description: 'Delete a import set.'
      parameters: []
      responses: {  }
      tags:
        - ImportSet
    parameters:
      -
        in: path
        name: importSet_uuid
        description: ''
        example: 23
        required: true
        schema:
          type: integer
  '/api/v1/import-sets/{importSet_uuid}/download':
    get:
      summary: Download
      operationId: download
      description: 'Download a single import set.'
      parameters: []
      responses: {  }
      tags:
        - ImportSet
    parameters:
      -
        in: path
        name: importSet_uuid
        description: ''
        example: 23
        required: true
        schema:
          type: integer
  /api/v1/form-import-sets:
    get:
      summary: 'List Forms'
      operationId: listForms
      description: 'Shows the list of import set with pagination.'
      parameters: []
      responses: {  }
      tags:
        - ImportSet
    post:
      summary: 'Apply Import Set to Company'
      operationId: applyImportSetToCompany
      description: 'Store a newly created import set.'
      parameters: []
      responses: {  }
      tags:
        - ImportSet
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                tags:
                  type: array
                  description: 'The array of tags to be associated in an import set. Example : ["Pest Control", "Arizona"]'
                  example:
                    - quia
                  items:
                    type: string
                import_files:
                  type: files
                  description: 'The set of json files containing import settings data.'
                  example: id
                override:
                  type: boolean
                  description: 'Determine if the import set will replace the current ones with matchinig names. Example : false'
                  example: false
                admin_only:
                  type: boolean
                  description: 'Determine if the import set is only accessible by admin. Example : true'
                  example: false
              required:
                - tags
                - import_files
                - override
                - admin_only
    parameters:
      -
        in: path
        name: page
        description: 'Optional parameter. The page number. Example : 1'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 5
      -
        in: path
        name: page_size
        description: 'Optional parameter. The number of record you want per page. Example : 5'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 12
      -
        in: path
        name: sort_by
        description: 'Optional parameter. The column name. Example : name'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: itaque
      -
        in: path
        name: sort_order
        description: 'Optional parameter. The order in which you want your records. Example : asc'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: eaque
      -
        in: path
        name: search
        description: 'Optional parameter. The general search, it will find matching string. Example : "Quality Assurance"'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: eos
  '/api/v1/companies/{company_uuid}/forms':
    get:
      summary: List
      operationId: list
      description: 'Shows the list of form with pagination.'
      parameters: []
      responses: {  }
      tags:
        - Form
    post:
      summary: Store
      operationId: store
      description: 'Store a newly created form.'
      parameters: []
      responses: {  }
      tags:
        - Form
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the form. Example : "My form"'
                  example: omnis
                assignment:
                  type: string
                  description: 'The terms of the form ("QUALITY_ASSURANCE", "SERVICE_PLANS", "PROPOSAL_TEMPLATES"). Example : "QUALITY_ASSURANCE"'
                  example: sit
                form_fields:
                  type: array
                  description: 'The list of form field data.'
                  example:
                    - ea
                  items:
                    type: string
              required:
                - name
                - assignment
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: page
        description: 'Optional parameter. The page number. Example : 1'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 20
      -
        in: path
        name: page_size
        description: 'Optional parameter. The number of record you want per page. Example : 5'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 2
      -
        in: path
        name: sort_by
        description: 'Optional parameter. The column name. Example : name'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: aut
      -
        in: path
        name: sort_order
        description: 'Optional parameter. The order in which you want your records. Example : asc'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: sequi
      -
        in: path
        name: search
        description: 'Optional parameter. The general search, it will find matching string. Example : "Quality Assurance"'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: qui
  '/api/v1/companies/{company_uuid}/form-types':
    get:
      summary: 'Get form types'
      operationId: getFormTypes
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Form
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_uuid}/forms/{form_uuid}':
    get:
      summary: Show
      operationId: show
      description: 'Show a single form.'
      parameters: []
      responses: {  }
      tags:
        - Form
    put:
      summary: Update
      operationId: update
      description: 'Update a form.'
      parameters: []
      responses: {  }
      tags:
        - Form
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the form. Example : "My Edited Form"'
                  example: cum
                assignment:
                  type: string
                  description: 'The terms of the form ("QUALITY_ASSURANCE", "SERVICE_PLANS", "PROPOSAL_TEMPLATES"). Example : "QUALITY_ASSURANCE"'
                  example: quasi
                form_fields:
                  type: array
                  description: 'The list of form field data.'
                  example:
                    - ex
                  items:
                    type: string
              required:
                - name
                - assignment
    post:
      summary: Update
      operationId: update
      description: 'Update a form.'
      parameters: []
      responses: {  }
      tags:
        - Form
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the form. Example : "My Edited Form"'
                  example: quas
                assignment:
                  type: string
                  description: 'The terms of the form ("QUALITY_ASSURANCE", "SERVICE_PLANS", "PROPOSAL_TEMPLATES"). Example : "QUALITY_ASSURANCE"'
                  example: quis
                form_fields:
                  type: array
                  description: 'The list of form field data.'
                  example:
                    - ut
                  items:
                    type: string
              required:
                - name
                - assignment
    patch:
      summary: Patch
      operationId: patch
      description: 'Patch a company form.'
      parameters: []
      responses: {  }
      tags:
        - Form
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the form. Example : "My Patched Form"'
                  example: pariatur
                assignment:
                  type: string
                  description: 'The terms of the form ("QUALITY_ASSURANCE", "SERVICE_PLANS", "PROPOSAL_TEMPLATES"). Example : "QUALITY_ASSURANCE"'
                  example: officia
                form_fields:
                  type: array
                  description: 'The list of form field data.'
                  example:
                    - recusandae
                  items:
                    type: string
    delete:
      summary: Delete
      operationId: delete
      description: 'Delete a form.'
      parameters: []
      responses: {  }
      tags:
        - Form
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: form_uuid
        description: ''
        example: 2
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_uuid}/forms/{form_uuid}/duplicate':
    post:
      summary: Duplicate
      operationId: duplicate
      description: 'Duplicate form'
      parameters: []
      responses: {  }
      tags:
        - Form
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: form_uuid
        description: ''
        example: 2
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_uuid}/description-sets':
    get:
      summary: List
      operationId: list
      description: 'Shows the list of description set with pagination.'
      parameters: []
      responses: {  }
      tags:
        - 'Description Set'
    post:
      summary: Store
      operationId: store
      description: 'Store a newly created description set.'
      parameters: []
      responses: {  }
      tags:
        - 'Description Set'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the description set. Example : "Termite"'
                  example: sit
                options:
                  type: array
                  description: 'The options of the description set. Example : [{"title":"Termite","description":["description 1","description 2"]}]'
                  example:
                    - vero
                  items:
                    type: string
              required:
                - name
                - options
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: page
        description: 'Optional parameter. The page number. Example : 1'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 18
      -
        in: path
        name: page_size
        description: 'Optional parameter. The number of record you want per page. Example : 5'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 17
      -
        in: path
        name: sort_by
        description: 'Optional parameter. The column name. Example : name'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: explicabo
      -
        in: path
        name: sort_order
        description: 'Optional parameter. The order in which you want your records. Example : asc'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: blanditiis
      -
        in: path
        name: search
        description: 'Optional parameter. The general search, it will find matching string. Example : home'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: minima
      -
        in: path
        name: exclude
        description: "Optional parameter. array An array of UUID to exclude from the results. Example : ['3245d630-24fd-11ec-accd-e397aec85c7f']"
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: hic
  '/api/v1/companies/{company_uuid}/description-sets/{descriptionSet_uuid}':
    get:
      summary: Show
      operationId: show
      description: 'Show a single description set.'
      parameters: []
      responses: {  }
      tags:
        - 'Description Set'
    put:
      summary: Update
      operationId: update
      description: 'Update a description set.'
      parameters: []
      responses: {  }
      tags:
        - 'Description Set'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the description set. Example : "Termite"'
                  example: non
                options:
                  type: array
                  description: 'The options of the description set. Example : [{"title":"Termite","description":["description 1","description 2"]}]'
                  example:
                    - ex
                  items:
                    type: string
              required:
                - name
                - options
    patch:
      summary: Patch
      operationId: patch
      description: 'Patch a company description set.'
      parameters: []
      responses: {  }
      tags:
        - 'Description Set'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the description set. Example : "Termite"'
                  example: corporis
                options:
                  type: array
                  description: 'The options of the description set. Example : [{"title":"Termite","description":["description 1","description 2"]}]'
                  example:
                    - quod
                  items:
                    type: string
    delete:
      summary: Delete
      operationId: delete
      description: 'Delete a description set.'
      parameters: []
      responses: {  }
      tags:
        - 'Description Set'
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: descriptionSet_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
  /api/v1:
    get:
      summary: Index
      operationId: index
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Home
  '/api/v1/companies/{company_uuid}/referral-sources':
    get:
      summary: List
      operationId: list
      description: 'Shows the list of referral sources.'
      parameters: []
      responses: {  }
      tags:
        - 'Referral Source'
    post:
      summary: Store
      operationId: store
      description: 'Store a newly created referral source.'
      parameters: []
      responses: {  }
      tags:
        - 'Referral Source'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the referral source. Example : Referral Source 1'
                  example: nisi
                description:
                  type: string
                  description: 'The attributes of the referral source.'
                  example: '"Lorem ipsum dolor sit amet consectetur adipisicing elit."'
                integration_source_id:
                  type: string
                  description: 'optional The image source id of the referral source.'
                  example: '1234263'
              required:
                - name
                - description
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: page
        description: 'Optional parameter. The page number. Example : 1'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 5
      -
        in: path
        name: page_size
        description: 'Optional parameter. The number of record you want per page. Example : 5'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 1
      -
        in: path
        name: sort_by
        description: 'Optional parameter. The column name. Example : name'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: est
      -
        in: path
        name: sort_order
        description: 'Optional parameter. The order in which you want your records. Example : asc'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: inventore
      -
        in: path
        name: search
        description: 'Optional parameter. The general search, it will find matching string. Example : home'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: fuga
  '/api/v1/companies/{company_uuid}/referral-sources/{referralSource_uuid}':
    get:
      summary: Show
      operationId: show
      description: 'Show a single referral source.'
      parameters: []
      responses: {  }
      tags:
        - 'Referral Source'
    put:
      summary: Update
      operationId: update
      description: 'Update a referral source.'
      parameters: []
      responses: {  }
      tags:
        - 'Referral Source'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the referral source. Example : Referral Source 1'
                  example: rerum
                description:
                  type: string
                  description: 'The attributes of the referral source.'
                  example: '"Lorem ipsum dolor sit amet consectetur adipisicing elit."'
                integration_source_id:
                  type: string
                  description: 'optional The image source id of the referral source.'
                  example: '1234263'
              required:
                - name
                - description
    patch:
      summary: Patch
      operationId: patch
      description: 'Patch a company referral source.'
      parameters: []
      responses: {  }
      tags:
        - 'Referral Source'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the referral source. Example : Referral Source 1'
                  example: eos
                description:
                  type: string
                  description: 'The attributes of the referral source.'
                  example: '"Lorem ipsum dolor sit amet consectetur adipisicing elit."'
                integration_source_id:
                  type: string
                  description: 'optional The image source id of the referral source.'
                  example: '1234263'
              required:
                - name
                - description
    delete:
      summary: Delete
      operationId: delete
      description: 'Delete a referral source.'
      parameters: []
      responses: {  }
      tags:
        - 'Referral Source'
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: referralSource_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
  /api/v1/solutions:
    get:
      summary: List
      operationId: list
      description: 'Shows the list of solutions.'
      parameters: []
      responses: {  }
      tags:
        - Solution
    post:
      summary: Store
      operationId: store
      description: 'Store a new solution.'
      parameters: []
      responses: {  }
      tags:
        - Solution
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                solution_category_uuid:
                  type: uuid
                  description: 'The solution category of the solution. Example : "3c787d66-2a4f-3f1d-9591-c330be0abe82"'
                  example: 33d80ec7-5cfc-34df-98cc-84218f4cf7bf
                name:
                  type: string
                  description: 'The name of the solution. Example : Solution 1'
                  example: fuga
                slug:
                  type: string
                  description: 'The slug of the solution category.'
                  example: solution-1
                description:
                  type: string
                  description: 'The attributes of the solution.'
                  example: '"Lorem ipsum dolor sit amet consectetur adipisicing elit."'
                video_url:
                  type: string
                  description: 'The video url of the solution.'
                  example: '"https::somevideo.com/thevideoforpestroutes"'
              required:
                - solution_category_uuid
                - name
    parameters:
      -
        in: path
        name: page
        description: 'Optional parameter. The page number. Example : 1'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 8
      -
        in: path
        name: page_size
        description: 'Optional parameter. The number of record you want per page. Example : 5'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 11
      -
        in: path
        name: sort_by
        description: 'Optional parameter. The column name. Example : name'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: sed
      -
        in: path
        name: sort_order
        description: 'Optional parameter. The order in which you want your records. Example : asc'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: facere
      -
        in: path
        name: search
        description: 'Optional parameter. The general search, it will find matching string. Example : home'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: repellat
      -
        in: path
        name: filter_by_solution_category_uuids
        description: 'Optional parameter. array To filter the list of solutions by solution category. Example : ["3c787d66-2a4f-3f1d-9591-c330be0abe82"]'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: iure
      -
        in: path
        name: filter_by_status_uuid
        description: 'Optional parameter. To filter the list the status. Example : "3c787d66-2a4f-3f1d-9591-c330be0abe82"'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: f3c51cae-3c86-350c-9cfa-a576eaa139ee
  '/api/v1/solutions/{solution_uuid}':
    get:
      summary: Show
      operationId: show
      description: 'Show a single solution.'
      parameters: []
      responses: {  }
      tags:
        - Solution
    put:
      summary: Update
      operationId: update
      description: 'Update a solution.'
      parameters: []
      responses: {  }
      tags:
        - Solution
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                solution_category_uuid:
                  type: uuid
                  description: 'The solution category of the solution. Example : "3c787d66-2a4f-3f1d-9591-c330be0abe82"'
                  example: 31c002db-5f23-3a25-9071-f27380625d66
                name:
                  type: string
                  description: 'The name of the solution. Example : Solution 1'
                  example: ex
                slug:
                  type: string
                  description: 'The slug of the solution category.'
                  example: solution-1
                description:
                  type: string
                  description: 'The attributes of the solution.'
                  example: '"Lorem ipsum dolor sit amet consectetur adipisicing elit."'
                video_url:
                  type: string
                  description: 'The video url of the solution.'
                  example: '"https::somevideo.com/thevideoforpestroutes"'
                status_uuid:
                  type: string
                  description: 'The video url of the solution.'
                  example: '"3c787d66-2a4f-3f1d-9591-c330be0abe82"'
              required:
                - solution_category_uuid
                - name
    patch:
      summary: Patch
      operationId: patch
      description: 'Patch a solution.'
      parameters: []
      responses: {  }
      tags:
        - Solution
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                solution_category_uuid:
                  type: uuid
                  description: 'The solution category of the solution. Example : "3c787d66-2a4f-3f1d-9591-c330be0abe82"'
                  example: cff91e44-d676-3494-acd2-9b9807f25a2f
                name:
                  type: string
                  description: 'The name of the solution. Example : Solution 1'
                  example: excepturi
                slug:
                  type: string
                  description: 'The slug of the solution category.'
                  example: solution-1
                description:
                  type: string
                  description: 'The attributes of the solution.'
                  example: '"Lorem ipsum dolor sit amet consectetur adipisicing elit."'
                video_url:
                  type: string
                  description: 'The video url of the solution.'
                  example: '"https::somevideo.com/thevideoforpestroutes"'
                status_uuid:
                  type: string
                  description: 'The video url of the solution.'
                  example: '"3c787d66-2a4f-3f1d-9591-c330be0abe82"'
    delete:
      summary: Delete
      operationId: delete
      description: 'Delete a solution.'
      parameters: []
      responses: {  }
      tags:
        - Solution
    parameters:
      -
        in: path
        name: solution_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
  /api/v1/solutions/upload:
    post:
      summary: 'Store Image'
      operationId: storeImage
      description: 'Upload an image to solution'
      parameters: []
      responses: {  }
      tags:
        - Solution
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                fileUpload:
                  type: string
                  format: binary
                  description: 'The file to be uploaded.'
              required:
                - fileUpload
  '/api/v1/solutions/{solution_uuid}/reset':
    put:
      summary: Reset
      operationId: reset
      description: "Reset a solution's user progress."
      parameters: []
      responses: {  }
      tags:
        - Solution
    parameters:
      -
        in: path
        name: solution_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/solutions/{solution_uuid}/user-progress':
    put:
      summary: 'Update user progress'
      operationId: updateUserProgress
      description: 'Update user progress.'
      parameters: []
      responses: {  }
      tags:
        - Solution
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                is_completed:
                  type: boolean
                  description: 'The solution category of the solution. Example : false'
                  example: false
                step:
                  type: object
                  description: 'The current step the use is on. Example : 2'
                  example: []
                  properties: {  }
    parameters:
      -
        in: path
        name: solution_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/solutions/{solutionCategory_uuid}/sort':
    patch:
      summary: 'Patch Index'
      operationId: patchIndex
      description: 'Performs specific updates for solutions'
      parameters: []
      responses: {  }
      tags:
        - Solution
    parameters:
      -
        in: path
        name: solutionCategory_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: solutions_ranking_list
        description: 'Optional parameter. string[] A dictionary of uuids with uuid as key and rank as the value. Example : {"69e56cdf-cea8-4356-b35d-58d610aba886" : 1, "9c578b77-916a-4620-a246-fa951f422912" : 2}'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: at
  /api/v1/customers:
    get:
      summary: List
      operationId: list
      description: 'Shows the list of company customers that the user has access to view.'
      parameters:
        -
          in: query
          name: page
          description: 'optional The page number.'
          example: 1
          required: false
          schema:
            type: integer
            description: 'optional The page number.'
            example: 1
      responses: {  }
      tags:
        - Customer
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                page_size:
                  type: integer
                  description: 'optional The number of records you want per page.'
                  example: 15
                sort_by:
                  type: string
                  description: 'optional The column name.'
                  example: display_name
                sort_order:
                  type: string
                  description: 'optional The order in which you want your records.'
                  example: asc
                search:
                  type: string
                  description: 'optional The general search, it will find matching string.'
                  example: John
                filter_by_company_location_uuid:
                  type: string
                  description: 'uuid optional Filter results by company location uuid.'
                  example: 3245d630-24fd-11ec-accd-e397aec85c7f
                filter_by_statuses_uuid:
                  type: string
                  description: 'uuid optional Filter results by company location uuid.'
                  example: 3245d630-24fd-11ec-accd-e397aec85c7f
                is_with_trashed:
                  type: boolean
                  description: 'Whether or not to include trashed customer, addresses and contacts.'
                  example: true
    post:
      summary: Store
      operationId: store
      description: 'Create a new customer along with their primary contact and address'
      parameters: []
      responses: {  }
      tags:
        - Customer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                company_location_uuid:
                  type: uuid
                  description: 'The company location UUID.'
                  example: 3245d630-24fd-11ec-accd-e397aec85c7f
                account_name:
                  type: string
                  description: 'The account name.'
                  example: 'Smarter Launch LLC'
                customer_contact:
                  type: array
                  description: 'The customer contacts'
                  example:
                    - vitae
                  items:
                    type: string
                customer_address:
                  type: array
                  description: 'The contact addresses'
                  example:
                    - facere
                  items:
                    type: string
              required:
                - company_location_uuid
                - account_name
                - customer_contact
                - customer_address
  '/api/v1/customers/{customer_uuid}':
    get:
      summary: Show
      operationId: show
      description: 'This endpoint returns detail of a certain customer.'
      parameters: []
      responses: {  }
      tags:
        - Customer
    put:
      summary: Update
      operationId: update
      description: 'Update individual customer account name and the location they are associated with.'
      parameters: []
      responses: {  }
      tags:
        - Customer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                company_location_uuid:
                  type: uuid
                  description: 'The UUID of the company location to associate the customer with.'
                  example: 3245d634-24fd-11ec-accd-e397aec85c7f
                account_name:
                  type: string
                  description: 'The account name.'
                  example: 'Smarter Launch LLC'
                referral_source_uuid:
                  type: string
                  description: ''
                  example: null
                include_fields:
                  type: string
                  description: ''
                  example: null
              required:
                - company_location_uuid
                - account_name
    patch:
      summary: Patch
      operationId: patch
      description: 'Patch individual customer account name and the location they are associated with.'
      parameters: []
      responses: {  }
      tags:
        - Customer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                company_location_uuid:
                  type: uuid
                  description: 'The UUID of the company location to associate the customer with.'
                  example: 3245d634-24fd-11ec-accd-e397aec85c7f
                account_name:
                  type: string
                  description: 'The account name.'
                  example: 'Smarter Launch LLC'
              required:
                - company_location_uuid
                - account_name
    delete:
      summary: Delete
      operationId: delete
      description: 'This end point allows user the delete the customer.'
      parameters: []
      responses: {  }
      tags:
        - Customer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                uuid:
                  type: string
                  description: 'The uuid of the customer.'
                  example: 3245d630-24fd-11ec-accd-e397aec85c7f
              required:
                - uuid
    parameters:
      -
        in: path
        name: customer_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/customers/{customer_uuid}/with-contact-address':
    put:
      summary: 'Update with contact and address'
      operationId: updateWithContactAndAddress
      description: 'This is to update those partial customer data'
      parameters: []
      responses: {  }
      tags:
        - Customer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                company_location_uuid:
                  type: uuid
                  description: 'The company location UUID.'
                  example: 3245d630-24fd-11ec-accd-e397aec85c7f
                account_name:
                  type: string
                  description: 'The account name.'
                  example: 'Smarter Launch LLC'
                customer_contact:
                  type: array
                  description: 'The customer contacts'
                  example:
                    - tempore
                  items:
                    type: string
                customer_address:
                  type: array
                  description: 'The contact addresses'
                  example:
                    - esse
                  items:
                    type: string
              required:
                - company_location_uuid
                - account_name
                - customer_contact
                - customer_address
    parameters:
      -
        in: path
        name: customer_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/customers/{customer_uuid}/sync':
    patch:
      summary: Sync
      operationId: sync
      description: 'This endpoint allows user to perform manual sync to a customer'
      parameters: []
      responses: {  }
      tags:
        - Customer
    parameters:
      -
        in: path
        name: customer_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
  /api/v1/industries:
    get:
      summary: 'Fetch all available industry'
      operationId: fetchAllAvailableIndustry
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Customer
  /api/v1/categories:
    get:
      summary: List
      operationId: list
      description: 'Shows the list of Categories with pagination.'
      parameters: []
      responses: {  }
      tags:
        - Category
    post:
      summary: Create
      operationId: create
      description: 'Store a newly created Category.'
      parameters: []
      responses: {  }
      tags:
        - Category
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the category.'
                  example: 'Small Pests'
                description:
                  type: string
                  description: 'The description of the category.'
                  example: 'Lorem ipsum dolor sit amet consectetur adipisicing elit'
                category_group:
                  type: string
                  description: "The category_group of the category. ['SERVICE_PLAN']."
                  example: SERVICE_PLAN
              required:
                - name
                - category_group
    parameters:
      -
        in: path
        name: page
        description: 'Optional parameter. The page number. Example : 1'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 6
      -
        in: path
        name: page_size
        description: 'Optional parameter. The number of record you want per page. Example : 5'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 16
      -
        in: path
        name: sort_by
        description: 'Optional parameter. The column name. Example : name'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: maiores
      -
        in: path
        name: sort_order
        description: 'Optional parameter. The order in which you want your records. Example : asc'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: molestiae
      -
        in: path
        name: search
        description: 'Optional parameter. The general search, it will find matching string. Example : home'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: totam
      -
        in: path
        name: category_group
        description: 'Optional parameter. The category group to filter by. Example : SERVICE_PLAN'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: libero
  '/api/v1/categories/{category_uuid}':
    get:
      summary: Get
      operationId: get
      description: 'Display the specified Category.'
      parameters: []
      responses: {  }
      tags:
        - Category
    put:
      summary: Update
      operationId: update
      description: 'Modify the specified Category.'
      parameters: []
      responses: {  }
      tags:
        - Category
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the category.'
                  example: 'Small Pests'
                description:
                  type: string
                  description: 'The description of the category.'
                  example: 'Lorem ipsum dolor sit amet consectetur adipisicing elit'
                category_group:
                  type: string
                  description: ''
                  example: DRAWING_SYMBOL
                  enum:
                    - SERVICE_PLAN
                    - DRAWING_SYMBOL
              required:
                - name
    patch:
      summary: Patch
      operationId: patch
      description: 'Perform patches for the specified Category.'
      parameters: []
      responses: {  }
      tags:
        - Category
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the category.'
                  example: 'Small Pests'
                description:
                  type: string
                  description: 'The description of the category.'
                  example: 'Lorem ipsum dolor sit amet consectetur adipisicing elit'
                category_group:
                  type: string
                  description: ''
                  example: SERVICE_PLAN
                  enum:
                    - SERVICE_PLAN
                    - DRAWING_SYMBOL
    delete:
      summary: Delete
      operationId: delete
      description: 'Remove the specified Category.'
      parameters: []
      responses: {  }
      tags:
        - Category
    parameters:
      -
        in: path
        name: category_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_uuid}/schedules':
    get:
      summary: List
      operationId: list
      description: 'Shows the list of schedule with pagination.'
      parameters: []
      responses: {  }
      tags:
        - Schedule
    post:
      summary: Store
      operationId: store
      description: 'Store a newly created schedule.'
      parameters: []
      responses: {  }
      tags:
        - Schedule
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the schedule. Example : "My Schedule"'
                  example: et
                description:
                  type: string
                  description: 'The description of the schedule. Example : "Lorem ipsum dolor sit, amet consectetur adipisicing elit. Consequatur dolores iste quae soluta."'
                  example: 'Eveniet qui rem consequatur id.'
                type:
                  type: string
                  description: 'The type of the schedule (service, billing). Example : "service"'
                  example: nesciunt
                units:
                  type: integer
                  description: 'The number of week(s)/month(s)/year(s) of a schedule. Example : 5'
                  example: 6
                term:
                  type: string
                  description: 'The terms of the schedule (week/month/year). Example : week'
                  example: itaque
                enabled_service_months:
                  type: array
                  description: 'The list of integer which represents a month. Example : [1, 2, 12] means ["January", "February", "December"]'
                  example:
                    - quaerat
                  items:
                    type: string
                visits:
                  type: integer
                  description: 'The number of visits of the schedule. Example : 52'
                  example: 14
              required:
                - name
                - type
                - units
                - term
                - enabled_service_months
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: page
        description: 'Optional parameter. The page number. Example : 1'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 16
      -
        in: path
        name: page_size
        description: 'Optional parameter. The number of record you want per page. Example : 5'
        required: true
        schema:
          type: integer
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: 17
      -
        in: path
        name: sort_by
        description: 'Optional parameter. The column name. Example : name'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: omnis
      -
        in: path
        name: sort_order
        description: 'Optional parameter. The order in which you want your records. Example : asc'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: maxime
      -
        in: path
        name: search
        description: 'Optional parameter. The general search, it will find matching string. Example : home'
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: sed
      -
        in: path
        name: type
        description: "Optional parameter. in:'service','billing' The filter by type. Example : service"
        required: true
        schema:
          type: string
        examples:
          omitted:
            summary: 'When the value is omitted'
            value: ''
          present:
            summary: 'When the value is present'
            value: ut
  '/api/v1/companies/{company_uuid}/schedules/{schedule_uuid}':
    get:
      summary: Show
      operationId: show
      description: 'Show a single schedule.'
      parameters: []
      responses: {  }
      tags:
        - Schedule
    put:
      summary: Update
      operationId: update
      description: 'Update a schedule.'
      parameters: []
      responses: {  }
      tags:
        - Schedule
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the schedule. Example : "My Schedule"'
                  example: minus
                description:
                  type: string
                  description: 'The description of the schedule. Example : "Lorem ipsum dolor sit, amet consectetur adipisicing elit. Consequatur dolores iste quae soluta."'
                  example: 'Doloremque quos ex aliquid explicabo sequi sapiente cumque.'
                type:
                  type: string
                  description: 'The type of the schedule (service, billing). Example : "service"'
                  example: perferendis
                units:
                  type: integer
                  description: 'The number of week(s)/month(s)/year(s) of a schedule. Example : 5'
                  example: 3
                term:
                  type: string
                  description: 'The terms of the schedule (week/month/year). Example : week'
                  example: quia
                enabled_service_months:
                  type: array
                  description: 'The list of integer which represents a month. Example : [1, 2, 12] means ["January", "February", "December"]'
                  example:
                    - atque
                  items:
                    type: string
                visits:
                  type: integer
                  description: 'The number of visits of the schedule. Example : 52'
                  example: 19
              required:
                - name
                - type
                - units
                - term
                - enabled_service_months
    patch:
      summary: Patch
      operationId: patch
      description: 'Patch a company schedule.'
      parameters: []
      responses: {  }
      tags:
        - Schedule
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the schedule. Example : "My Schedule"'
                  example: amet
                description:
                  type: string
                  description: 'The description of the schedule. Example : "Lorem ipsum dolor sit, amet consectetur adipisicing elit. Consequatur dolores iste quae soluta."'
                  example: 'Optio sed minus mollitia soluta.'
                type:
                  type: string
                  description: 'The type of the schedule (service, billing). Example : "service"'
                  example: dolorum
                units:
                  type: integer
                  description: 'The number of week(s)/month(s)/year(s) of a schedule. Example : 5'
                  example: 8
                term:
                  type: string
                  description: 'The terms of the schedule (week/month/year). Example : week'
                  example: sit
                enabled_service_months:
                  type: array
                  description: 'The list of integer which represents a month. Example : [1, 2, 12] means ["January", "February", "December"]'
                  example:
                    - fugit
                  items:
                    type: string
                visits:
                  type: integer
                  description: 'The number of visits of the schedule. Example : 52'
                  example: 19
              required:
                - name
                - type
                - units
                - term
                - enabled_service_months
    delete:
      summary: Delete
      operationId: delete
      description: 'Delete a schedule.'
      parameters: []
      responses: {  }
      tags:
        - Schedule
    parameters:
      -
        in: path
        name: company_uuid
        description: ''
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: schedule_uuid
        description: ''
        example: 2
        required: true
        schema:
          type: integer
tags:
  -
    name: 'Service Plan'
    description: "\nAPI for Service Plans"
  -
    name: 'Decline Reason'
    description: "\nAPI for Decline Reason"
  -
    name: Automation
    description: "\nAPI for Automation"
  -
    name: Heartbeat
    description: "\nAPI for Heartbeat"
  -
    name: Role
    description: "\nAPI for role details"
  -
    name: Review
    description: "\nAPI for Review"
  -
    name: 'Form Field'
    description: "\nAPI for Form field"
  -
    name: 'App Data'
    description: "\nAPI for app data such as: countries, states, roles, statuses, etc."
  -
    name: 'Customer Contacts'
    description: "\nAPI for customer contacts"
  -
    name: 'Service Plan Custom Field'
    description: "\nAPI for Service Plan Custom Field"
  -
    name: 'Media Tag'
    description: "\nAPI for Media Tag"
  -
    name: 'Property Locations'
    description: "\nAPI for Property Locations"
  -
    name: State
    description: "\nAPI for state details"
  -
    name: 'Company Tax'
    description: "\nAPI for Company Tax"
  -
    name: 'Company Location'
    description: "\nAPI for company locations"
  -
    name: 'User Authentication'
    description: "\nAPI for user authentication"
  -
    name: 'Company Integration'
    description: "\nAPI for Company Integration"
  -
    name: 'Company Symbol'
    description: "\nAPI for company symbol details"
  -
    name: 'Support Request'
    description: "\nAPI for Support Request"
  -
    name: 'Pest Treated'
    description: ''
  -
    name: 'Media Source'
    description: "\nAPI for Media Source"
  -
    name: 'Proposal Templates'
    description: ''
  -
    name: 'Media Item'
    description: "\nAPI for Media Item"
  -
    name: 'Company Product'
    description: "\nAPI for company product details"
  -
    name: Tag
    description: "\nAPI for Tag"
  -
    name: Permission
    description: "\nAPI for permission details"
  -
    name: 'Company File'
    description: "\nAPI for Company File"
  -
    name: Country
    description: "\nAPI for country details"
  -
    name: 'Solution Category'
    description: "\nAPI for Solution Category"
  -
    name: 'Solution Feedback'
    description: "\nAPI for Solution Feedback"
  -
    name: 'Company Users'
    description: "\nAPI for company details"
  -
    name: 'Company Field Group'
    description: "\nAPI for Company field group details"
  -
    name: 'Other Endpoints'
    description: ''
  -
    name: User
    description: "\nAPI for user details"
  -
    name: 'Company Location Custom Settings'
    description: "\nAPI for company location custom settings"
  -
    name: 'Import Type'
    description: "\nAPI for Import Type"
  -
    name: Proposal
    description: "\nAPI for Proposal"
  -
    name: 'Service Agreement'
    description: "\nAPI for service agreement details"
  -
    name: Company
    description: "\nAPI for company details"
  -
    name: 'Customer Address'
    description: "\nAPI for customer address"
  -
    name: 'Service Plan Pricing Group'
    description: "\nAPI for Service Plan Pricing Group"
  -
    name: Report
    description: "\nAPI for report related data"
  -
    name: ImportSet
    description: "\nAPI for ImportSet"
  -
    name: Form
    description: "\nAPI for Form"
  -
    name: 'Description Set'
    description: "\nAPI for Description Set"
  -
    name: Home
    description: ''
  -
    name: 'Referral Source'
    description: "\nAPI for Referral Source"
  -
    name: Solution
    description: "\nAPI for Solution"
  -
    name: Customer
    description: "\nAPI for customers"
  -
    name: Category
    description: "\nAPI for Category"
  -
    name: Schedule
    description: "\nAPI for Schedule"
components:
  securitySchemes:
    default:
      type: http
      scheme: bearer
      description: 'Our API is currently not available for external access outside of the Smarter Launch application.'
security:
  -
    default: []