openapi: 3.0.3 info: title: 'Smarter Launch' description: 'API documentation for developers' version: 1.0.0 servers: - url: 'https://api.smarterlaunch.com' paths: /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/companies/{company_uuid}/automations': get: summary: List operationId: list description: 'Shows the list of Automations with pagination.' parameters: - in: query name: page description: 'optional The page number.' example: 1 required: false schema: type: integer description: 'optional The page number.' example: 1 - in: query name: page_size description: 'optional The number of record you want per page.' example: 16 required: false schema: type: integer description: 'optional The number of record you want per page.' example: 16 - in: query name: sort_by description: 'optional The column name.' example: iste required: false schema: type: string description: 'optional The column name.' example: iste - in: query name: sort_order description: 'optional The order in which you want your records.' example: quo required: false schema: type: string description: 'optional The order in which you want your records.' example: quo - in: query name: search description: 'optional The general search, it will find matching string.' example: dignissimos required: false schema: type: string description: 'optional The general search, it will find matching string.' example: dignissimos responses: { } tags: - Automations post: summary: Create operationId: create description: 'Store a newly created Automation.' parameters: [] responses: { } tags: - Automations 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: - necessitatibus 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: - adipisci 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: - aut items: type: string required: - name - type parameters: - 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: provident - in: path name: company_uuid description: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/api/v1/companies/{company_uuid}/automations/{automation_uuid}': get: summary: Get operationId: get description: 'Display the specified Automation.' parameters: [] responses: { } tags: - Automations put: summary: Update operationId: update description: 'Modify the specified Automation.' parameters: [] responses: { } tags: - Automations 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: - iure 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: - adipisci 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: - enim items: type: string required: - name - type patch: summary: Patch operationId: patch description: 'Perform patches for the specified Automation.' parameters: [] responses: { } tags: - Automations 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: - eaque 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: - ut 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: - officiis items: type: string delete: summary: Delete operationId: delete description: 'Remove the specified Automation.' parameters: [] responses: { } tags: - Automations parameters: - in: path name: automation_uuid description: 'Optional parameter. The UUID of the automation.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 /api/v1/categories: get: summary: List operationId: list description: 'Shows the list of Categories with pagination.' parameters: - in: query name: page description: 'optional The page number.' example: 8 required: false schema: type: integer description: 'optional The page number.' example: 8 - in: query name: page_size description: 'optional The number of record you want per page.' example: 18 required: false schema: type: integer description: 'optional The number of record you want per page.' example: 18 - in: query name: sort_by description: 'optional The column name.' example: sit required: false schema: type: string description: 'optional The column name.' example: sit - in: query name: sort_order description: 'optional The order in which you want your records.' example: sequi required: false schema: type: string description: 'optional The order in which you want your records.' example: sequi - in: query name: search description: 'optional The general search, it will find matching string.' example: corrupti required: false schema: type: string description: 'optional The general search, it will find matching string.' example: corrupti - in: query name: category_group description: 'optional The category group to filter by.' example: SERVICE_PLAN required: false schema: type: string description: 'optional The category group to filter by.' example: SERVICE_PLAN responses: { } tags: - Categories post: summary: Create operationId: create description: 'Store a newly created Category.' parameters: [] responses: { } tags: - Categories 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 '/api/v1/categories/{category_uuid}': get: summary: Get operationId: get description: 'Display the specified Category.' parameters: [] responses: { } tags: - Categories put: summary: Update operationId: update description: 'Modify the specified Category.' parameters: [] responses: { } tags: - Categories 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: SERVICE_PLAN enum: - SERVICE_PLAN - DRAWING_SYMBOL required: - name patch: summary: Patch operationId: patch description: 'Perform patches for the specified Category.' parameters: [] responses: { } tags: - Categories 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: - Categories parameters: - in: path name: category_uuid description: 'Optional parameter. The UUID of the category.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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: 'https://schultz.com/a-fuga-aliquam-eos-laudantium.html' 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: 'http://mraz.com/voluptatem-sit-et-enim-quod' google_my_business_listing: type: string description: 'Must be a valid URL.' example: 'http://stanton.info/cupiditate-in-repellendus-debitis-id' image_url: type: string description: '' example: 'http://www.champlin.org/dolore-velit-numquam-quis-ut-ut-voluptate-ut.html' 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: 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 - in: path name: company_uuid description: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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: uuid description: 'The company uuid.' example: 3245d630-24fd-11ec-accd-e397aec85c7f required: true schema: type: string - in: path name: company_uuid description: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 /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: uuid description: 'The company uuid.' example: ecd24580-2749-11ec-9b86-1102c06e74b4 required: true schema: type: string - in: path name: company_uuid description: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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: sint required: - settings_name parameters: - in: path name: uuid description: 'The company uuid.' example: 3245d630-24fd-11ec-accd-e397aec85c7f required: true schema: type: string - in: path name: company_uuid description: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/api/v1/companies/{company_uuid}/update-limit/{entity}': patch: summary: '' operationId: patchApiV1CompaniesCompany_uuidUpdateLimitEntity description: '' parameters: [] responses: { } tags: - Company '/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: { } position: type: string description: 'Must not be greater than 250 characters.' example: thwvyrgbit phone: type: string description: 'Must be at least 10 characters. Must not be greater than 20 characters.' example: tqzhovzvbsihflgkbn 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: companyUuid description: 'The company uuid.' example: 3245d630-24fd-11ec-accd-e397aec85c7f required: true schema: type: string - in: path name: company_uuid description: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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: 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: 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: f2020af9-4b46-3c1a-ac79-e10d7bb6e0eb 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' /api/v1/countries: get: summary: 'List / Fetch' operationId: listFetch description: 'Shows the list of country or fetch single record using uuid.' parameters: [] responses: { } tags: - Countries 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: - Countries 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}/states': get: summary: 'Get country states using country uuid.' operationId: getCountryStatesUsingCountryUuid description: 'Shows the list of states using country uuid.' parameters: [] responses: { } tags: - Countries security: [] parameters: - in: path name: country_uuid description: 'The country uuid.' example: 3245d630-24fd-11ec-accd-e397aec85c7f required: true schema: type: string '/api/v1/customers/{customer_uuid}/customer-addresses': put: summary: Update operationId: update description: '' parameters: [] responses: { } tags: - 'Customer Addresses' 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. The UUID of the customer.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/api/v1/customers/{customer_uuid}/customer-addresses/{customerAddress_uuid}': patch: summary: Patch operationId: patch description: 'Patch Customer Address' parameters: [] responses: { } tags: - 'Customer Addresses' requestBody: required: false content: application/json: schema: type: object properties: address1: type: string description: 'optional The address 1. Example : Address 1' example: est address2: type: string description: 'optional The address 2. Example : Address 2' example: assumenda city: type: string description: 'optional The city. Example : Queen Creek' example: pariatur country_state_uuid: type: string description: 'optional The state uuid. Example : 3245d630-24fd-11ec-accd-e397aec85c7f' example: 7c38fce5-f667-3acc-9876-f0134c7a1587 country_uuid: type: string description: 'optional The country uuid. Example : 3245d630-24fd-11ec-accd-e397aec85c7f' example: 7eedfd3a-afbe-35e9-aa2d-8c0e83564100 postal_code: type: string description: 'optional The postal code. Example : 12345' example: eum latitude: type: string description: 'optional The latitude. Example : 33.2486' example: eaque longitude: type: string description: 'optional The longitude. Example : 111.6377' example: quis is_primary: type: string description: 'optional The is_primary. Example : true' example: cumque settings: type: string description: 'optional The settings. Example : {}' example: ad county: type: string description: 'optional The county. Example : Pinal County' example: praesentium integration_meta: type: object description: '' example: null properties: { } parameters: - in: path name: customer_uuid description: 'Optional parameter. The UUID of the customer.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 - in: path name: customerAddress_uuid description: 'Optional parameter. The UUID of the customer_address.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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 Addresses' 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. The UUID of the customer.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 - in: path name: customerAddress_uuid description: 'Optional parameter. The UUID of the customer_address.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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. The UUID of the customer.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 /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: - Customers 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: - Customers 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: - voluptatem items: type: string customer_address: type: array description: 'The contact addresses' example: - et 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: - Customers put: summary: Update operationId: update description: 'Update individual customer account name and the location they are associated with.' parameters: [] responses: { } tags: - Customers 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: - Customers 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: - Customers 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: 'Optional parameter. The UUID of the customer.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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: - Customers 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: - dolor items: type: string customer_address: type: array description: 'The contact addresses' example: - ipsam items: type: string required: - company_location_uuid - account_name - customer_contact - customer_address parameters: - in: path name: customer_uuid description: 'Optional parameter. The UUID of the customer.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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: - Customers parameters: - in: path name: customer_uuid description: 'Optional parameter. The UUID of the customer.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/api/v1/companies/{company_uuid}/decline-reasons': get: summary: List operationId: list description: 'Shows the list of decline reasons with pagination.' parameters: - in: query name: page description: 'optional The page number.' example: 6 required: false schema: type: integer description: 'optional The page number.' example: 6 - in: query name: page_size description: 'optional The number of record you want per page.' example: 5 required: false schema: type: integer description: 'optional The number of record you want per page.' example: 5 - in: query name: sort_by description: 'optional The column name.' example: et required: false schema: type: string description: 'optional The column name.' example: et - in: query name: sort_order description: 'optional The order in which you want your records.' example: vitae required: false schema: type: string description: 'optional The order in which you want your records.' example: vitae - in: query name: search description: 'optional The general search, it will find matching string.' example: omnis required: false schema: type: string description: 'optional The general search, it will find matching string.' example: omnis responses: { } tags: - 'Decline Reasons' post: summary: Store operationId: store description: 'Store a newly created decline reasons.' parameters: [] responses: { } tags: - 'Decline Reasons' requestBody: required: true content: application/json: schema: type: object properties: title: type: string description: 'The title of the decline reasons. Example : So Expensive' example: doloribus 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: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/api/v1/companies/{company_uuid}/decline-reasons/{declineReason_uuid}': get: summary: Show operationId: show description: 'Show a single decline reason.' parameters: [] responses: { } tags: - 'Decline Reasons' put: summary: Update operationId: update description: 'Update a decline reason.' parameters: [] responses: { } tags: - 'Decline Reasons' requestBody: required: true content: application/json: schema: type: object properties: title: type: string description: 'The title of the decline reasons. Example : "So Expensive"' example: aut 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 Reasons' requestBody: required: true content: application/json: schema: type: object properties: title: type: string description: 'The title of the decline reasons. Example : So Expensive' example: at 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 Reasons' parameters: - in: path name: company_uuid description: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 - in: path name: declineReason_uuid description: 'Optional parameter. The UUID of the decline_reason.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/api/v1/companies/{company_uuid}/description-sets': get: summary: List operationId: list description: 'Shows the list of description set with pagination.' parameters: - in: query name: page description: 'optional The page number.' example: 15 required: false schema: type: integer description: 'optional The page number.' example: 15 - in: query name: page_size description: 'optional The number of record you want per page.' example: 16 required: false schema: type: integer description: 'optional The number of record you want per page.' example: 16 - in: query name: sort_by description: 'optional The column name.' example: illum required: false schema: type: string description: 'optional The column name.' example: illum - in: query name: sort_order description: 'optional The order in which you want your records.' example: culpa required: false schema: type: string description: 'optional The order in which you want your records.' example: culpa - in: query name: search description: 'optional The general search, it will find matching string.' example: voluptatibus required: false schema: type: string description: 'optional The general search, it will find matching string.' example: voluptatibus responses: { } tags: - 'Description Sets' post: summary: Store operationId: store description: 'Store a newly created description set.' parameters: [] responses: { } tags: - 'Description Sets' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'The name of the description set. Example : "Termite"' example: reprehenderit options: type: array description: 'The options of the description set. Example : [{"title":"Termite","description":["description 1","description 2"]}]' example: - architecto items: type: string required: - name - options parameters: - 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: at - in: path name: company_uuid description: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/api/v1/companies/{company_uuid}/description-sets/{descriptionSet_uuid}': get: summary: Show operationId: show description: 'Show a single description set.' parameters: [] responses: { } tags: - 'Description Sets' put: summary: Update operationId: update description: 'Update a description set.' parameters: [] responses: { } tags: - 'Description Sets' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'The name of the description set. Example : "Termite"' example: itaque options: type: array description: 'The options of the description set. Example : [{"title":"Termite","description":["description 1","description 2"]}]' example: - quisquam items: type: string required: - name - options patch: summary: Patch operationId: patch description: 'Patch a company description set.' parameters: [] responses: { } tags: - 'Description Sets' requestBody: required: false content: application/json: schema: type: object properties: name: type: string description: 'The name of the description set. Example : "Termite"' example: eos options: type: array description: 'The options of the description set. Example : [{"title":"Termite","description":["description 1","description 2"]}]' example: - dolor items: type: string delete: summary: Delete operationId: delete description: 'Delete a description set.' parameters: [] responses: { } tags: - 'Description Sets' parameters: - in: path name: company_uuid description: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 - in: path name: descriptionSet_uuid description: 'Optional parameter. The UUID of the description_set.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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: - in: query name: page description: 'optional The page number.' example: 15 required: false schema: type: integer description: 'optional The page number.' example: 15 - in: query name: page_size description: 'optional The number of record you want per page.' example: 19 required: false schema: type: integer description: 'optional The number of record you want per page.' example: 19 - in: query name: sort_by description: 'optional The column name.' example: doloribus required: false schema: type: string description: 'optional The column name.' example: doloribus - in: query name: sort_order description: 'optional The order in which you want your records.' example: quo required: false schema: type: string description: 'optional The order in which you want your records.' example: quo - in: query name: search description: 'optional The general search, it will find matching string.' example: adipisci required: false schema: type: string description: 'optional The general search, it will find matching string.' example: adipisci responses: { } tags: - 'Field Groups' post: summary: Store operationId: store description: 'Store a newly created company custom field group.' parameters: [] responses: { } tags: - 'Field Groups' 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: aut 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: - quo items: type: string required: - name parameters: - 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: dignissimos - 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: et - in: path name: company_uuid description: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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: - 'Field Groups' put: summary: Update operationId: update description: 'Update a company custom field group.' parameters: [] responses: { } tags: - 'Field Groups' 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: excepturi assignment: type: enum description: 'CUSTOMER|CUSTOMER_ADDRESS|MY_ACCOUNT|COMPANY|COMPANY_LOCATION required The assignment of the custom field group. Example : CUSTOMER' example: qui 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: - quasi 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: - distinctio items: type: string required: - name patch: summary: Patch operationId: patch description: 'Patch a company custom field group.' parameters: [] responses: { } tags: - 'Field Groups' 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: sapiente assignment: type: enum description: 'CUSTOMER|CUSTOMER_ADDRESS|MY_ACCOUNT|COMPANY|COMPANY_LOCATION required The assignment of the custom field group. Example : CUSTOMER' example: qui 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: - eveniet 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: - cupiditate items: type: string required: - name delete: summary: Delete operationId: delete description: 'Delete a company custom field group.' parameters: [] responses: { } tags: - 'Field Groups' parameters: - in: path name: company_uuid description: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 - in: path name: companyCustomFieldGroup_uuid description: 'Optional parameter. The UUID of the company_custom_field_group.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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: - 'File Upload' 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 '/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: - 'File Upload' 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/file-upload-presigned-url: post: summary: "POST\nGet S3 Pre-signed Url" operationId: pOSTGetS3PreSignedUrl description: '' parameters: [] responses: { } tags: - 'File Upload' 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/upload-from-url: post: summary: '' operationId: postApiV1UploadFromUrl description: '' parameters: [] responses: { } tags: - 'File Upload' requestBody: required: true content: application/json: schema: type: object properties: url: type: string description: 'Must be a valid URL.' example: 'http://www.dare.com/ut-suscipit-saepe-est' required: - url '/api/v1/companies/{company_uuid}/files': post: summary: Store operationId: store description: 'Upload a file into a company' parameters: [] responses: { } tags: - Files requestBody: required: true content: multipart/form-data: schema: type: object properties: name: type: string description: 'The name of the file. Example : MyFile.txt' example: praesentium description: type: string description: 'The description of the file. Example : This is a sample description for uploaded file' example: 'Officiis id molestiae adipisci sunt ut consequatur non.' 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: - Files 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.oreilly.com/cum-occaecati-ut-laborum-dolorum-voluptatem' parameters: - in: path name: company_uuid description: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/api/v1/companies/{company_uuid}/forms/{form_uuid}/fields': get: summary: List operationId: list description: 'Shows the list of form fields with pagination.' parameters: - in: query name: page description: 'optional The page number.' example: 3 required: false schema: type: integer description: 'optional The page number.' example: 3 - in: query name: page_size description: 'optional The number of record you want per page.' example: 4 required: false schema: type: integer description: 'optional The number of record you want per page.' example: 4 - in: query name: sort_by description: 'optional The column name.' example: culpa required: false schema: type: string description: 'optional The column name.' example: culpa - in: query name: sort_order description: 'optional The order in which you want your records.' example: doloribus required: false schema: type: string description: 'optional The order in which you want your records.' example: doloribus - in: query name: search description: 'optional The general search, it will find matching string.' example: ut required: false schema: type: string description: 'optional The general search, it will find matching string.' example: ut responses: { } tags: - 'Form Fields' post: summary: Store operationId: store description: 'Store a newly created formField.' parameters: [] responses: { } tags: - 'Form Fields' 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: tempora input_type: type: string description: 'The label of the form field. Example : "MULTI_SELECT"' example: ut default_value: type: string description: 'The label of the form field. Example : "[1,2,3,4,5]"' example: a 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: 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: asperiores help_guide: type: string description: 'text The label of the form field. Example : "This a help guide for communication from our technicians."' example: architecto position: type: integer description: 'The position of the form field. Example : 1' example: 14 required: - label - input_type parameters: - in: path name: company_uuid description: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 - in: path name: form_uuid description: 'Optional parameter. The UUID of the form.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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 Fields' put: summary: Update operationId: update description: 'Update a formfield.' parameters: [] responses: { } tags: - 'Form Fields' 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: quae input_type: type: string description: 'The label of the form field. Example : "MULTI_SELECT"' example: aut default_value: type: string description: 'The label of the form field. Example : "[1,2,3,4,5]"' example: aspernatur 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: 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: animi help_guide: type: string description: 'text The label of the form field. Example : "This a help guide for communication from our technicians."' example: et position: type: integer description: 'The position of the form field. Example : 1' example: 15 required: - label - input_type post: summary: Update operationId: update description: 'Update a formfield.' parameters: [] responses: { } tags: - 'Form Fields' 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: laborum input_type: type: string description: 'The label of the form field. Example : "MULTI_SELECT"' example: sit default_value: type: string description: 'The label of the form field. Example : "[1,2,3,4,5]"' example: sunt 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: true conditional_value: type: text description: 'The label of the form field. Example : {"condition1":"condition"}' example: molestias help_guide: type: string description: 'text The label of the form field. Example : "This a help guide for communication from our technicians."' example: magnam position: type: integer description: 'The position of the form field. Example : 1' example: 10 required: - label - input_type patch: summary: Patch operationId: patch description: 'Patch a company form field.' parameters: [] responses: { } tags: - 'Form Fields' 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: voluptatem input_type: type: string description: 'The label of the form field. Example : "MULTI_SELECT"' example: facere default_value: type: string description: 'The label of the form field. Example : "[1,2,3,4,5]"' example: architecto 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: false 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: eaque help_guide: type: string description: 'text The label of the form field. Example : "This a help guide for communication from our technicians."' example: id position: type: integer description: 'The position of the form field. Example : 1' example: 12 delete: summary: Delete operationId: delete description: 'Delete a form field.' parameters: [] responses: { } tags: - 'Form Fields' parameters: - in: path name: company_uuid description: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 - in: path name: form_uuid description: 'Optional parameter. The UUID of the form.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 - in: path name: formField_uuid description: 'Optional parameter. The UUID of the form_field.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/api/v1/companies/{company_uuid}/forms': get: summary: List operationId: list description: 'Shows the list of form with pagination.' parameters: - in: query name: page description: 'optional The page number.' example: 17 required: false schema: type: integer description: 'optional The page number.' example: 17 - in: query name: page_size description: 'optional The number of record you want per page.' example: 10 required: false schema: type: integer description: 'optional The number of record you want per page.' example: 10 - in: query name: sort_by description: 'optional The column name.' example: voluptatem required: false schema: type: string description: 'optional The column name.' example: voluptatem - in: query name: sort_order description: 'optional The order in which you want your records.' example: iusto required: false schema: type: string description: 'optional The order in which you want your records.' example: iusto - in: query name: search description: 'optional The general search, it will find matching string.' example: eveniet required: false schema: type: string description: 'optional The general search, it will find matching string.' example: eveniet responses: { } tags: - Forms post: summary: Store operationId: store description: 'Store a newly created form.' parameters: [] responses: { } tags: - Forms requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'The name of the form. Example : "My form"' example: et assignment: type: string description: 'The terms of the form ("QUALITY_ASSURANCE", "SERVICE_PLANS", "PROPOSAL_TEMPLATES"). Example : "QUALITY_ASSURANCE"' example: quaerat form_fields: type: array description: 'The list of form field data.' example: - rem items: type: string required: - name - assignment parameters: - in: path name: company_uuid description: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/api/v1/companies/{company_uuid}/form-types': get: summary: 'Get form types' operationId: getFormTypes description: '' parameters: [] responses: { } tags: - Forms parameters: - in: path name: company_uuid description: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/api/v1/companies/{company_uuid}/forms/{form_uuid}': get: summary: Show operationId: show description: 'Show a single form.' parameters: [] responses: { } tags: - Forms put: summary: Update operationId: update description: 'Update a form.' parameters: [] responses: { } tags: - Forms requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'The name of the form. Example : "My Edited Form"' example: culpa assignment: type: string description: 'The terms of the form ("QUALITY_ASSURANCE", "SERVICE_PLANS", "PROPOSAL_TEMPLATES"). Example : "QUALITY_ASSURANCE"' example: totam form_fields: type: array description: 'The list of form field data.' example: - dolores items: type: string required: - name - assignment post: summary: Update operationId: update description: 'Update a form.' parameters: [] responses: { } tags: - Forms requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'The name of the form. Example : "My Edited Form"' example: in assignment: type: string description: 'The terms of the form ("QUALITY_ASSURANCE", "SERVICE_PLANS", "PROPOSAL_TEMPLATES"). Example : "QUALITY_ASSURANCE"' example: voluptas form_fields: type: array description: 'The list of form field data.' example: - qui items: type: string required: - name - assignment patch: summary: Patch operationId: patch description: 'Patch a company form.' parameters: [] responses: { } tags: - Forms requestBody: required: false content: application/json: schema: type: object properties: name: type: string description: 'The name of the form. Example : "My Patched Form"' example: aut assignment: type: string description: 'The terms of the form ("QUALITY_ASSURANCE", "SERVICE_PLANS", "PROPOSAL_TEMPLATES"). Example : "QUALITY_ASSURANCE"' example: ad form_fields: type: array description: 'The list of form field data.' example: - odio items: type: string delete: summary: Delete operationId: delete description: 'Delete a form.' parameters: [] responses: { } tags: - Forms parameters: - in: path name: company_uuid description: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 - in: path name: form_uuid description: 'Optional parameter. The UUID of the form.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/api/v1/companies/{company_uuid}/forms/{form_uuid}/duplicate': post: summary: Duplicate operationId: duplicate description: 'Duplicate form' parameters: [] responses: { } tags: - Forms parameters: - in: path name: company_uuid description: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 - in: path name: form_uuid description: 'Optional parameter. The UUID of the form.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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: - 'Import Sets' 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: - est 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: true 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: company_uuid description: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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: - 'Import Sets' 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: - in items: type: string import_files: type: files description: 'The set of json files containing import settings data.' example: sit 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: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 /api/v1/import-sets: get: summary: List operationId: list description: 'Shows the list of import set with pagination.' parameters: - in: query name: page description: 'optional The page number.' example: 11 required: false schema: type: integer description: 'optional The page number.' example: 11 - in: query name: page_size description: 'optional The number of record you want per page.' example: 2 required: false schema: type: integer description: 'optional The number of record you want per page.' example: 2 - in: query name: sort_by description: 'optional The column name.' example: rerum required: false schema: type: string description: 'optional The column name.' example: rerum - in: query name: sort_order description: 'optional The order in which you want your records.' example: in required: false schema: type: string description: 'optional The order in which you want your records.' example: in - in: query name: search description: 'optional The general search, it will find matching string.' example: et required: false schema: type: string description: 'optional The general search, it will find matching string.' example: et responses: { } tags: - 'Import Sets' 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: - 'Import Sets' 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: - quibusdam items: type: string import_files: type: files description: 'The set of json files containing import settings data.' example: dolore 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: 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: explicabo - 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: officiis '/api/v1/import-sets/{importSet_uuid}': get: summary: Show operationId: show description: 'Show a single import set.' parameters: [] responses: { } tags: - 'Import Sets' put: summary: Update operationId: update description: 'Update a import set.' parameters: [] responses: { } tags: - 'Import Sets' 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: qui 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: false required: - import_files - admin_only - is_selected patch: summary: 'Update the specified resource in storage.' operationId: updateTheSpecifiedResourceInStorage description: '' parameters: [] responses: { } tags: - 'Import Sets' 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: - 'Import Sets' parameters: - in: path name: importSet_uuid description: 'Optional parameter. The UUID of the import_set.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/api/v1/import-sets/{importSet_uuid}/download': get: summary: Download operationId: download description: 'Download a single import set.' parameters: [] responses: { } tags: - 'Import Sets' parameters: - in: path name: importSet_uuid description: 'Optional parameter. The UUID of the import_set.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 /api/v1/form-import-sets: get: summary: 'List Forms' operationId: listForms description: 'Shows the list of import set with pagination.' parameters: - in: query name: page description: 'optional The page number.' example: 9 required: false schema: type: integer description: 'optional The page number.' example: 9 - in: query name: page_size description: 'optional The number of record you want per page.' example: 20 required: false schema: type: integer description: 'optional The number of record you want per page.' example: 20 - in: query name: sort_by description: 'optional The column name.' example: quia required: false schema: type: string description: 'optional The column name.' example: quia - in: query name: sort_order description: 'optional The order in which you want your records.' example: libero required: false schema: type: string description: 'optional The order in which you want your records.' example: libero - in: query name: search description: 'optional The general search, it will find matching string.' example: adipisci required: false schema: type: string description: 'optional The general search, it will find matching string.' example: adipisci responses: { } tags: - 'Import Sets' post: summary: 'Apply Import Set to Company' operationId: applyImportSetToCompany description: 'Store a newly created import set.' parameters: [] responses: { } tags: - 'Import Sets' 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: - nam items: type: string import_files: type: files description: 'The set of json files containing import settings data.' example: eos 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 /api/v1/import-types: get: summary: List operationId: list description: 'Shows the list of tags with pagination.' parameters: - in: query name: page description: 'optional The page number.' example: 9 required: false schema: type: integer description: 'optional The page number.' example: 9 - in: query name: page_size description: 'optional The number of record you want per page.' example: 15 required: false schema: type: integer description: 'optional The number of record you want per page.' example: 15 - in: query name: sort_by description: 'optional The column name.' example: aut required: false schema: type: string description: 'optional The column name.' example: aut - in: query name: sort_order description: 'optional The order in which you want your records.' example: dolores required: false schema: type: string description: 'optional The order in which you want your records.' example: dolores - in: query name: search description: 'optional The general search, it will find matching string.' example: iure required: false schema: type: string description: 'optional The general search, it will find matching string.' example: iure responses: { } tags: - 'Import Types' parameters: - 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: excepturi - 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: molestias /api/v1/industries: get: summary: 'Fetch all available industry' operationId: fetchAllAvailableIndustry description: '' parameters: [] responses: { } tags: - Industries '/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: - 'Integration Types' parameters: - in: path name: companyIntegration_uuid description: 'Optional parameter. The UUID of the integration.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 /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: - 'Integration Types' '/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: - Integrations parameters: - in: path name: company_uuid description: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 - in: path name: companyIntegration_uuid description: 'Optional parameter. The UUID of the company_integration.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/api/v1/companies/{company_uuid}/integrations': get: summary: List operationId: list description: "Shows the list of integrations for a company\n\nNote: Integration logs are NOT included in list responses for performance reasons.\nUse the GET /logs endpoint to retrieve logs for a specific integration." parameters: [] responses: { } tags: - Integrations post: summary: Store operationId: store description: 'Create a company integration with empty credential values' parameters: [] responses: { } tags: - Integrations 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: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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: - Integrations 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: - Integrations requestBody: required: true content: application/json: schema: type: object properties: credentials: type: array description: 'The credentials for the company integration' example: - voluptate items: type: string status_uuid: type: uuid description: 'The status UUID for company integration' example: 51580abe-e820-33a5-95ac-f455cefb9601 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: - Integrations requestBody: required: true content: application/json: schema: type: object properties: credentials: type: array description: 'The credentials for the company integration' example: - accusantium items: type: string status_uuid: type: uuid description: 'The status uuid for company integration' example: 8f3b6e34-15ae-3fd9-8654-490c4d5a5e47 required: - credentials - status_uuid delete: summary: Delete operationId: delete description: 'This endpoint allows user to delete a Company Integration.' parameters: [] responses: { } tags: - Integrations parameters: - 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 - in: path name: company_uuid description: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 - in: path name: companyIntegration_uuid description: 'Optional parameter. The UUID of the company_integration.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/api/v1/companies/{company_uuid}/line-items': get: summary: List operationId: list description: 'Shows the list of line items with pagination.' parameters: - in: query name: page description: 'optional The page number.' example: 6 required: false schema: type: integer description: 'optional The page number.' example: 6 - in: query name: page_size description: 'optional The number of record you want per page.' example: 16 required: false schema: type: integer description: 'optional The number of record you want per page.' example: 16 - in: query name: sort_by description: 'optional The column name.' example: aperiam required: false schema: type: string description: 'optional The column name.' example: aperiam - in: query name: sort_order description: 'optional The order in which you want your records.' example: odio required: false schema: type: string description: 'optional The order in which you want your records.' example: odio - in: query name: search description: 'optional The general search, it will find matching string.' example: consequatur required: false schema: type: string description: 'optional The general search, it will find matching string.' example: consequatur responses: { } tags: - 'Line Items' post: summary: Store operationId: store description: 'Store a new line item.' parameters: [] responses: { } tags: - 'Line Items' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'The name of the line item. Example : "Termite Pesticide"' example: corrupti description: type: string description: 'The description of the line item. Example : "Termite Pesticide"' example: 'Eos et et porro dolore magni molestiae.' line_item_values: type: string description: 'The data of the line item. Example : {"price": [100, 100]}' example: debitis required: - name - description - line_item_values parameters: - in: path name: company_uuid description: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/api/v1/companies/{company_uuid}/line-items/{lineItem_uuid}': get: summary: Show operationId: show description: 'Show a single line item.' parameters: [] responses: { } tags: - 'Line Items' put: summary: Update operationId: update description: 'Update a line item.' parameters: [] responses: { } tags: - 'Line Items' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'The name of the line item. Example : "Termite Pesticide"' example: deserunt description: type: string description: 'The description of the line item. Example : "Termite Pesticide"' example: 'Autem in maiores magni voluptas non.' line_item_values: type: string description: 'The data of the line item. Example : {"price": [100, 100]}' example: exercitationem required: - name - line_item_values patch: summary: Patch operationId: patch description: 'Update a line item.' parameters: [] responses: { } tags: - 'Line Items' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'The name of the line item. Example : "Termite Pesticide"' example: odit description: type: string description: 'The description of the line item. Example : "Termite Pesticide"' example: 'Sunt reprehenderit impedit aut pariatur.' line_item_values: type: string description: 'The data of the line item. Example : {"price": [100, 100]}' example: consequatur required: - name - line_item_values delete: summary: Delete operationId: delete description: 'Delete a line item.' parameters: [] responses: { } tags: - 'Line Items' parameters: - in: path name: company_uuid description: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 - in: path name: lineItem_uuid description: 'Optional parameter. The UUID of the line item.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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: - 'Line Items' 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: quo 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: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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: - '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: - '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: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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: - 'Location Custom Settings' put: summary: Update operationId: update description: 'Update a company location custom setting' parameters: [] responses: { } tags: - '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: - 'Location Custom Settings' parameters: - 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 - in: path name: company_uuid description: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 - in: path name: companyLocationCustomSetting_uuid description: 'Optional parameter. The UUID of the company_location_custom_setting.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/api/v1/companies/{company_uuid}/locations': get: summary: List operationId: list description: 'Shows the list of locations with pagination.' parameters: - in: query name: page description: 'optional The page number.' example: 7 required: false schema: type: integer description: 'optional The page number.' example: 7 - in: query name: page_size description: 'optional The number of record you want per page.' example: 4 required: false schema: type: integer description: 'optional The number of record you want per page.' example: 4 - in: query name: sort_by description: 'optional The column name.' example: consequatur required: false schema: type: string description: 'optional The column name.' example: consequatur - in: query name: sort_order description: 'optional The order in which you want your records.' example: perspiciatis required: false schema: type: string description: 'optional The order in which you want your records.' example: perspiciatis - in: query name: search description: 'optional The general search, it will find matching string.' example: nulla required: false schema: type: string description: 'optional The general search, it will find matching string.' example: nulla responses: { } tags: - Locations post: summary: Create operationId: create description: 'This endpoint lets user to create single record using uuid.' parameters: [] responses: { } tags: - Locations 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: 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: neque - in: path name: company_uuid description: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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: - Locations 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: - Locations 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: - Locations 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: - Locations parameters: - 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 - in: path name: company_uuid description: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 - in: path name: companyLocation_uuid description: 'Optional parameter. The UUID of the company_location.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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: - Locations 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: companyUuid description: 'The uuid id of the company.' example: 3245d630-24fd-11ec-accd-e397aec85c7f required: true schema: type: string - in: path name: company_uuid description: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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: - Locations parameters: - 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' - in: path name: company_uuid description: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 - in: path name: companyLocation_uuid description: 'Optional parameter. The UUID of the company_location.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 /api/v1/media-items: get: summary: List operationId: list description: 'Shows the list of media items with pagination.' parameters: - in: query name: page description: 'optional The page number.' example: 5 required: false schema: type: integer description: 'optional The page number.' example: 5 - in: query name: page_size description: 'optional The number of record you want per page.' example: 14 required: false schema: type: integer description: 'optional The number of record you want per page.' example: 14 - in: query name: sort_by description: 'optional The column name.' example: pariatur required: false schema: type: string description: 'optional The column name.' example: pariatur - in: query name: sort_order description: 'optional The order in which you want your records.' example: incidunt required: false schema: type: string description: 'optional The order in which you want your records.' example: incidunt - in: query name: search description: 'optional The general search, it will find matching string.' example: veritatis required: false schema: type: string description: 'optional The general search, it will find matching string.' example: veritatis responses: { } tags: - 'Media Items' 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: e7fde065-9401-3d88-90d1-ad7a649fc4c4 companies_uuid: type: object description: '' example: null properties: { } company_location_uuid: type: string description: 'Must be a valid UUID.' example: 3da663ef-aa52-3764-aaf8-78ff064e361d company_locations_uuid: type: object description: '' example: null properties: { } media_source_uuid: type: string description: 'Must be a valid UUID.' example: dab0f266-2363-3f77-ac24-921a25298399 include_global_files: type: boolean description: '' example: true post: summary: Store operationId: store description: 'Upload a media item' parameters: [] responses: { } tags: - 'Media Items' requestBody: required: true content: multipart/form-data: schema: type: object properties: name: type: string description: 'The name of the file. Example : MyFile.txt' example: expedita description: type: string description: 'The description of the file. Example : This is a sample description for uploaded file' example: 'Qui dicta commodi facilis.' 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 '/api/v1/media-items/{mediaItem_uuid}': get: summary: Show operationId: show description: 'Show a single media item' parameters: [] responses: { } tags: - 'Media Items' put: summary: Update operationId: update description: 'Update a media item.' parameters: [] responses: { } tags: - 'Media Items' 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: incidunt 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: 'Dolor aperiam magnam quo nulla placeat sed.' required: - name patch: summary: Patch operationId: patch description: 'Patch a media item.' parameters: [] responses: { } tags: - 'Media Items' 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: corrupti 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: 'Qui delectus animi corrupti et maiores pariatur facere.' required: - name delete: summary: Delete operationId: delete description: 'Delete a media item.' parameters: [] responses: { } tags: - 'Media Items' parameters: - in: path name: mediaItem_uuid description: 'Optional parameter. The UUID of the media_item.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 /api/v1/media-sources: get: summary: List operationId: list description: 'Shows the list of media source with pagination.' parameters: - in: query name: page description: 'optional The page number.' example: 10 required: false schema: type: integer description: 'optional The page number.' example: 10 - in: query name: page_size description: 'optional The number of record you want per page.' example: 18 required: false schema: type: integer description: 'optional The number of record you want per page.' example: 18 - in: query name: sort_by description: 'optional The column name.' example: aut required: false schema: type: string description: 'optional The column name.' example: aut - in: query name: sort_order description: 'optional The order in which you want your records.' example: corrupti required: false schema: type: string description: 'optional The order in which you want your records.' example: corrupti - in: query name: search description: 'optional The general search, it will find matching string.' example: nesciunt required: false schema: type: string description: 'optional The general search, it will find matching string.' example: nesciunt responses: { } tags: - 'Media Sources' 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 Sources' requestBody: required: false content: application/json: schema: type: object properties: name: type: string description: 'The name of the file. Example : MyFile.txt' example: ipsam description: type: string description: 'The description of the file. Example : This is a sample description for uploaded file' example: 'Et molestiae accusantium excepturi tempora harum minus harum maiores.' /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 Sources' 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: minima 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: 'Vel enim a ea.' required: - name '/api/v1/media-sources/{mediaSource_uuid}': get: summary: Show operationId: show description: 'Show a single media source' parameters: [] responses: { } tags: - 'Media Sources' put: summary: Update operationId: update description: 'Update a media source.' parameters: [] responses: { } tags: - 'Media Sources' 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: nam 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: 'Ut quo et quidem architecto quas aut.' required: - name patch: summary: Patch operationId: patch description: 'Patch a media source.' parameters: [] responses: { } tags: - 'Media Sources' 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: tempora 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: 'Nesciunt magni quis et dolores quidem.' required: - name delete: summary: Delete operationId: delete description: 'Delete a media source.' parameters: [] responses: { } tags: - 'Media Sources' parameters: - in: path name: mediaSource_uuid description: 'Optional parameter. The UUID of the media_source.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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 Sources' 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: cumque 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: 'Distinctio laborum qui enim qui quidem nesciunt et.' 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 Sources' 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: maiores 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: 'Facere ut mollitia dolorem incidunt.' required: - name parameters: - in: path name: mediaSource_uuid description: 'Optional parameter. The UUID of the media_source.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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 Sources' 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: 'Optional parameter. The UUID of the media_source.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 /api/v1/media-tags: get: summary: List operationId: list description: 'Shows the list of media tag with pagination.' parameters: - in: query name: page description: 'optional The page number.' example: 4 required: false schema: type: integer description: 'optional The page number.' example: 4 - in: query name: page_size description: 'optional The number of record you want per page.' example: 16 required: false schema: type: integer description: 'optional The number of record you want per page.' example: 16 - in: query name: sort_by description: 'optional The column name.' example: quia required: false schema: type: string description: 'optional The column name.' example: quia - in: query name: sort_order description: 'optional The order in which you want your records.' example: autem required: false schema: type: string description: 'optional The order in which you want your records.' example: autem - in: query name: search description: 'optional The general search, it will find matching string.' example: est required: false schema: type: string description: 'optional The general search, it will find matching string.' example: est responses: { } tags: - 'Media Tags' post: summary: Store operationId: store description: 'Upload a media tag' parameters: [] responses: { } tags: - 'Media Tags' requestBody: required: false content: application/json: schema: type: object properties: name: type: string description: 'The name of the file. Example : Tag 1' example: consequatur '/api/v1/media-tags/{mediaTag_uuid}': get: summary: Show operationId: show description: 'Show a single media tag' parameters: [] responses: { } tags: - 'Media Tags' put: summary: Update operationId: update description: 'Update a media tag.' parameters: [] responses: { } tags: - 'Media Tags' 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: vel required: - name patch: summary: Patch operationId: patch description: 'Patch a media tag.' parameters: [] responses: { } tags: - 'Media Tags' 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: distinctio required: - name delete: summary: Delete operationId: delete description: 'Delete a media tag.' parameters: [] responses: { } tags: - 'Media Tags' parameters: - in: path name: mediaTag_uuid description: 'Optional parameter. The UUID of the media_tag.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 /api/v1/permissions: get: summary: 'List / Fetch' operationId: listFetch description: 'Shows the list of permission or fetch single record using uuid.' parameters: [] responses: { } tags: - Permissions 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: - Permissions 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: - Permissions 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: - Permissions 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: - Permissions '/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: vero 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: 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: 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: tenetur - 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: quia - 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: porro - in: path name: company_uuid description: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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: nisi 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: dolores 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: maiores 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: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 - in: path name: pestTreated_uuid description: 'Optional parameter. The UUID of the pest_treated.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/api/v1/companies/{company_uuid}/products': get: summary: List operationId: list description: 'Shows the list of company products with pagination.' parameters: - in: query name: page description: 'optional The page number.' example: 8 required: false schema: type: integer description: 'optional The page number.' example: 8 - in: query name: page_size description: 'optional The number of record you want per page.' example: 18 required: false schema: type: integer description: 'optional The number of record you want per page.' example: 18 - in: query name: sort_by description: 'optional The column name.' example: cupiditate required: false schema: type: string description: 'optional The column name.' example: cupiditate - in: query name: sort_order description: 'optional The order in which you want your records.' example: vitae required: false schema: type: string description: 'optional The order in which you want your records.' example: vitae - in: query name: search description: 'optional The general search, it will find matching string.' example: aliquid required: false schema: type: string description: 'optional The general search, it will find matching string.' example: aliquid responses: { } tags: - Products post: summary: Store operationId: store description: 'Store a newly created company product.' parameters: [] responses: { } tags: - Products requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'The name of the product. Example : Product 1' example: ut 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: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/api/v1/companies/{company_uuid}/products/{companyProduct_uuid}': get: summary: Show operationId: show description: 'Show a single company product.' parameters: [] responses: { } tags: - Products put: summary: Update operationId: update description: 'Update a company product.' parameters: [] responses: { } tags: - Products requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'The name of the product. Example : Product 1' example: omnis 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: - Products requestBody: required: false content: application/json: schema: type: object properties: name: type: string description: 'optional The name of the product. Example : Product 1' example: ab 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: - Products parameters: - in: path name: company_uuid description: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 - in: path name: companyProduct_uuid description: 'Optional parameter. The UUID of the company_product.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/api/v1/companies/{company_uuid}/property-locations': get: summary: List operationId: list description: 'Shows the list of property locations with pagination.' parameters: - in: query name: page description: 'optional The page number.' example: 14 required: false schema: type: integer description: 'optional The page number.' example: 14 - in: query name: page_size description: 'optional The number of record you want per page.' example: 7 required: false schema: type: integer description: 'optional The number of record you want per page.' example: 7 - in: query name: sort_by description: 'optional The column name.' example: est required: false schema: type: string description: 'optional The column name.' example: est - in: query name: sort_order description: 'optional The order in which you want your records.' example: officia required: false schema: type: string description: 'optional The order in which you want your records.' example: officia - in: query name: search description: 'optional The general search, it will find matching string.' example: blanditiis required: false schema: type: string description: 'optional The general search, it will find matching string.' example: blanditiis 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: debitis required: - name parameters: - in: path name: company_uuid description: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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: doloribus 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: enim delete: summary: Delete operationId: delete description: 'Delete a property location.' parameters: [] responses: { } tags: - 'Property Locations' parameters: - in: path name: company_uuid description: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 - in: path name: propertyLocation_uuid description: 'Optional parameter. The UUID of the property_location.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 /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: f6626bfb-a3bf-3580-8d2d-80b9b1995907 title: type: string description: 'The name of the proposal template. Example : Proposal Template 1' example: et description: type: string description: 'The name of the proposal template. Example : This is a sample description' example: 'Quia cumque officia soluta non ratione.' 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: 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: 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: non - 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: iure - 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: 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: 'Optional parameter. The UUID of the proposal_template.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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: 04d56a36-c673-3503-9397-baebc1582ab4 title: type: string description: 'The name of the proposal template. Example : Proposal Template 1' example: saepe description: type: string description: 'The name of the proposal template. Example : This is a sample description' example: 'Omnis incidunt molestiae aut aut qui 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 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: 614fd3d8-9014-3749-b47b-bee17a1b26cc title: type: string description: 'The name of the proposal template. Example : Proposal Template 1' example: ipsum description: type: string description: 'The name of the proposal template. Example : This is a sample description' example: 'Voluptatem quaerat nam iure.' 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: 'Optional parameter. The UUID of the proposal_template.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/api/v1/companies/{company_uuid}/proposals/{proposal_uuid}/preview': get: summary: Get operationId: get description: 'Display the selected proposal.' parameters: [] responses: { } tags: - Proposals parameters: - in: path name: company_uuid description: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 - in: path name: proposal_uuid description: 'Optional parameter. 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: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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: - Proposals parameters: - in: path name: company_uuid description: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 - in: path name: proposal_uuid description: 'Optional parameter. 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: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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: - Proposals 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: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 - in: path name: proposal_uuid description: 'Optional parameter. 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: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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: - Proposals 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 '/api/v1/companies/{company_uuid}/proposals/{proposal_uuid}/accept-sign': post: summary: 'Accept and Sign' operationId: acceptAndSign description: '' parameters: [] responses: { } tags: - Proposals 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://monahan.com/impedit-iure-sint-quibusdam-nostrum' proposal_pdf_url: type: string description: 'The pdf file url.' example: 'http://kunze.info/non-ratione-hic-id-aliquam-aut-asperiores-sequi-soluta.html' auth_code: type: string description: '' example: qui required: - signature_photo_url - proposal_pdf_url parameters: - in: path name: company_uuid description: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 - in: path name: proposal_uuid description: 'Optional parameter. 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: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/api/v1/companies/{company_uuid}/proposals/{proposal_uuid}/replace-signature': post: summary: 'Replicate Signature' operationId: replicateSignature description: '' parameters: [] responses: { } tags: - Proposals requestBody: required: true content: application/json: schema: type: object properties: signature_photo_url: type: string description: 'The image url.' example: 'http://metz.com/et-atque-voluptatibus-et-esse-est' proposal_pdf_url: type: string description: 'The pdf file url.' example: 'http://www.tromp.net/' required: - signature_photo_url - proposal_pdf_url parameters: - in: path name: company_uuid description: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 - in: path name: proposal_uuid description: 'Optional parameter. 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: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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: - Proposals 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: 1645.0 keyName: type: string description: '' example: attached_documents_addendum enum: - attached_documents - attached_documents_addendum parameters: - in: path name: company_uuid description: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 - in: path name: proposal_uuid description: 'Optional parameter. 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: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/api/v1/companies/{company_uuid}/proposals/{proposal_uuid}/video-clicked': post: summary: 'Log Video Clicked' operationId: logVideoClicked description: '' parameters: [] responses: { } tags: - Proposals requestBody: required: false content: application/json: schema: type: object properties: video_type: type: "'service'" description: "| 'screen_recording'" example: aut parameters: - in: path name: company_uuid description: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 - in: path name: proposal_uuid description: 'Optional parameter. 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: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/api/v1/companies/{company_uuid}/proposals/{proposal_uuid}/decline': patch: summary: Decline operationId: decline description: '' parameters: [] responses: { } tags: - Proposals parameters: - in: path name: company_uuid description: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 - in: path name: proposal_uuid description: 'Optional parameter. 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: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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: - Proposals 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: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 - in: path name: proposal_uuid description: 'Optional parameter. 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: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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: - Proposals 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: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 - in: path name: proposal_uuid description: 'Optional parameter. 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: 3fa85f64-5717-4562-b3fc-2c963f66afa6 /api/v1/proposals: get: summary: List operationId: list description: 'Shows the list of proposal with pagination.' parameters: - in: query name: page description: 'optional The page number.' example: 2 required: false schema: type: integer description: 'optional The page number.' example: 2 - in: query name: page_size description: 'optional The number of record you want per page.' example: 20 required: false schema: type: integer description: 'optional The number of record you want per page.' example: 20 - in: query name: sort_by description: 'optional The column name.' example: in required: false schema: type: string description: 'optional The column name.' example: in - in: query name: sort_order description: 'optional The order in which you want your records.' example: quasi required: false schema: type: string description: 'optional The order in which you want your records.' example: quasi - in: query name: search description: 'optional The general search, it will find matching string.' example: sit required: false schema: type: string description: 'optional The general search, it will find matching string.' example: sit responses: { } tags: - Proposals 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: '2026-01-14T05:03:58' date_range_end: type: string description: 'Must be a valid date. Must be a date after or equal to date_range_start.' example: '2032-10-09' timezone: type: string description: 'Must be a valid time zone, such as Africa/Accra.' example: Asia/Irkutsk company_location_uuid: type: string description: 'Must be a valid UUID.' example: 8972b522-1654-37a5-b388-744a01fa5bad team_uuid: type: string description: 'Must be a valid UUID.' example: 174cdf60-1c51-3128-b60b-f7ee8f6e01b3 user_uuid: type: string description: 'Must be a valid UUID.' example: 57c14517-f4e9-3633-8c08-ec9fbbd39db6 template_uuid: type: string description: 'Must be a valid UUID.' example: 5780ce5e-f8b1-3051-a1c5-5fdaa6309e78 status_uuid: type: array description: 'Must be a valid UUID.' example: - e139d3f8-f9a0-3e4e-8128-35d9350c6b85 items: type: string post: summary: Create operationId: create description: 'Store a newly created proposal.' parameters: [] responses: { } tags: - Proposals 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: eum description: type: string description: 'The paragraph describing the proposal.' example: 'Deserunt soluta eos modi.' company_location_uuid: type: string description: "The UUID of user's company location.\n Example : \"815d3d9c-f371-3781-8456-7e6954b5b0f5\"" example: fb67650e-145c-32e5-a469-3e34c0b74d41 customer_uuid: type: string description: "The UUID of customer you wish to send the proposal.\n Example : \"815d3d9c-f371-3781-8456-7e6954b5b0f5\"" example: c0bb6192-ad1b-300c-a1a1-d710b99c2adf customer_address_uuid: type: string description: "The UUID of customer's address.\n Example : \"815d3d9c-f371-3781-8456-7e6954b5b0f5\"" example: e54687a5-11fe-38ff-9f05-abf34c3155f4 status_uuid: type: string description: "The UUID of proposal status.\n Example : \"815d3d9c-f371-3781-8456-7e6954b5b0f5\"" example: ad151042-a613-350c-9b94-e575957bffe9 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: - numquam 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: b037bd6c-6b52-3c3a-8c44-23b1a2cda182 metadata: type: object description: "Optional metadata for tracking and custom data.\n Limitations: Maximum 20 keys at root level, keys max 100 characters, values max 1000 characters, max 3 levels of nesting.\n Example : {\"campaign_id\":\"summer2024\",\"source\":\"google_ads\",\"lead_score\":85}" example: [] properties: { } required: - title - company_location_uuid - customer_uuid - customer_address_uuid - status_uuid - proposal_template_uuid parameters: - 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: sit - 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: 82731cca-2533-3ebc-bfcf-ec4269486aa6 - 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: beatae - 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: e0af6f99-10b4-3704-8906-9e75b2f7ec39 - 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: 6f01a8a9-3ad8-3a85-9040-4ba29ffb5944 - 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: voluptatem - 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: d9cf9b07-f76a-3cc9-bd06-2ff608c7e5ac - 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: praesentium - 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: impedit - 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: quidem - in: path name: tag_uuids description: 'Optional parameter. string[] Filter proposals by tag UUIDs. 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: eum /api/v1/proposals/export-list: get: summary: 'Export List' operationId: exportList description: 'Returns a CSV file of list of filtered proposal list.' parameters: - in: query name: page description: 'optional The page number.' example: 1 required: false schema: type: integer description: 'optional The page number.' example: 1 - in: query name: page_size description: 'optional The number of record you want per page.' example: 11 required: false schema: type: integer description: 'optional The number of record you want per page.' example: 11 - in: query name: sort_by description: 'optional The column name.' example: quasi required: false schema: type: string description: 'optional The column name.' example: quasi - in: query name: sort_order description: 'optional The order in which you want your records.' example: dolor required: false schema: type: string description: 'optional The order in which you want your records.' example: dolor - in: query name: search description: 'optional The general search, it will find matching string.' example: architecto required: false schema: type: string description: 'optional The general search, it will find matching string.' example: architecto responses: { } tags: - Proposals parameters: - 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: 752ee952-92dc-3801-982c-f73e465b0aa3 - 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: rerum - 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: 47bd516e-e1a3-3e80-8058-51b54ff97b90 - 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: d9c37b8f-3b85-3dd4-b11d-680b6042f023 - 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: et - 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: 085fac11-1a56-371c-85de-ecb82b1470b4 /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: - Proposals '/api/v1/proposals/{proposal_uuid}': get: summary: Get operationId: get description: 'Display the selected proposal.' parameters: [] responses: { } tags: - Proposals put: summary: Update operationId: update description: 'Updates the specified proposal.' parameters: [] responses: { } tags: - Proposals 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: 0d6b47f5-544f-3699-91a6-fbf841a95adc customer_uuid: type: string description: "The UUID of customer you wish to send the proposal.\n Example : \"815d3d9c-f371-3781-8456-7e6954b5b0f5\"" example: e8ce9485-d92f-3d42-ba6c-7f316d475be9 customer_address_uuid: type: string description: "The UUID of customer's address.\n Example : \"815d3d9c-f371-3781-8456-7e6954b5b0f5\"" example: 93dc1361-2772-3f05-b95a-90b6ffe059bd status_uuid: type: string description: "The UUID of proposal status.\n Example : \"815d3d9c-f371-3781-8456-7e6954b5b0f5\"" example: 10cc1b53-72e2-38dd-a070-c1748347b34f 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: - eligendi 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: 20387da7-740b-3aaa-a8b7-3668499a3589 include_fields: type: object description: '' example: null properties: { } expire_at: type: string description: 'Must be a valid date.' example: '2026-01-14T05:03:58' tag_uuids: type: array description: 'Must be a valid UUID.' example: - f2ee394a-bbea-31d5-a79a-f14827e84581 items: type: string 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: - Proposals 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: et description: type: string description: 'The paragraph describing the proposal.' example: 'Voluptas officia aut harum sit doloremque.' company_location_uuid: type: string description: "The UUID of user's company location.\n Example : \"815d3d9c-f371-3781-8456-7e6954b5b0f5\"" example: 2c57beac-32d0-33df-a5e7-63980eafdbcc customer_uuid: type: string description: "The UUID of customer you wish to send the proposal.\n Example : \"815d3d9c-f371-3781-8456-7e6954b5b0f5\"" example: c81d3c0e-5e78-3078-b209-5b627243479d customer_address_uuid: type: string description: "The UUID of customer's address.\n Example : \"815d3d9c-f371-3781-8456-7e6954b5b0f5\"" example: 1b158ccc-9df0-3814-94dd-8ec1f1e92546 status_uuid: type: string description: "The UUID of proposal status.\n Example : \"815d3d9c-f371-3781-8456-7e6954b5b0f5\"" example: 569ad827-210a-381f-b367-8b63b1f6ee9a 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: 78387b23-32de-33e3-bb7a-68b78bb285b0 include_fields: type: object description: '' example: null properties: { } expire_at: type: string description: 'Must be a valid date.' example: '2026-01-14T05:03:58' tag_uuids: type: array description: 'Must be a valid UUID.' example: - 438b3bf6-57b7-330a-a442-6fd8aaee9cc9 items: type: string metadata: type: object description: "Optional metadata for tracking and custom data. When updating, new keys are added and existing keys are updated while preserving other keys.\n Limitations: Maximum 20 keys at root level, keys max 100 characters, values max 1000 characters, max 3 levels of nesting.\n Example : {\"campaign_id\":\"fall2024\",\"new_field\":\"value\"}" example: [] properties: { } required: - proposal_template_uuid delete: summary: Delete operationId: delete description: 'Delete a specified proposal.' parameters: [] responses: { } tags: - Proposals parameters: - in: path name: proposal_uuid description: 'Optional parameter. 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: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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: - in: query name: page description: 'optional The page number.' example: 5 required: false schema: type: integer description: 'optional The page number.' example: 5 - in: query name: page_size description: 'optional The number of record you want per page.' example: 12 required: false schema: type: integer description: 'optional The number of record you want per page.' example: 12 - in: query name: sort_by description: 'optional The column name.' example: nulla required: false schema: type: string description: 'optional The column name.' example: nulla - in: query name: sort_order description: 'optional The order in which you want your records.' example: vel required: false schema: type: string description: 'optional The order in which you want your records.' example: vel - in: query name: search description: 'optional The general search, it will find matching string.' example: nihil required: false schema: type: string description: 'optional The general search, it will find matching string.' example: nihil responses: { } tags: - Proposals 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: - Proposals 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: 'Optional parameter. 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: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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: - Proposals parameters: - in: path name: proposal_uuid description: 'Optional parameter. 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: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/api/v1/proposals/{proposal_uuid}/tarf-xml-url': get: summary: 'Download TARF XML' operationId: downloadTARFXML description: '' parameters: [] responses: { } tags: - Proposals parameters: - in: path name: proposal_uuid description: 'Optional parameter. 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: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/api/v1/proposals/{proposal_uuid}/cali-wdo-report-url': get: summary: 'Download California WDO XML' operationId: downloadCaliforniaWDOXML description: '' parameters: [] responses: { } tags: - Proposals parameters: - in: path name: proposal_uuid description: 'Optional parameter. 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: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/api/v1/proposals/{proposal_uuid}/activity-logs/{activityEntryUuid}/{action}': post: summary: action operationId: action description: '' parameters: [] responses: { } tags: - Proposals parameters: - in: path name: proposal_uuid description: 'Optional parameter. 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: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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: - Proposals parameters: - in: path name: proposal_uuid description: 'Optional parameter. 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: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/api/v1/proposals/{proposal_uuid}/upload-review-photo': post: summary: 'Upload Review Photo' operationId: uploadReviewPhoto description: '' parameters: [] responses: { } tags: - Proposals 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: 'Optional parameter. 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: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/api/v1/proposals/{proposal_uuid}/push-to-crm': post: summary: 'Resync document' operationId: resyncDocument description: 'Resync document the specified proposal.' parameters: [] responses: { } tags: - Proposals 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: asperiores description: type: string description: 'The paragraph describing the proposal.' example: 'Fuga quo saepe dolor illum temporibus veniam dolores.' company_location_uuid: type: string description: "The UUID of user's company location.\n Example : \"815d3d9c-f371-3781-8456-7e6954b5b0f5\"" example: 833c658e-2cad-32d2-8041-bf4d1f7ef5b5 customer_uuid: type: string description: "The UUID of customer you wish to send the proposal.\n Example : \"815d3d9c-f371-3781-8456-7e6954b5b0f5\"" example: 76281f39-780c-3660-aee6-36ba7b1a6515 customer_address_uuid: type: string description: "The UUID of customer's address.\n Example : \"815d3d9c-f371-3781-8456-7e6954b5b0f5\"" example: 39cab458-2e03-3070-904d-8ec74d99e71a status_uuid: type: string description: "The UUID of proposal status.\n Example : \"815d3d9c-f371-3781-8456-7e6954b5b0f5\"" example: 149e48c5-75b9-36b3-ad43-dbd5b7b7a598 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: - maxime 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: 5a7e258e-6884-3498-b059-ad1c071532c5 required: - proposal_template_uuid parameters: - in: path name: proposal_uuid description: 'Optional parameter. 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: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/api/v1/proposals/{proposal_uuid}/activity-logs/{activityEntryUuid}': put: summary: Update operationId: update description: 'Update a proposal activity entry' parameters: [] responses: { } tags: - Proposals 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: - Proposals parameters: - in: path name: proposal_uuid description: 'Optional parameter. 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: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/api/v1/proposals/{proposal_uuid}/share': patch: summary: Share operationId: share description: 'Send proposal via email' parameters: [] responses: { } tags: - Proposals 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: 'Optional parameter. 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: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/api/v1/proposals/{proposal_uuid}/delete-review-photo': delete: summary: 'Delete Review Photo' operationId: deleteReviewPhoto description: '' parameters: [] responses: { } tags: - Proposals requestBody: required: true content: application/json: schema: type: object properties: image_url: type: string description: 'The image url.' example: 'https://www.prohaska.info/rerum-fugiat-harum-voluptatibus-sequi-aut-sint-rerum-qui' type: type: enum description: "'cover' | 'photos' required The photo type." example: "'cover'." required: - image_url parameters: - in: path name: proposal_uuid description: 'Optional parameter. 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: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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: quia 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: 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: 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: dolores - 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: possimus - 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: praesentium - in: path name: company_uuid description: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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: sequi 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: ut 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: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 - in: path name: referralSource_uuid description: 'Optional parameter. The UUID of the referral_source.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 /api/v1/reports/templates: get: summary: List operationId: list description: 'Returns the list of available reports' parameters: - in: query name: page description: 'optional The page number.' example: 14 required: false schema: type: integer description: 'optional The page number.' example: 14 - in: query name: page_size description: 'optional The number of record you want per page.' example: 8 required: false schema: type: integer description: 'optional The number of record you want per page.' example: 8 - in: query name: sort_by description: 'optional The column name.' example: repellat required: false schema: type: string description: 'optional The column name.' example: repellat - in: query name: sort_order description: 'optional The order in which you want your records.' example: iusto required: false schema: type: string description: 'optional The order in which you want your records.' example: iusto - in: query name: search description: 'optional The general search, it will find matching string.' example: laboriosam required: false schema: type: string description: 'optional The general search, it will find matching string.' example: laboriosam responses: { } tags: - 'Report Templates' parameters: - 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: impedit - 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: officiis - 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: - 'Report Templates' delete: summary: Delete operationId: delete description: 'Delete a report template.' parameters: [] responses: { } tags: - 'Report Templates' parameters: - in: path name: reportTemplate_uuid description: 'Optional parameter. The UUID of the report template.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 /api/v1/reports: get: summary: List operationId: list description: 'Returns the list of available reports' parameters: - in: query name: page description: 'optional The page number.' example: 12 required: false schema: type: integer description: 'optional The page number.' example: 12 - in: query name: page_size description: 'optional The number of record you want per page.' example: 9 required: false schema: type: integer description: 'optional The number of record you want per page.' example: 9 - in: query name: sort_by description: 'optional The column name.' example: atque required: false schema: type: string description: 'optional The column name.' example: atque - in: query name: sort_order description: 'optional The order in which you want your records.' example: maiores required: false schema: type: string description: 'optional The order in which you want your records.' example: maiores - in: query name: search description: 'optional The general search, it will find matching string.' example: quia required: false schema: type: string description: 'optional The general search, it will find matching string.' example: quia responses: { } tags: - Reports post: summary: Store operationId: store description: 'Store a newly created report.' parameters: [] responses: { } tags: - Reports parameters: - 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: quisquam - 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: sint - 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: numquam - 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: qui - 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 - in: path name: report_uuid description: 'Optional parameter. The UUID of the report.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/api/v1/reports/{report_uuid}/duplicate': post: summary: Duplicate operationId: duplicate description: '' parameters: [] responses: { } tags: - Reports parameters: - in: path name: report_uuid description: 'Optional parameter. The UUID of the report.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 /api/v1/reports/types: get: summary: '' operationId: getApiV1ReportsTypes description: '' parameters: [] responses: { } tags: - Reports /api/v1/reports/admin-overview: get: summary: Show operationId: show description: 'Show admin overview report.' parameters: [] responses: { } tags: - Reports '/api/v1/reports/{report_uuid}': get: summary: Show operationId: show description: 'Show a single report.' parameters: [] responses: { } tags: - Reports delete: summary: Delete operationId: delete description: '' parameters: [] responses: { } tags: - Reports parameters: - 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: 861f26f4-3fe7-33d0-8f58-75b5e3ed8115 - 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: sapiente - 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: 5adfe675-9376-3698-a472-9795d0d8bccb - in: path name: report_uuid description: 'Optional parameter. The UUID of the report.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/api/v1/reports/{report_uuid}/export': get: summary: Export operationId: export description: 'Export summary reports' parameters: [] responses: { } tags: - Reports parameters: - in: path name: report_uuid description: 'Optional parameter. The UUID of the report.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/api/v1/reports/{report_uuid}/filters': get: summary: Filters operationId: filters description: 'Retrieve filters to be used in frontend processes' parameters: [] responses: { } tags: - Reports parameters: - in: path name: report_uuid description: 'Optional parameter. The UUID of the report.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/api/v1/companies/{company_uuid}/reviews': get: summary: List operationId: list description: 'Shows the list of review with pagination.' parameters: - in: query name: page description: 'optional The page number.' example: 18 required: false schema: type: integer description: 'optional The page number.' example: 18 - in: query name: page_size description: 'optional The number of record you want per page.' example: 5 required: false schema: type: integer description: 'optional The number of record you want per page.' example: 5 - in: query name: sort_by description: 'optional The column name.' example: dolores required: false schema: type: string description: 'optional The column name.' example: dolores - in: query name: sort_order description: 'optional The order in which you want your records.' example: sint required: false schema: type: string description: 'optional The order in which you want your records.' example: sint - in: query name: search description: 'optional The general search, it will find matching string.' example: autem required: false schema: type: string description: 'optional The general search, it will find matching string.' example: autem responses: { } tags: - Reviews post: summary: Store operationId: store description: 'Store a newly created review.' parameters: [] responses: { } tags: - Reviews 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: eos message: type: string description: 'The message of the review. Example : "Lorem ipsum dolor sit, amet consectetur adipisicing elit. Consequatur dolores iste quae soluta."' example: sint rate: type: string description: 'The rate of the review ranging from 0-5. Example : 5' example: maiores 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: 'https://gaylord.com/ea-eum-error-nesciunt-vitae-optio.html' position: type: integer description: 'The the position of the review. Example : 2' example: 6 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: f12b26ee-a081-32e7-8e17-b850d9a659bd required: - name - rate patch: summary: 'Patch Index' operationId: patchIndex description: 'Performs specific updates for review ranking' parameters: [] responses: { } tags: - Reviews parameters: - 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: dolor - in: path name: company_uuid description: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/api/v1/companies/{company_uuid}/reviews/{review_uuid}': get: summary: Show operationId: show description: 'Show a single review.' parameters: [] responses: { } tags: - Reviews post: summary: Update operationId: update description: 'Update a review.' parameters: [] responses: { } tags: - Reviews 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: quod message: type: string description: 'The message of the review. Example : "Lorem ipsum dolor sit, amet consectetur adipisicing elit. Consequatur dolores iste quae soluta."' example: error rate: type: string description: 'The rate of the review ranging from 0-5. Example : 5' example: harum 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://mann.com/amet-libero-est-ut-dolores-optio-eveniet' position: type: integer description: 'The the position of the review. Example : 2' example: 15 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: aa1cd3a3-2869-3d7c-ac47-d9a45d111b21 required: - name - rate patch: summary: Patch operationId: patch description: 'Patch a company review.' parameters: [] responses: { } tags: - Reviews requestBody: required: false content: application/json: schema: type: object properties: name: type: string description: 'The name of the customer/reviewer. Example : "My Review"' example: consectetur message: type: string description: 'The message of the review. Example : "Lorem ipsum dolor sit, amet consectetur adipisicing elit. Consequatur dolores iste quae soluta."' example: beatae rate: type: string description: 'The rate of the review ranging from 0-5. Example : 5' example: debitis external_photo_url: type: string description: 'An external url of an image as review/photo.' example: 'http://murazik.com/in-aut-sed-aut-quia-quia-rem-incidunt' position: type: integer description: 'The the position of the review. Example : 2' example: 3 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: 3f1d42b2-0298-30e7-9774-52d93f68e972 delete: summary: Delete operationId: delete description: 'Delete a review.' parameters: [] responses: { } tags: - Reviews parameters: - in: path name: company_uuid description: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 - in: path name: review_uuid description: 'Optional parameter. The UUID of the review.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 /api/v1/roles: get: summary: 'List / Fetch' operationId: listFetch description: 'Shows the list of role or fetch single record using uuid.' parameters: [] responses: { } tags: - Roles 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: - Roles 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: - Roles 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: - Roles 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: - Roles '/api/v1/companies/{company_uuid}/schedules': get: summary: List operationId: list description: 'Shows the list of schedule with pagination.' parameters: - in: query name: page description: 'optional The page number.' example: 20 required: false schema: type: integer description: 'optional The page number.' example: 20 - in: query name: page_size description: 'optional The number of record you want per page.' example: 16 required: false schema: type: integer description: 'optional The number of record you want per page.' example: 16 - in: query name: sort_by description: 'optional The column name.' example: sed required: false schema: type: string description: 'optional The column name.' example: sed - in: query name: sort_order description: 'optional The order in which you want your records.' example: autem required: false schema: type: string description: 'optional The order in which you want your records.' example: autem - in: query name: search description: 'optional The general search, it will find matching string.' example: quia required: false schema: type: string description: 'optional The general search, it will find matching string.' example: quia responses: { } tags: - Schedules post: summary: Store operationId: store description: 'Store a newly created schedule.' parameters: [] responses: { } tags: - Schedules requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'The name of the schedule. Example : "My Schedule"' example: beatae description: type: string description: 'The description of the schedule. Example : "Lorem ipsum dolor sit, amet consectetur adipisicing elit. Consequatur dolores iste quae soluta."' example: 'Occaecati soluta mollitia hic ipsum porro harum est.' type: type: string description: 'The type of the schedule (service, billing). Example : "service"' example: accusantium units: type: integer description: 'The number of week(s)/month(s)/year(s) of a schedule. Example : 5' example: 4 term: type: string description: 'The terms of the schedule (week/month/year). Example : week' example: maiores enabled_service_months: type: array description: 'The list of integer which represents a month. Example : [1, 2, 12] means ["January", "February", "December"]' example: - optio items: type: string visits: type: integer description: 'The number of visits of the schedule. Example : 52' example: 2 required: - name - type - units - term - enabled_service_months parameters: - 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: perspiciatis - in: path name: company_uuid description: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/api/v1/companies/{company_uuid}/schedules/{schedule_uuid}': get: summary: Show operationId: show description: 'Show a single schedule.' parameters: [] responses: { } tags: - Schedules put: summary: Update operationId: update description: 'Update a schedule.' parameters: [] responses: { } tags: - Schedules 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: 'Et fugiat libero id repudiandae deserunt numquam nisi omnis.' 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: 10 term: type: string description: 'The terms of the schedule (week/month/year). Example : week' example: in enabled_service_months: type: array description: 'The list of integer which represents a month. Example : [1, 2, 12] means ["January", "February", "December"]' example: - exercitationem 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 patch: summary: Patch operationId: patch description: 'Patch a company schedule.' parameters: [] responses: { } tags: - Schedules requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'The name of the schedule. Example : "My Schedule"' example: eum description: type: string description: 'The description of the schedule. Example : "Lorem ipsum dolor sit, amet consectetur adipisicing elit. Consequatur dolores iste quae soluta."' example: 'Quia beatae minima fuga quia dignissimos.' type: type: string description: 'The type of the schedule (service, billing). Example : "service"' example: quia 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: exercitationem enabled_service_months: type: array description: 'The list of integer which represents a month. Example : [1, 2, 12] means ["January", "February", "December"]' example: - iste items: type: string visits: type: integer description: 'The number of visits of the schedule. Example : 52' example: 10 required: - name - type - units - term - enabled_service_months delete: summary: Delete operationId: delete description: 'Delete a schedule.' parameters: [] responses: { } tags: - Schedules parameters: - in: path name: company_uuid description: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 - in: path name: schedule_uuid description: 'Optional parameter. The UUID of the schedule.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/api/v1/companies/{company_uuid}/service-agreements': get: summary: List operationId: list description: 'Shows the list of company service agreements with pagination.' parameters: - in: query name: page description: 'optional The page number.' example: 12 required: false schema: type: integer description: 'optional The page number.' example: 12 - in: query name: page_size description: 'optional The number of record you want per page.' example: 15 required: false schema: type: integer description: 'optional The number of record you want per page.' example: 15 - in: query name: sort_by description: 'optional The column name.' example: ut required: false schema: type: string description: 'optional The column name.' example: ut - in: query name: sort_order description: 'optional The order in which you want your records.' example: magni required: false schema: type: string description: 'optional The order in which you want your records.' example: magni - in: query name: search description: 'optional The general search, it will find matching string.' example: provident required: false schema: type: string description: 'optional The general search, it will find matching string.' example: provident responses: { } tags: - 'Service Agreements' post: summary: Store operationId: store description: 'Store a service agreement.' parameters: [] responses: { } tags: - 'Service Agreements' 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: itaque content: type: string description: 'The content of the service agreement. Example : Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor' example: alias required: - title - content parameters: - 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: sed - in: path name: company_uuid description: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/api/v1/companies/{company_uuid}/service-agreements/{serviceAgreement_uuid}': get: summary: Show operationId: show description: 'Show a single service agreement.' parameters: [] responses: { } tags: - 'Service Agreements' put: summary: Update operationId: update description: 'Update a service agreement.' parameters: [] responses: { } tags: - 'Service Agreements' 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: eveniet content: type: string description: 'The content of the service agreement. Example : Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor' example: eum required: - title - content patch: summary: Patch operationId: patch description: 'Patch a service agreement.' parameters: [] responses: { } tags: - 'Service Agreements' 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: sed 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: ipsam delete: summary: Delete operationId: delete description: 'Delete a service agreement.' parameters: [] responses: { } tags: - 'Service Agreements' parameters: - in: path name: company_uuid description: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 - in: path name: serviceAgreement_uuid description: 'Optional parameter. The UUID of the service_agreement.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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 Agreements' 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: ab 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: atque parameters: - in: path name: company_uuid description: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 - in: path name: serviceAgreement_uuid description: 'Optional parameter. The UUID of the service_agreement.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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: - in: query name: page description: 'optional The page number.' example: 4 required: false schema: type: integer description: 'optional The page number.' example: 4 - in: query name: page_size description: 'optional The number of record you want per page.' example: 8 required: false schema: type: integer description: 'optional The number of record you want per page.' example: 8 - in: query name: sort_by description: 'optional The column name.' example: deserunt required: false schema: type: string description: 'optional The column name.' example: deserunt - in: query name: sort_order description: 'optional The order in which you want your records.' example: nihil required: false schema: type: string description: 'optional The order in which you want your records.' example: nihil - in: query name: search description: 'optional The general search, it will find matching string.' example: aut required: false schema: type: string description: 'optional The general search, it will find matching string.' example: aut responses: { } tags: - 'Service Plan Custom Fields' 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 Fields' 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 Fields' 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: u items: type: string save_service_plan_as: type: string description: '' example: SERVICE_PLAN_DRAFT 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: 'Optional parameter. 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: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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 Fields' 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 Fields' 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: aqrwqvclbobt 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 Fields' 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 Fields' parameters: - in: path name: servicePlan_uuid description: 'Optional parameter. 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: 3fa85f64-5717-4562-b3fc-2c963f66afa6 - in: path name: servicePlanCustomField_uuid description: 'Optional parameter. The UUID of the service_plan_custom_field.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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: - in: query name: page description: 'optional The page number.' example: 18 required: false schema: type: integer description: 'optional The page number.' example: 18 - in: query name: page_size description: 'optional The number of record you want per page.' example: 10 required: false schema: type: integer description: 'optional The number of record you want per page.' example: 10 - in: query name: sort_by description: 'optional The column name.' example: sit required: false schema: type: string description: 'optional The column name.' example: sit - in: query name: sort_order description: 'optional The order in which you want your records.' example: ullam required: false schema: type: string description: 'optional The order in which you want your records.' example: ullam - in: query name: search description: 'optional The general search, it will find matching string.' example: dolorum required: false schema: type: string description: 'optional The general search, it will find matching string.' example: dolorum responses: { } tags: - 'Service Plan Pricing Groups' post: summary: Create operationId: create description: 'Store a newly created Service Plan Pricing Group.' parameters: [] responses: { } tags: - 'Service Plan Pricing Groups' 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 Groups' 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 parameters: - in: path name: servicePlan_uuid description: 'Optional parameter. 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: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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 Groups' 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 Groups' 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 Groups' 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 Groups' parameters: - in: path name: servicePlan_uuid description: 'Optional parameter. 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: 3fa85f64-5717-4562-b3fc-2c963f66afa6 - in: path name: servicePlanPricingGroup_uuid description: 'Optional parameter. The UUID of the service_plan_pricing_group.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 /api/v1/service-plans: get: summary: List operationId: list description: 'Shows the list of Service Plans with pagination.' parameters: - in: query name: page description: 'optional The page number.' example: 12 required: false schema: type: integer description: 'optional The page number.' example: 12 - in: query name: page_size description: 'optional The number of record you want per page.' example: 19 required: false schema: type: integer description: 'optional The number of record you want per page.' example: 19 - in: query name: sort_by description: 'optional The column name.' example: et required: false schema: type: string description: 'optional The column name.' example: et - in: query name: sort_order description: 'optional The order in which you want your records.' example: id required: false schema: type: string description: 'optional The order in which you want your records.' example: id - in: query name: search description: 'optional The general search, it will find matching string.' example: aliquid required: false schema: type: string description: 'optional The general search, it will find matching string.' example: aliquid responses: { } tags: - 'Service Plans' post: summary: Create operationId: create description: 'Store a newly created Service Plan.' parameters: [] responses: { } tags: - 'Service Plans' 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: animi 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: 4969058.10339 required: - name parameters: - 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 Plans' put: summary: Update operationId: update description: 'Perform a full field update for the specified Service Plan.' parameters: [] responses: { } tags: - 'Service Plans' 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: eos 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: 7558218.913 save_as: type: string description: '' example: SERVICE_PLAN_ACTIVE 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 Plans' 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: quia 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: 271074.11823593 save_as: type: string description: '' example: SERVICE_PLAN_ARCHIVED 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 Plans' parameters: - in: path name: servicePlan_uuid description: 'Optional parameter. 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: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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 Plans' parameters: - 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 - in: path name: servicePlan_uuid description: 'Optional parameter. 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: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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 Plans' parameters: - in: path name: servicePlan_uuid description: 'Optional parameter. 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: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/api/v1/service-plans/{servicePlan_uuid}/publish': patch: summary: Publish operationId: publish description: 'Publish the specified Service Plan.' parameters: [] responses: { } tags: - 'Service Plans' parameters: - in: path name: servicePlan_uuid description: 'Optional parameter. 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: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/api/v1/service-plans/{servicePlan_uuid}/archive': patch: summary: Archived operationId: archived description: 'Archived the specified Service Plan.' parameters: [] responses: { } tags: - 'Service Plans' parameters: - in: path name: servicePlan_uuid description: 'Optional parameter. 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: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/api/v1/service-plans/{servicePlan_uuid}/unarchive': patch: summary: Unarchived operationId: unarchived description: 'Unarchived the specified Service Plan.' parameters: [] responses: { } tags: - 'Service Plans' parameters: - in: path name: servicePlan_uuid description: 'Optional parameter. 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: 3fa85f64-5717-4562-b3fc-2c963f66afa6 /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: a6d1962b-4dd7-3e3e-8a58-0719be7f6258 name: type: string description: 'The name of the solution. Example : Solution 1' example: aut 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: 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: 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: corporis - 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: accusamus - 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: sit - 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: fad2e0a8-1429-3a55-a912-a739631401c3 '/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: e71480a9-8214-347b-8266-791085223160 name: type: string description: 'The name of the solution. Example : Solution 1' example: magni 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: 65f34d6a-3db3-386b-8cf9-d4a7170e4aad name: type: string description: 'The name of the solution. Example : Solution 1' example: omnis 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: 'Optional parameter. The UUID of the solution.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 /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: 'Optional parameter. The UUID of the solution.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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: 'Optional parameter. The UUID of the solution.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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: 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: hic - in: path name: solutionCategory_uuid description: 'Optional parameter. The UUID of the solution_category.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 /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: true 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: porro 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: 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: 3 - 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: maxime - 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: omnis - 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: quia '/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: et 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: nihil 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: 'Optional parameter. The UUID of the solution_category.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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: 'Optional parameter. The UUID of the solution_category.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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: true step: type: object description: 'The current step the use is on. Example : 2' example: [] properties: { } parameters: - in: path name: solutionCategory_uuid description: 'Optional parameter. The UUID of the solution_category.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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: 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: non - in: path name: solutionCategory_uuid description: 'Optional parameter. The UUID of the solution_category.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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: 1 feedback: type: string description: 'The attributes of the solution.' example: '"Lorem ipsum dolor sit amet consectetur adipisicing elit."' required: - rate 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: 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: 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: iure - 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: ad - 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: solution_uuid description: 'Optional parameter. The UUID of the solution.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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: 15 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: 13 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: 'Optional parameter. The UUID of the solution.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 - in: path name: solutionFeedback_uuid description: 'Optional parameter. The UUID of the solution_feedback.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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: - States 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: [] /api/v1/support-request: post: summary: Store operationId: store description: 'Send support request from users' parameters: [] responses: { } tags: - 'Support Requests' 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 Requests' 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: 'Optional parameter. The UUID of the support_request.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/api/v1/companies/{company_uuid}/symbols': get: summary: List operationId: list description: 'Shows the list of company symbols with pagination.' parameters: - in: query name: page description: 'optional The page number.' example: 4 required: false schema: type: integer description: 'optional The page number.' example: 4 - in: query name: page_size description: 'optional The number of record you want per page.' example: 14 required: false schema: type: integer description: 'optional The number of record you want per page.' example: 14 - in: query name: sort_by description: 'optional The column name.' example: itaque required: false schema: type: string description: 'optional The column name.' example: itaque - in: query name: sort_order description: 'optional The order in which you want your records.' example: quia required: false schema: type: string description: 'optional The order in which you want your records.' example: quia - in: query name: search description: 'optional The general search, it will find matching string.' example: ut required: false schema: type: string description: 'optional The general search, it will find matching string.' example: ut responses: { } tags: - Symbols post: summary: Store operationId: store description: 'Store a newly created company symbol.' parameters: [] responses: { } tags: - Symbols requestBody: required: true content: multipart/form-data: schema: type: object properties: name: type: string description: 'The name of the symbol. Example : Dig' example: est source: type: string description: 'The source of the symbol. Example : text' example: voluptas description: type: string description: 'optional The description of the symbol. Example : text' example: 'Provident dolor soluta error laborum nobis aliquid.' 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: - in items: type: string required: - name - source parameters: - 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: eos - 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: qui - in: path name: company_uuid description: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/api/v1/companies/{company_uuid}/symbols/{companySymbol_uuid}': get: summary: Show operationId: show description: 'Show a single company symbol.' parameters: [] responses: { } tags: - Symbols put: summary: Update operationId: update description: 'Update a company symbol.' parameters: [] responses: { } tags: - Symbols requestBody: required: true content: multipart/form-data: schema: type: object properties: name: type: string description: 'The name of the symbol. Example : Dig' example: impedit source: type: string description: 'The source of the symbol. Example : text' example: quo description: type: string description: 'optional The description of the symbol. Example : text' example: 'Sed nobis perferendis dolorum non quisquam odio.' 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: - rem items: type: string required: - name - source post: summary: Update operationId: update description: 'Update a company symbol.' parameters: [] responses: { } tags: - Symbols requestBody: required: true content: multipart/form-data: schema: type: object properties: name: type: string description: 'The name of the symbol. Example : Dig' example: architecto source: type: string description: 'The source of the symbol. Example : text' example: fugit description: type: string description: 'optional The description of the symbol. Example : text' example: 'Doloremque sed nulla voluptas incidunt itaque minima.' 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: - sunt items: type: string required: - name - source patch: summary: Patch operationId: patch description: 'Patch a company symbol.' parameters: [] responses: { } tags: - Symbols requestBody: required: true content: multipart/form-data: schema: type: object properties: name: type: string description: 'The name of the symbol. Example : Dig' example: ut source: type: string description: 'The source of the symbol. Example : text' example: ea description: type: string description: 'optional The description of the symbol. Example : text' example: 'Sed vero autem esse maiores velit maiores asperiores.' 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: - Symbols parameters: - in: path name: company_uuid description: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 - in: path name: companySymbol_uuid description: 'Optional parameter. The UUID of the company_symbol.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/api/v1/companies/{company_uuid}/tags': get: summary: List operationId: list description: 'Shows the list of tags with pagination.' parameters: - in: query name: page description: 'optional The page number.' example: 20 required: false schema: type: integer description: 'optional The page number.' example: 20 - in: query name: page_size description: 'optional The number of record you want per page.' example: 3 required: false schema: type: integer description: 'optional The number of record you want per page.' example: 3 - in: query name: sort_by description: 'optional The column name.' example: fugiat required: false schema: type: string description: 'optional The column name.' example: fugiat - in: query name: sort_order description: 'optional The order in which you want your records.' example: cumque required: false schema: type: string description: 'optional The order in which you want your records.' example: cumque - in: query name: search description: 'optional The general search, it will find matching string.' example: dolore required: false schema: type: string description: 'optional The general search, it will find matching string.' example: dolore responses: { } tags: - Tags post: summary: Create operationId: create description: 'Store a newly created Tag.' parameters: [] responses: { } tags: - Tags requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'The name of the tag.' example: 'Needs Review' description: type: string description: 'The description of the tag.' example: 'Proposals that need review' category_group: type: string description: 'The category group.' example: PROPOSAL required: - name - category_group parameters: - in: path name: company_uuid description: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 - in: path name: category_group description: 'Optional parameter. Filter by category group. Example : PROPOSAL' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: eum - in: path name: uuids description: 'Optional parameter. string[] Filter by specific tag UUIDs. Example : ["550e8400-e29b-41d4-a716-446655440001"]' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: fugit '/api/v1/companies/{company_uuid}/tags/{tag_uuid}': get: summary: Show operationId: show description: 'Display the specified Tag.' parameters: [] responses: { } tags: - Tags put: summary: Update operationId: update description: 'Update the specified Tag.' parameters: [] responses: { } tags: - Tags requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'The name of the tag.' example: 'Needs Review' description: type: string description: 'The description of the tag.' example: 'Proposals that need review' category_group: type: string description: 'The category group.' example: PROPOSAL required: - name - category_group delete: summary: Delete operationId: delete description: 'Remove the specified Tag.' parameters: [] responses: { } tags: - Tags parameters: - in: path name: company_uuid description: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 - in: path name: tag_uuid description: 'Optional parameter. The UUID of the tag.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 /api/v1/tags: get: summary: 'List Global Tags' operationId: listGlobalTags description: "Shows the list of global tags (not company-scoped) with pagination.\nAdmins see all global tags, non-admins see only their company's global tags." parameters: - in: query name: page description: 'optional The page number.' example: 20 required: false schema: type: integer description: 'optional The page number.' example: 20 - in: query name: page_size description: 'optional The number of record you want per page.' example: 4 required: false schema: type: integer description: 'optional The number of record you want per page.' example: 4 - in: query name: sort_by description: 'optional The column name.' example: aspernatur required: false schema: type: string description: 'optional The column name.' example: aspernatur - in: query name: sort_order description: 'optional The order in which you want your records.' example: voluptatem required: false schema: type: string description: 'optional The order in which you want your records.' example: voluptatem - in: query name: search description: 'optional The general search.' example: voluptatem required: false schema: type: string description: 'optional The general search.' example: voluptatem responses: { } tags: - Tags post: summary: 'Create Global Tag' operationId: createGlobalTag description: 'Store a newly created global Tag (admin/super admin only).' parameters: [] responses: { } tags: - Tags requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'The name of the tag.' example: 'Default Import Tag' description: type: string description: 'The description of the tag.' example: 'Default import set tag' category_group: type: string description: 'The category group.' example: IMPORT_SET required: - name - category_group parameters: - in: path name: category_group description: 'Optional parameter. Filter by category group. Example : IMPORT_SET' 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/tags/{tag_uuid}': get: summary: 'Show Global Tag' operationId: showGlobalTag description: 'Display the specified global Tag.' parameters: [] responses: { } tags: - Tags put: summary: 'Update Global Tag' operationId: updateGlobalTag description: 'Update the specified global Tag (admin/super admin only).' parameters: [] responses: { } tags: - Tags requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'The name of the tag.' example: 'Default Import Tag' description: type: string description: 'The description of the tag.' example: 'Updated description' category_group: type: string description: 'The category group.' example: IMPORT_SET required: - name - category_group delete: summary: 'Delete Global Tag' operationId: deleteGlobalTag description: 'Remove the specified global Tag (admin/super admin only).' parameters: [] responses: { } tags: - Tags parameters: - in: path name: tag_uuid description: 'Optional parameter. The UUID of the tag.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/api/v1/companies/{company_uuid}/taxes': get: summary: List operationId: list description: 'Shows the list of taxes with pagination.' parameters: - in: query name: page description: 'optional The page number.' example: 14 required: false schema: type: integer description: 'optional The page number.' example: 14 - in: query name: page_size description: 'optional The number of record you want per page.' example: 14 required: false schema: type: integer description: 'optional The number of record you want per page.' example: 14 - in: query name: sort_by description: 'optional The column name.' example: quis required: false schema: type: string description: 'optional The column name.' example: quis - in: query name: sort_order description: 'optional The order in which you want your records.' example: ullam required: false schema: type: string description: 'optional The order in which you want your records.' example: ullam - in: query name: search description: 'optional The general search, it will find matching string (name, postal_code, cities).' example: recusandae required: false schema: type: string description: 'optional The general search, it will find matching string (name, postal_code, cities).' example: recusandae responses: { } tags: - Taxes patch: summary: 'Patch Index' operationId: patchIndex description: 'Performs specific updates for tax settings' parameters: [] responses: { } tags: - Taxes post: summary: Store operationId: store description: 'Store a newly created tax.' parameters: [] responses: { } tags: - Taxes 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: 705faa3f-a8ab-3738-830f-5d100661e74b country_state_uuids: type: array description: 'An array of country state UUID. Example : ["815d3d9c-f371-3781-8456-7e6954b5b0f5", "815d3d9c-f371-3781-8456-7e6954b5b0f2"]' example: - est items: type: string name: type: string description: 'The name of the tax. Example : Pest Route Initial Proposal' example: quia 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: 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: 66c65a6e-9d26-3f3b-ad4e-358f15de3525 - 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: 17 - 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: officia - in: path name: company_uuid description: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/api/v1/companies/{company_uuid}/taxes/{companyTax_uuid}': get: summary: Show operationId: show description: 'Show a single tax.' parameters: [] responses: { } tags: - Taxes put: summary: Update operationId: update description: 'Update a tax.' parameters: [] responses: { } tags: - Taxes 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: 277f69f0-9511-3c8e-94fe-aead0a0a397a country_state_uuids: type: array description: 'The UUID of a country state. Example : "815d3d9c-f371-3781-8456-7e6954b5b0f5"' example: - nihil items: type: string name: type: string description: 'The name of the tax. Example : Pest Route Initial Proposal' example: quas 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: - Taxes 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: 420e9305-8db6-3016-8c69-01384a263a38 country_state_uuids: type: array description: 'optional The UUID of a country state. Example : "815d3d9c-f371-3781-8456-7e6954b5b0f5"' example: - earum items: type: string name: type: string description: 'optional The name of the tax. Example : Pest Route Initial Proposal' example: saepe 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: - Taxes parameters: - in: path name: company_uuid description: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 - in: path name: companyTax_uuid description: 'Optional parameter. The UUID of the company_tax.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/api/v1/companies/{company_uuid}/teams': get: summary: List operationId: list description: 'Shows the list of teams with pagination.' parameters: - in: query name: page description: 'optional The page number.' example: 19 required: false schema: type: integer description: 'optional The page number.' example: 19 - in: query name: page_size description: 'optional The number of record you want per page.' example: 6 required: false schema: type: integer description: 'optional The number of record you want per page.' example: 6 - in: query name: sort_by description: 'optional The column name.' example: eos required: false schema: type: string description: 'optional The column name.' example: eos - in: query name: sort_order description: 'optional The order in which you want your records.' example: esse required: false schema: type: string description: 'optional The order in which you want your records.' example: esse - in: query name: search description: 'optional The general search, it will find matching string.' example: eius required: false schema: type: string description: 'optional The general search, it will find matching string.' example: eius responses: { } tags: - Teams post: summary: Store operationId: store description: 'Store a newly created team.' parameters: [] responses: { } tags: - Teams requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'The name of the team. Example : "Engineering"' example: consequatur required: - name parameters: - in: path name: company_uuid description: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/api/v1/companies/{company_uuid}/teams/{team_uuid}': get: summary: Show operationId: show description: 'Show a single team.' parameters: [] responses: { } tags: - Teams put: summary: Update operationId: update description: 'Update a team.' parameters: [] responses: { } tags: - Teams requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'The name of the team. Example : "Accounting"' example: recusandae required: - name patch: summary: Patch operationId: patch description: 'Patch a company team.' parameters: [] responses: { } tags: - Teams requestBody: required: false content: application/json: schema: type: object properties: name: type: string description: 'The name of the team. Example : "Accounting"' example: voluptatibus delete: summary: Delete operationId: delete description: 'Delete a team.' parameters: [] responses: { } tags: - Teams parameters: - in: path name: company_uuid description: 'Optional parameter. The UUID of the company.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 - in: path name: team_uuid description: 'Optional parameter. The UUID of the team.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 /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 parameters: - in: path name: user_uuid description: 'Optional parameter. The UUID of the user.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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: - odit 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: 'Optional parameter. The UUID of the user.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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: 'Optional parameter. The UUID of the user.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 '/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: 'Optional parameter. The UUID of the user.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 /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 parameters: - in: path name: user_uuid description: 'Optional parameter. The UUID of the user.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 /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: soluta 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/auth/webhooks/subscribe-test: post: summary: Test operationId: test description: 'Save new webhook subscription' parameters: [] responses: { } tags: - Webhooks 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/webhooks/subscribe: get: summary: List operationId: list description: 'Shows the list of webhooks.' parameters: - in: query name: page description: 'optional The page number.' example: 7 required: false schema: type: integer description: 'optional The page number.' example: 7 - in: query name: page_size description: 'optional The number of record you want per page.' example: 12 required: false schema: type: integer description: 'optional The number of record you want per page.' example: 12 - in: query name: sort_by description: 'optional The column name.' example: error required: false schema: type: string description: 'optional The column name.' example: error - in: query name: sort_order description: 'optional The order in which you want your records.' example: quia required: false schema: type: string description: 'optional The order in which you want your records.' example: quia - in: query name: search description: 'optional The general search, it will find matching string.' example: et required: false schema: type: string description: 'optional The general search, it will find matching string.' example: et responses: { } tags: - Webhooks post: summary: Store operationId: store description: 'Save new webhook subscription' parameters: [] responses: { } tags: - Webhooks 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/webhooks/subscribe/{webhook_uuid}': delete: summary: Delete operationId: delete description: 'Delete a webhook.' parameters: [] responses: { } tags: - Webhooks parameters: - in: path name: webhook_uuid description: 'Optional parameter. The UUID of the webhook.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 3fa85f64-5717-4562-b3fc-2c963f66afa6 tags: - name: 'App Data' description: "\nRetrieve system reference data including countries, states, user roles, record statuses, industries, property locations, and other enumerated values needed for application functionality." - name: Automations description: "\nCreate workflow automations with triggers, filters, and actions to automate business processes. Automations can be enabled/disabled and configured to run during specific business hours." - name: Categories description: "\nOrganize service plans and drawing symbols into categories (e.g., Rodent Control, Termite Treatment). Categories help structure service offerings and diagram symbols for better organization." - name: Company description: "\nManage your company profile including business name, logo, contact information, branding settings, billing configuration, and company-wide preferences." - name: 'Company Users' description: "\nInvite and manage company users with location assignments. Handle user invitations, activation, role assignment, team membership, and company-specific user settings." - name: Countries description: "\nRetrieve available countries and states/provinces for address forms and geographic data. Used in customer and company location configuration." - name: 'Customer Addresses' description: "\nManage service addresses for customers. A single customer may have multiple properties requiring pest control services at different locations." - name: 'Customer Contacts' description: "\nManage additional contact persons for customer accounts. Store phone numbers, emails, and contact preferences for multiple decision-makers at a property." - name: Customers description: "\nManage customer records including contact information, service addresses (multiple addresses per customer), billing details, referral source tracking, status, custom field data, and CRM integration metadata." - name: 'Decline Reasons' description: "\nTrack reasons why customers decline proposals (price too high, went with competitor, not interested, etc.). Analyze decline data to improve sales processes and understand common objections." - name: 'Description Sets' description: "\nCreate reusable description templates for services, proposals, and documents. Maintain consistent professional messaging across your sales and service materials." - name: 'Field Groups' description: "\nCreate groups of custom fields to collect additional business-specific information on customers, proposals, or other records. Organize custom data collection into logical field sets." - name: 'File Upload' description: "\nGenerate pre-signed URLs for secure direct-to-S3 file uploads. Upload photos, documents, PDFs, and media without passing files through the API server." - name: Files description: "\nUpload and manage company files and attachments. Store documents that can be referenced in proposals, emails, and customer communications." - name: 'Form Fields' description: "\nDefine individual fields (text, dropdown, checkbox, date, etc.) that make up custom forms. Configure field validation rules, options, and display settings." - name: Forms description: "\nBuild custom data collection forms with form fields and assignments. Forms can be attached to proposals for customer completion or used during service delivery to collect business-specific information." - name: 'Import Sets' description: "\nManage bulk data import jobs for migrating customers, service plans, line items, and other records from external systems or CSV files." - name: 'Import Types' description: "\nView available import types and data formats supported for bulk data migration (customers, service plans, line items, categories, etc.)." - name: Industries description: "\nRetrieve industry classifications for commercial customers (restaurants, warehouses, offices, etc.). Used to categorize commercial accounts by business type for reporting and segmentation." - name: 'Integration Types' description: "\nView available integration types (CRM systems, accounting software, etc.) that can be connected to Smarter Launch. Integration availability may be restricted by company settings and user role." - name: Integrations description: "\nConnect and manage integrations with external CRM systems, accounting software, and other business tools. Configure integration settings, sync data, and view integration logs." - name: 'Line Items' description: "\nManage additional services and products that can be added to proposals. Line items include pricing information, billing schedules, service schedules, and can be imported in bulk." - name: 'Location Custom Settings' description: "\nConfigure location-specific operational settings and preferences that override company-level defaults for individual branches." - name: Locations description: "\nManage company branch locations and service territories. Configure location-specific settings, assign service plans, manage user access by location, and set up integration settings for each branch." - name: 'Media Items' description: "\nManage photos, videos, and documents used in proposals and service documentation. Organize media with tags and sources for easy retrieval and reuse across projects." - name: 'Media Sources' description: "\nDefine and manage sources for media files (uploaded, camera, external URL, imports) to track where images and documents originated." - name: 'Media Tags' description: "\nCreate tags to categorize and organize media files (photos, videos, documents) for easy retrieval and reuse across proposals and service documentation." - name: Permissions description: "\nView available system permissions that can be assigned to roles for granular access control. Permissions control access to features and data throughout the application." - name: 'Pest Treated' description: '' - name: Products description: "\nManage pest control products and chemicals used in treatments. Track product information for service documentation, inventory tracking, and compliance reporting." - name: 'Property Locations' description: "\nDefine standardized property location types (interior, exterior, basement, attic, garage, etc.) used in service diagrams and treatment records." - name: 'Proposal Templates' description: '' - name: Proposals description: "\nCreate and manage pest control service proposals. Handle proposal creation, customer acceptance/decline with digital signatures, pricing selection, custom form submissions, activity tracking, file attachments, and CRM synchronization." - name: 'Referral Source' description: "\nAPI for Referral Source" - name: 'Report Templates' description: "\nCreate custom report templates with specific data fields, filters, and layouts for recurring business intelligence needs and analytics." - name: Reports description: "\nGenerate and export business intelligence reports including sales dashboards, performance metrics, and analytics. Filter reports by user, team, date range, and report type." - name: Reviews description: "\nCollect and manage customer reviews and testimonials. Request reviews from satisfied customers to build your online reputation and gather feedback." - name: Roles description: "\nDefine user roles with associated permissions for access control. Uses Spatie Permission package to manage role-based authorization throughout the application." - name: Schedules description: "\nDefine service and billing frequency schedules (monthly, quarterly, annual, etc.) used in service plans and line items for recurring pest control services." - name: 'Service Agreements' description: "\nManage legal service agreement templates that outline terms and conditions. Attach service agreements to proposals for customer acceptance and mark agreements as active." - name: 'Service Plan Custom Fields' description: "\nAdd custom data fields to service plans to capture business-specific information such as treatment methods, coverage areas, or special terms." - name: 'Service Plan Pricing Groups' description: "\nCreate pricing tiers for service plans based on property size, square footage, treatment frequency, or other factors. Offer multiple pricing options within proposals." - name: 'Service Plans' description: "\nDefine and manage service plan offerings including pricing groups, treatment categories, location availability, service schedules, and contract terms. Service plans can be duplicated and included in proposals." - name: Solution description: "\nAPI for Solution" - name: 'Solution Category' description: "\nAPI for Solution Category" - name: 'Solution Feedback' description: "\nAPI for Solution Feedback" - name: States description: "\nRetrieve states/provinces for a given country. Used in address forms and tax rate configuration by geographic region." - name: 'Support Requests' description: "\nSubmit support tickets to Smarter Launch customer service. Attach screenshots and describe issues for technical assistance." - name: Symbols description: "\nDefine diagram symbols and icons used in property maps and treatment diagrams (e.g., bait station icons, treatment area markers). Upload custom symbol images." - name: Tags description: "\nCreate custom tags to label and organize customers, proposals, and other records for filtering, searching, and reporting purposes." - name: Taxes description: "\nConfigure sales tax rates for different states, counties, and municipalities. Automatically apply correct tax rates to proposals and invoices based on service address location." - name: Teams description: "\nOrganize users into named teams for filtering and reporting. Team supervisors can view data filtered to their assigned team." - name: User description: "\nAPI for user details" - name: 'User Authentication' description: "\nAPI for user authentication" - name: Webhooks description: "\nConfigure webhook subscriptions to receive real-time HTTP notifications when events occur in Smarter Launch (proposals accepted, documents created, customers added, etc.)." 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: []