openapi: 3.0.1 info: title: HeavyJob API description: Get time cards, materials, budgets, and more. Operations require the 'heavyjob:read', 'heavyjob:write', 'timecards:read', or 'timecards:write' scope. For help with authorization, please visit https://developer.hcssapps.com/getting-started/request-token. version: v1 termsOfService: https://support.hcss.com. contact: name: Heavy Construction Systems Specialists, Inc. (HCSS) url: https://support.hcss.com/ email: support@hcss.com license: name: EULA url: https://support.hcss.com. servers: - url: https://api.hcssapps.com/heavyjob security: - bearer: - heavyjob:read - heavyjob:write - timecards:read - timecards:write - heavyjob:users:read - heavyjob:users:write paths: /api/v1/accessGroup: get: tags: - AccessGroup summary: Returns access groups description: This call will return a list of access groups. operationId: AccessGroupController_GetAllRoles parameters: - name: isDeleted in: query description: If true, returns deleted access groups. schema: type: boolean responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiAccessGroupRead' '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:users:read /api/v1/accountingValues/search: post: tags: - Accounting summary: Returns a list of accounting values that satisfy the filter criteria. operationId: AccountingController_GetAccountingValuesAsync requestBody: content: application/json: schema: $ref: '#/components/schemas/AccountingValuesSearchRequest' text/json: schema: $ref: '#/components/schemas/AccountingValuesSearchRequest' application/*+json: schema: $ref: '#/components/schemas/AccountingValuesSearchRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiAccountingValuesReadPaginatedResponse' '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read /api/v1/rateSetGroupAccountingValues/search: post: tags: - Accounting summary: Returns a list of rate set group accounting values that satisfy the filter criteria. operationId: AccountingController_GetRateSetGroupAccountingValuesAsync requestBody: content: application/json: schema: $ref: '#/components/schemas/RateSetGroupAccountingValuesSearchRequest' text/json: schema: $ref: '#/components/schemas/RateSetGroupAccountingValuesSearchRequest' application/*+json: schema: $ref: '#/components/schemas/RateSetGroupAccountingValuesSearchRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiAccountingValuesReadPaginatedResponse' '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read /api/v1/jobs/{jobId}/advancedBudgets/material: get: tags: - AdvancedBudget summary: Returns material advanced budgets description: "This call will return a list of material advanced budgets (i.e., the cartesian product of material cost types and cost codes) \r\nfor the specified job, purchase order, discontinued status or deleted status." operationId: AdvancedBudgetController_GetMaterialsAdvancedBudget parameters: - name: jobId in: path description: The job id to query by. required: true schema: type: string format: uuid - name: purchaseOrderId in: query description: The purchase order id to query by. schema: type: string format: uuid - name: isDiscontinued in: query description: If true, returns discontinued material advanced budgets. schema: type: boolean default: false - name: isDeleted in: query description: If true, returns deleted material advanced budgets. schema: type: boolean default: false responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiMaterialAdvancedBudgetRead' example: - id: 6d343fd2-8a25-428d-ade7-6309577969cd jobMaterialId: 93404c70-18a5-438e-875b-fc47f7031367 materialDescription: ' material description' purchaseOrderId: 788837e9-492e-47f3-9a28-299f49967f04 costCode: cost code costCodeDescription: cost code description salesTaxPercent: 8.25 unitCost: 50.5 unitOfMeasure: EA vendorId: ebb2645b-8f2e-4a07-a0c1-9db48723f7e8 isDeleted: false materialBusinessUnitId: bbc8fc73-87ac-4968-bd43-4809b8291f69 costCodeId: cd81addc-ba92-422e-814b-7d2363a167bf purchaseOrderDetailId: 7f3fdac4-9a25-4c74-afea-78b4d7bea623 status: active quantity: 100.1 '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read /api/v1/advancedBudgets/material: post: tags: - AdvancedBudget summary: Creates material advanced budget description: Creates a new material advanced budget with the information provided. operationId: AdvancedBudgetController_CreateMaterialAdvancedBudget requestBody: description: The material advanced budget to be created. content: application/json: schema: $ref: '#/components/schemas/ApiMaterialAdvancedBudgetWrite' example: costCodeId: 7b2184ad-e3d5-4064-a73d-549deb2c88c2 purchaseOrderDetailId: cd9cd863-5229-4c7a-b5a0-ea10508203c9 status: active quantity: 67.2 text/json: schema: $ref: '#/components/schemas/ApiMaterialAdvancedBudgetWrite' example: costCodeId: 7b2184ad-e3d5-4064-a73d-549deb2c88c2 purchaseOrderDetailId: cd9cd863-5229-4c7a-b5a0-ea10508203c9 status: active quantity: 67.2 application/*+json: schema: $ref: '#/components/schemas/ApiMaterialAdvancedBudgetWrite' example: costCodeId: 7b2184ad-e3d5-4064-a73d-549deb2c88c2 purchaseOrderDetailId: cd9cd863-5229-4c7a-b5a0-ea10508203c9 status: active quantity: 67.2 required: true responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiMaterialAdvancedBudgetRead' example: id: 6d343fd2-8a25-428d-ade7-6309577969cd jobMaterialId: 93404c70-18a5-438e-875b-fc47f7031367 materialDescription: ' material description' purchaseOrderId: 788837e9-492e-47f3-9a28-299f49967f04 costCode: cost code costCodeDescription: cost code description salesTaxPercent: 8.25 unitCost: 50.5 unitOfMeasure: EA vendorId: ebb2645b-8f2e-4a07-a0c1-9db48723f7e8 isDeleted: false materialBusinessUnitId: bbc8fc73-87ac-4968-bd43-4809b8291f69 costCodeId: cd81addc-ba92-422e-814b-7d2363a167bf purchaseOrderDetailId: 7f3fdac4-9a25-4c74-afea-78b4d7bea623 status: active quantity: 100.1 '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:write /api/v1/jobs/{jobId}/advancedBudgets/subcontract: get: tags: - AdvancedBudget summary: Returns subcontract work item advanced budgets description: "This call will return a list of subcontract item advanced budgets (i.e., the cartesian product of subcontract cost types and cost codes)\r\nfor the specified job." operationId: AdvancedBudgetController_GetSubcontractsAdvancedBudget parameters: - name: jobId in: path required: true schema: type: string format: uuid - name: vendorContractId in: query schema: type: string format: uuid responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiSubcontractAdvancedBudgetRead' example: - id: 7a6560ce-c0b7-429f-9cf7-6fe4589024cd jobSubcontractId: 11a1eff4-e213-4036-a49e-2b7d8de66d71 subcontractDescription: subcontract description vendorContractId: 307a88ff-4171-46fd-8c24-8992907915e0 costCode: cost code costCodeDescription: cost code description salesTaxPercent: 8.25 unitCost: 50.5 unitOfMeasure: EA vendorId: dd3fd638-e86e-466e-8265-3f688f57573a mWorkItemBusinessUnitId: 2dcad479-bacf-47c2-94b7-f2dd830c637b costCodeId: dfb7f751-7839-4dce-ad65-70e6e26f2a7f vendorContractDetailId: b5ac8592-e6c7-4f23-acd7-914a5afb336a status: active quantity: 100.1 '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read /api/v1/advancedBudgets/subcontract: post: tags: - AdvancedBudget summary: Creates subcontract advanced budget description: This call creates a new subcontract advanced budget with the information provided. operationId: AdvancedBudgetController_CreateSubcontractAdvancedBudget requestBody: description: The subcontract budget to create. content: application/json: schema: $ref: '#/components/schemas/ApiSubcontractAdvancedBudgetWrite' example: costCodeId: 7b2184ad-e3d5-4064-a73d-549deb2c88c2 vendorContractDetailId: 842684f8-48ba-4961-b27a-d6e2cc38d758 status: active quantity: 25.9 text/json: schema: $ref: '#/components/schemas/ApiSubcontractAdvancedBudgetWrite' example: costCodeId: 7b2184ad-e3d5-4064-a73d-549deb2c88c2 vendorContractDetailId: 842684f8-48ba-4961-b27a-d6e2cc38d758 status: active quantity: 25.9 application/*+json: schema: $ref: '#/components/schemas/ApiSubcontractAdvancedBudgetWrite' example: costCodeId: 7b2184ad-e3d5-4064-a73d-549deb2c88c2 vendorContractDetailId: 842684f8-48ba-4961-b27a-d6e2cc38d758 status: active quantity: 25.9 required: true responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiSubcontractAdvancedBudgetRead' example: id: 7a6560ce-c0b7-429f-9cf7-6fe4589024cd jobSubcontractId: 11a1eff4-e213-4036-a49e-2b7d8de66d71 subcontractDescription: subcontract description vendorContractId: 307a88ff-4171-46fd-8c24-8992907915e0 costCode: cost code costCodeDescription: cost code description salesTaxPercent: 8.25 unitCost: 50.5 unitOfMeasure: EA vendorId: dd3fd638-e86e-466e-8265-3f688f57573a mWorkItemBusinessUnitId: 2dcad479-bacf-47c2-94b7-f2dd830c637b costCodeId: dfb7f751-7839-4dce-ad65-70e6e26f2a7f vendorContractDetailId: b5ac8592-e6c7-4f23-acd7-914a5afb336a status: active quantity: 100.1 '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:write /api/v1/jobs/{jobId}/advancedBudgets/custom: get: tags: - AdvancedBudget summary: Returns a list of user-defined custom cost-type items advanced budget (i.e., the cartesian product of custom cost types and cost codes). operationId: AdvancedBudgetController_GetCustomCostTypesAdvancedBudget parameters: - name: jobId in: path required: true schema: type: string format: uuid - name: purchaseOrderId in: query schema: type: string format: uuid - name: isDiscontinued in: query schema: type: boolean default: false - name: isDeleted in: query schema: type: boolean default: false responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiCustomCostTypeItemAdvancedBudgetRead' example: - id: e3b25848-6f73-4a4b-a6dc-110d4fe7103b jobCustomCostTypeItemId: eb6d7734-54e6-4f4f-af3f-dec47523d286 customCostTypeItemDescription: cost type item description purchaseOrderId: c73428d8-957c-4af6-ac31-9917343d36f8 costCode: cost code costCodeDescription: cost code description salesTaxPercent: 8.25 unitCost: 50.5 unitOfMeasure: EA vendorId: adb5dc2e-a3b2-4024-a95b-6b1c8e26d6c4 isDeleted: false mCostTypeItemBusinessUnitId: 344fc7a7-5701-4128-983e-88b2472f999f costCodeId: 90ddbc51-af18-444f-b708-d6393fa3376b purchaseOrderDetailId: fe35f271-bed7-4dfc-a244-9592329c8f1c status: active quantity: 100.1 '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read /api/v1/advancedBudgets/custom: post: tags: - AdvancedBudget summary: Creates a new custom-cost-type item advanced budget. operationId: AdvancedBudgetController_CreateCustomCostTypeItemAdvancedBudget requestBody: description: '' content: application/json: schema: $ref: '#/components/schemas/ApiCustomCostTypeItemAdvancedBudgetWrite' example: costCodeId: 7b2184ad-e3d5-4064-a73d-549deb2c88c2 purchaseOrderDetailId: cd9cd863-5229-4c7a-b5a0-ea10508203c9 status: active quantity: 12.35 text/json: schema: $ref: '#/components/schemas/ApiCustomCostTypeItemAdvancedBudgetWrite' example: costCodeId: 7b2184ad-e3d5-4064-a73d-549deb2c88c2 purchaseOrderDetailId: cd9cd863-5229-4c7a-b5a0-ea10508203c9 status: active quantity: 12.35 application/*+json: schema: $ref: '#/components/schemas/ApiCustomCostTypeItemAdvancedBudgetWrite' example: costCodeId: 7b2184ad-e3d5-4064-a73d-549deb2c88c2 purchaseOrderDetailId: cd9cd863-5229-4c7a-b5a0-ea10508203c9 status: active quantity: 12.35 required: true responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiCustomCostTypeItemAdvancedBudgetRead' '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:write /api/v1/attachment: post: tags: - Attachment summary: Saves an attachment description: Used in conjunction with the Attachments API to associate an attachment to a foreman for a given date and job. operationId: AttachmentController_SaveAttachment requestBody: content: application/json: schema: $ref: '#/components/schemas/ApiAttachmentWrite' example: transactionDate: '2023-07-01T00:00:00' jobId: 8d6b8063-0465-48c1-b507-671ef42e29a9 foremanId: d01d3fb9-c579-4cb7-b405-60c7eaa791ec attachmentInfos: - fileId: b0959a79-0534-43e2-baa3-fdfeca64be1e note: This is the attachment note text/json: schema: $ref: '#/components/schemas/ApiAttachmentWrite' example: transactionDate: '2023-07-01T00:00:00' jobId: 8d6b8063-0465-48c1-b507-671ef42e29a9 foremanId: d01d3fb9-c579-4cb7-b405-60c7eaa791ec attachmentInfos: - fileId: b0959a79-0534-43e2-baa3-fdfeca64be1e note: This is the attachment note application/*+json: schema: $ref: '#/components/schemas/ApiAttachmentWrite' example: transactionDate: '2023-07-01T00:00:00' jobId: 8d6b8063-0465-48c1-b507-671ef42e29a9 foremanId: d01d3fb9-c579-4cb7-b405-60c7eaa791ec attachmentInfos: - fileId: b0959a79-0534-43e2-baa3-fdfeca64be1e note: This is the attachment note required: true responses: '200': description: Success '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:write /api/v1/businessUnits: get: tags: - BusinessUnit summary: Returns business units description: This call returns a list of business units. operationId: BusinessUnitController_GetBusinessUnits responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiBusinessUnitRead' example: - id: 4a5d0072-9e2e-48b3-a37e-571bd296ca06 credentialsId: 28e49efc-7bea-49c3-ba40-f88448cdc987 code: MANAGER description: main business unit '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read /api/v1/businessUnits/{id}/preferences: get: tags: - BusinessUnitPreference summary: Gets the list of preferences for the business unit. operationId: BusinessUnitPreferenceController_GetBusinessUnitPreferencesAsync parameters: - name: id in: path description: ID of the business unit that the preferences belong to. required: true schema: type: string format: uuid responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiBusinessUnitPreferencesRead' example: defaultLaborRateSetId: cd0aa29d-86fe-427e-8746-ead5d739cd65 defaultPayClassId: da5d4157-0bc2-4364-8cad-72c5fc1b3a52 defaultEquipmentRateSetId: 626aecd6-1ccb-4be1-ae3e-d07d095f877d startOfPayWeek: tuesday truckingCostTypeId: d7041413-6554-4596-950f-ff96434ab163 '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read put: tags: - BusinessUnitPreference summary: Gets the list of preferences for the business unit. operationId: BusinessUnitPreferenceController_UpdateBusinessUnitPreferencesAsync parameters: - name: id in: path description: ID of the business unit that the preferences belong to. required: true schema: type: string format: uuid requestBody: description: The preferences to update for the business unit. content: application/json: schema: $ref: '#/components/schemas/ApiBusinessUnitPreferencesWrite' example: defaultLaborRateSetId: cd0aa29d-86fe-427e-8746-ead5d739cd65 defaultEquipmentRateSetId: 626aecd6-1ccb-4be1-ae3e-d07d095f877d startOfPayWeek: tuesday text/json: schema: $ref: '#/components/schemas/ApiBusinessUnitPreferencesWrite' example: defaultLaborRateSetId: cd0aa29d-86fe-427e-8746-ead5d739cd65 defaultEquipmentRateSetId: 626aecd6-1ccb-4be1-ae3e-d07d095f877d startOfPayWeek: tuesday application/*+json: schema: $ref: '#/components/schemas/ApiBusinessUnitPreferencesWrite' example: defaultLaborRateSetId: cd0aa29d-86fe-427e-8746-ead5d739cd65 defaultEquipmentRateSetId: 626aecd6-1ccb-4be1-ae3e-d07d095f877d startOfPayWeek: tuesday required: true responses: '204': description: No Content '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:write /api/v1/jobs/{jobId}/costs: get: tags: - Cost summary: Returns job costs description: This call returns job costs for the specified job, effective date or start date. operationId: CostController_GetJobCosts parameters: - name: jobId in: path description: The job id to query by. required: true schema: type: string format: uuid - name: effectiveDate in: query description: The effective date of the costs. If omitted, returns all costs including any future costs. schema: type: string format: date-time - name: startDate in: query description: The starting date to calculate costs. If omitted, returns all costs from the beginning of the job. schema: type: string format: date-time responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiJobCostRead' example: jobId: 61300b34-5fc7-4271-a638-6af37ad1813b totalCost: 556867.4 costCodeCosts: - costCodeId: 7261c280-1124-433f-abf8-b04f657cf5b4 equipmentCost: 1000.5 equipmentHours: 10.2 laborCost: 2000.6 laborHours: 25.3 materialCost: 3000.1 subcontractCost: 4000.6 truckingCost: 300.5 quantity: 100.6 customCostTypeValues: - costCategoryCode: HAUL costCategoryDescription: Debris removal costCategoryId: ea4d944a-a10f-46f8-984d-69673b47a994 cost: 546565.1 '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. '404': description: The specified resource is not found. security: - bearer: - heavyjob:read /api/v1/jobCosts: get: tags: - Cost summary: Returns job costs associated with a cost code description: This call returns a paginated list of job costs associated with a cost code for a specified cost code, effective date or start date. operationId: CostController_GetJobCostByCostCode parameters: - name: costCodeId in: query description: The cost code id. required: true schema: type: string format: uuid - name: effectiveDate in: query description: The effective date of the costs. If omitted, returns all costs including any future costs. schema: type: string format: date-time - name: startDate in: query description: The starting date to calculate costs. If omitted, returns all costs from the beginning of the job. schema: type: string format: date-time - name: cursor in: query description: Optional. When there are additional results, the metadata nextCursor field should be passed to retrieve the next page of results. schema: type: string - name: limit in: query description: The maximum number of results that should be returned. schema: type: integer format: int32 default: 1000 responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiCostCodeCostDetailsReadPaginatedResponse' example: results: - costCodeId: caa64fa0-6ac7-4bb8-af0c-354ca3475338 foremanId: 04d4e7ba-1793-45e0-bff1-df6d38f6bcfa date: '2019-12-13T00:00:00Z' quantity: 10.5 equipmentCost: 518 equipmentHours: 7 laborCost: 318.87 laborHours: 8.75 materialCost: 2 subcontractCost: 3 truckingCost: 4.5 metadata: nextCursor: DGDS93EaYwDQj4ggr0meNz6T7vkZpDqxLFIs2leWDww '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read /api/v1/jobCosts/advancedRequest: post: tags: - Cost summary: Returns costs and hours spent per cost code description: This call returns a paginated list of costs and hours spent per cost code for the specified business unit, cost codes, jobs, foremen, or date range. operationId: CostController_QueryJobCosts requestBody: description: Set of filters for the request. content: application/json: schema: $ref: '#/components/schemas/CostCodeTransactionAdvancedRead' example: businessUnitId: 81aa06f2-46ec-457f-9b35-ae6e05d4dbef costCodeIds: - 5d05001a-acde-4203-a38c-684bb5f47a33 jobIds: - 565947f8-528c-4667-9351-8db02eab1157 jobTagIds: - 39bda327-ada0-4aab-ab03-a3fe621cc547 foremanIds: - c28aee2e-6e0e-4c91-a82a-931417c12f9e startDate: '2022-08-06T00:00:00' endDate: '2022-08-06T00:00:00' cursor: gCpeihFB1whbiZt1qIf1TbhL8TPbeRP2 limit: 500 text/json: schema: $ref: '#/components/schemas/CostCodeTransactionAdvancedRead' example: businessUnitId: 81aa06f2-46ec-457f-9b35-ae6e05d4dbef costCodeIds: - 5d05001a-acde-4203-a38c-684bb5f47a33 jobIds: - 565947f8-528c-4667-9351-8db02eab1157 jobTagIds: - 39bda327-ada0-4aab-ab03-a3fe621cc547 foremanIds: - c28aee2e-6e0e-4c91-a82a-931417c12f9e startDate: '2022-08-06T00:00:00' endDate: '2022-08-06T00:00:00' cursor: gCpeihFB1whbiZt1qIf1TbhL8TPbeRP2 limit: 500 application/*+json: schema: $ref: '#/components/schemas/CostCodeTransactionAdvancedRead' example: businessUnitId: 81aa06f2-46ec-457f-9b35-ae6e05d4dbef costCodeIds: - 5d05001a-acde-4203-a38c-684bb5f47a33 jobIds: - 565947f8-528c-4667-9351-8db02eab1157 jobTagIds: - 39bda327-ada0-4aab-ab03-a3fe621cc547 foremanIds: - c28aee2e-6e0e-4c91-a82a-931417c12f9e startDate: '2022-08-06T00:00:00' endDate: '2022-08-06T00:00:00' cursor: gCpeihFB1whbiZt1qIf1TbhL8TPbeRP2 limit: 500 responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiCostCodeCostDetailsReadPaginatedResponse' example: results: - costCodeId: caa64fa0-6ac7-4bb8-af0c-354ca3475338 foremanId: 04d4e7ba-1793-45e0-bff1-df6d38f6bcfa date: '2019-12-13T00:00:00Z' quantity: 10.5 equipmentCost: 518 equipmentHours: 7 laborCost: 318.87 laborHours: 8.75 materialCost: 2 subcontractCost: 3 truckingCost: 4.5 metadata: nextCursor: DGDS93EaYwDQj4ggr0meNz6T7vkZpDqxLFIs2leWDww '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read /api/v2/jobCosts/advancedRequest: post: tags: - Cost summary: Returns job costs description: This call returns a paginated list of job costs. operationId: CostController_QueryJobCostsV2 requestBody: description: The request object for getting job costs. content: application/json: schema: $ref: '#/components/schemas/CostCodeTransactionAdvancedRead' example: businessUnitId: 81aa06f2-46ec-457f-9b35-ae6e05d4dbef costCodeIds: - 5d05001a-acde-4203-a38c-684bb5f47a33 jobIds: - 565947f8-528c-4667-9351-8db02eab1157 jobTagIds: - 39bda327-ada0-4aab-ab03-a3fe621cc547 foremanIds: - c28aee2e-6e0e-4c91-a82a-931417c12f9e startDate: '2022-08-06T00:00:00' endDate: '2022-08-06T00:00:00' cursor: gCpeihFB1whbiZt1qIf1TbhL8TPbeRP2 limit: 500 text/json: schema: $ref: '#/components/schemas/CostCodeTransactionAdvancedRead' example: businessUnitId: 81aa06f2-46ec-457f-9b35-ae6e05d4dbef costCodeIds: - 5d05001a-acde-4203-a38c-684bb5f47a33 jobIds: - 565947f8-528c-4667-9351-8db02eab1157 jobTagIds: - 39bda327-ada0-4aab-ab03-a3fe621cc547 foremanIds: - c28aee2e-6e0e-4c91-a82a-931417c12f9e startDate: '2022-08-06T00:00:00' endDate: '2022-08-06T00:00:00' cursor: gCpeihFB1whbiZt1qIf1TbhL8TPbeRP2 limit: 500 application/*+json: schema: $ref: '#/components/schemas/CostCodeTransactionAdvancedRead' example: businessUnitId: 81aa06f2-46ec-457f-9b35-ae6e05d4dbef costCodeIds: - 5d05001a-acde-4203-a38c-684bb5f47a33 jobIds: - 565947f8-528c-4667-9351-8db02eab1157 jobTagIds: - 39bda327-ada0-4aab-ab03-a3fe621cc547 foremanIds: - c28aee2e-6e0e-4c91-a82a-931417c12f9e startDate: '2022-08-06T00:00:00' endDate: '2022-08-06T00:00:00' cursor: gCpeihFB1whbiZt1qIf1TbhL8TPbeRP2 limit: 500 responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiCostCodeCostDetailsReadV2PaginatedResponse' example: results: - job: jobId: 921fc6c2-2f7e-427f-8928-8f39258fc048 jobCode: Job1 jobDescription: Job1 in BU 1 costCode: costCodeId: 821b1f09-fe76-4cb4-850f-a0f2d695ed5e costCodeCode: cost code 1 costCodeDescription: cc1 desc foreman: employeeId: f698213f-aa83-4851-b55d-c88baca6e3bd employeeCode: Employee 1 employeeFirstName: James employeeLastName: Smith entryType: foreman date: '2019-12-12T00:00:00Z' quantity: 0.25 equipmentCost: 370 equipmentHours: 5 laborCost: 208.17 laborHours: 6.25 materialCost: 0 subcontractCost: 0 truckingCost: 0 - job: jobId: 921fc6c2-2f7e-427f-8928-8f39258fc048 jobCode: Job1 jobDescription: Job1 in BU 1 costCode: costCodeId: 821b1f09-fe76-4cb4-850f-a0f2d695ed5e costCodeCode: cost code 1 costCodeDescription: cc1 desc foreman: employeeId: f698213f-aa83-4851-b55d-c88baca6e3bd employeeCode: Employee 1 employeeFirstName: James employeeLastName: Smith entryType: foreman date: '2019-12-13T00:00:00Z' quantity: 10.5 equipmentCost: 518 equipmentHours: 7 laborCost: 318.87 laborHours: 8.75 materialCost: 2 subcontractCost: 3 truckingCost: 4.5 metadata: nextCursor: DGDS93EaYwDQj4ggr0meNz6T7vkZpDqxLFIs2leWDww '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read /api/v1/jobCostsToDate/search: post: tags: - Cost summary: Returns a paginated list of job costs. description: "This call returns a paginated list of costs and hours spent per cost code for \r\nthe specified business unit, cost codes, jobs, or foremen.\r\nYou must request at least one of the following: businessUnitId, jobIds, jobTagIds, or costCodeIds." operationId: CostController_QueryJobCostsToDate requestBody: description: Set of filters for the request. content: application/json: schema: $ref: '#/components/schemas/CostToDateSearchRequest' text/json: schema: $ref: '#/components/schemas/CostToDateSearchRequest' application/*+json: schema: $ref: '#/components/schemas/CostToDateSearchRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiCostCodeCostDetailsToDateReadPaginatedResponse' '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read /api/v1/jobCostCustomCosts/advancedRequest: post: tags: - Cost summary: Returns a paginated list of job cost custom costs. operationId: CostController_QueryJobCostCustomCosts requestBody: content: application/json: schema: $ref: '#/components/schemas/CostCodeTransactionAdvancedRead' example: businessUnitId: 81aa06f2-46ec-457f-9b35-ae6e05d4dbef costCodeIds: - 5d05001a-acde-4203-a38c-684bb5f47a33 jobIds: - 565947f8-528c-4667-9351-8db02eab1157 jobTagIds: - 39bda327-ada0-4aab-ab03-a3fe621cc547 foremanIds: - c28aee2e-6e0e-4c91-a82a-931417c12f9e startDate: '2022-08-06T00:00:00' endDate: '2022-08-06T00:00:00' cursor: gCpeihFB1whbiZt1qIf1TbhL8TPbeRP2 limit: 500 text/json: schema: $ref: '#/components/schemas/CostCodeTransactionAdvancedRead' example: businessUnitId: 81aa06f2-46ec-457f-9b35-ae6e05d4dbef costCodeIds: - 5d05001a-acde-4203-a38c-684bb5f47a33 jobIds: - 565947f8-528c-4667-9351-8db02eab1157 jobTagIds: - 39bda327-ada0-4aab-ab03-a3fe621cc547 foremanIds: - c28aee2e-6e0e-4c91-a82a-931417c12f9e startDate: '2022-08-06T00:00:00' endDate: '2022-08-06T00:00:00' cursor: gCpeihFB1whbiZt1qIf1TbhL8TPbeRP2 limit: 500 application/*+json: schema: $ref: '#/components/schemas/CostCodeTransactionAdvancedRead' example: businessUnitId: 81aa06f2-46ec-457f-9b35-ae6e05d4dbef costCodeIds: - 5d05001a-acde-4203-a38c-684bb5f47a33 jobIds: - 565947f8-528c-4667-9351-8db02eab1157 jobTagIds: - 39bda327-ada0-4aab-ab03-a3fe621cc547 foremanIds: - c28aee2e-6e0e-4c91-a82a-931417c12f9e startDate: '2022-08-06T00:00:00' endDate: '2022-08-06T00:00:00' cursor: gCpeihFB1whbiZt1qIf1TbhL8TPbeRP2 limit: 500 responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiCostCodeCustomCostDetailsReadPaginatedResponse' '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read /api/v1/costCodes/{costCodeId}/costs: get: tags: - Cost summary: Returns cost code costs description: This list returns a list of cost code costs. operationId: CostController_GetCostCodeCosts parameters: - name: costCodeId in: path description: The cost code id. required: true schema: type: string format: uuid - name: effectiveDate in: query description: The effective date of the costs. If omitted, returns all costs including any future costs. schema: type: string format: date-time - name: startDate in: query description: The starting date to calculate costs. If omitted, returns all costs from the beginning of the job. schema: type: string format: date-time responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiCostCodeCostRead' example: costCodeId: 7261c280-1124-433f-abf8-b04f657cf5b4 equipmentCost: 1000.5 equipmentHours: 10.2 laborCost: 2000.6 laborHours: 25.3 materialCost: 3000.1 subcontractCost: 4000.6 truckingCost: 300.5 quantity: 100.6 customCostTypeValues: - costCategoryCode: HAUL costCategoryDescription: Debris removal costCategoryId: ea4d944a-a10f-46f8-984d-69673b47a994 cost: 546565.1 '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read put: tags: - Cost summary: Sets costs for the cost code by creating adjustments. description: To adjust the trucking cost, use the associated custom cost type from the business unit preferences. operationId: CostController_UpdateCostCodeCosts parameters: - name: costCodeId in: path description: The cost code id. required: true schema: type: string format: uuid requestBody: description: The cost. content: application/json: schema: $ref: '#/components/schemas/ApiCostCodeCostWrite' example: effectiveDate: '2019-01-01' equipmentCost: 100.5 equipmentHours: 150.2 laborCost: 20220.6 laborHours: 25.6 materialCost: 300.1 subcontractCost: 400.6 quantity: 100.6 customCostTypeValues: - costCategoryId: a20517ce-113f-442d-9e7b-e1ee7c786d4d cost: 46565.1 text/json: schema: $ref: '#/components/schemas/ApiCostCodeCostWrite' example: effectiveDate: '2019-01-01' equipmentCost: 100.5 equipmentHours: 150.2 laborCost: 20220.6 laborHours: 25.6 materialCost: 300.1 subcontractCost: 400.6 quantity: 100.6 customCostTypeValues: - costCategoryId: a20517ce-113f-442d-9e7b-e1ee7c786d4d cost: 46565.1 application/*+json: schema: $ref: '#/components/schemas/ApiCostCodeCostWrite' example: effectiveDate: '2019-01-01' equipmentCost: 100.5 equipmentHours: 150.2 laborCost: 20220.6 laborHours: 25.6 materialCost: 300.1 subcontractCost: 400.6 quantity: 100.6 customCostTypeValues: - costCategoryId: a20517ce-113f-442d-9e7b-e1ee7c786d4d cost: 46565.1 required: true responses: '202': description: Accepted '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:write /api/v1/businessUnits/{businessUnitId}/costAdjustments: get: tags: - CostAdjustment summary: Returns a list of cost adjustments. operationId: CostAdjustmentController_GetCostAdjustments parameters: - name: businessUnitId in: path required: true schema: type: string format: uuid responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiCostAdjustmentRead' example: - id: 6fb30455-27ad-47db-a0f5-e90fa12e2a84 businessUnitId: 07c00dc0-aecf-45bd-bf9e-74628188b3c7 code: CostAdjustment1 description: Cost Adjustment 1 applyCost: true applyToAllHours: false isTaxable: true isActive: true type: quantity accountingCode: Accounting Code '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read post: tags: - CostAdjustment summary: Creates cost adjustment description: This call creates a new cost adjustment. operationId: CostAdjustmentController_CreateCostAdjustment parameters: - name: businessUnitId in: path description: The business unit id. required: true schema: type: string format: uuid requestBody: description: The cost adjustment to be created. content: application/json: schema: $ref: '#/components/schemas/ApiCostAdjustmentWrite' example: code: CostAdjustment description: Cost Adjustment Description applyToAllHours: false isTaxable: true isActive: true type: quantity accountingCode: Accounting Code text/json: schema: $ref: '#/components/schemas/ApiCostAdjustmentWrite' example: code: CostAdjustment description: Cost Adjustment Description applyToAllHours: false isTaxable: true isActive: true type: quantity accountingCode: Accounting Code application/*+json: schema: $ref: '#/components/schemas/ApiCostAdjustmentWrite' example: code: CostAdjustment description: Cost Adjustment Description applyToAllHours: false isTaxable: true isActive: true type: quantity accountingCode: Accounting Code required: true responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiCostAdjustmentRead' example: id: ff76af83-e765-4a81-bd3d-427e1c640bac businessUnitId: 93bfd2f6-400e-47cd-82bb-45c62c3b23e5 code: CostAdjustment description: Cost Adjustment Description applyCost: true applyToAllHours: false isTaxable: true isActive: true type: quantity accountingCode: Accounting Code '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:write /api/v1/costAdjustments/{id}: put: tags: - CostAdjustment summary: Updates an existing cost adjustment by its id. operationId: CostAdjustmentController_UpdateCostAdjustment parameters: - name: id in: path description: The id of the existing cost adjustment. required: true schema: type: string format: uuid requestBody: description: The new parameters for the cost adjustment. content: application/json: schema: $ref: '#/components/schemas/ApiCostAdjustmentWrite' example: code: CostAdjustment description: Cost Adjustment Description applyToAllHours: false isTaxable: true isActive: true type: quantity accountingCode: Accounting Code text/json: schema: $ref: '#/components/schemas/ApiCostAdjustmentWrite' example: code: CostAdjustment description: Cost Adjustment Description applyToAllHours: false isTaxable: true isActive: true type: quantity accountingCode: Accounting Code application/*+json: schema: $ref: '#/components/schemas/ApiCostAdjustmentWrite' example: code: CostAdjustment description: Cost Adjustment Description applyToAllHours: false isTaxable: true isActive: true type: quantity accountingCode: Accounting Code required: true responses: '204': description: No Content '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:write delete: tags: - CostAdjustment summary: Deletes a cost adjustment by its id. operationId: CostAdjustmentController_DeleteCostAdjustment parameters: - name: id in: path description: The cost adjustment id required: true schema: type: string format: uuid responses: '204': description: No Content '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:write /api/v1/costCodes: get: tags: - CostCode summary: Returns cost codes description: This call returns a list of cost codes with accounting values, if available, given business unit, job, cost code or accounting template. operationId: CostCodeController_GetCostCodesAsync parameters: - name: accountingTemplateName in: query description: If specified, returns accounting values for this template instead of the default template. schema: type: string - name: jobId in: query description: Filters the list of cost codes by job schema: type: string format: uuid - name: businessUnitId in: query description: Filters the list of cost codes by business unit schema: type: string format: uuid - name: costCodeId in: query description: Return a single cost code schema: type: string format: uuid - name: limit in: query description: The maximum number of results that should be returned. schema: type: integer format: int32 default: 1000 - name: cursor in: query description: "When there are additional results, the metadata nextCursor \r\nfield should be passed to retrieve the next page of results." schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiCostCodeWithAccountingValuesReadPaginatedResponse' example: results: - accountingCode: Account Code 1 id: 85f16824-83a3-4c49-a402-0b48c607e1cb code: COSTCODE description: This is a cost code. businessUnitId: 03b9b2d2-9af6-4bc5-9517-fd0d8e448d0c businessUnitCode: BUCODE jobId: 78d3a94d-8e3b-4b7f-a833-ccb6bd3d2a52 jobCode: JOBCODE isHiddenFromMobile: false quantityDrivingEntityType: none payItemId: d40f89e3-6729-4fb2-b452-e4639af0ce2a payItem: pay item payItemFactor: 2 isPayItemDriver: true quantity: 100.12 unitOfMeasure: EA status: active historicalActivityCode: '' historicalBiditem: '' heavyBidEstimateCode: '' isCapExpected: true isTm: false workersCompId: 39beef34-21dc-4f8c-a894-37de8b4563f0 workersCompCode: WORKERSCOMPCODE workersCompDescription: Workers Comp Description laborHours: 5.5 equipmentHours: 2.5 laborDollars: 10000.25 equipmentDollars: 2500.75 materialDollars: 2890.1 subcontractDollars: 1500.4 supplyDollars: 8989.3 customCostTypeDollars: - costCategoryId: 5147d92e-159e-44f4-bfeb-361eae15388d costCategoryCode: HAUL costCategoryDescription: Debris removal. budgetedCost: 2322.1 metadata: nextCursor: DGDS93EaYwDQj4ggr0meNz6T7vkZpDqxLFIs2leWDww '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read post: tags: - CostCode summary: Creates a new cost code with accounting values. description: The code will be uppercased and trimmed of whitespace. operationId: CostCodeController_CreateCostCode parameters: - name: accountingTemplateName in: query schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ApiCostCodeWithAccountingValuesWrite' text/json: schema: $ref: '#/components/schemas/ApiCostCodeWithAccountingValuesWrite' application/*+json: schema: $ref: '#/components/schemas/ApiCostCodeWithAccountingValuesWrite' required: true responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiCostCodeWithAccountingValuesRead' example: accountingCode: Account Code 1 id: 85f16824-83a3-4c49-a402-0b48c607e1cb code: COSTCODE description: This is a cost code. businessUnitId: 03b9b2d2-9af6-4bc5-9517-fd0d8e448d0c businessUnitCode: BUCODE jobId: 78d3a94d-8e3b-4b7f-a833-ccb6bd3d2a52 jobCode: JOBCODE isHiddenFromMobile: false quantityDrivingEntityType: none payItemId: d40f89e3-6729-4fb2-b452-e4639af0ce2a payItem: pay item payItemFactor: 2 isPayItemDriver: true quantity: 100.12 unitOfMeasure: EA status: active historicalActivityCode: '' historicalBiditem: '' heavyBidEstimateCode: '' isCapExpected: true isTm: false workersCompId: 39beef34-21dc-4f8c-a894-37de8b4563f0 workersCompCode: WORKERSCOMPCODE workersCompDescription: Workers Comp Description laborHours: 5.5 equipmentHours: 2.5 laborDollars: 10000.25 equipmentDollars: 2500.75 materialDollars: 2890.1 subcontractDollars: 1500.4 supplyDollars: 8989.3 customCostTypeDollars: - costCategoryId: 5147d92e-159e-44f4-bfeb-361eae15388d costCategoryCode: HAUL costCategoryDescription: Debris removal. budgetedCost: 2322.1 '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:write patch: tags: - CostCode summary: Creates or updates cost codes (up to 10000) description: "Creates or updates cost codes on the specified job.\r\n\r\nThis endpoint currently only supports the adding or updating of cost codes across \r\na single job. If more than one job ID is specified, the request will be rejected." operationId: CostCodeController_UpsertCostCodes requestBody: description: The list of cost codes to be added or updated. content: application/json: schema: maxItems: 10000 minItems: 1 type: array items: $ref: '#/components/schemas/ApiCostCodeUpsert' example: - supplyDollars: 8989.3 removePayItem: false jobId: 8033a2c3-c2b3-4ec0-acb0-0d21cd7446ac code: COSTCODE1 description: Cost Code 1 Desc. quantity: 100.5 unitOfMeasure: TON laborHours: 5.5 equipmentHours: 2.5 laborDollars: 10000.25 equipmentDollars: 2500.75 materialDollars: 2890.1 subcontractDollars: 1500.4 status: active note: Cost code note. historicalActivityCode: 09091F isTm: true isHiddenFromMobile: false isCapExpected: false payItemId: 0e151185-1262-4a83-bc99-6bfe43f0e866 payItemFactor: 1 isPayItemDriver: true text/json: schema: maxItems: 10000 minItems: 1 type: array items: $ref: '#/components/schemas/ApiCostCodeUpsert' example: - supplyDollars: 8989.3 removePayItem: false jobId: 8033a2c3-c2b3-4ec0-acb0-0d21cd7446ac code: COSTCODE1 description: Cost Code 1 Desc. quantity: 100.5 unitOfMeasure: TON laborHours: 5.5 equipmentHours: 2.5 laborDollars: 10000.25 equipmentDollars: 2500.75 materialDollars: 2890.1 subcontractDollars: 1500.4 status: active note: Cost code note. historicalActivityCode: 09091F isTm: true isHiddenFromMobile: false isCapExpected: false payItemId: 0e151185-1262-4a83-bc99-6bfe43f0e866 payItemFactor: 1 isPayItemDriver: true application/*+json: schema: maxItems: 10000 minItems: 1 type: array items: $ref: '#/components/schemas/ApiCostCodeUpsert' example: - supplyDollars: 8989.3 removePayItem: false jobId: 8033a2c3-c2b3-4ec0-acb0-0d21cd7446ac code: COSTCODE1 description: Cost Code 1 Desc. quantity: 100.5 unitOfMeasure: TON laborHours: 5.5 equipmentHours: 2.5 laborDollars: 10000.25 equipmentDollars: 2500.75 materialDollars: 2890.1 subcontractDollars: 1500.4 status: active note: Cost code note. historicalActivityCode: 09091F isTm: true isHiddenFromMobile: false isCapExpected: false payItemId: 0e151185-1262-4a83-bc99-6bfe43f0e866 payItemFactor: 1 isPayItemDriver: true required: true responses: '204': description: No Content '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:write /api/v2/costCodes/advancedRequest: post: tags: - CostCode summary: Returns cost codes description: This call returns a list of cost codes for the specified business unit, jobs, cost codes, or accounting template operationId: CostCodeController_GetCostCodesAdvancedRequestAsyncV2 requestBody: description: The request object for getting cost codes. content: application/json: schema: $ref: '#/components/schemas/ApiCostCodeAdvancedRequestV2' example: businessUnitId: d03c8427-83f3-4f71-8eba-e89a7ea8ec1a jobIds: - 6d4f91a3-5871-44af-9c0c-7ed6492697ae - ed631a56-af60-45c2-bd2b-3223c26c0513 costCodeIds: - db343a7e-e298-4754-ba53-21bb3256c3fd - 5b8e1c2e-ce62-4671-989c-1b0310167850 cursor: gCpeihFB1whbiZt1qIf1TbhL8TPbeRP2 accountingTemplateName: Accounting Template limit: 500 text/json: schema: $ref: '#/components/schemas/ApiCostCodeAdvancedRequestV2' example: businessUnitId: d03c8427-83f3-4f71-8eba-e89a7ea8ec1a jobIds: - 6d4f91a3-5871-44af-9c0c-7ed6492697ae - ed631a56-af60-45c2-bd2b-3223c26c0513 costCodeIds: - db343a7e-e298-4754-ba53-21bb3256c3fd - 5b8e1c2e-ce62-4671-989c-1b0310167850 cursor: gCpeihFB1whbiZt1qIf1TbhL8TPbeRP2 accountingTemplateName: Accounting Template limit: 500 application/*+json: schema: $ref: '#/components/schemas/ApiCostCodeAdvancedRequestV2' example: businessUnitId: d03c8427-83f3-4f71-8eba-e89a7ea8ec1a jobIds: - 6d4f91a3-5871-44af-9c0c-7ed6492697ae - ed631a56-af60-45c2-bd2b-3223c26c0513 costCodeIds: - db343a7e-e298-4754-ba53-21bb3256c3fd - 5b8e1c2e-ce62-4671-989c-1b0310167850 cursor: gCpeihFB1whbiZt1qIf1TbhL8TPbeRP2 accountingTemplateName: Accounting Template limit: 500 required: true responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiCostCodeWithAccountingValuesReadPaginatedResponse' example: results: - accountingCode: Account Code 1 id: 85f16824-83a3-4c49-a402-0b48c607e1cb code: COSTCODE description: This is a cost code. businessUnitId: 03b9b2d2-9af6-4bc5-9517-fd0d8e448d0c businessUnitCode: BUCODE jobId: 78d3a94d-8e3b-4b7f-a833-ccb6bd3d2a52 jobCode: JOBCODE isHiddenFromMobile: false quantityDrivingEntityType: none payItemId: d40f89e3-6729-4fb2-b452-e4639af0ce2a payItem: pay item payItemFactor: 2 isPayItemDriver: true quantity: 100.12 unitOfMeasure: EA status: active historicalActivityCode: '' historicalBiditem: '' heavyBidEstimateCode: '' isCapExpected: true isTm: false workersCompId: 39beef34-21dc-4f8c-a894-37de8b4563f0 workersCompCode: WORKERSCOMPCODE workersCompDescription: Workers Comp Description laborHours: 5.5 equipmentHours: 2.5 laborDollars: 10000.25 equipmentDollars: 2500.75 materialDollars: 2890.1 subcontractDollars: 1500.4 supplyDollars: 8989.3 customCostTypeDollars: - costCategoryId: 5147d92e-159e-44f4-bfeb-361eae15388d costCategoryCode: HAUL costCategoryDescription: Debris removal. budgetedCost: 2322.1 metadata: nextCursor: DGDS93EaYwDQj4ggr0meNz6T7vkZpDqxLFIs2leWDww '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read /api/v1/costCodes/search: post: tags: - CostCode summary: Returns cost codes description: "VOLATILE\n\t\tThe query parameters and responses are likely to change. Do not use this operation for mission-critical applications yet.\n\t\t

This call returns a list of cost codes for the specified business unit, jobs, job tags, and cost codes" operationId: CostCodeController_GetCostCodesSearchAsync requestBody: description: The request object for getting cost codes. content: application/json: schema: $ref: '#/components/schemas/ApiCostCodeSearchRequest' text/json: schema: $ref: '#/components/schemas/ApiCostCodeSearchRequest' application/*+json: schema: $ref: '#/components/schemas/ApiCostCodeSearchRequest' required: true responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiCostCodeWithJobReadPaginatedResponse' '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read /api/v1/costCodes/{costCodeId}/customCostTypes/{customCostTypeId}/budget: post: tags: - CostCode summary: Updates the budget for custom cost type description: Updates the budget for a specific custom cost type for the given cost code. operationId: CostCodeController_CreateOrUpdateCustomCostTypeBudget parameters: - name: costCodeId in: path description: The cost code id. required: true schema: type: string format: uuid - name: customCostTypeId in: path description: The custom cost type id. required: true schema: type: string format: uuid requestBody: description: The budgeted cost for the custom cost type. content: application/json: schema: $ref: '#/components/schemas/ApiCustomCostTypeBudgetWrite' example: budgetedCost: 1000.25 text/json: schema: $ref: '#/components/schemas/ApiCustomCostTypeBudgetWrite' example: budgetedCost: 1000.25 application/*+json: schema: $ref: '#/components/schemas/ApiCustomCostTypeBudgetWrite' example: budgetedCost: 1000.25 required: true responses: '200': description: Success '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:write /api/v1/costCode/progress/advancedRequest: post: tags: - CostCodeProgress summary: Returns a list of quantities for a given date range, job Id and other optional parameters. operationId: CostCodeProgressController_GetCostCodeProgressAsync requestBody: content: application/json: schema: $ref: '#/components/schemas/CostCodeProgressAdvancedRequest' text/json: schema: $ref: '#/components/schemas/CostCodeProgressAdvancedRequest' application/*+json: schema: $ref: '#/components/schemas/CostCodeProgressAdvancedRequest' required: true responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiCostCodeProgressReadPaginatedResponse' '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read /api/v1/costCodeSetupFilters: get: tags: - CostCodeTag summary: Returns cost code setup tags with their groups description: This call returns a list of cost code setup tags with their groups. operationId: CostCodeTagController_GetCostCodeSetupFiltersAsync parameters: - name: businessUnitId in: query description: The business unit ID you are requesting setup filters for. required: true schema: type: string format: uuid - name: modifiedSince in: query schema: type: string format: date-time responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiCostCodeFilterGroupRead' example: - id: 912e1d9b-36dc-4dcb-b721-da24135eab1b name: TestGroup lastModified: '2022-08-08T00:00:00' isDeleted: false tags: [] '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read /api/v1/costCodeTags: get: tags: - CostCodeTag summary: Returns a list of cost code - tag relationships. operationId: CostCodeTagController_GetCostCodeTags parameters: - name: jobId in: query description: The job ID. schema: type: string format: uuid - name: costCodeId in: query description: The cost code ID. schema: type: string format: uuid - name: tagId in: query description: The tag ID. schema: type: string format: uuid - name: modifiedSince in: query description: The date of your last update. schema: type: string format: date-time - name: limit in: query description: The maximum number of results that should be returned. schema: type: integer format: int32 default: 1000 - name: cursor in: query description: Optional. When there are additional results, the metadata nextCursor field should be passed to retrieve the next page of results. schema: type: string responses: '200': description: Success '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read delete: tags: - CostCodeTag summary: Deletes cost code - tag relationships. operationId: CostCodeTagController_DeleteCostCodeTags parameters: - name: jobId in: query description: The job ID. schema: type: string format: uuid - name: costCodeId in: query description: The cost code ID. schema: type: string format: uuid - name: tagId in: query description: The tag ID. schema: type: string format: uuid responses: '204': description: No Content '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:write patch: tags: - CostCodeTag summary: Upserts cost code setup tags description: This call creates and updates setup tags associated with cost codes. operationId: CostCodeTagController_UpsertCostCodeTags requestBody: description: The list of cost codes and associated setup tag to be created or updated. content: application/json: schema: maxItems: 1000 minItems: 1 type: array items: $ref: '#/components/schemas/ApiCostCodeTagWrite' example: - costCodeId: 83421f8d-0c1e-4ee5-a4b4-5c5d75e1a878 tagId: d1b2c556-2e24-44f4-b272-4df72bf93936 - costCodeId: 80cbaf5a-47d7-494f-85f9-41e0d6dde732 tagId: d1b2c556-2e24-44f4-b272-4df72bf93936 - costCodeId: 2b11c968-aa73-4394-8941-4c7851b91ba3 tagId: bc169c57-12e7-4efc-8c3e-ba6b3c3fef7c text/json: schema: maxItems: 1000 minItems: 1 type: array items: $ref: '#/components/schemas/ApiCostCodeTagWrite' example: - costCodeId: 83421f8d-0c1e-4ee5-a4b4-5c5d75e1a878 tagId: d1b2c556-2e24-44f4-b272-4df72bf93936 - costCodeId: 80cbaf5a-47d7-494f-85f9-41e0d6dde732 tagId: d1b2c556-2e24-44f4-b272-4df72bf93936 - costCodeId: 2b11c968-aa73-4394-8941-4c7851b91ba3 tagId: bc169c57-12e7-4efc-8c3e-ba6b3c3fef7c application/*+json: schema: maxItems: 1000 minItems: 1 type: array items: $ref: '#/components/schemas/ApiCostCodeTagWrite' example: - costCodeId: 83421f8d-0c1e-4ee5-a4b4-5c5d75e1a878 tagId: d1b2c556-2e24-44f4-b272-4df72bf93936 - costCodeId: 80cbaf5a-47d7-494f-85f9-41e0d6dde732 tagId: d1b2c556-2e24-44f4-b272-4df72bf93936 - costCodeId: 2b11c968-aa73-4394-8941-4c7851b91ba3 tagId: bc169c57-12e7-4efc-8c3e-ba6b3c3fef7c required: true responses: '204': description: No Content '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:write /api/v1/costCodeTags/advancedRequest: post: tags: - CostCodeTag summary: Returns cost codes with associated setup tags description: This call will return a list of cost codes and their associated setup tags for the specified cost codes, jobs, tags or modified since date. operationId: CostCodeTagController_QueryCostCodeTags requestBody: description: Set of filters for the request. content: application/json: schema: $ref: '#/components/schemas/CostCodeTagAdvancedRead' example: costCodeIds: - 80066307-6ff2-4a03-99a7-b92baf33cfde jobIds: - 3507e422-36da-47c0-887f-8c4800f2bf80 tagIds: - 050c5371-0cf2-4d8d-8083-04d9113fe41f modifiedSince: '2022-08-01T00:00:00' cursor: gCpeihFB1whbiZt1qIf1TbhL8TPbeRP2 limit: 1000 text/json: schema: $ref: '#/components/schemas/CostCodeTagAdvancedRead' example: costCodeIds: - 80066307-6ff2-4a03-99a7-b92baf33cfde jobIds: - 3507e422-36da-47c0-887f-8c4800f2bf80 tagIds: - 050c5371-0cf2-4d8d-8083-04d9113fe41f modifiedSince: '2022-08-01T00:00:00' cursor: gCpeihFB1whbiZt1qIf1TbhL8TPbeRP2 limit: 1000 application/*+json: schema: $ref: '#/components/schemas/CostCodeTagAdvancedRead' example: costCodeIds: - 80066307-6ff2-4a03-99a7-b92baf33cfde jobIds: - 3507e422-36da-47c0-887f-8c4800f2bf80 tagIds: - 050c5371-0cf2-4d8d-8083-04d9113fe41f modifiedSince: '2022-08-01T00:00:00' cursor: gCpeihFB1whbiZt1qIf1TbhL8TPbeRP2 limit: 1000 responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiCostCodeTagRead' example: - id: 54147ada-a6e6-4485-b73b-4e0bd3b1266e jobId: b64cbd34-e312-4ed1-8517-0ebd33ed2c15 costCodeId: 7aad508e-1346-4516-b021-d0fc851f71fb tagId: 50e64519-ecbf-4ba4-a809-982f4959794d isDeleted: false lastModified: '2022-08-02T00:00:00' '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read /api/v1/costCodeTimeCardTransactions/advancedRequest: post: tags: - CostCodeTransaction summary: "Returns a paginated list of cost code time card transactions for the specified business unit or specified job list,\r\nor specified foreman list or specified date range." operationId: CostCodeTransactionController_GetCostCodeTimeCardTransactions parameters: - name: includeCostsAndHours in: query schema: type: boolean default: false requestBody: content: application/json: schema: $ref: '#/components/schemas/CostCodeTransactionAdvancedRead' example: businessUnitId: 81aa06f2-46ec-457f-9b35-ae6e05d4dbef costCodeIds: - 5d05001a-acde-4203-a38c-684bb5f47a33 jobIds: - 565947f8-528c-4667-9351-8db02eab1157 jobTagIds: - 39bda327-ada0-4aab-ab03-a3fe621cc547 foremanIds: - c28aee2e-6e0e-4c91-a82a-931417c12f9e startDate: '2022-08-06T00:00:00' endDate: '2022-08-06T00:00:00' cursor: gCpeihFB1whbiZt1qIf1TbhL8TPbeRP2 limit: 500 text/json: schema: $ref: '#/components/schemas/CostCodeTransactionAdvancedRead' example: businessUnitId: 81aa06f2-46ec-457f-9b35-ae6e05d4dbef costCodeIds: - 5d05001a-acde-4203-a38c-684bb5f47a33 jobIds: - 565947f8-528c-4667-9351-8db02eab1157 jobTagIds: - 39bda327-ada0-4aab-ab03-a3fe621cc547 foremanIds: - c28aee2e-6e0e-4c91-a82a-931417c12f9e startDate: '2022-08-06T00:00:00' endDate: '2022-08-06T00:00:00' cursor: gCpeihFB1whbiZt1qIf1TbhL8TPbeRP2 limit: 500 application/*+json: schema: $ref: '#/components/schemas/CostCodeTransactionAdvancedRead' example: businessUnitId: 81aa06f2-46ec-457f-9b35-ae6e05d4dbef costCodeIds: - 5d05001a-acde-4203-a38c-684bb5f47a33 jobIds: - 565947f8-528c-4667-9351-8db02eab1157 jobTagIds: - 39bda327-ada0-4aab-ab03-a3fe621cc547 foremanIds: - c28aee2e-6e0e-4c91-a82a-931417c12f9e startDate: '2022-08-06T00:00:00' endDate: '2022-08-06T00:00:00' cursor: gCpeihFB1whbiZt1qIf1TbhL8TPbeRP2 limit: 500 responses: '200': description: Success content: text/plain: schema: $ref: '#/components/schemas/ApiCostCodeTimeCardTransactionReadPaginatedResponse' application/json: schema: $ref: '#/components/schemas/ApiCostCodeTimeCardTransactionReadPaginatedResponse' text/json: schema: $ref: '#/components/schemas/ApiCostCodeTimeCardTransactionReadPaginatedResponse' '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read /api/v1/costCodeTransactionAdjustments/advancedRequest: post: tags: - CostCodeTransactionAdjustment summary: Returns a list of cost code transaction adjustments. operationId: CostCodeTransactionAdjustmentController_GetCostCodeTransactionAdjustmentAsync parameters: - name: includeCostsAndHours in: query schema: type: boolean default: false requestBody: content: application/json: schema: $ref: '#/components/schemas/CostCodeTransactionAdvancedRead' example: businessUnitId: 81aa06f2-46ec-457f-9b35-ae6e05d4dbef costCodeIds: - 5d05001a-acde-4203-a38c-684bb5f47a33 jobIds: - 565947f8-528c-4667-9351-8db02eab1157 jobTagIds: - 39bda327-ada0-4aab-ab03-a3fe621cc547 foremanIds: - c28aee2e-6e0e-4c91-a82a-931417c12f9e startDate: '2022-08-06T00:00:00' endDate: '2022-08-06T00:00:00' cursor: gCpeihFB1whbiZt1qIf1TbhL8TPbeRP2 limit: 500 text/json: schema: $ref: '#/components/schemas/CostCodeTransactionAdvancedRead' example: businessUnitId: 81aa06f2-46ec-457f-9b35-ae6e05d4dbef costCodeIds: - 5d05001a-acde-4203-a38c-684bb5f47a33 jobIds: - 565947f8-528c-4667-9351-8db02eab1157 jobTagIds: - 39bda327-ada0-4aab-ab03-a3fe621cc547 foremanIds: - c28aee2e-6e0e-4c91-a82a-931417c12f9e startDate: '2022-08-06T00:00:00' endDate: '2022-08-06T00:00:00' cursor: gCpeihFB1whbiZt1qIf1TbhL8TPbeRP2 limit: 500 application/*+json: schema: $ref: '#/components/schemas/CostCodeTransactionAdvancedRead' example: businessUnitId: 81aa06f2-46ec-457f-9b35-ae6e05d4dbef costCodeIds: - 5d05001a-acde-4203-a38c-684bb5f47a33 jobIds: - 565947f8-528c-4667-9351-8db02eab1157 jobTagIds: - 39bda327-ada0-4aab-ab03-a3fe621cc547 foremanIds: - c28aee2e-6e0e-4c91-a82a-931417c12f9e startDate: '2022-08-06T00:00:00' endDate: '2022-08-06T00:00:00' cursor: gCpeihFB1whbiZt1qIf1TbhL8TPbeRP2 limit: 500 required: true responses: '200': description: Success content: text/plain: schema: $ref: '#/components/schemas/ApiCostCodeTransactionAdjustmentReadPaginatedResponse' application/json: schema: $ref: '#/components/schemas/ApiCostCodeTransactionAdjustmentReadPaginatedResponse' text/json: schema: $ref: '#/components/schemas/ApiCostCodeTransactionAdjustmentReadPaginatedResponse' '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read /api/v1/costTypeQuantities/materialInstalled: get: tags: - CostTypeQuantity summary: Returns installed material quantities description: This call returns a list of installed material quantities for the specified job, foreman, date range or modified since date. operationId: CostTypeQuantityController_GetMaterialInstalledQuantities parameters: - name: jobId in: query description: The job id to query by. If omitted, returns records across all jobs. schema: type: string format: uuid - name: foremanId in: query description: The foreman id to query by. If omitted, returns records across all foremen. schema: type: string format: uuid - name: startDate in: query description: The start date (yyyy-MM-dd) to query by. If omitted, returns records from the beginning of time. (bounded by the end date). schema: type: string format: date-time - name: endDate in: query description: The end date (yyyy-MM-dd) to query by. If omitted, returns records until the end of time. (bounded by the start date). schema: type: string format: date-time - name: modifiedSince in: query description: The modified since date (yyyy-MM-ddThh:mm:ssZ Or yyyy-MM-ddThh:mm:ss.FFFFFFFZ) to query by. If specified, returns records modified since this time. schema: type: string format: date-time - name: limit in: query description: The maximum number of results that should be returned. schema: type: integer format: int32 default: 1000 - name: cursor in: query description: Optional. When there are additional results, the metadata nextCursor field should be passed to retrieve the next page of results. schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiMaterialInstalledReadPaginatedResponse' example: results: - id: 090907da-e6ff-4ecf-b5f3-f71346b5ccb3 costCodeId: b73c4c29-26f4-4fca-a213-d3ff2d68935e jobMaterialId: 173633f0-bbd6-49df-9117-7425e904f7d5 foremanId: d01d3fb9-c579-4cb7-b405-60c7eaa791ec jobId: 8d6b8063-0465-48c1-b507-671ef42e29a9 businessUnitId: 7c1f9feb-0bd0-400e-956a-a8c487f70e79 date: '2019-01-01' consumedQuantity: 10.5 installedQuantity: 10.25 unitOfMeasure: YARD purchaseOrderDetailId: 4c1a6bb2-e9e4-4fad-9f2a-54edab18b854 purchaseOrderId: 6ef2dc89-ae36-4bc8-a58a-863a08ed3731 vendorId: 8eca0a4a-678a-4ec0-900d-0c0f27daae7a referenceNumber: '1234' invoiceNumber: '1234' isInvoiced: false lastModifiedDateTime: '2019-09-10T16:12:29Z' lastModifiedPreciseDateTime: '2019-09-10T16:12:29.9498214Z' metadata: nextCursor: 3Wp90lf+1gjw/HEy/VJRRqd1mcQAJ86o '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read /api/v1/costTypeQuantities/subcontractWorked: get: tags: - CostTypeQuantity summary: Returns subcontract work performed quantities description: This call returns a list of subcontract work performed quantities for the specified job, foreman, date range or modified since date. operationId: CostTypeQuantityController_GetSubcontractWorkQuantities parameters: - name: jobId in: query description: The job id to query by. If omitted, returns records across all jobs. schema: type: string format: uuid - name: foremanId in: query description: The foreman id to query by. If omitted, returns records across all foremen. schema: type: string format: uuid - name: startDate in: query description: The start date (yyyy-MM-dd) to query by. If omitted, returns records from the beginning of time. (bounded by the end date). schema: type: string format: date-time - name: endDate in: query description: The end date (yyyy-MM-dd) to query by. If omitted, returns records until the end of time. (bounded by the start date). schema: type: string format: date-time - name: modifiedSince in: query description: The modified since date (yyyy-MM-ddThh:mm:ssZ Or yyyy-MM-ddThh:mm:ss.FFFFFFFZ) to query by. If specified, returns records modified since this time. schema: type: string format: date-time - name: limit in: query description: The maximum number of results that should be returned. schema: type: integer format: int32 default: 1000 - name: cursor in: query description: Optional. When there are additional results, the metadata nextCursor field should be passed to retrieve the next page of results. schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiSubcontractWorkReadPaginatedResponse' example: results: - id: fc68c769-5abb-4931-ad06-18fc9565d93a costCodeId: b73c4c29-26f4-4fca-a213-d3ff2d68935e jobSubcontractId: 11a1eff4-e213-4036-a49e-2b7d8de66d71 foremanId: d01d3fb9-c579-4cb7-b405-60c7eaa791ec jobId: 8d6b8063-0465-48c1-b507-671ef42e29a9 businessUnitId: 7c1f9feb-0bd0-400e-956a-a8c487f70e79 date: '2019-01-01' quantity: 0.5 unitOfMeasure: MILE referenceNumber: '1234567890' invoiceNumber: '1234567890' isInvoiced: false vendorContractDetailId: 24476ea5-e866-4501-8fbc-1f37cd9b81f5 vendorContractId: 4c4effe8-d042-4889-9b33-edd6cc48df0f vendorId: 8eca0a4a-678a-4ec0-900d-0c0f27daae7a lastModifiedDateTime: '2019-09-10T16:12:29Z' lastModifiedPreciseDateTime: '2019-09-10T16:12:29.9498214Z' metadata: nextCursor: 5jbbuz5A1wjwSSrt3QMjSb+Wb143y8Pi '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read /api/v1/costTypeQuantities/adjustments: get: tags: - CostTypeQuantity summary: Returns quantity adjustment changes description: This call returns a list of quantity changes that have been applied through quantity adjustments for the specified job, foreman, date range or modified since date. operationId: CostTypeQuantityController_GetQuantityAdjustments parameters: - name: jobId in: query description: The job id to query by. If omitted, returns records across all jobs. schema: type: string format: uuid - name: foremanId in: query description: The foreman id to query by. If omitted, returns records across all foremen. schema: type: string format: uuid - name: startDate in: query description: The start date (yyyy-MM-dd) to query by. If omitted, returns records from the beginning of time. (bounded by the end date). schema: type: string format: date-time - name: endDate in: query description: The end date (yyyy-MM-dd) to query by. If omitted, returns records until the end of time. (bounded by the start date). schema: type: string format: date-time - name: modifiedSince in: query description: The modified since date (yyyy-MM-ddThh:mm:ssZ Or yyyy-MM-ddThh:mm:ss.FFFFFFFZ) to query by. If specified, returns records modified since this time. schema: type: string format: date-time - name: limit in: query description: The maximum number of results that should be returned. schema: type: integer format: int32 default: 1000 - name: cursor in: query description: Optional. When there are additional results, the metadata nextCursor field should be passed to retrieve the next page of results. schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiQuantityAdjustmentReadPaginatedResponse' example: results: - costCodeId: 7e398df8-010b-41c3-8cc4-ac64f600eb93 costCode: CostCode1 foremanId: 0dcc9283-9fd2-414b-9f4c-c7d219564c16 foremanCode: FOREMANCODE jobId: c84d44f6-947e-4f51-9e20-ac2cd46ae7d5 jobCode: JOB1 businessUnitId: 2b7b8263-ea30-4932-b9ab-c9cb06f2f46b businessUnitCode: manager isForemanEntity: true date: '2019-02-28' quantity: 27.8 revision: 1 unitOfMeasure: EA note: This is a note. lastModifiedPreciseDateTime: '2019-02-28T03:01:15Z' metadata: nextCursor: DGDS93EaYwDQj4ggr0meNz6T7vkZpDqxLFIs2leWDww '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read /api/v1/costTypeQuantities/customReceived/{id}: patch: tags: - CostTypeQuantity summary: Update an existing received custom cost type item with the values provided. operationId: CostTypeQuantityController_UpdateCustomCostTypeItemReceivedAsync parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/ApiCustomCostTypeItemReceivedPatch' text/json: schema: $ref: '#/components/schemas/ApiCustomCostTypeItemReceivedPatch' application/*+json: schema: $ref: '#/components/schemas/ApiCustomCostTypeItemReceivedPatch' required: true responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiCustomCostTypeItemReceivedRead' '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:write /api/v1/businessUnits/{businessUnitId}/costCategories: get: tags: - CustomCostType summary: Returns cost categories description: This call returns a list of cost categories for a business unit. operationId: CustomCostTypeController_GetCostCategories parameters: - name: businessUnitId in: path description: The business unit id. required: true schema: type: string format: uuid responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiCostCategoryRead' example: - id: e058a64f-df50-4fcf-a88a-027df074d496 businessUnitId: 8ee17115-1ead-4a47-8f96-4377e505f3cc costTypeId: 7f23623b-e127-469d-a613-f9942d24e112 code: CostCategory1 description: Cost category 1 description '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read post: tags: - CustomCostType summary: Creates cost category description: This call creates a cost category on a business unit. operationId: CustomCostTypeController_CreateCostCategory parameters: - name: businessUnitId in: path description: The business unit id. required: true schema: type: string format: uuid requestBody: description: The cost category to create. content: application/json: schema: $ref: '#/components/schemas/ApiCostCategoryWrite' example: code: Code1 description: '' text/json: schema: $ref: '#/components/schemas/ApiCostCategoryWrite' example: code: Code1 description: '' application/*+json: schema: $ref: '#/components/schemas/ApiCostCategoryWrite' example: code: Code1 description: '' required: true responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiCostCategoryRead' example: id: e058a64f-df50-4fcf-a88a-027df074d496 businessUnitId: 8ee17115-1ead-4a47-8f96-4377e505f3cc costTypeId: 7f23623b-e127-469d-a613-f9942d24e112 code: CostCategory1 description: Cost category 1 description '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:write /api/v1/businessUnits/{businessUnitId}/costTypes/custom: get: tags: - CustomCostTypeItem summary: Returns custom cost type items description: Returns a list of custom cost type items for the specified business unit. operationId: CustomCostTypeItemController_GetCustomCostTypeItems parameters: - name: businessUnitId in: path description: The business unit id. required: true schema: type: string format: uuid - name: isDeleted in: query description: If true, only include deleted items. If false, only include non-deleted items. If blank, include all. schema: type: boolean default: false responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiCustomCostTypeItemRead' example: - id: 58236983-650d-4528-a9f3-f773a0366ecd businessUnitId: 07c00dc0-aecf-45bd-bf9e-74628188b3c7 isDeleted: false costCategoryId: 7f23623b-e127-469d-a613-f9942d24e112 code: IF-Z description: Import Fill '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read post: tags: - CustomCostTypeItem summary: Creates cost type item description: Creates a cost type item for the specified business unit. operationId: CustomCostTypeItemController_CreateCustomCostTypeItem parameters: - name: businessUnitId in: path description: The business unit id. required: true schema: type: string format: uuid requestBody: description: The cost type item to create. content: application/json: schema: $ref: '#/components/schemas/ApiCustomCostTypeItemWrite' example: costCategoryId: 7f23623b-e127-469d-a613-f9942d24e112 code: CustomCostTypeItem1 description: Custom cost type item description text/json: schema: $ref: '#/components/schemas/ApiCustomCostTypeItemWrite' example: costCategoryId: 7f23623b-e127-469d-a613-f9942d24e112 code: CustomCostTypeItem1 description: Custom cost type item description application/*+json: schema: $ref: '#/components/schemas/ApiCustomCostTypeItemWrite' example: costCategoryId: 7f23623b-e127-469d-a613-f9942d24e112 code: CustomCostTypeItem1 description: Custom cost type item description required: true responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiCustomCostTypeItemRead' example: id: 5561186e-0491-49de-9646-c4dede646375 businessUnitId: c94c60d5-ecce-4645-a5b0-b305b42ba74e isDeleted: false costCategoryId: 52b33d24-89c8-4810-a5a2-ab91b6eb6ab0 code: Custom-Z description: Custom Fill '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:write /api/v1/jobs/{jobId}/costTypes/jobCustom: get: tags: - CustomCostTypeItem summary: Returns job custom cost type items description: Returns a list of job custom cost type items. operationId: CustomCostTypeItemController_GetJobCustomCostTypeItems parameters: - name: jobId in: path description: The job id. required: true schema: type: string format: uuid - name: isDiscontinued in: query description: If true, only include discontinued items. If false, only include non-discontinued items. If null, include all. schema: type: boolean default: false - name: isDeleted in: query description: If true, only include deleted items. If false, only include non-deleted items. If blank, include all. schema: type: boolean default: false responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiJobCustomCostTypeItemRead' example: - id: 035d0528-c9ae-4438-a669-a74d47284a3d code: CCTI1 jobId: ad07638c-518f-4138-b3a2-39889ae5091d businessUnitCostType: id: 306e8b2a-fe5a-4567-ac3b-6f80d1f2d9ba code: U businessUnitId: 0f48f039-3a1a-4dd1-b60e-4af518c65767 description: Supplies isDeleted: false businessUnitCostTypeItem: isDeleted: false id: 610e82d8-4147-46b4-9b51-ac1c4b658696 type: customType code: CCTI1 description: Custom Fill isDiscontinued: false isDeleted: false customCostTypeItemId: 082ee747-94ed-4a44-b206-2aeb257684c8 description: Custom Fill salesTaxPercent: 8.25 unitCost: 20.3 unitOfMeasure: TON accountingCode: CC-ACC '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read post: tags: - CustomCostTypeItem summary: Creates job custom cost type item description: Creates a job custom cost type item on the specified job. operationId: CustomCostTypeItemController_CreateJobCustomCostTypeItem parameters: - name: jobId in: path description: The job id. required: true schema: type: string format: uuid requestBody: description: The job custom cost type item to be created. content: application/json: schema: $ref: '#/components/schemas/ApiJobCustomCostTypeItemWrite' example: customCostTypeItemId: cbd3af49-7d59-4a48-a5f6-a5d523c8386b description: Custom cost type item description salesTaxPercent: 7.5 unitCost: 10.14 unitOfMeasure: FT accountingCode: Acct Code text/json: schema: $ref: '#/components/schemas/ApiJobCustomCostTypeItemWrite' example: customCostTypeItemId: cbd3af49-7d59-4a48-a5f6-a5d523c8386b description: Custom cost type item description salesTaxPercent: 7.5 unitCost: 10.14 unitOfMeasure: FT accountingCode: Acct Code application/*+json: schema: $ref: '#/components/schemas/ApiJobCustomCostTypeItemWrite' example: customCostTypeItemId: cbd3af49-7d59-4a48-a5f6-a5d523c8386b description: Custom cost type item description salesTaxPercent: 7.5 unitCost: 10.14 unitOfMeasure: FT accountingCode: Acct Code required: true responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiJobCustomCostTypeItemRead' '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:write /api/v1/costTypes/jobCustom/{id}: get: tags: - CustomCostTypeItem summary: Returns a job custom cost type item description: Returns a job custom cost type item with the specified id. operationId: CustomCostTypeItemController_GetJobCustomCostTypeItem parameters: - name: id in: path description: The job custom cost type item id. required: true schema: type: string format: uuid - name: isDeleted in: query description: If true, only include deleted items. If false, only include non-deleted items. If blank, include all. schema: type: boolean - name: isDiscontinued in: query description: If true, only include discontinued items. If false, only include non-discontinued items. If not specified, include all. schema: type: boolean responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiJobCustomCostTypeItemRead' '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. '404': description: The specified resource is not found. security: - bearer: - heavyjob:read put: tags: - CustomCostTypeItem summary: Updates job custom cost type item description: Updates an existing job custom cost type item with the specified id. operationId: CustomCostTypeItemController_UpdateJobCustomCostTypeItem parameters: - name: id in: path description: The job custom cost type item id. required: true schema: type: string format: uuid requestBody: description: The job custom cost type item to be updated. content: application/json: schema: $ref: '#/components/schemas/ApiJobCustomCostTypeItemWrite' example: customCostTypeItemId: cbd3af49-7d59-4a48-a5f6-a5d523c8386b description: Custom cost type item description salesTaxPercent: 7.5 unitCost: 10.14 unitOfMeasure: FT accountingCode: Acct Code text/json: schema: $ref: '#/components/schemas/ApiJobCustomCostTypeItemWrite' example: customCostTypeItemId: cbd3af49-7d59-4a48-a5f6-a5d523c8386b description: Custom cost type item description salesTaxPercent: 7.5 unitCost: 10.14 unitOfMeasure: FT accountingCode: Acct Code application/*+json: schema: $ref: '#/components/schemas/ApiJobCustomCostTypeItemWrite' example: customCostTypeItemId: cbd3af49-7d59-4a48-a5f6-a5d523c8386b description: Custom cost type item description salesTaxPercent: 7.5 unitCost: 10.14 unitOfMeasure: FT accountingCode: Acct Code required: true responses: '204': description: No Content '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. '404': description: The specified resource is not found. security: - bearer: - heavyjob:write delete: tags: - CustomCostTypeItem summary: Deletes job custom cost type item description: Deletes the job custom cost type item with the specified id. operationId: CustomCostTypeItemController_DeleteJobCustomCostTypeItem parameters: - name: id in: path description: The job custom cost type item id. required: true schema: type: string format: uuid responses: '204': description: No Content '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. '404': description: The specified resource is not found. security: - bearer: - heavyjob:write /api/v1/costTypes/customInstalled/advancedRequest: post: tags: - CustomCostTypeItem summary: Returns installed custom cost type items description: Returns a list of installed custom cost type items. operationId: CustomCostTypeItemController_GetCustomCostTypeInstalledPaginatedAdvanced requestBody: description: The request object for getting installed custom cost type items. content: application/json: schema: $ref: '#/components/schemas/ApiCostTypeTransactionAdvancedRequest' text/json: schema: $ref: '#/components/schemas/ApiCostTypeTransactionAdvancedRequest' application/*+json: schema: $ref: '#/components/schemas/ApiCostTypeTransactionAdvancedRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiCustomCostTypeItemInstalledReadV2PaginatedResponse' '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read /api/v1/costTypes/customReceived/advancedRequest: post: tags: - CustomCostTypeItem summary: Returns received custom cost type items description: Returns a list of received custom cost type items. operationId: CustomCostTypeItemController_GetCustomCostTypeReceivedPaginatedAdvanced requestBody: description: The request object for getting received custom cost type items. content: application/json: schema: $ref: '#/components/schemas/ApiCostTypeReceivedAdvancedRequest' text/json: schema: $ref: '#/components/schemas/ApiCostTypeReceivedAdvancedRequest' application/*+json: schema: $ref: '#/components/schemas/ApiCostTypeReceivedAdvancedRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiCustomCostTypeItemReceivedReadV2PaginatedResponse' '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read /api/v1/diaries/search: post: tags: - Diary summary: Returns a paginated list of diary summaries for a business unit, jobs, or foremen in a date range. operationId: DiaryController_QueryDiariesAsync requestBody: description: Set of filters for the request. content: application/json: schema: $ref: '#/components/schemas/ApiDiarySearch' text/json: schema: $ref: '#/components/schemas/ApiDiarySearch' application/*+json: schema: $ref: '#/components/schemas/ApiDiarySearch' required: true responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiDiaryReadPaginatedResponse' '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read /api/v1/diaries: put: tags: - Diary summary: Creates or updates a diary record operationId: DiaryController_UpsertDiary requestBody: content: application/json: schema: $ref: '#/components/schemas/ApiDiaryUpsert' text/json: schema: $ref: '#/components/schemas/ApiDiaryUpsert' application/*+json: schema: $ref: '#/components/schemas/ApiDiaryUpsert' required: true responses: '200': description: Success '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:write /api/v1/businessUnits/{businessUnitId}/employees: get: tags: - Employee summary: Returns employees for a business unit description: This call returns employees with accounting values for a specified business unit. operationId: EmployeeController_GetEmployeesAsync parameters: - name: businessUnitId in: path description: The business unit Id. required: true schema: type: string format: uuid - name: accountingTemplateName in: query description: The accounting system template name. If not specified, use default accounting system. schema: type: string - name: isActive in: query description: If true, only include active employees. If false, only include inactive employees. If null, include all. schema: type: boolean default: true - name: isDeleted in: query description: If true, only include deleted employees. If false, only include non-deleted employees. If null, include all. schema: type: boolean default: false - name: isForeman in: query description: If true, only include current foremen. If false, only include non-active foremen. If not specified, include all. schema: type: boolean - name: includeHistoricalForeman in: query description: If true, only include any active or inactive foremen. If false, only include non-foremen. If not specified, include all. schema: type: boolean responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiEmployeeWithAccountingValuesRead' example: - accountingCode: value: Account Code 1 description: Test Description 1 code: AccountingCode accountingValueId: 2b4f6de9-94ca-4564-8338-1311da07ad0b parentId: 7f18849c-3d4a-4c9c-ad52-e5152db131ff dataType: string id: b7d7123b-eb71-4f8d-996b-70a1fd55be7d assignedEquipmentCode: EQP1 assignedEquipmentDescription: Equipment 1 defaultPayClassCode: PC2 defaultPayClassDescription: Pay Class 2 isForeman: false isDeleted: false isHistoricalForeman: false code: Employee2 firstName: John middleInitial: R lastName: Smith suffix: Mr nickName: Jack email: John.Smith@email.com isSalaried: false isActive: true assignedEquipmentId: 5b3421fc-3571-4626-8e59-ff5f6888cc5c defaultPayClassId: 29986277-ef3a-4eb8-bf0f-c361d593c215 '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read /api/v1/employees/advancedRequest: post: tags: - Employee summary: Returns employees description: This call returns a list of employees for the specified business unit, employees, accounting template, active status, foreman status, and deleted status. operationId: EmployeeController_GetEmployeesAdvancedAsync requestBody: description: Set of filters for the request. content: application/json: schema: $ref: '#/components/schemas/GetEmployeeAdvancedRequest' example: businessUnitId: e353a65e-8c01-4d28-9495-38bc04ccee38 employeeCodes: - EMP1 - EMP2 employeeIds: - 3c4dbc2a-5cc8-4e0f-9dfb-094820d9f6c2 - 3cbd5c23-6627-434a-a25a-88d1850db55c accountingTemplateName: ACCT1 isActive: true isForeman: true isDeleted: false cursor: DGDS93EaYwDQj4ggr0meNz6T7vkZpDqxLFIs2leWDww limit: 500 text/json: schema: $ref: '#/components/schemas/GetEmployeeAdvancedRequest' example: businessUnitId: e353a65e-8c01-4d28-9495-38bc04ccee38 employeeCodes: - EMP1 - EMP2 employeeIds: - 3c4dbc2a-5cc8-4e0f-9dfb-094820d9f6c2 - 3cbd5c23-6627-434a-a25a-88d1850db55c accountingTemplateName: ACCT1 isActive: true isForeman: true isDeleted: false cursor: DGDS93EaYwDQj4ggr0meNz6T7vkZpDqxLFIs2leWDww limit: 500 application/*+json: schema: $ref: '#/components/schemas/GetEmployeeAdvancedRequest' example: businessUnitId: e353a65e-8c01-4d28-9495-38bc04ccee38 employeeCodes: - EMP1 - EMP2 employeeIds: - 3c4dbc2a-5cc8-4e0f-9dfb-094820d9f6c2 - 3cbd5c23-6627-434a-a25a-88d1850db55c accountingTemplateName: ACCT1 isActive: true isForeman: true isDeleted: false cursor: DGDS93EaYwDQj4ggr0meNz6T7vkZpDqxLFIs2leWDww limit: 500 responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiEmployeeWithAccountingValuesReadPaginatedResponse' example: results: - accountingCode: value: Account Code 1 description: Test Description 1 code: AccountingCode accountingValueId: 2b4f6de9-94ca-4564-8338-1311da07ad0b parentId: 7f18849c-3d4a-4c9c-ad52-e5152db131ff dataType: string id: b7d7123b-eb71-4f8d-996b-70a1fd55be7d assignedEquipmentCode: EQP1 assignedEquipmentDescription: Equipment 1 defaultPayClassCode: PC2 defaultPayClassDescription: Pay Class 2 isForeman: false isDeleted: false isHistoricalForeman: false code: Employee2 firstName: John middleInitial: R lastName: Smith suffix: Mr nickName: Jack email: John.Smith@email.com isSalaried: false isActive: true assignedEquipmentId: 5b3421fc-3571-4626-8e59-ff5f6888cc5c defaultPayClassId: 29986277-ef3a-4eb8-bf0f-c361d593c215 metadata: nextCursor: DGDS93EaYwDQj4ggr0meNz6T7vkZpDqxLFIs2leWDww '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read /api/v1/employees: get: tags: - Employee summary: Call to get Employee details that include physical address, cell phone and other phone. operationId: EmployeeController_GetEmployeesWithDetailsAsync parameters: - name: isDeleted in: query description: '' schema: type: boolean - name: limit in: query description: The maximum number of results that should be returned. schema: type: integer format: int32 default: 1000 - name: cursor in: query description: '' schema: type: string responses: '200': description: Success '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read delete: tags: - Employee summary: "Delete an employee. Employee will be deleted at the company level, and business unit- or job-level \r\nrelationships will also be deleted." operationId: EmployeeController_DeleteEmployeeAsync requestBody: description: MEmployee Ids content: application/json: schema: type: array items: type: string format: uuid text/json: schema: type: array items: type: string format: uuid application/*+json: schema: type: array items: type: string format: uuid responses: '204': description: No Content '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:write /api/v1/businessUnits/{businessUnitId}/equipment: get: tags: - Equipment summary: Returns a list of equipment for a business unit. operationId: EquipmentController_GetEquipmentAsync parameters: - name: businessUnitId in: path description: The business unit Id. required: true schema: type: string format: uuid - name: accountingTemplateName in: query description: The accounting system template name. If not specified, use default accounting system. schema: type: string - name: isActive in: query description: If true, only include active equipment. If false, only include inactive equipment. If null, include all. schema: type: boolean default: true - name: isDeleted in: query description: If true, only include deleted equipment. If false, only include non-deleted equipment. If null, include all. schema: type: boolean default: false responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiEquipmentWithAccountingValuesRead' '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read /api/v1/equipment/advancedRequest: post: tags: - Equipment summary: Returns a list of equipment. operationId: EquipmentController_GetEquipmentAdvancedAsync requestBody: content: application/json: schema: $ref: '#/components/schemas/GetEquipmentAdvancedRequest' text/json: schema: $ref: '#/components/schemas/GetEquipmentAdvancedRequest' application/*+json: schema: $ref: '#/components/schemas/GetEquipmentAdvancedRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiEquipmentWithAccountingValuesReadPaginatedResponse' '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read /api/v1/businessUnits/{businessUnitId}/equipment/types: get: tags: - Equipment summary: Returns a list of equipment types. operationId: EquipmentController_GetEquipmentTypesAsync parameters: - name: businessUnitId in: path required: true schema: type: string format: uuid responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiEquipmentTypeRead' example: - id: 309dcd94-2c42-43b8-9d71-ed61560a6d2e businessUnitId: 2a7e2e5f-fb73-46a3-a8b5-fa597435d383 code: DOZER description: New dozer '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read post: tags: - Equipment summary: Creates a new equipment type. operationId: EquipmentController_CreateEquipmentTypeAsync parameters: - name: businessUnitId in: path description: The business unit id. required: true schema: type: string format: uuid requestBody: description: The equipment type to be created. content: application/json: schema: $ref: '#/components/schemas/ApiEquipmentTypeWrite' example: code: DIGGER description: Earth digger text/json: schema: $ref: '#/components/schemas/ApiEquipmentTypeWrite' example: code: DIGGER description: Earth digger application/*+json: schema: $ref: '#/components/schemas/ApiEquipmentTypeWrite' example: code: DIGGER description: Earth digger required: true responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiEquipmentTypeRead' example: id: 10b98b7e-5015-4b7e-a1a6-56166dbcbd37 businessUnitId: 2a7e2e5f-fb73-46a3-a8b5-fa597435d383 code: EXCAVATOR description: Sand excavator '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:write /api/v1/businessUnits/{businessUnitId}/equipment/{equipmentId}: put: tags: - Equipment summary: Updates an existing equipment operationId: EquipmentController_UpdateEquipmentAsync parameters: - name: businessUnitId in: path required: true schema: type: string format: uuid - name: equipmentId in: path required: true schema: type: string format: uuid - name: accountingTemplateName in: query schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ApiEquipmentWithAccountingValuesWrite' text/json: schema: $ref: '#/components/schemas/ApiEquipmentWithAccountingValuesWrite' application/*+json: schema: $ref: '#/components/schemas/ApiEquipmentWithAccountingValuesWrite' required: true responses: '200': description: Success '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:write /api/v1/forecastInfo: get: tags: - Forecast summary: Returns forecast summary information description: This call returns a paginated list of forecast summary information for the specified job, date range or finalized since date. operationId: ForecastController_GetForecastInfo parameters: - name: jobId in: query description: The job guid. If omitted, returns forecasts across all jobs. schema: type: string format: uuid - name: startDate in: query description: The start date in yyyy-MM-dd format. If omitted, returns forecasts from the beginning of time. (bounded by the end date). schema: type: string format: date-time - name: endDate in: query description: The end date in yyyy-MM-dd format. If omitted, returns forecasts until the end of time. (bounded by the start date). schema: type: string format: date-time - name: finalizedSince in: query description: The forecast finalized datetime in utc format (e.g., 2018-06-26T08:25:48Z). If omitted, returns all forecasts between start and end date. schema: type: string format: date-time - name: limit in: query description: The maximum number of results that should be returned. schema: type: integer format: int32 default: 1000 - name: cursor in: query description: Optional. When there are additional results, the metadata nextCursor field should be passed to retrieve the next page of results. schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiForecastInfoReadPaginatedResponse' example: results: - id: 9b83590f-c805-45fb-98dc-7733fc4dafc6 jobId: 6c251b6a-abab-42be-bc00-d04c535e4823 forecastDate: '2019-01-10' finalizedDateTime: '2019-10-10T13:11:10Z' metadata: nextCursor: stFNEUUV1wiYYevqcOONS7k/ozntHkTb '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read /api/v1/forecasts/{forecastId}: get: tags: - Forecast summary: Returns forecast details description: This call returns forecast details for the specified forecast id. operationId: ForecastController_GetForecast parameters: - name: forecastId in: path description: The forecast id. required: true schema: type: string format: uuid responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiForecastRead' example: id: 26490e8e-41b9-4ef5-82f7-fdc3428ffbb2 jobId: 2ea9e9ea-619f-426b-bbbb-33078bef528f forecastDate: '2019-01-10' isFinalized: false finalizedDateTime: '2019-01-10T13:12:11Z' createdDateTime: '2019-01-01T13:12:11Z' forecastSourceId: edf9c7b2-af06-4ea6-901b-3866b8943f8a productivityType: unitsPerLaborHour createdOnWeb: false lastModifiedBy: id: 8436b4bd-fd7b-44c8-8f02-f04d62945116 firstName: First lastName: Last email: first.last@email.com totalBudget: 975000.5 costAtCompletion: 1000000.5 costCodeCosts: - costCodeId: 35dd993a-b6f2-46d9-a125-1463d759f904 equipmentCost: 1250.25 creationToDateEquipmentCost: 1200 equipmentHours: 60.5 creationToDateEquipmentHours: 50 laborCost: 2500.5 creationToDateLaborCost: 2450 laborHours: 70.25 creationToDateLaborHours: 60 materialCost: 1000.5 creationToDateMaterialCost: 1000.5 subcontractCost: 500.5 creationToDateSubcontractCost: 500.5 quantity: 100.2 creationToDateQuantity: 90 customCostTypeValues: - costCategoryId: 3d6a3af7-046f-4521-bfb5-1dfc482829b4 costCategoryCode: HAUL costCategoryDescription: Debris removal cost: 90.75 creationToDateCost: 85 revenue: - revenueId: 4c612a63-5d35-42ac-bab7-b0f829a6264b payItem: id: 49775671-4f0e-46bd-b98c-a2066abfa765 jobId: b5c08279-0127-4f8c-8d1f-67a325e37185 payItem: HAUL1 description: '' ownerCode: HAUL1 unitOfMeasure: TON unitPrice: 200 contractQuantity: 150 forecastQuantity: 150 toDateQuantity: 100.2 remainingQuantity: 49.8 forecastRevenue: 30000 toDateRevenue: 20040 revenueToCompletion: 9960 originalBidAmount: 30000 profit: 16387.5 variance: 0 costAtCompletion: 13612.5 marginPercent: 54.625 markupPercent: 220.38567493112947 isReviewed: false note: '' '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. '404': description: The specified resource is not found. security: - bearer: - heavyjob:read /api/v1/hours/employees: post: tags: - Hours summary: Returns employee time card hours description: This call returns a paginated list of employee time card hours and cost adjustments for the specified business unit, jobs, foremen, employees, and date range. operationId: HoursController_GetEmployeeHoursAsync requestBody: description: Set of filters for the request. content: application/json: schema: $ref: '#/components/schemas/EmployeeHoursAdvancedRead' example: businessUnitId: c2e2ddb8-513d-424d-a65f-99feae96551e includeAllJobs: false employeeIds: - c2e2ddb8-513d-424d-a65f-99feae96551e - 8cb64519-9938-43e0-a947-4002f1dcc6e5 jobIds: - 565947f8-528c-4667-9351-8db02eab1157 jobTagIds: - 39bda327-ada0-4aab-ab03-a3fe621cc547 foremanIds: - c28aee2e-6e0e-4c91-a82a-931417c12f9e startDate: '2022-08-06T00:00:00' endDate: '2022-08-06T00:00:00' cursor: gCpeihFB1whbiZt1qIf1TbhL8TPbeRP2 limit: 500 text/json: schema: $ref: '#/components/schemas/EmployeeHoursAdvancedRead' example: businessUnitId: c2e2ddb8-513d-424d-a65f-99feae96551e includeAllJobs: false employeeIds: - c2e2ddb8-513d-424d-a65f-99feae96551e - 8cb64519-9938-43e0-a947-4002f1dcc6e5 jobIds: - 565947f8-528c-4667-9351-8db02eab1157 jobTagIds: - 39bda327-ada0-4aab-ab03-a3fe621cc547 foremanIds: - c28aee2e-6e0e-4c91-a82a-931417c12f9e startDate: '2022-08-06T00:00:00' endDate: '2022-08-06T00:00:00' cursor: gCpeihFB1whbiZt1qIf1TbhL8TPbeRP2 limit: 500 application/*+json: schema: $ref: '#/components/schemas/EmployeeHoursAdvancedRead' example: businessUnitId: c2e2ddb8-513d-424d-a65f-99feae96551e includeAllJobs: false employeeIds: - c2e2ddb8-513d-424d-a65f-99feae96551e - 8cb64519-9938-43e0-a947-4002f1dcc6e5 jobIds: - 565947f8-528c-4667-9351-8db02eab1157 jobTagIds: - 39bda327-ada0-4aab-ab03-a3fe621cc547 foremanIds: - c28aee2e-6e0e-4c91-a82a-931417c12f9e startDate: '2022-08-06T00:00:00' endDate: '2022-08-06T00:00:00' cursor: gCpeihFB1whbiZt1qIf1TbhL8TPbeRP2 limit: 500 responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiEmployeeTimeCardSummaryPaginatedResponse' example: results: - employee: employeeId: 8b25782d-5085-4f63-b635-a0cbcce0ed47 employeeCode: EMPCODE employeeFirstName: Employee employeeLastName: Name foreman: employeeId: d01d3fb9-c579-4cb7-b405-60c7eaa791ec employeeCode: FOREMANCODE employeeFirstName: Foreman employeeLastName: Name job: jobId: 3fa85f64-5717-4562-b3fc-2c963f66afa6 jobCode: HCSS-BLDG3 jobDescription: Third building on the HCSS campus payClass: payClassId: ec8cecdf-24d2-4aaa-8a43-868e22b4fc1d payClassCode: PC1 payClassDescription: Pay Class 1 date: '2022-08-06' notes: Time card notes startTime: '12:45' endTime: '22:45' meal1Start: '16:45' meal1End: '17:15' meal2Start: '20:30' meal2End: '20:45' break1: '30' break2: '15' timeCardShift: 2 timeCardRevision: 5 hoursDetails: - costCode: costCodeId: 5d05001a-acde-4203-a38c-684bb5f47a33 costCodeCode: CC1 costCodeDescription: Cost Code 1 regularHours: 6 overtimeHours: 2 otherHours: 2 hourTag: hourTagId: 007306b1-6bf4-4e79-a866-87ccb38161e4 hourTagCode: H hourTagDescription: Hour Tag isInTimeCardHours: true isCosted: false costAdjustmentCosts: - costAdjustment: costAdjustmentId: 9d1ace9f-58b2-45d4-bd17-0d454ecb5b4b costAdjustmentCode: CA1 costAdjustmentDescription: Cost Adjustment 1 cost: 150.75 costAdjustmentQuantities: - costAdjustment: costAdjustmentId: 9d1ace9f-58b2-45d4-bd17-0d454ecb5b4b costAdjustmentCode: CA1 costAdjustmentDescription: Cost Adjustment 1 quantity: 25.5 metadata: nextCursor: DGDS93EaYwDQj4ggr0meNz6T7vkZpDqxLFIs2leWDww '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read /api/v1/hours/equipment: post: tags: - Hours summary: Returns equipment time card hours description: This call returns a paginated list of equipment time card hours for the specified business unit, jobs, foremen, equipment, and date range. operationId: HoursController_GetEquipmentHoursAsync requestBody: description: Set of filters for the request. content: application/json: schema: $ref: '#/components/schemas/EquipmentHoursAdvancedRead' example: businessUnitId: c2e2ddb8-513d-424d-a65f-99feae96551e includeAllJobs: false equipmentIds: - c2e2ddb8-513d-424d-a65f-99feae96551e - 8cb64519-9938-43e0-a947-4002f1dcc6e5 jobIds: - 565947f8-528c-4667-9351-8db02eab1157 jobTagIds: - 39bda327-ada0-4aab-ab03-a3fe621cc547 foremanIds: - c28aee2e-6e0e-4c91-a82a-931417c12f9e startDate: '2022-08-06T00:00:00' endDate: '2022-08-06T00:00:00' cursor: gCpeihFB1whbiZt1qIf1TbhL8TPbeRP2 limit: 500 text/json: schema: $ref: '#/components/schemas/EquipmentHoursAdvancedRead' example: businessUnitId: c2e2ddb8-513d-424d-a65f-99feae96551e includeAllJobs: false equipmentIds: - c2e2ddb8-513d-424d-a65f-99feae96551e - 8cb64519-9938-43e0-a947-4002f1dcc6e5 jobIds: - 565947f8-528c-4667-9351-8db02eab1157 jobTagIds: - 39bda327-ada0-4aab-ab03-a3fe621cc547 foremanIds: - c28aee2e-6e0e-4c91-a82a-931417c12f9e startDate: '2022-08-06T00:00:00' endDate: '2022-08-06T00:00:00' cursor: gCpeihFB1whbiZt1qIf1TbhL8TPbeRP2 limit: 500 application/*+json: schema: $ref: '#/components/schemas/EquipmentHoursAdvancedRead' example: businessUnitId: c2e2ddb8-513d-424d-a65f-99feae96551e includeAllJobs: false equipmentIds: - c2e2ddb8-513d-424d-a65f-99feae96551e - 8cb64519-9938-43e0-a947-4002f1dcc6e5 jobIds: - 565947f8-528c-4667-9351-8db02eab1157 jobTagIds: - 39bda327-ada0-4aab-ab03-a3fe621cc547 foremanIds: - c28aee2e-6e0e-4c91-a82a-931417c12f9e startDate: '2022-08-06T00:00:00' endDate: '2022-08-06T00:00:00' cursor: gCpeihFB1whbiZt1qIf1TbhL8TPbeRP2 limit: 500 responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiEquipmentTimeCardSummaryPaginatedResponse' example: results: - equipment: equipmentId: 8b25782d-5085-4f63-b635-a0cbcce0ed47 equipmentCode: EQPCODE equipmentDescription: Equipment isRental: false foreman: employeeId: d01d3fb9-c579-4cb7-b405-60c7eaa791ec employeeCode: FOREMANCODE employeeFirstName: Foreman employeeLastName: Name job: jobId: 3fa85f64-5717-4562-b3fc-2c963f66afa6 jobCode: HCSS-BLDG3 jobDescription: Third building on the HCSS campus date: '2022-08-06' notes: Time card notes startTime: '12:45' endTime: '22:45' meterStart: 1000 meterStop: 1050 engineOffDuration: '15' timeCardShift: 2 timeCardRevision: 5 hoursDetails: - costCode: costCodeId: 5d05001a-acde-4203-a38c-684bb5f47a33 costCodeCode: CC1 costCodeDescription: Cost Code 1 totalHours: 6 ownershipHours: 2 operatingHours: 2 hourTag: hourTagId: 007306b1-6bf4-4e79-a866-87ccb38161e4 hourTagCode: H hourTagDescription: Hour Tag isInTimeCardHours: true isCosted: false gpsId: MyGPSFieldId metadata: nextCursor: DGDS93EaYwDQj4ggr0meNz6T7vkZpDqxLFIs2leWDww '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read /api/v1/businessUnits/{businessUnitId}/attendanceHourTags: get: tags: - HourTag summary: Returns employee attendance hour tags description: This call returns a list of non-deleted employee attendance hour tags in a business unit. operationId: HourTagController_GetAttendanceHourTags parameters: - name: businessUnitId in: path description: The business unit id. required: true schema: type: string format: uuid responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiAttendanceHourTagRead' example: - id: 37b1d910-804a-4b7d-bcb6-5291d975dfa6 code: A description: Absent regularTimeDescription: Regular overtimeDescription: Overtime doubleOvertimeDescription: 2nd OT applyCost: totalCost affectsOvertimeCalculation: false '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read /api/v1/businessUnits/{businessUnitId}/nonuseHourTags: get: tags: - HourTag summary: Returns equipment non-use hour tags description: This call returns a list of equipment non-use hour tags in a business unit. operationId: HourTagController_GetNonuseHourTags parameters: - name: businessUnitId in: path description: The business unit id. required: true schema: type: string format: uuid responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiNonuseHourTagRead' example: - id: 37b1d910-804a-4b7d-bcb6-5291d975dfa6 code: D description: Down totalTimeDescription: Total ownershipTimeDescription: Ownership operatingTimeDescription: Operating '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read /api/v1/jobs: get: tags: - Job summary: Returns jobs by business unit description: This call will return a list of jobs for the specified business unit. operationId: JobController_GetJobsAsyncV1 parameters: - name: businessUnitId in: query description: The business unit id to query by. If omitted, returns all jobs. schema: type: string format: uuid responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiJobRead' example: - id: 43bffdd8-5bc0-4140-a613-0652b9f08143 legacyId: 626de5a7-b252-4348-bfdb-c003a6e00fcb code: HCSS-BLDG3 description: Third building on the HCSS campus businessUnitId: 4a5d0072-9e2e-48b3-a37e-571bd296ca06 status: active isDeleted: false latitude: 29.649534 longitude: -95.614761 startofpayweek: monday jobNote: '' relatedEstimateCodes: [] address1: 123 Main St. address2: Apt 102 city: Anywhere state: AL zip: '12345' country: USA '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read /api/v1/jobs/advanced: post: tags: - Job summary: Returns jobs by jobs or job tags description: This call will return a list of jobs for the specified jobs or job tags. operationId: JobController_GetJobsAdvancedAsync requestBody: description: Set of filters for the request. content: application/json: schema: $ref: '#/components/schemas/GetJobAdvancedRequest' example: jobIds: - 898da5fd-7f33-44da-9a33-6da4aeb9aa4d - e21b1150-c03d-4b9a-9ef7-39e5475bda51 jobTagIds: - dc144c60-c453-47b5-944e-1ce4c448e891 - bf8a06cf-28ec-4e05-b151-6c6d724d99ae isIncludeHBCodeList: false text/json: schema: $ref: '#/components/schemas/GetJobAdvancedRequest' example: jobIds: - 898da5fd-7f33-44da-9a33-6da4aeb9aa4d - e21b1150-c03d-4b9a-9ef7-39e5475bda51 jobTagIds: - dc144c60-c453-47b5-944e-1ce4c448e891 - bf8a06cf-28ec-4e05-b151-6c6d724d99ae isIncludeHBCodeList: false application/*+json: schema: $ref: '#/components/schemas/GetJobAdvancedRequest' example: jobIds: - 898da5fd-7f33-44da-9a33-6da4aeb9aa4d - e21b1150-c03d-4b9a-9ef7-39e5475bda51 jobTagIds: - dc144c60-c453-47b5-944e-1ce4c448e891 - bf8a06cf-28ec-4e05-b151-6c6d724d99ae isIncludeHBCodeList: false responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiJobRead' example: - id: 43bffdd8-5bc0-4140-a613-0652b9f08143 legacyId: 626de5a7-b252-4348-bfdb-c003a6e00fcb code: HCSS-BLDG3 description: Third building on the HCSS campus businessUnitId: 4a5d0072-9e2e-48b3-a37e-571bd296ca06 status: active isDeleted: false latitude: 29.649534 longitude: -95.614761 startofpayweek: monday jobNote: '' relatedEstimateCodes: [] address1: 123 Main St. address2: Apt 102 city: Anywhere state: AL zip: '12345' country: USA '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read /api/v1/jobEmployees: get: tags: - JobEmployee summary: Returns job employees description: This call returns a list of job employees for the specified business unit, job or employee. operationId: JobEmployeeController_GetJobEmployees parameters: - name: businessUnitId in: query description: The business unit ID. schema: type: string format: uuid - name: jobId in: query description: The job ID. schema: type: string format: uuid - name: employeeId in: query description: The employee ID. schema: type: string format: uuid - name: limit in: query description: The maximum number of results that should be returned. schema: type: integer format: int32 default: 1000 - name: cursor in: query description: Optional. When there are additional results, the metadata nextCursor field should be passed to retrieve the next page of results. schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiEmployeeOnJobReadPaginatedResponse' example: results: - id: 37bbda8f-8cc7-410d-af60-b816bc145a64 businessUnitId: 2b7b8263-ea30-4932-b9ab-c9cb06f2f46b businessUnitCode: manager jobId: 275aee00-8d59-4827-aeeb-6726fff95370 jobCode: sugar land job employeeId: 88796442-9f86-4f51-b17c-91d2880f8341 employeeCode: 01-CHARLES, C employeeFirstName: Charles employeeLastName: Dowan defaultPayClassId: 343c6d3f-9f0c-4f5b-8050-febb06ac249f defaultPayClassCode: OP-1 defaultPayClassDescription: Loader Operator assignedEquipmentId: 266643dc-dfe9-4e67-b76c-717a567a124f assignedEquipmentCode: 00.00DAWN assignedEquipmentDescription: 2017 Loader isActive: true costAdjustmentStatus: none metadata: nextCursor: gCpeihFB1whbiZt1qIf1TbhL8TPbeRP2 '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read delete: tags: - JobEmployee summary: Delete job-employee relationships. description: Either jobId or employeeId need to be provided operationId: JobEmployeeController_DeleteJobEmployees parameters: - name: businessUnitId in: query description: The business unit ID. schema: type: string format: uuid - name: jobId in: query description: The job ID. schema: type: string format: uuid - name: employeeId in: query description: The employee ID. schema: type: string format: uuid responses: '204': description: No Content '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:write patch: tags: - JobEmployee summary: Creates and updates job-employee relationships. description: "Note that passing a null value for defaultPayClassId or assignedEquipmentId will not null out and reset an\r\nalready filled in value, since this is a PATCH request." operationId: JobEmployeeController_UpsertJobEmployees requestBody: description: The list of job-employee relations to be created or updated. content: application/json: schema: maxItems: 100 minItems: 1 type: array items: $ref: '#/components/schemas/ApiEmployeeOnJobWrite' example: - jobId: 275aee00-8d59-4827-aeeb-6726fff95370 employeeId: 88796442-9f86-4f51-b17c-91d2880f8341 defaultPayClassId: 343c6d3f-9f0c-4f5b-8050-febb06ac249f assignedEquipmentId: 266643dc-dfe9-4e67-b76c-717a567a124f text/json: schema: maxItems: 100 minItems: 1 type: array items: $ref: '#/components/schemas/ApiEmployeeOnJobWrite' example: - jobId: 275aee00-8d59-4827-aeeb-6726fff95370 employeeId: 88796442-9f86-4f51-b17c-91d2880f8341 defaultPayClassId: 343c6d3f-9f0c-4f5b-8050-febb06ac249f assignedEquipmentId: 266643dc-dfe9-4e67-b76c-717a567a124f application/*+json: schema: maxItems: 100 minItems: 1 type: array items: $ref: '#/components/schemas/ApiEmployeeOnJobWrite' example: - jobId: 275aee00-8d59-4827-aeeb-6726fff95370 employeeId: 88796442-9f86-4f51-b17c-91d2880f8341 defaultPayClassId: 343c6d3f-9f0c-4f5b-8050-febb06ac249f assignedEquipmentId: 266643dc-dfe9-4e67-b76c-717a567a124f required: true responses: '204': description: No Content '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:write /api/v1/jobEquipment: patch: tags: - JobEquipment summary: Creates and updates job-equipment relationships. description: "Note that passing a null value for operatorPayClassCode will not null out and reset an\r\nalready filled in value, since this is a PATCH request." operationId: JobEquipmentController_UpsertJobEquipment requestBody: description: The list of job-equipment relations to be created or updated. content: application/json: schema: maxItems: 100 minItems: 1 type: array items: $ref: '#/components/schemas/ApiEquipmentOnJobWrite' example: - jobId: 8436b4bd-fd7b-44c8-8f02-f04d62945116 equipmentId: 5dcc2ffa-2002-4423-b800-d05c596b2e9b operatorPayClassId: d6386c46-5bad-4525-9041-e207b9c0d417 text/json: schema: maxItems: 100 minItems: 1 type: array items: $ref: '#/components/schemas/ApiEquipmentOnJobWrite' example: - jobId: 8436b4bd-fd7b-44c8-8f02-f04d62945116 equipmentId: 5dcc2ffa-2002-4423-b800-d05c596b2e9b operatorPayClassId: d6386c46-5bad-4525-9041-e207b9c0d417 application/*+json: schema: maxItems: 100 minItems: 1 type: array items: $ref: '#/components/schemas/ApiEquipmentOnJobWrite' example: - jobId: 8436b4bd-fd7b-44c8-8f02-f04d62945116 equipmentId: 5dcc2ffa-2002-4423-b800-d05c596b2e9b operatorPayClassId: d6386c46-5bad-4525-9041-e207b9c0d417 required: true responses: '204': description: No Content '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:write get: tags: - JobEquipment summary: Returns job equipment description: This call returns a list of job equipment for the specified business unit, job or equipment. operationId: JobEquipmentController_GetJobEquipment parameters: - name: businessUnitId in: query description: The business unit ID. schema: type: string format: uuid - name: jobId in: query description: The job ID. schema: type: string format: uuid - name: equipmentId in: query description: The equipment ID. schema: type: string format: uuid - name: limit in: query description: The maximum number of results that should be returned. schema: type: integer format: int32 default: 1000 - name: cursor in: query description: Optional. When there are additional results, the metadata nextCursor field should be passed to retrieve the next page of results. schema: type: string responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiEquipmentOnJobRead' example: - id: bdfdb1ca-a8e0-4680-a896-f135c488567b businessUnitId: 02fd380b-a4fe-49b4-9056-2a1440f03ede businessUnitCode: manager jobId: 897603c8-193a-4e66-a818-8f59c88556eb jobCode: Z3924 equipmentId: 5dcc2ffa-2002-4423-b800-d05c596b2e9b equipmentCode: 00.00DAWN equipmentDescription: 2017 Loader operatorPayClassId: d6386c46-5bad-4525-9041-e207b9c0d417 operatorPayClassCode: 2017 Loader isActive: true '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read delete: tags: - JobEquipment summary: Delete job-equipment relationships. operationId: JobEquipmentController_DeleteJobEquipment parameters: - name: businessUnitId in: query description: The business unit ID. schema: type: string format: uuid - name: jobId in: query description: The job ID. schema: type: string format: uuid - name: equipmentId in: query description: The equipment ID. schema: type: string format: uuid responses: '204': description: No Content '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:write /api/v1/businessUnits/{businessUnitId}/costTypes/material: get: tags: - Material summary: Returns materials description: Returns a list of materials for the specified business unit. operationId: MaterialController_GetMaterials parameters: - name: businessUnitId in: path description: The business unit id. required: true schema: type: string format: uuid - name: isDeleted in: query description: If true, only include deleted items. If false, only include non-deleted items. If blank, include all. schema: type: boolean default: false responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiMaterialRead' example: - id: 1d66cad1-98a4-4acc-b9b2-b3f9ee0de65f businessUnitId: 07c00dc0-aecf-45bd-bf9e-74628188b3c7 isDeleted: false code: IF-Z description: Import Fill isStockpiled: false heavyBidCode: HB1 '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read post: tags: - Material summary: Creates material description: Creates a material for the specified business unit. operationId: MaterialController_CreateMaterial parameters: - name: businessUnitId in: path description: The business unit id. required: true schema: type: string format: uuid requestBody: description: The material to create. content: application/json: schema: $ref: '#/components/schemas/ApiMaterialWrite' example: code: IF-Z description: Import Fill isStockpiled: false heavyBidCode: HB1 text/json: schema: $ref: '#/components/schemas/ApiMaterialWrite' example: code: IF-Z description: Import Fill isStockpiled: false heavyBidCode: HB1 application/*+json: schema: $ref: '#/components/schemas/ApiMaterialWrite' example: code: IF-Z description: Import Fill isStockpiled: false heavyBidCode: HB1 required: true responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiMaterialRead' example: id: 1d66cad1-98a4-4acc-b9b2-b3f9ee0de65f businessUnitId: 07c00dc0-aecf-45bd-bf9e-74628188b3c7 isDeleted: false code: IF-Z description: Import Fill isStockpiled: false heavyBidCode: HB1 '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:write /api/v1/jobs/{jobId}/costTypes/jobMaterial: get: tags: - Material summary: Returns job materials description: Returns a list of job materials (i.e., a physical material that can be used on one or more cost codes). operationId: MaterialController_GetJobMaterials parameters: - name: jobId in: path description: The job id. required: true schema: type: string format: uuid - name: isDiscontinued in: query description: If true, only include discontinued items. If false or not specified, only include non-discontinued items. If blank, include all. schema: type: boolean default: false - name: isDeleted in: query description: If true, only include deleted items. If false, only include non-deleted items. If blank, include all. schema: type: boolean default: false responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiJobMaterialRead' example: - id: 58236983-650d-4528-a9f3-f773a0366ecd code: IF-Z isStockpiled: false heavyBidCode: HB1 jobId: 77de8c55-1b14-4f43-afc2-9f2edb6d64fb description: Import Fill isDeleted: false materialId: 1d66cad1-98a4-4acc-b9b2-b3f9ee0de65f salesTaxPercent: 8.25 tmRate: 150.3 unitCost: 20.6 unitOfMeasure: TON accountingCode: M-ACC isDiscontinued: false '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read post: tags: - Material summary: Creates job material description: Creates a job material on the specified job. operationId: MaterialController_CreateJobMaterial parameters: - name: jobId in: path description: The job id. required: true schema: type: string format: uuid requestBody: description: The job material to be created. content: application/json: schema: $ref: '#/components/schemas/ApiJobMaterialWrite' example: materialId: caa95ace-7aa3-4a0c-af85-f33e18a9773e description: Job material salesTaxPercent: 10.1 tmRate: 7.5 unitCost: 20.5 unitOfMeasure: CY accountingCode: M-ACC isDiscontinued: false text/json: schema: $ref: '#/components/schemas/ApiJobMaterialWrite' example: materialId: caa95ace-7aa3-4a0c-af85-f33e18a9773e description: Job material salesTaxPercent: 10.1 tmRate: 7.5 unitCost: 20.5 unitOfMeasure: CY accountingCode: M-ACC isDiscontinued: false application/*+json: schema: $ref: '#/components/schemas/ApiJobMaterialWrite' example: materialId: caa95ace-7aa3-4a0c-af85-f33e18a9773e description: Job material salesTaxPercent: 10.1 tmRate: 7.5 unitCost: 20.5 unitOfMeasure: CY accountingCode: M-ACC isDiscontinued: false required: true responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiJobMaterialRead' example: id: 58236983-650d-4528-a9f3-f773a0366ecd code: IF-Z isStockpiled: false heavyBidCode: HB1 jobId: 77de8c55-1b14-4f43-afc2-9f2edb6d64fb description: Import Fill isDeleted: false materialId: 1d66cad1-98a4-4acc-b9b2-b3f9ee0de65f salesTaxPercent: 8.25 tmRate: 150.3 unitCost: 20.6 unitOfMeasure: TON accountingCode: M-ACC isDiscontinued: false '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:write /api/v1/costTypes/jobMaterial/{id}: get: tags: - Material summary: Returns a job material description: Returns a job material with the specified id. operationId: MaterialController_GetJobMaterial parameters: - name: id in: path description: The job material id required: true schema: type: string format: uuid - name: isDeleted in: query description: If true, only include deleted items. If false, only include non-deleted items. If blank, include all. schema: type: boolean - name: isDiscontinued in: query description: If true, only include discontinued items. If false, only include non-discontinued items. If blank, include all. schema: type: boolean responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiJobMaterialRead' example: id: 58236983-650d-4528-a9f3-f773a0366ecd code: IF-Z isStockpiled: false heavyBidCode: HB1 jobId: 77de8c55-1b14-4f43-afc2-9f2edb6d64fb description: Import Fill isDeleted: false materialId: 1d66cad1-98a4-4acc-b9b2-b3f9ee0de65f salesTaxPercent: 8.25 tmRate: 150.3 unitCost: 20.6 unitOfMeasure: TON accountingCode: M-ACC isDiscontinued: false '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. '404': description: The specified resource is not found. security: - bearer: - heavyjob:read put: tags: - Material summary: Updates job material description: Updates an existing job material with the specified id. operationId: MaterialController_UpdateJobMaterial parameters: - name: id in: path description: The job material id. required: true schema: type: string format: uuid requestBody: description: The job material to be updated. content: application/json: schema: $ref: '#/components/schemas/ApiJobMaterialWrite' example: materialId: caa95ace-7aa3-4a0c-af85-f33e18a9773e description: Job material salesTaxPercent: 10.1 tmRate: 7.5 unitCost: 20.5 unitOfMeasure: CY accountingCode: M-ACC isDiscontinued: false text/json: schema: $ref: '#/components/schemas/ApiJobMaterialWrite' example: materialId: caa95ace-7aa3-4a0c-af85-f33e18a9773e description: Job material salesTaxPercent: 10.1 tmRate: 7.5 unitCost: 20.5 unitOfMeasure: CY accountingCode: M-ACC isDiscontinued: false application/*+json: schema: $ref: '#/components/schemas/ApiJobMaterialWrite' example: materialId: caa95ace-7aa3-4a0c-af85-f33e18a9773e description: Job material salesTaxPercent: 10.1 tmRate: 7.5 unitCost: 20.5 unitOfMeasure: CY accountingCode: M-ACC isDiscontinued: false required: true responses: '200': description: Success '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:write delete: tags: - Material summary: Deletes job material description: Deletes the job material with the specified id. operationId: MaterialController_DeleteJobMaterial parameters: - name: id in: path description: The job material id. required: true schema: type: string format: uuid responses: '204': description: No Content '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:write /api/v1/costTypes/materialInstalled/advancedRequest: post: tags: - Material summary: Returns installed materials description: Returns a list of installed materials. operationId: MaterialController_GetMaterialsInstalledPaginatedAdvanced requestBody: description: The request object for getting installed materials. content: application/json: schema: $ref: '#/components/schemas/ApiCostTypeTransactionAdvancedRequest' text/json: schema: $ref: '#/components/schemas/ApiCostTypeTransactionAdvancedRequest' application/*+json: schema: $ref: '#/components/schemas/ApiCostTypeTransactionAdvancedRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiMaterialInstalledReadV2PaginatedResponse' '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read /api/v1/costTypes/materialReceived/advancedRequest: post: tags: - Material summary: Returns received materials description: Returns a list of received materials. operationId: MaterialController_GetMaterialsReceivedPaginatedAdvanced requestBody: description: The request object for getting received materials. content: application/json: schema: $ref: '#/components/schemas/ApiMaterialReceivedAdvancedRequest' example: modifiedSince: '2021-01-01T00:00:00' businessUnitId: 81aa06f2-46ec-457f-9b35-ae6e05d4dbef jobIds: - 565947f8-528c-4667-9351-8db02eab1157 - 8d6b8063-0465-48c1-b507-671ef42e29a9 foremanIds: - bc962857-61fb-42cc-8e95-dabb1e55268e - d01d3fb9-c579-4cb7-b405-60c7eaa791ec startDate: '2021-01-01T00:00:00' endDate: '2021-12-31T00:00:00' limit: 500 text/json: schema: $ref: '#/components/schemas/ApiMaterialReceivedAdvancedRequest' example: modifiedSince: '2021-01-01T00:00:00' businessUnitId: 81aa06f2-46ec-457f-9b35-ae6e05d4dbef jobIds: - 565947f8-528c-4667-9351-8db02eab1157 - 8d6b8063-0465-48c1-b507-671ef42e29a9 foremanIds: - bc962857-61fb-42cc-8e95-dabb1e55268e - d01d3fb9-c579-4cb7-b405-60c7eaa791ec startDate: '2021-01-01T00:00:00' endDate: '2021-12-31T00:00:00' limit: 500 application/*+json: schema: $ref: '#/components/schemas/ApiMaterialReceivedAdvancedRequest' example: modifiedSince: '2021-01-01T00:00:00' businessUnitId: 81aa06f2-46ec-457f-9b35-ae6e05d4dbef jobIds: - 565947f8-528c-4667-9351-8db02eab1157 - 8d6b8063-0465-48c1-b507-671ef42e29a9 foremanIds: - bc962857-61fb-42cc-8e95-dabb1e55268e - d01d3fb9-c579-4cb7-b405-60c7eaa791ec startDate: '2021-01-01T00:00:00' endDate: '2021-12-31T00:00:00' limit: 500 responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiMaterialReceivedReadV2PaginatedResponse' example: results: - id: 7e75249f-a845-45d8-b1a2-db412ea8bbf5 jobMaterial: id: 173633f0-bbd6-49df-9117-7425e904f7d5 type: material code: MAT 1 description: Material 1 foreman: employeeId: d01d3fb9-c579-4cb7-b405-60c7eaa791ec employeeCode: FOREMANCODE employeeFirstName: Foreman employeeLastName: Name job: jobId: 8d6b8063-0465-48c1-b507-671ef42e29a9 jobCode: HCSS-BLDG3 jobDescription: Third building on the HCSS campus businessUnitId: 7c1f9feb-0bd0-400e-956a-a8c487f70e79 date: '2019-01-01' referenceNumber: 1AB7DSD0 invoiceNumber: 1AB7DSD0 isInvoiced: false quantity: 15.25 unitOfMeasure: YARD purchaseOrder: id: cebf87d0-d8df-48c1-9ed8-759b1f194f93 name: PO2 description: Unassigned Materials and Supplies purchaseOrderDetailId: c3023c2c-2188-4d00-9a34-48ae2ac9a516 vendor: id: 309dcd94-2c42-43b8-9d71-ed61560a6d2e name: Home Depot description: Home improvement retailer costCodeTransactionTags: - id: 799709ba-282c-4327-9f3e-a161e999d825 code: CCTAG description: Cost Code Tag note: This is a note groupId: d5d4e680-e130-4812-b068-f1fe5def48a1 groupCode: TAGGROUP loads: 1 note: This is a note unitCost: 15 salesTax: 0.085 linkedInstalledMaterialIds: - 95d0c5ac-f95f-4215-824a-bd3d379d84e2 metadata: nextCursor: DGDS93EaYwDQj4ggr0meNz6T7vkZpDqxLFIs2leWDww '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read /api/v1/businessUnits/{businessUnitId}/payclass: get: tags: - PayClass summary: Returns pay classes in a business unit description: This call returns a list of pay classes in a business unit. operationId: PayClassController_GetPayClassListAsync parameters: - name: businessUnitId in: path description: The business unit Id. required: true schema: type: string format: uuid - name: isActive in: query description: If true, only include active pay classes. If false, include non-active pay classes. If not specified, include all. schema: type: boolean default: true responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiPayClassRead' example: - id: ba51a247-d726-4fdf-9280-521b272c0d44 code: PC1 description: Pay Class 1 isDeleted: false '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read /api/v1/payClasses/{id}: patch: tags: - PayClass summary: Updates a pay class in a business unit operationId: PayClassController_UpdatePayClassAsync parameters: - name: id in: path description: The Id of the pay class to be updated required: true schema: type: string format: uuid requestBody: description: The set of values to be updated content: application/json: schema: $ref: '#/components/schemas/ApiPayClassBusinessUnitPatch' text/json: schema: $ref: '#/components/schemas/ApiPayClassBusinessUnitPatch' application/*+json: schema: $ref: '#/components/schemas/ApiPayClassBusinessUnitPatch' required: true responses: '200': description: Success '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. '404': description: The specified resource is not found. security: - bearer: - heavyjob:write /api/v1/payItems: get: tags: - PayItem summary: Returns pay items description: This call returns a list of pay items for the specified job. operationId: PayItemController_GetPayItems parameters: - name: jobId in: query description: If specified, only returns pay items for this job. schema: type: string format: uuid - name: isDeleted in: query description: If specified, only returns pay items that match the isDeleted value schema: type: boolean - name: cursor in: query description: A pagination cursor. schema: type: string - name: limit in: query description: The maximum number of items to return. schema: maximum: 1000 minimum: 1 type: integer format: int32 default: 1000 responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiPayItemReadPaginatedResponse' example: results: - id: 49779959-0c77-4b08-bb1e-5aba18825233 jobId: 766161c0-916a-4a1c-b772-be665e6d609c payItem: PI1 description: Pay Item 1 status: active ownerCode: OWNER1 contractQuantity: 253.5 unitOfMeasure: SF unitPrice: 10.25 stopOverruns: true notes: This is a pay item. linkedCostCodes: - payItemId: 49779959-0c77-4b08-bb1e-5aba18825233 payItemFactor: 1.25 isPayItemDriver: true costCodeId: feba9270-acb8-498e-bc50-8bde0d237780 costCodeCode: CC1 costCodeDescription: Cost Code 1 metadata: nextCursor: DGDS93EaYwDQj4ggr0meNz6T7vkZpDqxLFIs2leWDww '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read post: tags: - PayItem summary: Creates a new pay item. description: "The combination of jobId and pay item code must be unique.\r\n \r\nThe pay item code will be uppercased. The pay item code,\r\ndescription, owner code, and unit of measure will be trimmed." operationId: PayItemController_CreatePayItemAsync requestBody: content: application/json: schema: $ref: '#/components/schemas/ApiPayItemCreate' example: jobId: 962e2370-fbe4-4123-b163-73e557b12ca9 payItem: PI1 status: active description: Pay Item 1 ownerCode: OWNER1 contractQuantity: 525 unitOfMeasure: SF unitPrice: 10.25 stopOverruns: true notes: This is a pay item for OWNER1. text/json: schema: $ref: '#/components/schemas/ApiPayItemCreate' example: jobId: 962e2370-fbe4-4123-b163-73e557b12ca9 payItem: PI1 status: active description: Pay Item 1 ownerCode: OWNER1 contractQuantity: 525 unitOfMeasure: SF unitPrice: 10.25 stopOverruns: true notes: This is a pay item for OWNER1. application/*+json: schema: $ref: '#/components/schemas/ApiPayItemCreate' example: jobId: 962e2370-fbe4-4123-b163-73e557b12ca9 payItem: PI1 status: active description: Pay Item 1 ownerCode: OWNER1 contractQuantity: 525 unitOfMeasure: SF unitPrice: 10.25 stopOverruns: true notes: This is a pay item for OWNER1. required: true responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiPayItemRead' example: id: 49779959-0c77-4b08-bb1e-5aba18825233 jobId: 766161c0-916a-4a1c-b772-be665e6d609c payItem: PI1 description: Pay Item 1 status: active ownerCode: OWNER1 contractQuantity: 253.5 unitOfMeasure: SF unitPrice: 10.25 stopOverruns: true notes: This is a pay item. linkedCostCodes: - payItemId: 49779959-0c77-4b08-bb1e-5aba18825233 payItemFactor: 1.25 isPayItemDriver: true costCodeId: feba9270-acb8-498e-bc50-8bde0d237780 costCodeCode: CC1 costCodeDescription: Cost Code 1 '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:write patch: tags: - PayItem summary: Bulk upsert pay items by code and job id. description: "The pay item code will be uppercased. The pay item code,\r\ndescription, owner code, and unit of measure will be trimmed." operationId: PayItemController_BulkUpsertPayItemsAsync parameters: - name: createOnly in: query description: "If true, no updates will be performed, and existing records will\r\nbe kept as-is. New records will still be created. This is useful\r\nif pay items are synced from an external system, and the user wants\r\nto preserve manual edits that are not in the external system.\r\nIf false, the behavior will be determined by the addToExisting parameter." schema: type: boolean default: false - name: addToExisting in: query description: "If true, the passed quantity will be added to the existing quantity.\r\nOtherwise, the passed quantity will overwrite the existing quantity." schema: type: boolean default: false requestBody: description: The pay items. content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiPayItemCreate' text/json: schema: type: array items: $ref: '#/components/schemas/ApiPayItemCreate' application/*+json: schema: type: array items: $ref: '#/components/schemas/ApiPayItemCreate' required: true responses: '204': description: No Content '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:write /api/v1/jobs/{jobId}/purchaseOrders: get: tags: - PurchaseOrder summary: Returns a list of purchase orders. description: 'DEPRECATED Please use the endpoint "/api/v1/purchaseOrders"

' operationId: PurchaseOrderController_GetJobPurchaseOrders parameters: - name: jobId in: path required: true schema: type: string format: uuid - name: isDeleted in: query schema: type: boolean default: false - name: modifiedSince in: query schema: type: string format: date-time responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiPurchaseOrderRead' example: - id: cebf87d0-d8df-48c1-9ed8-759b1f194f93 jobId: b0ee724b-cddd-439e-91d9-a9f812afae81 orderStatus: inProgress dateIssued: '2019-01-01' vendorName: Smith Company vendorDescription: Smith & Sons Company purchaseOrder: PO2 description: Unassigned Materials and Supplies vendorId: ae0c2ac4-f94d-405c-aaa7-5d1c9d8a1cc3 '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. deprecated: true security: - bearer: - heavyjob:read post: tags: - PurchaseOrder summary: Creates a new purchase order on the specified job. operationId: PurchaseOrderController_CreatePurchaseOrder parameters: - name: jobId in: path description: The job id on which to create the purchase order. required: true schema: type: string format: uuid requestBody: description: The purchase order to be created. content: application/json: schema: $ref: '#/components/schemas/ApiPurchaseOrderCreate' example: purchaseOrder: POCement orderStatus: inProgress dateIssued: '2019-01-01' description: Purchase order for cement vendorId: 563a5017-2405-4c07-85d3-518caae7d374 text/json: schema: $ref: '#/components/schemas/ApiPurchaseOrderCreate' example: purchaseOrder: POCement orderStatus: inProgress dateIssued: '2019-01-01' description: Purchase order for cement vendorId: 563a5017-2405-4c07-85d3-518caae7d374 application/*+json: schema: $ref: '#/components/schemas/ApiPurchaseOrderCreate' example: purchaseOrder: POCement orderStatus: inProgress dateIssued: '2019-01-01' description: Purchase order for cement vendorId: 563a5017-2405-4c07-85d3-518caae7d374 required: true responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiPurchaseOrderRead' example: id: 03de8151-cbe4-4cc8-83b5-87c0d9837377 jobId: 65053153-ed97-442d-b796-0e24df2b444d orderStatus: inProgress dateIssued: '2019-01-01' vendorName: Smith Company vendorDescription: Smith & Sons Company purchaseOrder: PORebar description: Purchase order for rebars vendorId: 66322a73-ca2d-4361-83c7-8460e39f28d3 '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:write /api/v1/purchaseOrders: get: tags: - PurchaseOrder summary: Returns purchase orders description: This call returns a list of purchase orders for the specified business unit, job, purchase order, date range, or modified since date. operationId: PurchaseOrderController_GetPurchaseOrders parameters: - name: businessUnitId in: query description: The business unit id. schema: type: string format: uuid - name: jobId in: query description: The job id. schema: type: string format: uuid - name: purchaseOrderId in: query description: The purchase order id. schema: type: string format: uuid - name: modifiedSince in: query description: The date of the last modification. schema: type: string format: date-time - name: isDeleted in: query description: If true, returns deleted purchase orders. schema: type: boolean - name: startDate in: query description: The beginning of a date range to gather purchase orders. schema: type: string format: date-time - name: endDate in: query description: The end of a date range to gather purchase orders. schema: type: string format: date-time - name: limit in: query description: The maximum number of results that should be returned. schema: maximum: 1000 minimum: 1 type: integer format: int32 default: 1000 - name: cursor in: query description: Optional. When there are additional results, the metadata nextCursor field should be passed to retrieve the next page of results. schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiPurchaseOrderReadV2PaginatedResponse' example: results: - id: ba8b205e-5c35-4a7a-b89a-6f2f003a0ba1 jobId: 4c60f476-210e-443c-ba4e-ef3abff981d4 job: jobId: 4c60f476-210e-443c-ba4e-ef3abff981d4 jobCode: Job1 jobDescription: Job 1 Description purchaseOrder: PO-1 description: Purchase order 1 orderStatus: inProgress dateIssued: '2022-09-19' vendorId: 4653e28b-2939-4586-87df-e7b5522cbb9a vendor: id: 4653e28b-2939-4586-87df-e7b5522cbb9a name: Vendor description: Vendor Description isDeleted: false metadata: nextCursor: DGDS93EaYwDQj4ggr0meNz6T7vkZpDqxLFIs2leWDww '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read /api/v1/purchaseOrderItems: get: tags: - PurchaseOrder summary: Returns purchase order line items description: This call will return a list of purchase order line items for the specified business unit, job, purchase order or modified since date. operationId: PurchaseOrderController_GetPurchaseOrderItemsV1 parameters: - name: businessUnitId in: query description: The business unit id. schema: type: string format: uuid - name: jobId in: query description: The job id. schema: type: string format: uuid - name: purchaseOrderId in: query description: The purchase order id. schema: type: string format: uuid - name: modifiedSince in: query description: The date of the last modification. schema: type: string format: date-time - name: isDeleted in: query description: If true, returns deleted purchase order items. schema: type: boolean - name: limit in: query description: The maximum number of results that should be returned. schema: maximum: 1000 minimum: 1 type: integer format: int32 default: 1000 - name: cursor in: query description: Optional. When there are additional results, the metadata nextCursor field should be passed to retrieve the next page of results. schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiPurchaseOrderItemReadPaginatedResponse' example: results: - id: ba8b205e-5c35-4a7a-b89a-6f2f003a0ba1 purchaseOrderId: 4c60f476-210e-443c-ba4e-ef3abff981d4 jobMaterialId: 4653e28b-2939-4586-87df-e7b5522cbb9a material: id: 73e83acb-cdb8-4279-ad67-c0125d5eaf5a type: customType code: CCT1 description: Custom Cost Type 1 note: Line Item Note description: Line Item Description sequence: 1.5 quantity: 250 unitCost: 15.75 unitOfMeasure: EA salesTaxPercent: 8.25 isFullyInstalled: false isFullyReceived: false isCanceled: false isDeleted: false metadata: nextCursor: DGDS93EaYwDQj4ggr0meNz6T7vkZpDqxLFIs2leWDww '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read /api/v1/purchaseOrders/{id}: put: tags: - PurchaseOrder summary: Updates a purchase order description: This call updates an existing purchase order by id. Canceling a purchase order is not supported yet. operationId: PurchaseOrderController_UpdatePurchaseOrder parameters: - name: id in: path description: The purchase order id. required: true schema: type: string format: uuid requestBody: description: Updated values for the purchase order. content: application/json: schema: $ref: '#/components/schemas/ApiPurchaseOrderUpdate' example: purchaseOrder: POCement orderStatus: inProgress dateIssued: '2019-01-01' description: Purchase order for cement vendorId: 563a5017-2405-4c07-85d3-518caae7d374 text/json: schema: $ref: '#/components/schemas/ApiPurchaseOrderUpdate' example: purchaseOrder: POCement orderStatus: inProgress dateIssued: '2019-01-01' description: Purchase order for cement vendorId: 563a5017-2405-4c07-85d3-518caae7d374 application/*+json: schema: $ref: '#/components/schemas/ApiPurchaseOrderUpdate' example: purchaseOrder: POCement orderStatus: inProgress dateIssued: '2019-01-01' description: Purchase order for cement vendorId: 563a5017-2405-4c07-85d3-518caae7d374 required: true responses: '204': description: No Content '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:write /api/v1/purchaseOrders/{purchaseOrderId}/details/material: get: tags: - PurchaseOrder summary: "Returns a list of material purchase order details. \r\nThis endpoint only supports web-only companies." operationId: PurchaseOrderController_GetMaterialPurchaseOrderDetails parameters: - name: purchaseOrderId in: path required: true schema: type: string format: uuid responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiMaterialPurchaseOrderDetailRead' example: - jobMaterialId: 2ed3a69b-7338-447d-94c0-4c72f0765463 id: 70d6d634-66c6-45d2-8b79-a6a5276ec88f purchaseOrderId: 15d98e0f-9b7d-423d-ad51-24394749a6d3 sequence: 10.1 isFullyReceived: false isFullyInstalled: false note: Note 1 quantity: 100.5 unitCost: 10.5 unitOfMeasure: EA salesTaxPercent: 8.25 isCancelled: false alternateDescription: alt description vendorItemNumber: 180.00.1 '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read post: tags: - PurchaseOrder summary: Creates a material purchase order detail description: This call creates the specified job-level material purchase order detail. operationId: PurchaseOrderController_CreateMaterialPurchaseOrderDetail parameters: - name: purchaseOrderId in: path description: The purchase order id. required: true schema: type: string format: uuid requestBody: description: Details about the CustomCostType to add. content: application/json: schema: $ref: '#/components/schemas/ApiMaterialPurchaseOrderDetailWrite' example: jobMaterialId: ef6817b3-685b-4f4f-88f5-296ebb120a1b sequence: 10.5 note: New material purchase order detail quantity: 250 unitCost: 14.75 unitOfMeasure: LF salesTaxPercent: 10.25 isCancelled: false alternateDescription: Alternate description vendorItemNumber: VI-1 isFullyReceived: false isFullyInstalled: true text/json: schema: $ref: '#/components/schemas/ApiMaterialPurchaseOrderDetailWrite' example: jobMaterialId: ef6817b3-685b-4f4f-88f5-296ebb120a1b sequence: 10.5 note: New material purchase order detail quantity: 250 unitCost: 14.75 unitOfMeasure: LF salesTaxPercent: 10.25 isCancelled: false alternateDescription: Alternate description vendorItemNumber: VI-1 isFullyReceived: false isFullyInstalled: true application/*+json: schema: $ref: '#/components/schemas/ApiMaterialPurchaseOrderDetailWrite' example: jobMaterialId: ef6817b3-685b-4f4f-88f5-296ebb120a1b sequence: 10.5 note: New material purchase order detail quantity: 250 unitCost: 14.75 unitOfMeasure: LF salesTaxPercent: 10.25 isCancelled: false alternateDescription: Alternate description vendorItemNumber: VI-1 isFullyReceived: false isFullyInstalled: true required: true responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiMaterialPurchaseOrderDetailRead' example: jobMaterialId: d10a8684-902c-46cc-be79-c8587bb68e8d id: 4391e64a-04d9-46a7-84b2-9f3b3fa942a7 purchaseOrderId: da03efb0-258b-468c-82f4-0daadc5a3d0b sequence: 20.1 isFullyReceived: false isFullyInstalled: false note: Note 1 quantity: 100.5 unitCost: 10.5 unitOfMeasure: EA salesTaxPercent: 8.25 isCancelled: false alternateDescription: alt description vendorItemNumber: 180.00.1 '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:write /api/v1/purchaseOrders/details/material/{id}: put: tags: - PurchaseOrder summary: Updates material purchase order detail description: "This call updates an existing material purchase order detail by its id.\r\n Currently, update is limited to isFullyReceived and isFullyInstalled fields only." operationId: PurchaseOrderController_UpdateMaterialPurchaseOrderDetail parameters: - name: id in: path description: The purchase order detail id. required: true schema: type: string format: uuid requestBody: description: Details about the purchase order detail to be updated. content: application/json: schema: $ref: '#/components/schemas/ApiPurchaseOrderDetailUpdate' example: isFullyReceived: false isFullyInstalled: true text/json: schema: $ref: '#/components/schemas/ApiPurchaseOrderDetailUpdate' example: isFullyReceived: false isFullyInstalled: true application/*+json: schema: $ref: '#/components/schemas/ApiPurchaseOrderDetailUpdate' example: isFullyReceived: false isFullyInstalled: true required: true responses: '204': description: No Content '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:write /api/v1/quantityAdjustment: post: tags: - QuantityAdjustment summary: "Creates a new quantity adjustment for a job.\r\nThis endpoint only supports web-only companies." operationId: QuantityAdjustmentController_CreateQuantityAdjustmentAsync requestBody: content: application/json: schema: $ref: '#/components/schemas/ApiQuantityAdjustmentWrite' example: transactionDate: '2021-09-02' foremanId: da8d6442-a914-4b2a-9918-5a56d582198a jobId: 00343b5a-0bf4-4e96-b202-b51ed02b7ec6 adjustments: - jobCostCodeId: 3101bbdf-532c-488e-8438-1afb7095ff77 adjustment: 5.05 note: Corrected for field measurement text/json: schema: $ref: '#/components/schemas/ApiQuantityAdjustmentWrite' example: transactionDate: '2021-09-02' foremanId: da8d6442-a914-4b2a-9918-5a56d582198a jobId: 00343b5a-0bf4-4e96-b202-b51ed02b7ec6 adjustments: - jobCostCodeId: 3101bbdf-532c-488e-8438-1afb7095ff77 adjustment: 5.05 note: Corrected for field measurement application/*+json: schema: $ref: '#/components/schemas/ApiQuantityAdjustmentWrite' example: transactionDate: '2021-09-02' foremanId: da8d6442-a914-4b2a-9918-5a56d582198a jobId: 00343b5a-0bf4-4e96-b202-b51ed02b7ec6 adjustments: - jobCostCodeId: 3101bbdf-532c-488e-8438-1afb7095ff77 adjustment: 5.05 note: Corrected for field measurement required: true responses: '204': description: No Content '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:write /api/v1/releaseOrders/approvalRules/approvers: delete: tags: - ReleaseOrderApprovalRule summary: Deletes release order approval rule approvers operationId: ReleaseOrderApprovalRuleController_DeleteReleaseOrderApprovalRuleApprovers requestBody: content: application/json: schema: type: array items: type: string format: uuid text/json: schema: type: array items: type: string format: uuid application/*+json: schema: type: array items: type: string format: uuid required: true responses: '204': description: No Content '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:write /api/v1/businessUnits/{businessUnitId}/costTypes/subcontract: get: tags: - Subcontract summary: Returns subcontract items description: Returns a list of subcontract items for the specified business unit. operationId: SubcontractController_GetSubcontracts parameters: - name: businessUnitId in: path description: The business unit id. required: true schema: type: string format: uuid - name: isDeleted in: query description: If true, only include deleted items. If false, only include non-deleted items. If blank, include all. schema: type: boolean default: false responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiSubcontractRead' example: - id: 58236983-650d-4528-a9f3-f773a0366ecd businessUnitId: 07c00dc0-aecf-45bd-bf9e-74628188b3c7 isDeleted: false code: IF-Z description: Import Fill '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read post: tags: - Subcontract summary: Creates subcontract item description: Creates a subcontract item for the specified business unit. operationId: SubcontractController_CreateSubcontract parameters: - name: businessUnitId in: path description: The business unit id. required: true schema: type: string format: uuid requestBody: description: The subcontract item to create. content: application/json: schema: $ref: '#/components/schemas/ApiSubcontractWrite' example: code: IF-Z description: Import Fill text/json: schema: $ref: '#/components/schemas/ApiSubcontractWrite' example: code: IF-Z description: Import Fill application/*+json: schema: $ref: '#/components/schemas/ApiSubcontractWrite' example: code: IF-Z description: Import Fill required: true responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiSubcontractRead' example: id: 04f2c3f9-140e-4faf-ae35-98aa40852db9 businessUnitId: 07c00dc0-aecf-45bd-bf9e-74628188b3c7 isDeleted: false code: IF-Z description: Import Fill '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:write /api/v1/jobs/{jobId}/costTypes/jobSubcontract: get: tags: - Subcontract summary: Returns job subcontract items description: Returns a list of job subcontract items (i.e., subcontractor work that can be done on one or more cost codes). operationId: SubcontractController_GetJobSubcontracts parameters: - name: jobId in: path description: The job id. required: true schema: type: string format: uuid - name: isDeleted in: query description: If true, only include deleted items. If false, only include non-deleted items. If blank, include all. schema: type: boolean default: false - name: isDiscontinued in: query description: If true, only include discontinued items. If false, only include non-discontinued items. If blank, include all. schema: type: boolean default: false responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiJobSubcontractRead' example: - id: 58236983-650d-4528-a9f3-f773a0366ecd code: IF-Z jobId: 77de8c55-1b14-4f43-afc2-9f2edb6d64fb description: Import Fill isDeleted: false isDiscontinued: false subcontractId: 58236983-650d-4528-a9f3-f773a0366ecd salesTaxPercent: 8.25 tmRate: 200.5 unitCost: 50.2 unitOfMeasure: TON accountingCode: S-ACC '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read post: tags: - Subcontract summary: Creates job subcontract item description: Creates a job subcontract item on the specified job. operationId: SubcontractController_CreateJobSubcontract parameters: - name: jobId in: path description: The job id. required: true schema: type: string format: uuid requestBody: description: The subcontract to be added. content: application/json: schema: $ref: '#/components/schemas/ApiJobSubcontractWrite' example: subcontractId: a7e4fdbe-8485-4bbd-b9bd-122bbad73ebc description: Job subcontract salesTaxPercent: 10.1 tmRate: 7.5 unitCost: 20.5 unitOfMeasure: CY accountingCode: S-ACC text/json: schema: $ref: '#/components/schemas/ApiJobSubcontractWrite' example: subcontractId: a7e4fdbe-8485-4bbd-b9bd-122bbad73ebc description: Job subcontract salesTaxPercent: 10.1 tmRate: 7.5 unitCost: 20.5 unitOfMeasure: CY accountingCode: S-ACC application/*+json: schema: $ref: '#/components/schemas/ApiJobSubcontractWrite' example: subcontractId: a7e4fdbe-8485-4bbd-b9bd-122bbad73ebc description: Job subcontract salesTaxPercent: 10.1 tmRate: 7.5 unitCost: 20.5 unitOfMeasure: CY accountingCode: S-ACC required: true responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiJobSubcontractRead' example: id: 58236983-650d-4528-a9f3-f773a0366ecd code: IF-Z jobId: 77de8c55-1b14-4f43-afc2-9f2edb6d64fb description: Import Fill isDeleted: false isDiscontinued: false subcontractId: 58236983-650d-4528-a9f3-f773a0366ecd salesTaxPercent: 8.25 tmRate: 200.5 unitCost: 50.2 unitOfMeasure: TON accountingCode: S-ACC '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:write /api/v1/costTypes/jobSubcontract/{id}: get: tags: - Subcontract summary: Returns a job subcontract item description: Returns a job subcontract item with the specified id. operationId: SubcontractController_GetJobSubcontract parameters: - name: id in: path description: The job subcontract item id. required: true schema: type: string format: uuid - name: isDeleted in: query description: If true, only include deleted items. If false, only include non-deleted items. If blank, include all. schema: type: boolean - name: isDiscontinued in: query description: If true, only include discontinued items. If false, only include non-discontinued items. If blank, include all. schema: type: boolean responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiJobSubcontractRead' example: id: 58236983-650d-4528-a9f3-f773a0366ecd code: IF-Z jobId: 77de8c55-1b14-4f43-afc2-9f2edb6d64fb description: Import Fill isDeleted: false isDiscontinued: false subcontractId: 58236983-650d-4528-a9f3-f773a0366ecd salesTaxPercent: 8.25 tmRate: 200.5 unitCost: 50.2 unitOfMeasure: TON accountingCode: S-ACC '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. '404': description: The specified resource is not found. security: - bearer: - heavyjob:read put: tags: - Subcontract summary: Updates job subcontract item description: Updates an existing job subcontract item with the specified id. operationId: SubcontractController_UpdateJobSubcontract parameters: - name: id in: path description: The job subcontract item id. required: true schema: type: string format: uuid requestBody: description: The job subcontract item to be updated. content: application/json: schema: $ref: '#/components/schemas/ApiJobSubcontractWrite' example: subcontractId: a7e4fdbe-8485-4bbd-b9bd-122bbad73ebc description: Job subcontract salesTaxPercent: 10.1 tmRate: 7.5 unitCost: 20.5 unitOfMeasure: CY accountingCode: S-ACC text/json: schema: $ref: '#/components/schemas/ApiJobSubcontractWrite' example: subcontractId: a7e4fdbe-8485-4bbd-b9bd-122bbad73ebc description: Job subcontract salesTaxPercent: 10.1 tmRate: 7.5 unitCost: 20.5 unitOfMeasure: CY accountingCode: S-ACC application/*+json: schema: $ref: '#/components/schemas/ApiJobSubcontractWrite' example: subcontractId: a7e4fdbe-8485-4bbd-b9bd-122bbad73ebc description: Job subcontract salesTaxPercent: 10.1 tmRate: 7.5 unitCost: 20.5 unitOfMeasure: CY accountingCode: S-ACC required: true responses: '200': description: Success '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:write delete: tags: - Subcontract summary: Deletes job subcontract item description: Deletes the job subcontract item with the specified id. operationId: SubcontractController_DeleteJobSubcontract parameters: - name: id in: path description: The job subcontract item id. required: true schema: type: string format: uuid responses: '204': description: No Content '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:write /api/v1/costTypes/subcontractWork/advancedRequest: post: tags: - Subcontract summary: Returns subcontract transactions description: Returns a list of subcontract transactions. operationId: SubcontractController_GetSubcontractWorkPaginatedAdvanced requestBody: description: The request object for getting subcontract item transactions. content: application/json: schema: $ref: '#/components/schemas/ApiCostTypeTransactionAdvancedRequest' text/json: schema: $ref: '#/components/schemas/ApiCostTypeTransactionAdvancedRequest' application/*+json: schema: $ref: '#/components/schemas/ApiCostTypeTransactionAdvancedRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiSubcontractWorkReadV2PaginatedResponse' example: results: - id: fc68c769-5abb-4931-ad06-18fc9565d93a job: jobId: 8d6b8063-0465-48c1-b507-671ef42e29a9 jobCode: 22-001 jobDescription: Repave Main Street costCode: costCodeId: b73c4c29-26f4-4fca-a213-d3ff2d68935e costCodeCode: 01-307 costCodeDescription: Clear and grub - medium foreman: employeeId: d01d3fb9-c579-4cb7-b405-60c7eaa791ec employeeCode: JDOE employeeFirstName: John employeeLastName: Doe date: '2019-01-01' jobSubcontractItem: id: d01d3fb9-c579-4cb7-b405-60c7eaa791ec code: 40-3376 description: Concrete Pump Truck Supplier jobSubcontractId: 11a1eff4-e213-4036-a49e-2b7d8de66d71 quantity: 0.5 cost: 17.5 unitOfMeasure: MILE vendorContractItemId: 24476ea5-e866-4501-8fbc-1f37cd9b81f5 vendorContractId: 4c4effe8-d042-4889-9b33-edd6cc48df0f vendorContract: id: 8eca0a4a-678a-4ec0-900d-0c0f27daae7a vendorContract: VC-00001 description: First vendor contract vendor: id: 8eca0a4a-678a-4ec0-900d-0c0f27daae7a name: BOBS description: Bob's Clearing and Demolition costCodeTransactionTags: [] referenceNumber: '1234567890' invoiceNumber: '1234567890' isInvoiced: false isTm: false note: Crew was late unitCost: 35 salesTax: 0 lastModifiedDateTime: '2019-09-10T16:12:29Z' lastModifiedPreciseDateTime: '2019-09-10T16:12:29.9498214Z' metadata: nextCursor: DGDS93EaYwDQj4ggr0meNz6T7vkZpDqxLFIs2leWDww '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read /api/v1/timeCardApprovalInfo: get: tags: - TimeCard summary: Returns time card approvals description: "This call returns a paginated list of time card summary information with approvals for the specified job, foreman, and date range.\r\nIf there are additional pages, the response metadata will include a \"nextCursor\" field. That field should be passed as the \"cursor\" query parameter to request the next page of results." operationId: TimeCardController_GetTimeCardApprovalInfo parameters: - name: jobId in: query description: The job guid. If omitted, returns time cards across all jobs. schema: type: string format: uuid - name: foremanId in: query description: The foreman guid. If omitted, returns time cards across all foremen. schema: type: string format: uuid - name: employeeId in: query description: If specified, returns only time cards having this employee. schema: type: string format: uuid - name: startDate in: query description: The start date in yyyy-MM-dd format. If omitted, returns time cards from the beginning of time. (bounded by the end date). schema: type: string format: date-time - name: endDate in: query description: The end date in yyyy-MM-dd format. If omitted, returns time cards until the end of time. (bounded by the start date). schema: type: string format: date-time - name: modifiedSince in: query description: If specified, returns only records that have been modified since this time. In RFC-3339 format. (yyyy-MM-ddThh:mm:ssZ) Or (yyyy-MM-ddThh:mm:ss.FFFFFFFZ) schema: type: string format: date-time - name: cursor in: query description: Optional. When there are additional results, the metadata nextCursor field should be passed to retrieve the next page of results. schema: type: string - name: limit in: query description: The maximum number of results that should be returned. schema: type: integer format: int32 default: 1000 responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiTimeCardApprovalReadPaginatedResponse' example: results: - id: 54afcd7c-dc29-46c0-a566-321c48b14414 foreman: employeeId: d01d3fb9-c579-4cb7-b405-60c7eaa791ec employeeCode: FOREMANCODE employeeFirstName: Foreman employeeLastName: Name jobId: 8d6b8063-0465-48c1-b507-671ef42e29a9 businessUnitId: ccd69fe4-9b4f-4365-bef1-38c0eac381e3 date: '2019-01-01' revision: 3 shift: 1 lastModifiedDateTime: '2019-09-10T16:12:29Z' lastModifiedPreciseDateTime: '2019-09-10T16:12:29.9498214Z' sentToPayrollDateTime: '2019-02-28T03:01:15Z' sentToPayrollRevision: 1 isApproved: true lastChangedById: 8436b4bd-fd7b-44c8-8f02-f04d62945116 lastChangedByName: LastChanged Name isReviewed: true isAccepted: true isRejected: false isSentToPayroll: true approvedDateTime: '2019-09-10T16:12:29Z' approvedBy: employeeId: 8436b4bd-fd7b-44c8-8f02-f04d62945116 employeeFirstName: Approver First Name employeeLastName: Approver Last Name reviewedDateTime: '2019-09-10T16:12:29Z' reviewedBy: employeeId: 8436b4bd-fd7b-44c8-8f02-f04d62945116 employeeFirstName: Reviewer First Name employeeLastName: Reviewer Last Name acceptedDateTime: '2019-09-10T16:12:29Z' acceptedBy: employeeId: 8436b4bd-fd7b-44c8-8f02-f04d62945116 employeeFirstName: Accepter First Name employeeLastName: Accepter Last Name - id: 3cb13a22-97f8-4744-8a7a-42e3b0367b66 foreman: employeeId: d01d3fb9-c579-4cb7-b405-60c7eaa791ec employeeCode: FOREMANCODE employeeFirstName: Foreman employeeLastName: Name jobId: 8d6b8063-0465-48c1-b507-671ef42e29a9 businessUnitId: ccd69fe4-9b4f-4365-bef1-38c0eac381e3 date: '2019-02-03' revision: 1 shift: 1 lastModifiedDateTime: '2019-09-10T16:12:29Z' lastModifiedPreciseDateTime: '2019-09-10T16:12:29.9498214Z' lockedDateTime: '2019-09-10T16:12:29Z' isApproved: true lastChangedById: 8436b4bd-fd7b-44c8-8f02-f04d62945116 lastChangedByName: LastChanged Name lastPreparedById: 8436b4bd-fd7b-44c8-8f02-f04d62945116 lastPreparedByName: LastPrepared Name isReviewed: true isAccepted: true isRejected: false isSentToPayroll: true approvedDateTime: '2019-09-10T16:12:29Z' approvedBy: employeeId: 8436b4bd-fd7b-44c8-8f02-f04d62945116 employeeFirstName: Approver First Name employeeLastName: Approver Last Name reviewedDateTime: '2019-09-10T16:12:29Z' reviewedBy: employeeId: 8436b4bd-fd7b-44c8-8f02-f04d62945116 employeeFirstName: Reviewer First Name employeeLastName: Reviewer Last Name acceptedDateTime: '2019-09-10T16:12:29Z' acceptedBy: employeeId: 8436b4bd-fd7b-44c8-8f02-f04d62945116 employeeFirstName: Accepter First Name employeeLastName: Accepter Last Name rejectedDateTime: '2019-09-10T16:12:29Z' rejectedBy: employeeId: 8436b4bd-fd7b-44c8-8f02-f04d62945116 employeeFirstName: Rejecter First Name employeeLastName: Rejecter Last Name metadata: nextCursor: gCpeihFB1whbiZt1qIf1TbhL8TPbeRP2 '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - timecards:read /api/v1/timeCardInfo: get: tags: - TimeCard summary: Returns time cards description: "This call Returns a paginated list of time card summary information for the specified job, foreman, and date range.\r\nIf there are additional pages, the response metadata will include a \"nextCursor\" field. That field should be passed as the \"cursor\" query parameter to request the next page of results." operationId: TimeCardController_GetTimeCardInfo parameters: - name: jobId in: query description: The job guid. If omitted, returns time cards across all jobs. schema: type: string format: uuid - name: foremanId in: query description: The foreman guid. If omitted, returns time cards across all foremen. schema: type: string format: uuid - name: employeeId in: query description: If specified, returns only time cards having this employee. schema: type: string format: uuid - name: startDate in: query description: The start date in yyyy-MM-dd format. If omitted, returns time cards from the beginning of time. (bounded by the end date). schema: type: string format: date-time - name: endDate in: query description: The end date in yyyy-MM-dd format. If omitted, returns time cards until the end of time. (bounded by the start date). schema: type: string format: date-time - name: modifiedSince in: query description: If specified, returns only records that have been modified since this time. In RFC-3339 format. (yyyy-MM-ddThh:mm:ssZ) Or (yyyy-MM-ddThh:mm:ss.FFFFFFFZ) schema: type: string format: date-time - name: onlyTM in: query description: If true, returns only time cards with costs codes marked as T&M schema: type: boolean default: false - name: cursor in: query description: Optional. When there are additional results, the metadata nextCursor field should be passed to retrieve the next page of results. schema: type: string - name: limit in: query description: The maximum number of results that should be returned. schema: type: integer format: int32 default: 1000 responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiTimeCardInfoReadPaginatedResponse' example: results: - id: 54afcd7c-dc29-46c0-a566-321c48b14414 foremanId: d01d3fb9-c579-4cb7-b405-60c7eaa791ec jobId: 8d6b8063-0465-48c1-b507-671ef42e29a9 businessUnitId: ccd69fe4-9b4f-4365-bef1-38c0eac381e3 date: '2019-01-01' revision: 3 shift: 1 lastModifiedDateTime: '2019-09-10T16:12:29Z' lastModifiedPreciseDateTime: '2019-09-10T16:12:29.9498214Z' lockedDateTime: '2019-02-25T17:29:11Z' sentToPayrollDateTime: '2019-02-28T03:01:15Z' sentToPayrollRevision: 1 isApproved: true - id: 3cb13a22-97f8-4744-8a7a-42e3b0367b66 foremanId: d01d3fb9-c579-4cb7-b405-60c7eaa791ec jobId: 8d6b8063-0465-48c1-b507-671ef42e29a9 businessUnitId: ccd69fe4-9b4f-4365-bef1-38c0eac381e3 date: '2019-02-03' revision: 1 shift: 1 lastModifiedDateTime: '2019-09-10T16:12:29Z' lastModifiedPreciseDateTime: '2019-09-10T16:12:29.9498214Z' lockedDateTime: '2019-02-25T17:29:11Z' isApproved: true metadata: nextCursor: gCpeihFB1whbiZt1qIf1TbhL8TPbeRP2 '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - timecards:read /api/v1/timeCards/{id}: get: tags: - TimeCard summary: Returns the time card with the specified id. operationId: TimeCardController_GetTimeCard parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiTimeCardRead' example: id: 5a6d4a4c-f061-4b02-bbcd-c9f92fbb8819 foremanId: bcce40ea-d3c5-40ff-99ec-b60fe146cf39 foremanCode: SMITH foremanDescription: John Smith jobId: cc5f264d-e277-40ea-b313-c68c532cbac1 jobCode: 016-FLD jobDescription: Fountain lake subdivision businessUnitId: e1afcb90-9514-446d-b3e7-d0948827ab5c businessUnitCode: MANAGER businessUnitDescription: Non-enterprise date: '2019-01-01' revision: 5 isApproved: true approvedById: e78a0d3c-02ab-440b-b3ce-bb1048f52366 isReviewed: true reviewedById: af212780-f139-4474-b55e-38a649fd42a6 isAccepted: true acceptedById: ed674c6a-a6b9-4d0c-b43b-bd544bac806f isRejected: false sentToPayrollRevision: 0 sentToPayrollDateTime: '2019-03-03T15:30:00Z' lastModifiedDateTime: '2019-03-01T12:05:05Z' lockedDateTime: '2019-02-25T17:29:11Z' costCodes: - timeCardCostCodeId: c451c16d-f040-42f2-bfd4-fb682dd45975 costCodeId: 85e35caa-f65c-4a29-bb9a-9796bb0a1ae3 costCodeCode: PAVE-L costCodeDescription: Pave left hand turn lane isRework: false isTm: false quantity: 20.5 unitOfMeasure: yards column: 1 employees: - timeCardEmployeeId: 2ceca427-2eb6-44ee-879a-db7a7ec2f732 employeeId: 42c0c2b4-eb11-46c0-ba1d-835d34a686e1 employeeCode: SMITH employeeDescription: John Smith payClassId: 0287ad5a-c4ab-4573-bfd2-0aa71f6e32b7 payClassCode: LABORER payClassDescription: Standard labor regularHours: - timeCardCostCodeId: c451c16d-f040-42f2-bfd4-fb682dd45975 hours: 6.5 - timeCardCostCodeId: c451c16d-f040-42f2-bfd4-fb682dd45975 tagId: 06f02f40-721a-485a-b9d9-6c0fbe39200f tagCode: A hours: 1.5 overtimeHours: [] doubleOvertimeHours: [] costAdjustments: - costAdjustmentType: day quantity: 1.3 costAdjustmentId: 93a24a06-cb60-4462-bc45-498ced93f85f costAdjustmentCode: NS costAdjustmentDescription: Night Shift order: 1 equipment: - timeCardEquipmentId: c1a54d6b-fe5c-48d8-b415-885841ba7eb6 equipmentId: dd296262-e3d9-454f-b73b-5ce9fe5bbd68 equipmentCode: CRANE equipmentDescription: Tower Crane payClassId: 27809d57-bf53-442c-b4a5-86a2bd921257 payClassCode: PC1 payClassDescription: Operating pay class linkedTimeCardEmployeeId: 2ceca427-2eb6-44ee-879a-db7a7ec2f732 totalHours: - timeCardCostCodeId: c451c16d-f040-42f2-bfd4-fb682dd45975 tagId: ff1eccce-3346-41ac-8aaf-404cd3bd1740 tagCode: M hours: 5.5 ownershipHours: [] operatingHours: [] order: 2 '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - timecards:read put: tags: - TimeCard summary: Updates time card description: Updates an existing time card by id. Sent-to-payroll revision and sent-to-payroll datetime are the only fields supported at this time. operationId: TimeCardController_UpdateTimeCard parameters: - name: id in: path description: The id of the time card to be updated. required: true schema: type: string format: uuid requestBody: description: The set of values to be updated. Currently only sent-to-payroll revision and sent-to-payroll datetime. content: application/json: schema: $ref: '#/components/schemas/ApiTimeCardUpdate' example: sentToPayrollRevision: 2 sentToPayrollDateTime: '2019-12-10T10:20:15Z' text/json: schema: $ref: '#/components/schemas/ApiTimeCardUpdate' example: sentToPayrollRevision: 2 sentToPayrollDateTime: '2019-12-10T10:20:15Z' application/*+json: schema: $ref: '#/components/schemas/ApiTimeCardUpdate' example: sentToPayrollRevision: 2 sentToPayrollDateTime: '2019-12-10T10:20:15Z' required: true responses: '204': description: No Content '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. '404': description: The specified resource is not found. security: - bearer: - timecards:write /api/v1/businessUnits/{businessUnitId}/missingTimeCards: get: tags: - TimeCard summary: Returns list of foremen with missing time cards for a specified business unit and date who have previously submitted in a specified date range. operationId: TimeCardController_GetMissingTimeCardForemen parameters: - name: businessUnitId in: path description: The business unit guid defaulted to the user's current business unit. required: true schema: type: string format: uuid - name: startDate in: query description: The start date in yyyy-MM-dd format. (bound by the end date) required: true schema: type: string format: date-time - name: endDate in: query description: The end date in yyyy-MM-dd format. (bound by the start date) required: true schema: type: string format: date-time - name: targetDate in: query description: The time card date in yyyy-MM-dd format. required: true schema: type: string format: date-time responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiEmployeeSlimRead' '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - timecards:read /api/v1/timeCardEquipment: get: tags: - TimeCard summary: Returns time card data using a piece of equipment description: This call returns time card data for time cards that used a given piece of equipment on a given date. operationId: TimeCardController_FindTimeCardsForEquipmentAsync parameters: - name: equipmentId in: query description: The equipment Id to search for schema: type: string format: uuid - name: equipmentCode in: query description: The equipment code to search for (optional instead of equipmentId) schema: type: string - name: date in: query description: The date to search on schema: type: string format: date-time responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiFoundEquipmentOnTimeCardRead' example: - date: '2021-04-04T00:00:00' timeCardId: e4c4352d-258a-4be1-a575-bf93f00632f0 jobId: bc66ef22-ed8b-4c6b-b9d2-3aca86e684ce jobCode: Job1 jobDescription: Job1 in BU 1 businessUnitId: 5a48a406-1d74-4441-b7e7-29321ce05787 businessUnitCode: TESTBU foreman: employeeId: e94c57ae-8c31-4e37-9eef-d053da6f354f employeeCode: Employee 1 employeeFirstName: James employeeLastName: Smith operators: - employeeId: d8b4ec9c-b23a-4339-a212-7afc3a5aeca6 employeeCode: Employee 2 employeeFirstName: John employeeLastName: Smith - date: '2021-04-05T00:00:00' timeCardId: 72607a2c-e32e-4ef9-9f9c-b6fd05421520 jobId: 491c56dc-d303-4d45-bdc8-1b22c66cf89a jobCode: Job2 jobDescription: Job2 in BU 1 businessUnitId: 0657c33c-b38b-4f70-b415-04c9bf416b88 businessUnitCode: TESTBU foreman: employeeId: 10f2facb-171f-4a7d-881b-27257fcbf45b employeeCode: Employee 1 employeeFirstName: James employeeLastName: Smith operators: [] '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read /api/v1/users/{id}: get: tags: - User summary: Returns a user description: "This call returns the user's first name, last name, email address, and the\r\nassociated employee for the specified id." operationId: UserController_GetUser parameters: - name: id in: path description: The user id. required: true schema: type: string format: uuid responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiUserRead' example: id: 8436b4bd-fd7b-44c8-8f02-f04d62945116 firstName: First lastName: Last email: first.last@email.com employee: id: 5b8060b7-1e99-44d7-8cac-2747c73a2fbd code: Employee 1 firstName: James lastName: Smith '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read /api/v1/userAccessGroup/search: post: tags: - UserAccessGroup summary: Returns list of users' access groups description: This call returns the users' access groups. operationId: UserAccessGroupController_GetAllAsync requestBody: description: Request object containing the user Ids content: application/json: schema: $ref: '#/components/schemas/UserAccessGroupAdvancedRequest' text/json: schema: $ref: '#/components/schemas/UserAccessGroupAdvancedRequest' application/*+json: schema: $ref: '#/components/schemas/UserAccessGroupAdvancedRequest' responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiUserAccessGroup' example: - userId: 2a7e2e5f-fb73-46a3-a8b5-fa597435d383 accessGroupId: eaca3286-2b93-4e73-9dbc-31fc41577b46 - userId: edfa6fd1-5b10-4956-af0e-16e99c4eca8f accessGroupId: 4f38563c-f4b4-4f0e-b0fe-e29d158b72e4 '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:users:read /api/v1/userAccessGroup: patch: tags: - UserAccessGroup summary: Updates access group for users description: This call updates the users' access group. operationId: UserAccessGroupController_UpdateAsync requestBody: description: List of items representing user access groups content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiUserAccessGroup' example: - userId: 2a7e2e5f-fb73-46a3-a8b5-fa597435d383 accessGroupId: eaca3286-2b93-4e73-9dbc-31fc41577b46 - userId: edfa6fd1-5b10-4956-af0e-16e99c4eca8f accessGroupId: 4f38563c-f4b4-4f0e-b0fe-e29d158b72e4 text/json: schema: type: array items: $ref: '#/components/schemas/ApiUserAccessGroup' example: - userId: 2a7e2e5f-fb73-46a3-a8b5-fa597435d383 accessGroupId: eaca3286-2b93-4e73-9dbc-31fc41577b46 - userId: edfa6fd1-5b10-4956-af0e-16e99c4eca8f accessGroupId: 4f38563c-f4b4-4f0e-b0fe-e29d158b72e4 application/*+json: schema: type: array items: $ref: '#/components/schemas/ApiUserAccessGroup' example: - userId: 2a7e2e5f-fb73-46a3-a8b5-fa597435d383 accessGroupId: eaca3286-2b93-4e73-9dbc-31fc41577b46 - userId: edfa6fd1-5b10-4956-af0e-16e99c4eca8f accessGroupId: 4f38563c-f4b4-4f0e-b0fe-e29d158b72e4 responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiUserAccessGroupUpdateResponse' example: - id: 309dcd94-2c42-43b8-9d71-ed61560a6d2e userId: 2a7e2e5f-fb73-46a3-a8b5-fa597435d383 accessGroupId: eaca3286-2b93-4e73-9dbc-31fc41577b46 success: true message: '' - id: b030cf56-4aa8-4138-9c0d-f8ee636b7c2a userId: edfa6fd1-5b10-4956-af0e-16e99c4eca8f accessGroupId: 4f38563c-f4b4-4f0e-b0fe-e29d158b72e4 success: false message: The userId provided does not exist '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:users:write /api/v1/vendors: get: tags: - Vendor summary: Returns vendors description: This call returns a list of vendors. operationId: VendorController_GetAllVendors responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiVendorReadV1' example: - id: 309dcd94-2c42-43b8-9d71-ed61560a6d2e name: Home Depot description: Home improvement retailer address1: 234 Third Street address2: '#122' city: Sugar Land state: TX zip: 77478-2336 country: USA '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read post: tags: - Vendor summary: Creates a new vendor. Names and descriptions may be duplicated. operationId: VendorController_CreateVendor requestBody: description: The vendor to be created content: application/json: schema: $ref: '#/components/schemas/ApiVendorWrite' example: name: Whole Foods description: Berry Chantilly Cake store address1: 456 3rd Ave address2: '' city: Houston state: TX zip: 77063-8767 country: USA text/json: schema: $ref: '#/components/schemas/ApiVendorWrite' example: name: Whole Foods description: Berry Chantilly Cake store address1: 456 3rd Ave address2: '' city: Houston state: TX zip: 77063-8767 country: USA application/*+json: schema: $ref: '#/components/schemas/ApiVendorWrite' example: name: Whole Foods description: Berry Chantilly Cake store address1: 456 3rd Ave address2: '' city: Houston state: TX zip: 77063-8767 country: USA required: true responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiVendorReadV1' example: id: 10b98b7e-5015-4b7e-a1a6-56166dbcbd37 name: HEB description: Texas-based grocery chain address1: 123 Main St address2: Suite 120 city: Sugar Land state: TX zip: 77478-8765 country: USA '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:write /api/v2/vendors: get: tags: - Vendor summary: Returns a list of vendors, respecting the isDeleted and modifiedSince parameters. operationId: VendorController_GetAllVendorsV2 parameters: - name: isDeleted in: query schema: type: boolean - name: modifiedSince in: query schema: type: string format: date-time responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiVendorReadV2' example: - id: 309dcd94-2c42-43b8-9d71-ed61560a6d2e isDeleted: false name: Home Depot description: Home improvement retailer address1: 234 Third Street address2: '#122' city: Sugar Land state: TX zip: 77478-2336 country: USA '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read /api/v1/vendors/{id}: put: tags: - Vendor summary: Updates a vendor description: This call updates an existing vendor by its id. operationId: VendorController_UpdateVendor parameters: - name: id in: path description: The id of the existing vendor required: true schema: type: string format: uuid requestBody: description: The vendor details to be updated content: application/json: schema: $ref: '#/components/schemas/ApiVendorWrite' example: name: Whole Foods description: Berry Chantilly Cake store address1: 456 3rd Ave address2: '' city: Houston state: TX zip: 77063-8767 country: USA text/json: schema: $ref: '#/components/schemas/ApiVendorWrite' example: name: Whole Foods description: Berry Chantilly Cake store address1: 456 3rd Ave address2: '' city: Houston state: TX zip: 77063-8767 country: USA application/*+json: schema: $ref: '#/components/schemas/ApiVendorWrite' example: name: Whole Foods description: Berry Chantilly Cake store address1: 456 3rd Ave address2: '' city: Houston state: TX zip: 77063-8767 country: USA required: true responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiVendorReadV1' example: id: 10b98b7e-5015-4b7e-a1a6-56166dbcbd37 name: HEB description: Texas-based grocery chain address1: 123 Main St address2: Suite 120 city: Sugar Land state: TX zip: 77478-8765 country: USA '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:write delete: tags: - Vendor summary: Deletes a vendor by its id. operationId: VendorController_DeleteVendor parameters: - name: id in: path description: The vendor id required: true schema: type: string format: uuid responses: '204': description: No Content '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:write /api/v1/jobs/{jobId}/vendorContracts: get: tags: - VendorContract summary: Returns vendor contracts description: 'DEPRECATED Please use the endpoint "/api/v1/vendorContracts"

This call returns a list of vendor contracts for the specified job.' operationId: VendorContractController_GetVendorContracts parameters: - name: jobId in: path description: The job to query by. required: true schema: type: string format: uuid responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiVendorContractRead' example: - id: e2564621-aa1c-4d67-98d5-35f097c18345 jobId: 903d1670-5164-4eb3-b165-2163e11d287c orderStatus: inProgress dateIssued: '2019-01-01' vendorName: Smith Company vendorDescription: Smith & Sons Contracting Company vendorContract: VC2 description: Unassigned Subcontracts vendorId: 48388ca5-5175-4f7c-825e-200d781ad570 '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. deprecated: true security: - bearer: - heavyjob:read post: tags: - VendorContract summary: Creates a new vendor contract. operationId: VendorContractController_CreateVendorContract parameters: - name: jobId in: path description: The job id. required: true schema: type: string format: uuid requestBody: description: The vendor contract to be created. content: application/json: schema: $ref: '#/components/schemas/ApiVendorContractCreate' example: vendorContract: VCConcrete orderStatus: inProgress dateIssued: '2019-01-01' description: Subcontract for concrete pour vendorId: 563a5017-2405-4c07-85d3-518caae7d374 text/json: schema: $ref: '#/components/schemas/ApiVendorContractCreate' example: vendorContract: VCConcrete orderStatus: inProgress dateIssued: '2019-01-01' description: Subcontract for concrete pour vendorId: 563a5017-2405-4c07-85d3-518caae7d374 application/*+json: schema: $ref: '#/components/schemas/ApiVendorContractCreate' example: vendorContract: VCConcrete orderStatus: inProgress dateIssued: '2019-01-01' description: Subcontract for concrete pour vendorId: 563a5017-2405-4c07-85d3-518caae7d374 required: true responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiVendorContractRead' example: id: eb918b91-acac-4498-9db8-35248ebb1bce jobId: d805eafa-bcd2-41a9-9f82-264cd2d6a104 orderStatus: inProgress dateIssued: '2019-01-01' vendorName: Smith Company vendorDescription: Smith & Sons Contracting Company vendorContract: VCConcrete description: Subcontract for concrete pour vendorId: 563a5017-2405-4c07-85d3-518caae7d374 '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:write /api/v1/vendorContracts: get: tags: - VendorContract summary: Returns vendor contracts description: This call returns a list of vendor contracts for a specified job, business unit, vendor contract or modified since date. operationId: VendorContractController_GetVendorContractsPaginated parameters: - name: jobId in: query description: The job id. schema: type: string format: uuid - name: businessUnitId in: query description: The business unit id. schema: type: string format: uuid - name: vendorContractId in: query description: The vendor contract id. schema: type: string format: uuid - name: modifiedSince in: query description: The date of the last modification. schema: type: string format: date-time - name: isDeleted in: query description: If true, returns deleted vendor contract items. schema: type: boolean - name: limit in: query description: The maximum number of results that should be returned. schema: maximum: 1000 minimum: 1 type: integer format: int32 default: 1000 - name: cursor in: query description: Optional. When there are additional results, the metadata nextCursor field should be passed to retrieve the next page of results. schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiVendorContractReadV2PaginatedResponse' example: results: - id: 98ba5148-da4b-4a70-b8cc-183b173b0fb1 jobId: bc66ef22-ed8b-4c6b-b9d2-3aca86e684ce job: jobId: bc66ef22-ed8b-4c6b-b9d2-3aca86e684ce jobCode: Job1 jobDescription: Job1 in BU 1 vendorContract: VC-1 description: Vendor Contract 1 orderStatus: inProgress dateIssued: '2022-09-20' vendorId: 719d406e-ceb5-4618-820a-167af0d9d1ca vendor: id: 719d406e-ceb5-4618-820a-167af0d9d1ca name: Vendor1 Name description: Vendor 1 isDeleted: false metadata: nextCursor: DGDS93EaYwDQj4ggr0meNz6T7vkZpDqxLFIs2leWDww '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read /api/v1/vendorContracts/{id}: put: tags: - VendorContract summary: Updates a vendor contract description: "This call updates an existing vendor contract by its id. Cancelling a vendor\r\ncontract is not supported yet." operationId: VendorContractController_UpdateVendorContract parameters: - name: id in: path description: The vendor contract id. required: true schema: type: string format: uuid requestBody: description: The vendor contract details to be updated. content: application/json: schema: $ref: '#/components/schemas/ApiVendorContractUpdate' example: orderStatus: inProgress dateIssued: '2019-01-01' description: Subcontract for concrete pour vendorContract: VCConcrete vendorId: 563a5017-2405-4c07-85d3-518caae7d374 text/json: schema: $ref: '#/components/schemas/ApiVendorContractUpdate' example: orderStatus: inProgress dateIssued: '2019-01-01' description: Subcontract for concrete pour vendorContract: VCConcrete vendorId: 563a5017-2405-4c07-85d3-518caae7d374 application/*+json: schema: $ref: '#/components/schemas/ApiVendorContractUpdate' example: orderStatus: inProgress dateIssued: '2019-01-01' description: Subcontract for concrete pour vendorContract: VCConcrete vendorId: 563a5017-2405-4c07-85d3-518caae7d374 required: true responses: '204': description: No Content '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:write /api/v1/vendorContracts/{vendorContractId}/details: get: tags: - VendorContract summary: Returns a list of vendor contract details. operationId: VendorContractController_GetVendorContractDetails parameters: - name: vendorContractId in: path required: true schema: type: string format: uuid responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiVendorContractDetailRead' example: - id: 70d6d634-66c6-45d2-8b79-a6a5276ec88f vendorContractId: 15d98e0f-9b7d-423d-ad51-24394749a6d3 jobSubcontractId: dd27f2a2-3061-44bc-9b08-1b1cae6fed9c sequence: 10.1 isComplete: false note: Note 1 quantity: 100.5 unitCost: 10.5 unitOfMeasure: EA salesTaxPercent: 8.25 isCancelled: false alternateDescription: alt description vendorItemNumber: 180.00.1 '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read post: tags: - VendorContract summary: Creates a vendor contract detail description: This call creates a new vendor contract detail. operationId: VendorContractController_CreateVendorContractDetails parameters: - name: vendorContractId in: path description: The vendor contract id. required: true schema: type: string format: uuid requestBody: description: The vendor contract detail to be created. content: application/json: schema: $ref: '#/components/schemas/ApiVendorContractDetailWrite' example: jobSubcontractId: 943b4d54-a063-4587-8241-69877ab20ed0 sequence: 15.5 note: Vendor contract detail note quantity: 245.5 unitCost: 14.75 unitOfMeasure: TON salesTaxPercent: 10.25 isCancelled: false alternateDescription: Alternate description vendorItemNumber: VCI-1 isComplete: false text/json: schema: $ref: '#/components/schemas/ApiVendorContractDetailWrite' example: jobSubcontractId: 943b4d54-a063-4587-8241-69877ab20ed0 sequence: 15.5 note: Vendor contract detail note quantity: 245.5 unitCost: 14.75 unitOfMeasure: TON salesTaxPercent: 10.25 isCancelled: false alternateDescription: Alternate description vendorItemNumber: VCI-1 isComplete: false application/*+json: schema: $ref: '#/components/schemas/ApiVendorContractDetailWrite' example: jobSubcontractId: 943b4d54-a063-4587-8241-69877ab20ed0 sequence: 15.5 note: Vendor contract detail note quantity: 245.5 unitCost: 14.75 unitOfMeasure: TON salesTaxPercent: 10.25 isCancelled: false alternateDescription: Alternate description vendorItemNumber: VCI-1 isComplete: false required: true responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiVendorContractDetailRead' example: id: 70d6d634-66c6-45d2-8b79-a6a5276ec88f vendorContractId: 15d98e0f-9b7d-423d-ad51-24394749a6d3 jobSubcontractId: dd27f2a2-3061-44bc-9b08-1b1cae6fed9c sequence: 20.1 isComplete: false note: Note 1 quantity: 100.5 unitCost: 10.5 unitOfMeasure: EA salesTaxPercent: 8.25 isCancelled: false alternateDescription: alt5 vendorItemNumber: 180.00.5 '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:write /api/v1/vendorContractItems: get: tags: - VendorContract summary: Returns vendor contract items description: This call returns a list of vendor contract items for the specified job, business unit, vendor contract, and modified since date. operationId: VendorContractController_GetVendorContractItemsPaginated parameters: - name: jobId in: query description: The job id. schema: type: string format: uuid - name: businessUnitId in: query description: The business unit id. schema: type: string format: uuid - name: vendorContractId in: query description: The vendor contract id. schema: type: string format: uuid - name: modifiedSince in: query description: The date of the last modification. schema: type: string format: date-time - name: isDeleted in: query description: If true, returns deleted vendor contract items. schema: type: boolean - name: limit in: query description: The maximum number of results that should be returned. schema: maximum: 1000 minimum: 1 type: integer format: int32 default: 1000 - name: cursor in: query description: Optional. When there are additional results, the metadata nextCursor field should be passed to retrieve the next page of results. schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiVendorContractItemReadPaginatedResponse' example: results: - id: 5b682097-2fd9-4e84-b748-3ee7ccb552d1 vendorContractId: 62e17f59-a998-47ac-a486-f3dd5fe422d4 jobSubcontractItemId: ed3c99f6-b0d6-42ca-a738-82d93debb279 subcontractItem: id: b4740609-63fd-4f8e-8e0e-f77a8d15ef55 code: SUB1 description: Subcontract Item 1 sequence: 10.5 isCompleted: false note: VCI-1 description: Vendor Contract Item 1 quantity: 250 unitCost: 25.15 unitOfMeasure: SF salesTaxPercent: 10.25 isCancelled: false isDeleted: false vendorItemNumber: VI-1 metadata: nextCursor: DGDS93EaYwDQj4ggr0meNz6T7vkZpDqxLFIs2leWDww '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:read /api/v1/vendorContracts/details/{id}: put: tags: - VendorContract summary: Updates a vendor contract detail description: "This call updates an existing vendor contract detail by its id.\r\nCurrently, update is limited to IsCompleted field only." operationId: VendorContractController_UpdateVendorContractDetail parameters: - name: id in: path description: The vendor contract detail id. required: true schema: type: string format: uuid requestBody: description: The vendor contract details to be updated. content: application/json: schema: $ref: '#/components/schemas/ApiVendorContractDetailUpdate' example: isComplete: true text/json: schema: $ref: '#/components/schemas/ApiVendorContractDetailUpdate' example: isComplete: true application/*+json: schema: $ref: '#/components/schemas/ApiVendorContractDetailUpdate' example: isComplete: true required: true responses: '204': description: No Content '400': description: Bad Request. See https://developer.hcssapps.com/getting-started/troubleshoot-bad-request for more information. '401': description: Unauthorized. See https://developer.hcssapps.com/getting-started/troubleshoot-unauthorized for more information. '403': description: Forbidden. See https://developer.hcssapps.com/getting-started/troubleshoot-forbidden for more information. security: - bearer: - heavyjob:write components: schemas: AccountingEntity: enum: - payClass - labor - equipment - trucking - material - subcontract - supplies - x1 - x2 - x3 - job - payAdjustments - businessUnit - costCode - workersComp - customCostType - purchaseOrder - purchaseOrderDetail - vendorContract - vendorContractDetail - payItem - unknown type: string AccountingValuesSearchRequest: type: object properties: businessUnitId: type: string description: The businessUnit Id format: uuid entityIds: type: array items: type: string format: uuid description: List of entity Ids nullable: true cursor: type: string description: "Optional. \r\nWhen there are additional results, the metadata nextCursor field\r\nshould be passed to retrieve the next page of results." nullable: true limit: type: integer description: The maximum number of results that should be returned. format: int32 nullable: true entityType: $ref: '#/components/schemas/AccountingEntity' additionalProperties: false description: Accounting Values Search Request ApiAccessGroupRead: required: - id - name type: object properties: id: type: string description: The role id. format: uuid name: minLength: 1 type: string description: The role name. description: type: string description: The role description. nullable: true lastChangedById: type: string description: The guid of the user who last modified the role. format: uuid nullable: true subscriptionType: $ref: '#/components/schemas/SubscriptionType' applicationType: $ref: '#/components/schemas/ApplicationType' isDeleted: type: boolean description: Is the role deleted. additionalProperties: false description: A POCO that represents a a role returned by the API. ApiAccountingValuesRead: type: object properties: value: type: string description: The value. nullable: true readOnly: true description: type: string description: The custom description of the accounting value. nullable: true code: type: string description: The code. nullable: true accountingValueId: type: string description: The Id for the accounting value. format: uuid parentId: type: string description: The Id of the parent entity. format: uuid nullable: true dataType: $ref: '#/components/schemas/DataType' additionalProperties: false description: Accounting values object ApiAccountingValuesReadPaginatedResponse: required: - metadata - results type: object properties: results: type: array items: $ref: '#/components/schemas/ApiAccountingValuesRead' description: The paginated results. metadata: $ref: '#/components/schemas/ApiAccountingValuesReadResponseMetadata' additionalProperties: false description: A POCO that represents a cursor-paginated response from the server. ApiAccountingValuesReadResponseMetadata: type: object properties: nextCursor: type: string description: "If non-null, specifies the cursor that will return\r\nthe next set of results." nullable: true additionalProperties: false description: "Contains metadata about a paginated response. (may be later\r\nexpanded to include the limit, count, etc.)" ApiAdjustmentWrite: required: - adjustment - jobCostCodeId type: object properties: jobCostCodeId: type: string description: Id of the cost code for the adjustment. format: uuid adjustment: type: number description: Quantity adjustment value. format: double note: maxLength: 500 type: string description: Note for the adjustment. nullable: true additionalProperties: false description: POCO representing an adjustment to be created. ApiAttachmentAdvancedRead: type: object properties: attachmentId: type: string description: The JM_AttachmentId of the Attachment format: uuid transactionAttachmentId: type: string description: The JM_TransactionAttachmentId of the Attachment format: uuid job: $ref: '#/components/schemas/ApiJobCompactRead' employee: $ref: '#/components/schemas/ApiEmployeeCompactRead' mimeType: type: string description: The MIME type of the file, such as image/jpeg or application/pdf nullable: true name: type: string description: Attachment Name nullable: true referenceDate: type: string description: The reference date the attachment is applicable to format: date-time driveFileId: type: string description: Drive file id format: uuid nullable: true attachmentUrl: type: string description: The full url of the attachment nullable: true thumbnailUrl: type: string description: The thumbnail url of the image, or a placeholder thumbnail for non-image files nullable: true attachmentHeight: type: integer description: The height of the attachment (0 for non-images) format: int32 attachmentWidth: type: integer description: The width of the attachment (0 for non-images) format: int32 thumbnailHeight: type: integer description: The height of the thumbnail format: int32 thumbnailWidth: type: integer description: The width of the thumbnail format: int32 latitude: type: number description: The latitude where the attachment originates format: double nullable: true longitude: type: number description: The longitude where the attachment originates format: double nullable: true sourceName: type: string description: The entity name from whom the attachment originates nullable: true note: type: string description: Notes attached to the attachment nullable: true additionalProperties: false description: Represents an Attachment to a Job by a foreman ApiAttachmentAdvancedReadPaginatedResponse: required: - metadata - results type: object properties: results: type: array items: $ref: '#/components/schemas/ApiAttachmentAdvancedRead' description: The paginated results. metadata: $ref: '#/components/schemas/ApiAttachmentAdvancedReadResponseMetadata' additionalProperties: false description: A POCO that represents a cursor-paginated response from the server. ApiAttachmentAdvancedReadResponseMetadata: type: object properties: nextCursor: type: string description: "If non-null, specifies the cursor that will return\r\nthe next set of results." nullable: true additionalProperties: false description: "Contains metadata about a paginated response. (may be later\r\nexpanded to include the limit, count, etc.)" ApiAttachmentInfo: type: object properties: fileId: type: string description: The file id from the Attachments API format: uuid note: type: string description: The attachment note nullable: true additionalProperties: false description: A POCO that represents attachment information. ApiAttachmentWrite: type: object properties: transactionDate: type: string description: The transaction date format: date-time jobId: type: string description: The job id format: uuid foremanId: type: string description: The foreman id format: uuid attachmentInfos: type: array items: $ref: '#/components/schemas/ApiAttachmentInfo' description: The attachment infos nullable: true additionalProperties: false description: A POCO that represents an attachment to be created by the API. ApiAttendanceHourTagRead: required: - code - id type: object properties: id: type: string description: The attendance hour tag id. format: uuid code: minLength: 1 type: string description: The code. description: type: string description: The description. nullable: true regularTimeDescription: type: string description: The regular-time description. nullable: true overtimeDescription: type: string description: The overtime description. nullable: true doubleOvertimeDescription: type: string description: The double overtime description. nullable: true applyCost: $ref: '#/components/schemas/ApplyCostType' affectsOvertimeCalculation: type: boolean description: Returns whether the non-work hour code will be used in the Timecard Tool's overtime calculation additionalProperties: false description: A POCO that represents a slice of attendance hour tag state returned by the API. ApiBusinessUnitCostTypeCompactRead: required: - businessUnitId - code - description - id - isDeleted type: object properties: id: type: string description: The cost category (custom-cost-type) id. format: uuid code: minLength: 1 type: string description: The cost category (custom-cost-type) code. businessUnitId: type: string description: The business unit id. format: uuid description: maxLength: 100 minLength: 0 type: string description: The cost category (custom-cost-type) description. isDeleted: type: boolean description: True if the the cost category (custom-cost-type) is deleted. additionalProperties: false description: A POCO that represents a slice of cost category (custom-cost-type) state returned by the API. ApiBusinessUnitPreferencesRead: type: object properties: defaultLaborRateSetId: type: string description: ID of the default labor rate set to apply to a new job. format: uuid nullable: true defaultPayClassId: type: string description: ID of the default pay class to apply to a new employee. format: uuid nullable: true defaultEquipmentRateSetId: type: string description: ID of the default equipment rate set to apply to a new job. format: uuid nullable: true startOfPayWeek: $ref: '#/components/schemas/DayOfWeek' truckingCostTypeId: type: string description: The custom cost type id that the trucking cost maps to. format: uuid nullable: true additionalProperties: false description: A POCO that represents the preferences for a business unit. ApiBusinessUnitPreferencesWrite: type: object properties: defaultLaborRateSetId: type: string description: ID of the default labor rate set to apply to a new job. format: uuid nullable: true defaultEquipmentRateSetId: type: string description: ID of the default equipment rate set to apply to a new job. format: uuid nullable: true startOfPayWeek: $ref: '#/components/schemas/DayOfWeek' additionalProperties: false description: A POCO that represents the preferences for a business unit. ApiBusinessUnitRead: required: - code - id type: object properties: id: type: string description: The master id. format: uuid credentialsId: type: string description: The credentials id. Optional, and not always the same as Id. format: uuid nullable: true code: minLength: 1 type: string description: The code (user-specified shorthand) description: type: string description: An optional description. nullable: true additionalProperties: false description: "A POCO that represents a slice of business unit state returned by the\r\nAPI." ApiConnexOrderItemRead: required: - materialCode - quantity type: object properties: materialCode: minLength: 1 type: string description: The code of the material for this line item. quantity: type: number description: The quantity to be delivered for this line item. format: double unitOfMeasure: type: string description: The unit of measure for this line item. nullable: true additionalProperties: false description: A POCO representing a line item on an order from the CONNEX Platform. ApiConnexOrderRead: required: - businessUnitId - id - jobId - lineItems - status type: object properties: businessUnitId: type: string description: The business unit with which this order is associated. format: uuid deliveryWindowStart: type: string description: Start of delivery window. format: date-time nullable: true deliveryWindowEnd: type: string description: End of delivery window. format: date-time nullable: true deliveryLocation: type: string description: Delivery location. nullable: true id: type: integer description: Id of the CONNEX Order. format: int32 orderRequestRef: type: string description: The CONNEX order request ref id. format: uuid jobId: type: string description: Id of the job with which the order is associated. format: uuid purchaseOrderDescription: type: string description: Description of the purchase order for this order. nullable: true status: minLength: 1 type: string description: Release order status. vendorName: type: string description: The name of the vendor for this order. nullable: true lineItems: type: array items: $ref: '#/components/schemas/ApiConnexOrderItemRead' description: Items to be delivered as part of this order. additionalProperties: false description: A POCO representing an order from the CONNEX Platform. ApiConnexOrderReadPaginatedResponse: required: - metadata - results type: object properties: results: type: array items: $ref: '#/components/schemas/ApiConnexOrderRead' description: The paginated results. metadata: $ref: '#/components/schemas/ApiConnexOrderReadResponseMetadata' additionalProperties: false description: A POCO that represents a cursor-paginated response from the server. ApiConnexOrderReadResponseMetadata: type: object properties: nextCursor: type: string description: "If non-null, specifies the cursor that will return\r\nthe next set of results." nullable: true additionalProperties: false description: "Contains metadata about a paginated response. (may be later\r\nexpanded to include the limit, count, etc.)" ApiConnexTicketAdvancedRequest: required: - businessUnitId type: object properties: businessUnitId: type: string description: Business Unit Id. format: uuid jobIds: type: array items: type: string format: uuid description: List of job ids. nullable: true jobTagIds: type: array items: type: string format: uuid description: List of job tag ids. nullable: true startDate: type: string description: Start Datetime in UTC in ISO8601 format. (e.g. 2022-04-29T14:03:26Z) format: date-time nullable: true endDate: type: string description: End Datetime in UTC in ISO8601 format. (e.g. 2022-04-29T14:03:26Z) format: date-time nullable: true cursor: type: string description: "Optional. \r\nWhen there are additional results, the metadata nextCursor\r\nfield should be passed to retrieve the next page of results." nullable: true limit: type: integer description: The maximum number of items to return. format: int32 nullable: true additionalProperties: false description: POCO for requesting CONNEX Tickets. ApiConnexTicketItemPatch: type: object properties: materialCode: type: string description: The material (i.e. product) code for this CONNEX Ticket. nullable: true connexProductId: type: string description: Id of the product from CONNEX. nullable: true quantity: type: number description: The amount of material for this ticket. format: double nullable: true unitOfMeasure: type: string description: The unit of measure for the quantity of this ticket. nullable: true unitPrice: type: number description: The price per unit for this item. format: double nullable: true materialId: type: string description: HeavyJob material id for this ticket item. format: uuid nullable: true isPrimary: type: boolean description: Indicates whether this product is the primary product on the CONNEX ticket. nullable: true additionalProperties: false description: A POCO used to create or update a CONNEX ticket item. ApiConnexTicketItemRead: type: object properties: id: type: string description: The id of this record. format: uuid materialCode: type: string description: The material (i.e. product) code for this CONNEX Ticket. nullable: true connexProductId: type: string description: Id of the product from CONNEX. nullable: true quantity: type: number description: The amount of material for this ticket. format: double nullable: true unitPrice: type: number description: The price per unit for this item. format: double nullable: true unitOfMeasure: type: string description: The unit of measure for the quantity of this item. nullable: true materialType: $ref: '#/components/schemas/MaterialType' materialId: type: string description: HeavyJob material id for this ticket item. format: uuid nullable: true material: $ref: '#/components/schemas/ApiMaterialSubCustomCostRead' additionalProperties: false description: A POCO representing a Connex Ticket Item. ApiConnexTicketPatch: required: - jobId type: object properties: connexId: type: string description: The Id of the CONNEX Ticket. nullable: true date: type: string description: Date and time for the Ticket. format: date-time nullable: true jobId: type: string description: The id of the job with which this ticket is associated. format: uuid connexStatus: $ref: '#/components/schemas/ConnexTicketStatus' supplier: type: string description: Description of the supplier from CONNEX. nullable: true carrier: type: string description: Description of the carrier from CONNEX. nullable: true driver: type: string description: Description of the driver from CONNEX. nullable: true origin: type: string description: Description of the origin from CONNEX. nullable: true destination: type: string description: Description of the destination from CONNEX. nullable: true purchaseOrder: type: string description: Description of the purcahse order from CONNEX. nullable: true loadNumber: type: integer description: Load number from CONNEX. format: int32 nullable: true isVerified: type: boolean description: Whether the ticket has been verified by a user in HeavyJob. nullable: true driveTagId: type: string description: The HCSS Drive tag id format: uuid nullable: true lineItems: type: array items: $ref: '#/components/schemas/ApiConnexTicketItemPatch' description: Product line items associated with this ticket. nullable: true additionalProperties: false description: A POCO to Create or Update a Connex Ticket. ApiConnexTicketRead: type: object properties: id: type: string description: Id of the Ticket. format: uuid connexId: type: string description: Id of the CONNEX Ticket. nullable: true date: type: string description: Date and time for the Ticket. format: date-time jobId: type: string description: The job with which this ticket is associated. format: uuid job: $ref: '#/components/schemas/ApiJobCompactRead' status: $ref: '#/components/schemas/ConnexTicketStatus' supplier: type: string description: Description of the supplier from CONNEX. nullable: true carrier: type: string description: Description of the carrier from CONNEX. nullable: true driver: type: string description: Description of the driver from CONNEX. nullable: true origin: type: string description: Description of the origin from CONNEX. nullable: true destination: type: string description: Description of the destination from CONNEX. nullable: true purchaseOrder: type: string description: Description of the purcahse order from CONNEX. nullable: true loadNumber: type: integer description: Load number from CONNEX. format: int32 nullable: true isVerified: type: boolean description: Whether the ticket has been verified by a user in HeavyJob. verifiedBy: type: string description: The id user who verified this ticket. format: uuid nullable: true verifiedDate: type: string description: The timestamp of when this ticket was verified. format: date-time nullable: true driveTagId: type: string description: The HCSS Drive tag id format: uuid nullable: true lineItems: type: array items: $ref: '#/components/schemas/ApiConnexTicketItemRead' description: List of line product line items asscociated with this ticket. nullable: true additionalProperties: false description: A POCO representing a Ticket from the CONNEX Platform. ApiConnexTicketReadPaginatedResponse: required: - metadata - results type: object properties: results: type: array items: $ref: '#/components/schemas/ApiConnexTicketRead' description: The paginated results. metadata: $ref: '#/components/schemas/ApiConnexTicketReadResponseMetadata' additionalProperties: false description: A POCO that represents a cursor-paginated response from the server. ApiConnexTicketReadResponseMetadata: type: object properties: nextCursor: type: string description: "If non-null, specifies the cursor that will return\r\nthe next set of results." nullable: true additionalProperties: false description: "Contains metadata about a paginated response. (may be later\r\nexpanded to include the limit, count, etc.)" ApiCostAdjustmentCompactRead: required: - costAdjustmentCode - costAdjustmentId type: object properties: costAdjustmentId: type: string description: The cost adjustment's id. format: uuid costAdjustmentCode: minLength: 1 type: string description: The cost adjustment's code. costAdjustmentDescription: type: string description: The cost adjustment's description. nullable: true additionalProperties: false description: A POCO that represents cost adjustment's basic information. ApiCostAdjustmentDetailCost: type: object properties: costAdjustment: $ref: '#/components/schemas/ApiCostAdjustmentCompactRead' cost: type: number description: The cost. format: double additionalProperties: false description: A POCO that represents a cost adjustment with cost. ApiCostAdjustmentQuantity: type: object properties: costAdjustment: $ref: '#/components/schemas/ApiCostAdjustmentCompactRead' quantity: type: number description: The quantity. format: double nullable: true additionalProperties: false description: A POCO that represents a cost adjustment with quantity. ApiCostAdjustmentRead: required: - businessUnitId - code - id - type type: object properties: code: minLength: 1 type: string description: The cost adjustment code. description: type: string description: The cost adjustment description. nullable: true applyCost: type: boolean description: "whether cost values (based on rates and/or entry) \r\nare generated by that cost adjustment entity.\r\ndefault is true" nullable: true applyToAllHours: type: boolean description: "Whether to apply cost against attendance hours \r\nin addition to working hours.\r\ndefault is false" nullable: true isTaxable: type: boolean description: "Whether the cost adjustment is taxable.\r\ndefault is true" nullable: true isActive: type: boolean description: Whether the cost adjustment is active. nullable: true type: $ref: '#/components/schemas/CostAdjustmentType' accountingCode: type: string description: The accounting code. nullable: true id: type: string description: The cost adjustment id. format: uuid businessUnitId: type: string description: The business unit id. format: uuid additionalProperties: false description: A POCO that represents a slice of cost adjustment state returned by the API. ApiCostAdjustmentWrite: required: - code - type type: object properties: code: minLength: 1 type: string description: The cost adjustment code. description: type: string description: The cost adjustment description. nullable: true applyCost: type: boolean description: "whether cost values (based on rates and/or entry) \r\nare generated by that cost adjustment entity.\r\ndefault is true" nullable: true applyToAllHours: type: boolean description: "Whether to apply cost against attendance hours \r\nin addition to working hours.\r\ndefault is false" nullable: true isTaxable: type: boolean description: "Whether the cost adjustment is taxable.\r\ndefault is true" nullable: true isActive: type: boolean description: Whether the cost adjustment is active. nullable: true type: $ref: '#/components/schemas/CostAdjustmentType' accountingCode: type: string description: The accounting code. nullable: true additionalProperties: false description: A POCO that represents a cost (pay) adjustment to be created or updated by the API. ApiCostCategoryRead: required: - businessUnitId - code - costTypeId - description - id type: object properties: code: minLength: 1 type: string description: The cost category (custom-cost-type) code. description: minLength: 1 type: string description: The description. id: type: string description: The cost category (custom-cost-type) id. format: uuid businessUnitId: type: string description: The business unit id. format: uuid costTypeId: type: string description: The cost Type Id format: uuid additionalProperties: false description: A POCO that represents a slice of cost category (custom-cost-type) state returned by the API. ApiCostCategoryWrite: required: - code - description type: object properties: code: minLength: 1 type: string description: The cost category (custom-cost-type) code. description: minLength: 1 type: string description: The description. additionalProperties: false description: A POCO that represents a slice of cost category (custom-cost-type) to be created or updated by the API. ApiCostCodeAdvancedRequest: required: - jobId type: object properties: jobId: type: string description: Job Id format: uuid costCodeIds: type: array items: type: string format: uuid description: List of cost code Ids nullable: true costCodeTagIds: type: array items: type: string format: uuid description: List of cost code Tag Ids nullable: true cursor: type: string description: "Optional. \r\nWhen there are additional results, the metadata nextCursor field\r\nshould be passed to retrieve the next page of results." nullable: true limit: type: integer description: The maximum number of results that should be returned. format: int32 nullable: true additionalProperties: false description: Request body for querying cost codes with advanced filtering. ApiCostCodeAdvancedRequestV2: type: object properties: businessUnitId: type: string description: Business Unit Id format: uuid nullable: true jobIds: type: array items: type: string format: uuid description: Job Id nullable: true costCodeIds: type: array items: type: string format: uuid description: List of cost code Ids nullable: true cursor: type: string description: "Optional. \r\nWhen there are additional results, the metadata nextCursor field\r\nshould be passed to retrieve the next page of results." nullable: true accountingTemplateName: type: string description: "Optional. \r\nAccounting template Name" nullable: true limit: type: integer description: The maximum number of results that should be returned. format: int32 nullable: true additionalProperties: false description: Request body for querying cost codes with advanced filtering. ApiCostCodeCompactRead: required: - costCodeCode - costCodeDescription - costCodeId type: object properties: costCodeId: type: string description: The cost code guid. format: uuid costCodeCode: minLength: 1 type: string description: The cost code's code. costCodeDescription: minLength: 1 type: string description: The cost code's description. additionalProperties: false description: A POCO that represents a cost code's basic information. ApiCostCodeCompactWithPayItemRead: required: - costCodeCode - costCodeDescription - costCodeId type: object properties: costCodeId: type: string description: The cost code guid. format: uuid costCodeCode: minLength: 1 type: string description: The cost code's code. costCodeDescription: minLength: 1 type: string description: The cost code's description. payItemId: type: string description: The pay item id this cost code is associated with. Optional. format: uuid nullable: true payItemFactor: type: number description: "Any costs contributed by this cost code are multiplied by\r\nthis factor before being applied to its parent pay item." format: double nullable: true isPayItemDriver: type: boolean description: "Whether this cost code contributes to the cost of its parent\r\npay item." additionalProperties: false description: ApiCostCodeCompact with PayItem fields ApiCostCodeCostDetailsRead: type: object properties: costCodeId: type: string description: The cost code id. format: uuid foremanId: type: string description: The foreman id. format: uuid date: type: string description: The entry date. format: date-time quantity: type: number description: The production quantity. format: double equipmentCost: type: number description: The equipment cost recorded. format: double equipmentHours: type: number description: The equipment hours recorded. format: double laborCost: type: number description: The labor cost recorded. format: double laborHours: type: number description: The labor hours recorded. format: double materialCost: type: number description: The material cost recorded. format: double subcontractCost: type: number description: The subcontract cost recorded. format: double truckingCost: type: number description: The trucking cost recorded. format: double additionalProperties: false description: A POCO that represents a slice of job costs associated with a cost code. ApiCostCodeCostDetailsReadPaginatedResponse: required: - metadata - results type: object properties: results: type: array items: $ref: '#/components/schemas/ApiCostCodeCostDetailsRead' description: The paginated results. metadata: $ref: '#/components/schemas/ApiCostCodeCostDetailsReadResponseMetadata' additionalProperties: false description: A POCO that represents a cursor-paginated response from the server. ApiCostCodeCostDetailsReadResponseMetadata: type: object properties: nextCursor: type: string description: "If non-null, specifies the cursor that will return\r\nthe next set of results." nullable: true additionalProperties: false description: "Contains metadata about a paginated response. (may be later\r\nexpanded to include the limit, count, etc.)" ApiCostCodeCostDetailsReadV2: type: object properties: job: $ref: '#/components/schemas/ApiJobCompactRead' costCode: $ref: '#/components/schemas/ApiCostCodeCompactRead' foreman: $ref: '#/components/schemas/ApiEmployeeCompactRead' entryType: $ref: '#/components/schemas/LedgerEntryType' date: type: string description: The entry date. format: date-time quantity: type: number description: The production quantity. format: double equipmentCost: type: number description: The equipment cost recorded. format: double equipmentHours: type: number description: The equipment hours recorded. format: double laborCost: type: number description: The labor cost recorded. format: double laborHours: type: number description: The labor hours recorded. format: double materialCost: type: number description: The material cost recorded. format: double subcontractCost: type: number description: The subcontract cost recorded. format: double truckingCost: type: number description: The trucking cost recorded. format: double additionalProperties: false description: A POCO that represents a slice of job costs associated with a cost code. ApiCostCodeCostDetailsReadV2PaginatedResponse: required: - metadata - results type: object properties: results: type: array items: $ref: '#/components/schemas/ApiCostCodeCostDetailsReadV2' description: The paginated results. metadata: $ref: '#/components/schemas/ApiCostCodeCostDetailsReadV2ResponseMetadata' additionalProperties: false description: A POCO that represents a cursor-paginated response from the server. ApiCostCodeCostDetailsReadV2ResponseMetadata: type: object properties: nextCursor: type: string description: "If non-null, specifies the cursor that will return\r\nthe next set of results." nullable: true additionalProperties: false description: "Contains metadata about a paginated response. (may be later\r\nexpanded to include the limit, count, etc.)" ApiCostCodeCostDetailsToDateRead: type: object properties: job: $ref: '#/components/schemas/ApiJobCompactRead' costCode: $ref: '#/components/schemas/ApiCostCodeCompactRead' foreman: $ref: '#/components/schemas/ApiEmployeeCompactRead' totalQuantity: type: number description: The total production quantity. format: double reworkQuantity: type: number description: The rework quantity. format: double totalEquipmentCost: type: number description: The total equipment cost recorded. format: double totalEquipmentHours: type: number description: The total equipment hours recorded. format: double totalLaborCost: type: number description: The total labor cost recorded. format: double totalLaborHours: type: number description: The total labor hours recorded. format: double totalMaterialCost: type: number description: The total material cost recorded. format: double totalSubcontractCost: type: number description: The total subcontract cost recorded. format: double totalTruckingCost: type: number description: The total trucking cost recorded. format: double additionalProperties: false description: A POCO that represents a slice of job costs associated with a cost code. ApiCostCodeCostDetailsToDateReadPaginatedResponse: required: - metadata - results type: object properties: results: type: array items: $ref: '#/components/schemas/ApiCostCodeCostDetailsToDateRead' description: The paginated results. metadata: $ref: '#/components/schemas/ApiCostCodeCostDetailsToDateReadResponseMetadata' additionalProperties: false description: A POCO that represents a cursor-paginated response from the server. ApiCostCodeCostDetailsToDateReadResponseMetadata: type: object properties: nextCursor: type: string description: "If non-null, specifies the cursor that will return\r\nthe next set of results." nullable: true additionalProperties: false description: "Contains metadata about a paginated response. (may be later\r\nexpanded to include the limit, count, etc.)" ApiCostCodeCostRead: type: object properties: costCodeId: type: string description: The cost code id. format: uuid equipmentCost: type: number description: The equipment cost. format: double equipmentHours: type: number description: The equipment hours. format: double laborCost: type: number description: The labor cost. format: double laborHours: type: number description: The labor hours. format: double materialCost: type: number description: The material cost. format: double subcontractCost: type: number description: The subcontract cost. format: double truckingCost: type: number description: The trucking cost. format: double quantity: type: number description: The quantity. format: double customCostTypeValues: type: array items: $ref: '#/components/schemas/ApiCustomCostTypeValueRead' description: List of custom-cost-type actual costs. nullable: true additionalProperties: false description: A POCO that represents a slice of cost-code cost state returned by the API. ApiCostCodeCostTypeTransactionAdjustmentRead: required: - date - id - job type: object properties: id: type: string description: The transaction id. format: uuid job: $ref: '#/components/schemas/ApiJobCompactRead' foreman: $ref: '#/components/schemas/ApiEmployeeCompactRead' date: type: string description: The date. format: date-time costCode: $ref: '#/components/schemas/ApiCostCodeCompactRead' costTypeItem: $ref: '#/components/schemas/ApiMaterialSubCustomCostCompactRead' jobMaterialSubCustomCostTypeItemId: type: string description: The job material, job subcontract, or job custom cost type item id. format: uuid businessUnitCostType: $ref: '#/components/schemas/ApiBusinessUnitCostTypeCompactRead' entryType: $ref: '#/components/schemas/LedgerEntryType' quantity: type: number description: The adjustment quantity. format: double cost: type: number description: The adjustment cost. format: double unitOfMeasure: type: string description: The unit of measure for the cost code. nullable: true note: type: string description: The note. nullable: true syncTimestamp: type: string description: The sync timestamp. format: date-time additionalProperties: false description: Model that represents adjustment to cost code cost type transaction. ApiCostCodeCostTypeTransactionAdjustmentReadPaginatedResponse: required: - metadata - results type: object properties: results: type: array items: $ref: '#/components/schemas/ApiCostCodeCostTypeTransactionAdjustmentRead' description: The paginated results. metadata: $ref: '#/components/schemas/ApiCostCodeCostTypeTransactionAdjustmentReadResponseMetadata' additionalProperties: false description: A POCO that represents a cursor-paginated response from the server. ApiCostCodeCostTypeTransactionAdjustmentReadResponseMetadata: type: object properties: nextCursor: type: string description: "If non-null, specifies the cursor that will return\r\nthe next set of results." nullable: true additionalProperties: false description: "Contains metadata about a paginated response. (may be later\r\nexpanded to include the limit, count, etc.)" ApiCostCodeCostWrite: required: - effectiveDate type: object properties: effectiveDate: type: string description: The date on which the costs are true. format: date-time equipmentCost: type: number description: The equipment cost. format: double nullable: true equipmentHours: type: number description: The equipment hours. format: double nullable: true laborCost: type: number description: The labor cost. format: double nullable: true laborHours: type: number description: The labor hours. format: double nullable: true materialCost: type: number description: The material cost. format: double nullable: true subcontractCost: type: number description: The subcontract cost. format: double nullable: true quantity: type: number description: The quantity. format: double nullable: true customCostTypeValues: type: array items: $ref: '#/components/schemas/ApiCustomCostTypeValueWrite' description: List of custom-cost-type actual costs. nullable: true additionalProperties: false description: A POCO that represents cost-code cost to be updated by the API. ApiCostCodeCustomCostDetailsRead: type: object properties: job: $ref: '#/components/schemas/ApiJobCompactRead' costCode: $ref: '#/components/schemas/ApiCostCodeCompactRead' foreman: $ref: '#/components/schemas/ApiEmployeeCompactRead' entryType: $ref: '#/components/schemas/LedgerEntryType' businessUnitCostType: $ref: '#/components/schemas/ApiBusinessUnitCostTypeCompactRead' date: type: string description: The entry date. format: date-time cost: type: number description: The cost recorded. format: double additionalProperties: false description: A POCO that represents a slice of job custom cost type costs associated with a cost code. ApiCostCodeCustomCostDetailsReadPaginatedResponse: required: - metadata - results type: object properties: results: type: array items: $ref: '#/components/schemas/ApiCostCodeCustomCostDetailsRead' description: The paginated results. metadata: $ref: '#/components/schemas/ApiCostCodeCustomCostDetailsReadResponseMetadata' additionalProperties: false description: A POCO that represents a cursor-paginated response from the server. ApiCostCodeCustomCostDetailsReadResponseMetadata: type: object properties: nextCursor: type: string description: "If non-null, specifies the cursor that will return\r\nthe next set of results." nullable: true additionalProperties: false description: "Contains metadata about a paginated response. (may be later\r\nexpanded to include the limit, count, etc.)" ApiCostCodeCustomDetailsToDateRead: type: object properties: job: $ref: '#/components/schemas/ApiJobCompactRead' costCode: $ref: '#/components/schemas/ApiCostCodeCompactRead' foreman: $ref: '#/components/schemas/ApiEmployeeCompactRead' businessUnitCostType: $ref: '#/components/schemas/ApiBusinessUnitCostTypeCompactRead' totalCost: type: number description: The cost recorded. format: double additionalProperties: false description: A POCO that represents totals cost of job custom cost type costs associated with a cost code. ApiCostCodeCustomDetailsToDateReadPaginatedResponse: required: - metadata - results type: object properties: results: type: array items: $ref: '#/components/schemas/ApiCostCodeCustomDetailsToDateRead' description: The paginated results. metadata: $ref: '#/components/schemas/ApiCostCodeCustomDetailsToDateReadResponseMetadata' additionalProperties: false description: A POCO that represents a cursor-paginated response from the server. ApiCostCodeCustomDetailsToDateReadResponseMetadata: type: object properties: nextCursor: type: string description: "If non-null, specifies the cursor that will return\r\nthe next set of results." nullable: true additionalProperties: false description: "Contains metadata about a paginated response. (may be later\r\nexpanded to include the limit, count, etc.)" ApiCostCodeFilterGroupRead: required: - id - isDeleted - lastModified - name - tags type: object properties: id: type: string description: The id. format: uuid name: minLength: 1 type: string description: The name of the group. lastModified: type: string description: The timestamp. format: date-time isDeleted: type: boolean description: The isDeleted flag. tags: type: array items: $ref: '#/components/schemas/ApiCostCodeFilterRead' description: The tags in this group. additionalProperties: false description: A POCO that represents a tag on a cost code filter group. ApiCostCodeFilterRead: required: - code - description - id - isDeleted - lastModified type: object properties: id: type: string description: The id. format: uuid code: minLength: 1 type: string description: The code. description: minLength: 1 type: string description: The description. lastModified: type: string description: The timestamp. format: date-time isDeleted: type: boolean description: The isDeleted flag. additionalProperties: false description: A POCO that represents a tag on a cost code filter. ApiCostCodePatch: type: object properties: code: type: string description: The cost code code. nullable: true description: type: string description: The cost code description. nullable: true quantity: type: number description: The quantity. format: double nullable: true unitOfMeasure: type: string description: The unit of measure. nullable: true laborHours: type: number description: The labor hours. format: double nullable: true equipmentHours: type: number description: The equipment hours. format: double nullable: true laborDollars: type: number description: The labor cost. format: double nullable: true equipmentDollars: type: number description: The equipment cost. format: double nullable: true materialDollars: type: number description: The material cost. format: double nullable: true subcontractDollars: type: number description: The subcontract cost. format: double nullable: true supplyDollars: type: number description: The supply cost. format: double nullable: true status: $ref: '#/components/schemas/CostCodeStatus' historicalActivityCode: type: string description: The historical activity code. nullable: true historicalBiditem: type: string description: The historical activity code. nullable: true heavyBidEstimateCode: type: string description: The historical activity code. nullable: true isTm: type: boolean description: The flag indicating whether the cost code is a time-and-material item. nullable: true workersCompId: type: string description: The workersCompId. format: uuid nullable: true isHiddenFromMobile: type: boolean description: "The flag indicating whether the cost code is hidden from mobile.\r\nDefault is false." nullable: true startDate: type: string description: The start date. format: date-time nullable: true endDate: type: string description: The end date. format: date-time nullable: true duration: type: number description: The duration (days). format: double nullable: true isCapExpected: type: boolean description: "The flag indicating whether to set the cost code to cap expected.\r\nDefault is true." nullable: true accountingCode: type: string description: The accounting code. nullable: true category: type: string description: '"Category" accounting field' nullable: true cpm: type: string description: '"CPM Code" accounting field' nullable: true glAcct: type: string description: '"GL Acct" accounting field' nullable: true subJob: type: string description: '"Sub-Job" accounting field' nullable: true wbsCode: type: string description: '"WBS Code" accounting field' nullable: true removeStartDate: type: boolean description: "If HeavyJobApi.Controllers.Models.CostCode.ApiCostCodeWrite.StartDate is null, whether to remove\r\nan existing relationship. Defaults to false." removeEndDate: type: boolean description: If HeavyJobApi.Controllers.Models.CostCode.ApiCostCodeWrite.PayItemId is null, Defaults to false. removeDuration: type: boolean description: If HeavyJobApi.Controllers.Models.CostCode.ApiCostCodeWrite.Duration is null, Defaults to false. additionalProperties: false description: A model for updating an existing cost code. ApiCostCodeProgressRead: type: object properties: costCodeId: type: string description: The cost code id format: uuid date: type: string description: The date format: date-time quantity: type: number description: The quantity format: double reworkQuantity: type: number description: The rework quantity format: double laborHours: type: number description: Labor hours format: double toDateQuantity: type: number description: The To-Date quantity for this date format: double toDateLaborHours: type: number description: The To-Date labor hours for this date format: double additionalProperties: false description: A POCO that represents a quantity. ApiCostCodeProgressReadPaginatedResponse: required: - metadata - results type: object properties: results: type: array items: $ref: '#/components/schemas/ApiCostCodeProgressRead' description: The paginated results. metadata: $ref: '#/components/schemas/ApiCostCodeProgressReadResponseMetadata' additionalProperties: false description: A POCO that represents a cursor-paginated response from the server. ApiCostCodeProgressReadResponseMetadata: type: object properties: nextCursor: type: string description: "If non-null, specifies the cursor that will return\r\nthe next set of results." nullable: true additionalProperties: false description: "Contains metadata about a paginated response. (may be later\r\nexpanded to include the limit, count, etc.)" ApiCostCodeRead: required: - businessUnitCode - businessUnitId - code - id - isPayItemDriver - jobCode - jobId - payItemFactor type: object properties: id: type: string description: The cost code id format: uuid code: minLength: 1 type: string description: The cost code's code description: type: string description: An optional description. nullable: true businessUnitId: type: string description: The business unit id. format: uuid businessUnitCode: minLength: 1 type: string description: The business unit code. jobId: type: string description: The job id. format: uuid startDate: type: string description: The start date. format: date-time nullable: true endDate: type: string description: The end date. format: date-time nullable: true duration: type: number description: The duration (days). format: double nullable: true jobCode: minLength: 1 type: string description: The job code. isHiddenFromMobile: type: boolean description: "The flag indicating whether the cost code is hidden from mobile.\r\nDefault is false." nullable: true quantityDrivingEntityType: $ref: '#/components/schemas/QuantityDrivingEntityType' quantityDrivingEntityId: type: string description: The entity id that drives the quantity of the cost code. format: uuid nullable: true payItemId: type: string description: The pay item id this cost code is associated with. Optional. format: uuid nullable: true payItem: type: string description: "The pay item number / code that this cost code is associated\r\nwith. Optional." nullable: true payItemFactor: type: number description: "Any costs contributed by this cost code are multiplied by\r\nthis factor before being applied to its parent pay item." format: double isPayItemDriver: type: boolean description: "Whether this cost code contributes to the cost of its parent\r\npay item." quantity: type: number description: The quantity. format: double nullable: true unitOfMeasure: type: string description: The unit of measure. nullable: true status: $ref: '#/components/schemas/CostCodeStatus' historicalActivityCode: type: string description: The historical activity code from HeavyBid. nullable: true readOnly: true historicalBiditem: type: string description: The historical biditem from HeavyBid. nullable: true heavyBidEstimateCode: type: string description: The estimate code from HeavyBid. nullable: true readOnly: true isCapExpected: type: boolean description: The flag indicating whether the cost code is capped at expected nullable: true isTm: type: boolean description: "The flag indicating whether the cost code is setup as T and M.\r\nDefault is false." nullable: true workersCompId: type: string description: The workers comp id this cost code is associated with. Optional. format: uuid nullable: true workersCompCode: type: string description: "The workers comp code that this cost code is associated\r\nwith. Optional." nullable: true workersCompDescription: type: string description: "The workers comp code that this cost code is associated\r\nwith. Optional." nullable: true laborHours: type: number description: The labor hours. format: double nullable: true equipmentHours: type: number description: The equipment hours. format: double nullable: true laborDollars: type: number description: The labor cost. format: double nullable: true equipmentDollars: type: number description: The equipment cost. format: double nullable: true materialDollars: type: number description: The material cost. format: double nullable: true subcontractDollars: type: number description: The subcontract cost. format: double nullable: true supplyDollars: type: number description: The supply cost. format: double nullable: true customCostTypeDollars: type: array items: $ref: '#/components/schemas/ApiCustomCostTypeBudgetRead' description: The custom-cost-type cost. nullable: true additionalProperties: false description: A POCO that represents a cost code on a job ApiCostCodeReadPaginatedResponse: required: - metadata - results type: object properties: results: type: array items: $ref: '#/components/schemas/ApiCostCodeRead' description: The paginated results. metadata: $ref: '#/components/schemas/ApiCostCodeReadResponseMetadata' additionalProperties: false description: A POCO that represents a cursor-paginated response from the server. ApiCostCodeReadResponseMetadata: type: object properties: nextCursor: type: string description: "If non-null, specifies the cursor that will return\r\nthe next set of results." nullable: true additionalProperties: false description: "Contains metadata about a paginated response. (may be later\r\nexpanded to include the limit, count, etc.)" ApiCostCodeSearchRequest: type: object properties: businessUnitId: type: string description: Business Unit ID format: uuid nullable: true jobIds: type: array items: type: string format: uuid description: List of job IDs nullable: true jobTagIds: type: array items: type: string format: uuid description: List of job tag IDs nullable: true costCodeIds: type: array items: type: string format: uuid description: Cost code IDs nullable: true cursor: type: string description: "Optional. \r\nWhen there are additional results, the metadata nextCursor field\r\nshould be passed to retrieve the next page of results." nullable: true limit: type: integer description: The maximum number of results that should be returned. format: int32 nullable: true additionalProperties: false description: Request body for querying cost codes with advanced filtering. ApiCostCodeTagRead: required: - costCodeId - id - isDeleted - jobId - lastModified - tagId type: object properties: id: type: string description: The cost code-tag relationship id format: uuid jobId: type: string description: The job id. format: uuid costCodeId: type: string description: The cost code id. format: uuid tagId: type: string description: The tag id. format: uuid isDeleted: type: boolean description: The IsDeleted flag. lastModified: type: string description: The Timestamp of the record. format: date-time additionalProperties: false description: A POCO that represents a tag on a cost code relationship. ApiCostCodeTagWrite: required: - costCodeId - tagId type: object properties: costCodeId: type: string description: The cost code id. format: uuid tagId: type: string description: The tag id. format: uuid additionalProperties: false description: A POCO that represents a tag on a cost code relationship. ApiCostCodeTimeCardTransactionRead: required: - date - foreman - job type: object properties: timeCardCostCodeId: type: string description: The time card cost code id. format: uuid timeCardId: type: string description: The time card id. format: uuid job: $ref: '#/components/schemas/ApiJobCompactRead' foreman: $ref: '#/components/schemas/ApiEmployeeCompactRead' date: type: string description: The date. format: date-time costCode: $ref: '#/components/schemas/ApiCostCodeCompactRead' timeCardShift: type: integer description: The time card shift. format: int32 isTm: type: boolean description: Indicates whether the time card cost code is T & M. isRework: type: boolean description: Indicates whether the time card cost code is rework. isMseDriven: type: boolean description: Indicates whether the cost code's quantity is MSE-driven. quantity: type: number description: The cost code quantity. format: double slot: type: integer description: The time card slot. format: int32 unitOfMeasure: type: string description: The unit of measure for the cost code. nullable: true laborHours: type: number description: The labor hours. format: double nullable: true equipmentHours: type: number description: The equipment hours. format: double nullable: true laborCost: type: number description: The labor cost. format: double nullable: true equipmentCost: type: number description: The equipment cost. format: double nullable: true publicNote: type: string description: The public note. nullable: true internalNote: type: string description: The internal note. nullable: true tags: type: array items: $ref: '#/components/schemas/ApiTransactionTag' description: The associated tags. nullable: true syncTimestamp: type: string description: The sync timestamp. format: date-time nullable: true additionalProperties: false description: Model that represents cost code transaction derived from time card. ApiCostCodeTimeCardTransactionReadPaginatedResponse: required: - metadata - results type: object properties: results: type: array items: $ref: '#/components/schemas/ApiCostCodeTimeCardTransactionRead' description: The paginated results. metadata: $ref: '#/components/schemas/ApiCostCodeTimeCardTransactionReadResponseMetadata' additionalProperties: false description: A POCO that represents a cursor-paginated response from the server. ApiCostCodeTimeCardTransactionReadResponseMetadata: type: object properties: nextCursor: type: string description: "If non-null, specifies the cursor that will return\r\nthe next set of results." nullable: true additionalProperties: false description: "Contains metadata about a paginated response. (may be later\r\nexpanded to include the limit, count, etc.)" ApiCostCodeTransactionAdjustmentRead: required: - date - id - job type: object properties: id: type: string description: The transaction id. format: uuid readOnly: true job: $ref: '#/components/schemas/ApiJobCompactRead' foreman: $ref: '#/components/schemas/ApiEmployeeCompactRead' date: type: string description: The date. format: date-time costCode: $ref: '#/components/schemas/ApiCostCodeCompactRead' businessUnitCostType: $ref: '#/components/schemas/ApiBusinessUnitCostTypeCompactRead' entryType: $ref: '#/components/schemas/LedgerEntryType' adjustmentTransactionType: $ref: '#/components/schemas/CostCodeAdjustmentType' value: type: number description: The adjustment value. format: double unitOfMeasure: type: string description: The unit of measure for the cost code. nullable: true note: type: string description: The note. nullable: true syncTimestamp: type: string description: The sync timestamp. format: date-time nullable: true additionalProperties: false description: Model that represents adjustment to cost code transaction. ApiCostCodeTransactionAdjustmentReadPaginatedResponse: required: - metadata - results type: object properties: results: type: array items: $ref: '#/components/schemas/ApiCostCodeTransactionAdjustmentRead' description: The paginated results. metadata: $ref: '#/components/schemas/ApiCostCodeTransactionAdjustmentReadResponseMetadata' additionalProperties: false description: A POCO that represents a cursor-paginated response from the server. ApiCostCodeTransactionAdjustmentReadResponseMetadata: type: object properties: nextCursor: type: string description: "If non-null, specifies the cursor that will return\r\nthe next set of results." nullable: true additionalProperties: false description: "Contains metadata about a paginated response. (may be later\r\nexpanded to include the limit, count, etc.)" ApiCostCodeTruckingTransactionRead: required: - date - job - lastModifiedDateTime type: object properties: truckTransactionId: type: string description: The truck transaction id. format: uuid job: $ref: '#/components/schemas/ApiJobCompactRead' costCode: $ref: '#/components/schemas/ApiCostCodeCompactRead' foreman: $ref: '#/components/schemas/ApiEmployeeCompactRead' date: type: string description: The date of the truck transaction. format: date-time cost: type: number description: The cost. format: double lastModifiedDateTime: type: string description: The RFC 3339 dateTime, in UTC, when this truck transaction was last modified. format: date-time additionalProperties: false description: A POCO that represents a cost code trucking transaction. ApiCostCodeTruckingTransactionReadPaginatedResponse: required: - metadata - results type: object properties: results: type: array items: $ref: '#/components/schemas/ApiCostCodeTruckingTransactionRead' description: The paginated results. metadata: $ref: '#/components/schemas/ApiCostCodeTruckingTransactionReadResponseMetadata' additionalProperties: false description: A POCO that represents a cursor-paginated response from the server. ApiCostCodeTruckingTransactionReadResponseMetadata: type: object properties: nextCursor: type: string description: "If non-null, specifies the cursor that will return\r\nthe next set of results." nullable: true additionalProperties: false description: "Contains metadata about a paginated response. (may be later\r\nexpanded to include the limit, count, etc.)" ApiCostCodeUpsert: required: - code - jobId type: object properties: jobId: type: string description: The job that the cost code is in. This is a required field. format: uuid code: minLength: 1 type: string description: The cost code code. This is a required field. description: type: string description: The cost code description. nullable: true quantity: type: number description: The quantity. format: double nullable: true unitOfMeasure: type: string description: The unit of measure. nullable: true laborHours: type: number description: The labor hours. format: double nullable: true equipmentHours: type: number description: The equipment hours. format: double nullable: true laborDollars: type: number description: The labor cost. format: double nullable: true equipmentDollars: type: number description: The equipment cost. format: double nullable: true materialDollars: type: number description: The material cost. format: double nullable: true subcontractDollars: type: number description: The subcontract cost. format: double nullable: true status: $ref: '#/components/schemas/CostCodeStatus' note: type: string description: The cost code note. nullable: true historicalActivityCode: type: string description: The historical activity code. nullable: true historicalBiditem: type: string description: The historical biditem code. nullable: true heavyBidEstimateCode: type: string description: The estimate code. nullable: true isTm: type: boolean description: The flag indicating whether the cost code is a time-and-material item. nullable: true startDate: type: string description: The start date. format: date-time nullable: true endDate: type: string description: The end date. format: date-time nullable: true duration: type: number description: The duration (days). format: double nullable: true isHiddenFromMobile: type: boolean description: "The flag indicating whether the cost code is hidden from mobile.\r\nDefault is false." nullable: true isCapExpected: type: boolean description: "The flag indicating whether to set the cost code to cap expected.\r\nDefault is true." nullable: true payItemId: type: string description: The pay item that this cost code is associated with. format: uuid nullable: true payItemFactor: type: number description: "Any costs contributed by this cost code are multiplied by\r\nthis factor before being applied to its parent pay item." format: double nullable: true isPayItemDriver: type: boolean description: "Whether this cost code contributes to the cost of its parent\r\npay item." nullable: true supplyDollars: type: number description: The supply cost. format: double nullable: true removePayItem: type: boolean description: "If HeavyJobApi.Controllers.Models.CostCode.ApiCostCodeWrite.PayItemId is null, whether to remove\r\nan existing relationship. Defaults to false." additionalProperties: false description: A POCO that represents a cost code to be created or updated by the API. ApiCostCodeWithAccountingValuesRead: required: - businessUnitCode - businessUnitId - code - id - isPayItemDriver - jobCode - jobId - payItemFactor type: object properties: id: type: string description: The cost code id format: uuid code: minLength: 1 type: string description: The cost code's code description: type: string description: An optional description. nullable: true businessUnitId: type: string description: The business unit id. format: uuid businessUnitCode: minLength: 1 type: string description: The business unit code. jobId: type: string description: The job id. format: uuid startDate: type: string description: The start date. format: date-time nullable: true endDate: type: string description: The end date. format: date-time nullable: true duration: type: number description: The duration (days). format: double nullable: true jobCode: minLength: 1 type: string description: The job code. isHiddenFromMobile: type: boolean description: "The flag indicating whether the cost code is hidden from mobile.\r\nDefault is false." nullable: true quantityDrivingEntityType: $ref: '#/components/schemas/QuantityDrivingEntityType' quantityDrivingEntityId: type: string description: The entity id that drives the quantity of the cost code. format: uuid nullable: true payItemId: type: string description: The pay item id this cost code is associated with. Optional. format: uuid nullable: true payItem: type: string description: "The pay item number / code that this cost code is associated\r\nwith. Optional." nullable: true payItemFactor: type: number description: "Any costs contributed by this cost code are multiplied by\r\nthis factor before being applied to its parent pay item." format: double isPayItemDriver: type: boolean description: "Whether this cost code contributes to the cost of its parent\r\npay item." quantity: type: number description: The quantity. format: double nullable: true unitOfMeasure: type: string description: The unit of measure. nullable: true status: $ref: '#/components/schemas/CostCodeStatus' historicalActivityCode: type: string description: The historical activity code from HeavyBid. nullable: true readOnly: true historicalBiditem: type: string description: The historical biditem from HeavyBid. nullable: true heavyBidEstimateCode: type: string description: The estimate code from HeavyBid. nullable: true readOnly: true isCapExpected: type: boolean description: The flag indicating whether the cost code is capped at expected nullable: true isTm: type: boolean description: "The flag indicating whether the cost code is setup as T and M.\r\nDefault is false." nullable: true workersCompId: type: string description: The workers comp id this cost code is associated with. Optional. format: uuid nullable: true workersCompCode: type: string description: "The workers comp code that this cost code is associated\r\nwith. Optional." nullable: true workersCompDescription: type: string description: "The workers comp code that this cost code is associated\r\nwith. Optional." nullable: true laborHours: type: number description: The labor hours. format: double nullable: true equipmentHours: type: number description: The equipment hours. format: double nullable: true laborDollars: type: number description: The labor cost. format: double nullable: true equipmentDollars: type: number description: The equipment cost. format: double nullable: true materialDollars: type: number description: The material cost. format: double nullable: true subcontractDollars: type: number description: The subcontract cost. format: double nullable: true supplyDollars: type: number description: The supply cost. format: double nullable: true customCostTypeDollars: type: array items: $ref: '#/components/schemas/ApiCustomCostTypeBudgetRead' description: The custom-cost-type cost. nullable: true accountingCode: type: string description: The accounting code. nullable: true readOnly: true category: type: string description: '"Category" accounting field' nullable: true readOnly: true cpm: type: string description: '"CPM Code" accounting field' nullable: true readOnly: true glAcct: type: string description: '"GL Acct" accounting field' nullable: true readOnly: true subJob: type: string description: '"Sub-Job" accounting field' nullable: true readOnly: true wbsCode: type: string description: '"WBS Code" accounting field' nullable: true readOnly: true additionalProperties: false description: HeavyJob cost code object with it's associated accounting fields ApiCostCodeWithAccountingValuesReadPaginatedResponse: required: - metadata - results type: object properties: results: type: array items: $ref: '#/components/schemas/ApiCostCodeWithAccountingValuesRead' description: The paginated results. metadata: $ref: '#/components/schemas/ApiCostCodeWithAccountingValuesReadResponseMetadata' additionalProperties: false description: A POCO that represents a cursor-paginated response from the server. ApiCostCodeWithAccountingValuesReadResponseMetadata: type: object properties: nextCursor: type: string description: "If non-null, specifies the cursor that will return\r\nthe next set of results." nullable: true additionalProperties: false description: "Contains metadata about a paginated response. (may be later\r\nexpanded to include the limit, count, etc.)" ApiCostCodeWithAccountingValuesWrite: required: - code - jobId type: object properties: jobId: type: string description: The job that the cost code is in. This is a required field. format: uuid code: minLength: 1 type: string description: The cost code code. This is a required field. description: type: string description: The cost code description. nullable: true quantity: type: number description: The quantity. format: double nullable: true unitOfMeasure: type: string description: The unit of measure. nullable: true laborHours: type: number description: The labor hours. format: double nullable: true equipmentHours: type: number description: The equipment hours. format: double nullable: true laborDollars: type: number description: The labor cost. format: double nullable: true equipmentDollars: type: number description: The equipment cost. format: double nullable: true materialDollars: type: number description: The material cost. format: double nullable: true subcontractDollars: type: number description: The subcontract cost. format: double nullable: true status: $ref: '#/components/schemas/CostCodeStatus' note: type: string description: The cost code note. nullable: true historicalActivityCode: type: string description: The historical activity code. nullable: true historicalBiditem: type: string description: The historical biditem code. nullable: true heavyBidEstimateCode: type: string description: The estimate code. nullable: true isTm: type: boolean description: The flag indicating whether the cost code is a time-and-material item. nullable: true startDate: type: string description: The start date. format: date-time nullable: true endDate: type: string description: The end date. format: date-time nullable: true duration: type: number description: The duration (days). format: double nullable: true isHiddenFromMobile: type: boolean description: "The flag indicating whether the cost code is hidden from mobile.\r\nDefault is false." nullable: true isCapExpected: type: boolean description: "The flag indicating whether to set the cost code to cap expected.\r\nDefault is true." nullable: true payItemId: type: string description: The pay item that this cost code is associated with. format: uuid nullable: true payItemFactor: type: number description: "Any costs contributed by this cost code are multiplied by\r\nthis factor before being applied to its parent pay item." format: double nullable: true isPayItemDriver: type: boolean description: "Whether this cost code contributes to the cost of its parent\r\npay item." nullable: true accountingCode: type: string description: The accounting code. nullable: true category: type: string description: '"Category" accounting field' nullable: true cpm: type: string description: '"CPM Code" accounting field' nullable: true glAcct: type: string description: '"GL Acct" accounting field' nullable: true subJob: type: string description: '"Sub-Job" accounting field' nullable: true wbsCode: type: string description: '"WBS Code" accounting field' nullable: true additionalProperties: false description: Cost Code object with it's associated accounting fields ApiCostCodeWithJobRead: required: - code - description - id - jobCode - jobDescription - jobId type: object properties: id: type: string description: The cost code guid. format: uuid readOnly: true code: minLength: 1 type: string description: The cost code's code. readOnly: true description: minLength: 1 type: string description: The cost code's description. readOnly: true jobId: type: string description: The job id. format: uuid jobCode: minLength: 1 type: string description: The job code. jobDescription: minLength: 1 type: string description: The job description. status: $ref: '#/components/schemas/CostCodeStatus' additionalProperties: false description: A POCO that represents a cost code on a job ApiCostCodeWithJobReadPaginatedResponse: required: - metadata - results type: object properties: results: type: array items: $ref: '#/components/schemas/ApiCostCodeWithJobRead' description: The paginated results. metadata: $ref: '#/components/schemas/ApiCostCodeWithJobReadResponseMetadata' additionalProperties: false description: A POCO that represents a cursor-paginated response from the server. ApiCostCodeWithJobReadResponseMetadata: type: object properties: nextCursor: type: string description: "If non-null, specifies the cursor that will return\r\nthe next set of results." nullable: true additionalProperties: false description: "Contains metadata about a paginated response. (may be later\r\nexpanded to include the limit, count, etc.)" ApiCostTypeReceivedAdvancedRequest: type: object properties: jobIds: type: array items: type: string format: uuid description: "List of Job Ids.\r\nUsed with JobTagIds to limit jobs. Returns jobs with JobIds and JobTagIds." nullable: true jobTagIds: type: array items: type: string format: uuid description: "List of Job Tag Ids.\r\nUsed with JobIds to limit jobs. Returns jobs with JobIds and JobTagIds." nullable: true foremanIds: type: array items: type: string format: uuid description: "List of Foreman Ids.\r\nUsed to limit transactions. Returns transactions only for foremen specified." nullable: true startDate: type: string description: "Beginning local date (yyyy-MM-dd) of date range.\r\nUsed with EndDate. Transactions whose dates fall within this date range will be included." format: date-time nullable: true endDate: type: string description: "End local date (yyyy-MM-dd) of date range.\r\nUsed with StartDate. Transactions whose dates fall within this date range will be included." format: date-time nullable: true cursor: type: string description: "Optional. \r\nWhen there are additional results, the metadata nextCursor field should be passed to retrieve the next page of results." nullable: true limit: type: integer description: The maximum number of results that should be returned. format: int32 nullable: true modifiedSince: type: string description: The modifiedSince datetime. format: date-time nullable: true businessUnitId: type: string description: The business unit id. format: uuid nullable: true additionalProperties: false description: Request body for querying received custom cost type item transaction with advanced filtering. ApiCostTypeTransactionAdvancedRequest: type: object properties: jobIds: type: array items: type: string format: uuid description: "List of Job Ids.\r\nUsed with JobTagIds to limit jobs. Returns jobs with JobIds and JobTagIds." nullable: true jobTagIds: type: array items: type: string format: uuid description: "List of Job Tag Ids.\r\nUsed with JobIds to limit jobs. Returns jobs with JobIds and JobTagIds." nullable: true foremanIds: type: array items: type: string format: uuid description: "List of Foreman Ids.\r\nUsed to limit transactions. Returns transactions only for foremen specified." nullable: true startDate: type: string description: "Beginning local date (yyyy-MM-dd) of date range.\r\nUsed with EndDate. Transactions whose dates fall within this date range will be included." format: date-time nullable: true endDate: type: string description: "End local date (yyyy-MM-dd) of date range.\r\nUsed with StartDate. Transactions whose dates fall within this date range will be included." format: date-time nullable: true cursor: type: string description: "Optional. \r\nWhen there are additional results, the metadata nextCursor field should be passed to retrieve the next page of results." nullable: true limit: type: integer description: The maximum number of results that should be returned. format: int32 nullable: true businessUnitId: type: string description: The business unit id. format: uuid nullable: true costCodeIds: type: array items: type: string format: uuid description: List of Cost Code Ids. nullable: true modifiedSince: type: string description: The modifiedSince datetime. format: date-time nullable: true onlyTM: type: boolean description: The onlyTM optional parameter to filter to T&M data. nullable: true additionalProperties: false description: Request body for querying material, subcontract work, or custom cost type item transaction with advanced filtering. ApiCustomCostTypeBudgetRead: required: - costCategoryCode - costCategoryDescription - costCategoryId type: object properties: budgetedCost: type: number description: The custom cost type budgeted cost. format: double nullable: true costCategoryId: type: string description: The cost category (custom-cost-type) id. format: uuid costCategoryCode: minLength: 1 type: string description: The cost category (custom-cost-type) code. costCategoryDescription: minLength: 1 type: string description: The cost category (custom-cost-type) description. additionalProperties: false description: Class for reading custom-cost-type budget. ApiCustomCostTypeBudgetWrite: type: object properties: budgetedCost: type: number description: The custom cost type budgeted cost. format: double nullable: true additionalProperties: false description: Class to represent custom cost type budget to be created or updated. ApiCustomCostTypeItemAdvancedBudgetRead: required: - costCodeId - id - jobCustomCostTypeItemId type: object properties: costCodeId: type: string description: The cost code id. format: uuid purchaseOrderDetailId: type: string description: The purchase order detail id. format: uuid nullable: true status: $ref: '#/components/schemas/CustomCostTypeStatus' quantity: type: number description: The quantity of the custom-cost-type item. format: double id: type: string description: The custom-cost-type item advanced budget id. format: uuid jobCustomCostTypeItemId: type: string description: The job-level custom-cost-type item id. format: uuid customCostTypeItemDescription: type: string description: The custom-cost-type item description. nullable: true purchaseOrderId: type: string description: The purchase order id. format: uuid nullable: true costCode: type: string description: The cost code . nullable: true costCodeDescription: type: string description: The cost code description. nullable: true salesTaxPercent: type: number description: The sales tax, expressed as a percent (e.g., 8 means 8% sales tax). format: double unitCost: type: number description: The cost per unit of measure, in dollars. format: double unitOfMeasure: type: string description: The unit of measure. nullable: true vendorId: type: string description: The vendor id. format: uuid nullable: true isDeleted: type: boolean description: Soft Deleted Flag mCostTypeItemBusinessUnitId: type: string description: MCostTypeBusinessUnitId format: uuid additionalProperties: false description: A POCO that represents a slice of custom-cost-type item advanced budget state returned by the API. ApiCustomCostTypeItemAdvancedBudgetWrite: required: - costCodeId type: object properties: costCodeId: type: string description: The cost code id. format: uuid purchaseOrderDetailId: type: string description: The purchase order detail id. format: uuid nullable: true status: $ref: '#/components/schemas/CustomCostTypeStatus' quantity: type: number description: The quantity of the custom-cost-type item. format: double additionalProperties: false description: A POCO that represents a custom-cost-type item advanced budget to be created by the API. ApiCustomCostTypeItemCompactRead: required: - code - description - id - isDeleted - type type: object properties: id: type: string description: The material id. format: uuid type: $ref: '#/components/schemas/MaterialType' code: minLength: 1 type: string description: Code description: minLength: 1 type: string description: Description isDeleted: type: boolean description: True if the the item is deleted. additionalProperties: false description: A POCO that represents a slice of cost type item state returned by the API. ApiCustomCostTypeItemCompactReadV2: required: - code - description - id - legacyTypeCode - type - typeDescription type: object properties: id: type: string description: The material id. format: uuid legacyTypeCode: minLength: 1 type: string description: The legacy type code readOnly: true code: minLength: 1 type: string description: Code description: minLength: 1 type: string description: Description typeDescription: minLength: 1 type: string description: Description type: $ref: '#/components/schemas/MaterialType' additionalProperties: false description: A POCO that represents a slice of cost type item state returned by the API. ApiCustomCostTypeItemInstalledPatch: type: object properties: quantity: type: number description: The quantity for the installed custom cost type item. format: double nullable: true loads: type: integer description: The number of loads. format: int32 nullable: true isTm: type: boolean description: Whether this transaction is marked at T & M. nullable: true isInvoiced: type: boolean description: Whether this transaction is invoiced or not nullable: true referenceNumber: maxLength: 100 type: string description: The reference number. nullable: true invoiceNumber: maxLength: 100 type: string description: The invoice number. nullable: true note: type: string description: Note nullable: true additionalProperties: false description: A POCO that represents a slice of a installed custom cost type item to be updated by the API. ApiCustomCostTypeItemInstalledPatchV2: type: object properties: quantity: type: number description: The quantity for the installed custom cost type item. format: double nullable: true loads: type: integer description: The number of loads. format: int32 nullable: true isTm: type: boolean description: Whether this transaction is marked at T & M. nullable: true isInvoiced: type: boolean description: Whether this transaction is invoiced or not nullable: true referenceNumber: maxLength: 100 type: string description: The reference number. nullable: true invoiceNumber: maxLength: 100 type: string description: The invoice number. nullable: true note: type: string description: Note nullable: true customCostTypeItemInstalledId: type: string description: The installed custom cost type item id. format: uuid additionalProperties: false description: A POCO that represents a slice of a installed custom cost type item to be updated by the API. ApiCustomCostTypeItemInstalledRead: required: - businessUnitId - consumedQuantity - date - foremanId - installedQuantity - jobId - lastModifiedDateTime - lastModifiedPreciseDateTime type: object properties: id: type: string description: The id. format: uuid costCodeId: type: string description: The cost code guid. format: uuid jobCustomCostTypeItemId: type: string description: The custom-cost-type item guid. format: uuid foremanId: type: string description: The foreman's employee guid. format: uuid jobId: type: string description: The job guid. format: uuid businessUnitId: type: string description: The business unit guid. format: uuid date: type: string description: The custom-cost-type item installed date. format: date-time consumedQuantity: type: number description: "The consumed quantity. Includes the installed quantity and accounts\r\nfor any waste / mistakes during installation." format: double installedQuantity: type: number description: The installed quantity. format: double unitOfMeasure: type: string description: The unit of measure. nullable: true purchaseOrderDetailId: type: string description: The purchase order detail guid. format: uuid nullable: true purchaseOrderId: type: string description: The purchase order guid. format: uuid nullable: true vendorId: type: string description: The vendor guid. format: uuid nullable: true referenceNumber: type: string description: The reference number. nullable: true invoiceNumber: type: string description: The invoice number. nullable: true isInvoiced: type: boolean description: The is invoicedf flag nullable: true lastModifiedDateTime: type: string description: The RFC 3339 dateTime, in UTC, when this installed custom-cost-type item was last modified. format: date-time lastModifiedPreciseDateTime: type: string description: "The RFC 3339 dateTime (including fractional seconds), in UTC, when this\r\ninstalled custom-cost-type item was last modified." format: date-time readOnly: true additionalProperties: false description: A POCO that represents an installed custom cost-type item. ApiCustomCostTypeItemInstalledReadPaginatedResponse: required: - metadata - results type: object properties: results: type: array items: $ref: '#/components/schemas/ApiCustomCostTypeItemInstalledRead' description: The paginated results. metadata: $ref: '#/components/schemas/ApiCustomCostTypeItemInstalledReadResponseMetadata' additionalProperties: false description: A POCO that represents a cursor-paginated response from the server. ApiCustomCostTypeItemInstalledReadResponseMetadata: type: object properties: nextCursor: type: string description: "If non-null, specifies the cursor that will return\r\nthe next set of results." nullable: true additionalProperties: false description: "Contains metadata about a paginated response. (may be later\r\nexpanded to include the limit, count, etc.)" ApiCustomCostTypeItemInstalledReadV2: required: - consumedQuantity - date - installedQuantity - job - lastModifiedDateTime - lastModifiedPreciseDateTime type: object properties: id: type: string description: The id. format: uuid job: $ref: '#/components/schemas/ApiJobCompactRead' costCode: $ref: '#/components/schemas/ApiCostCodeCompactRead' foreman: $ref: '#/components/schemas/ApiEmployeeCompactRead' date: type: string description: The custom cost type installed date. format: date-time jobCustomCostTypeItemId: type: string description: The job custom cost type item guid. format: uuid jobCustomCostTypeItem: $ref: '#/components/schemas/ApiCustomCostTypeItemCompactReadV2' consumedQuantity: type: number description: "The consumed quantity. Includes the installed quantity and accounts\r\nfor any waste / mistakes during installation." format: double installedQuantity: type: number description: The installed quantity. format: double consumedCost: type: number description: The consumed cost. format: double unitOfMeasure: type: string description: The unit of measure. nullable: true purchaseOrder: $ref: '#/components/schemas/ApiPurchaseOrderCompactRead' purchaseOrderItemId: type: string description: The purchase order item guid. format: uuid nullable: true purchaseOrderId: type: string description: The purchase order guid. format: uuid nullable: true referenceNumber: type: string description: The reference number. nullable: true invoiceNumber: type: string description: The invoice number. nullable: true isInvoiced: type: boolean description: The flag to indicate if it has been invoiced isTm: type: boolean description: Indicates whether the custom cost type item installed is T & M. vendor: $ref: '#/components/schemas/ApiVendorCompactRead' costCodeTransactionTags: type: array items: $ref: '#/components/schemas/ApiTransactionTag' description: The cost code transaction tags. nullable: true lastModifiedDateTime: type: string description: The RFC 3339 dateTime, in UTC, when this custom cost type item installed was last modified. format: date-time lastModifiedPreciseDateTime: type: string description: "The RFC 3339 dateTime (including fractional seconds), in UTC, when this\r\ncustom cost type item installed was last modified." format: date-time readOnly: true loads: type: integer description: The loads format: int32 note: type: string description: The note nullable: true unitCost: type: number description: The unit cost format: double salesTax: type: number description: The sales tax format: double linkedReceivedCostTypeItemIds: type: array items: type: string format: uuid description: List of Ids of linked received custom cost type item transactions nullable: true additionalProperties: false description: A POCO that represents an installed custom cost-type item. ApiCustomCostTypeItemInstalledReadV2PaginatedResponse: required: - metadata - results type: object properties: results: type: array items: $ref: '#/components/schemas/ApiCustomCostTypeItemInstalledReadV2' description: The paginated results. metadata: $ref: '#/components/schemas/ApiCustomCostTypeItemInstalledReadV2ResponseMetadata' additionalProperties: false description: A POCO that represents a cursor-paginated response from the server. ApiCustomCostTypeItemInstalledReadV2ResponseMetadata: type: object properties: nextCursor: type: string description: "If non-null, specifies the cursor that will return\r\nthe next set of results." nullable: true additionalProperties: false description: "Contains metadata about a paginated response. (may be later\r\nexpanded to include the limit, count, etc.)" ApiCustomCostTypeItemRead: required: - businessUnitId - code - costCategoryId - id type: object properties: costCategoryId: type: string description: The cost category (custom cost type) id. format: uuid code: minLength: 1 type: string description: The code. description: type: string description: The description. nullable: true heavyBidCode: type: string description: The HeavyBid code. nullable: true id: type: string description: The custom cost type item id. format: uuid businessUnitId: type: string description: The business unit id. format: uuid isDeleted: type: boolean description: Flags a deleted record. additionalProperties: false description: A POCO that represents a slice of custom cost type item state returned by the API. ApiCustomCostTypeItemReceivedPatch: type: object properties: id: type: string description: The id for the custom cost type received item format: uuid quantity: type: number description: The quantity for the received material. format: double nullable: true loads: type: integer description: The number of loads. format: int32 nullable: true referenceNumber: maxLength: 100 type: string description: The reference number. nullable: true invoiceNumber: maxLength: 100 type: string description: The invoice number. nullable: true isInvoiced: type: boolean description: The is invoiced flag nullable: true note: type: string description: Note nullable: true additionalProperties: false description: A POCO that represents a slice of a installed custom-cost-type item to be updated by the API. ApiCustomCostTypeItemReceivedRead: required: - businessUnitId - date - foremanId - jobId - quantity type: object properties: id: type: string description: The id. format: uuid jobCustomCostTypeItemId: type: string description: The custom-cost-type item guid. format: uuid foremanId: type: string description: The foreman guid. format: uuid jobId: type: string description: The job guid. format: uuid businessUnitId: type: string description: The business unit guid. format: uuid date: type: string description: The custom-cost-type item Received date. format: date-time referenceNumber: type: string description: The reference number. nullable: true invoiceNumber: type: string description: The invoice number. nullable: true isInvoiced: type: boolean description: The is invoiced flag quantity: type: number description: The received quantity. format: double unitOfMeasure: type: string description: The unit of measure. nullable: true purchaseOrderId: type: string description: The purchase order guid. format: uuid nullable: true vendorId: type: string description: The vendor guid. format: uuid nullable: true additionalProperties: false description: A POCO that represents an received custom-cost-type item. ApiCustomCostTypeItemReceivedReadPaginatedResponse: required: - metadata - results type: object properties: results: type: array items: $ref: '#/components/schemas/ApiCustomCostTypeItemReceivedRead' description: The paginated results. metadata: $ref: '#/components/schemas/ApiCustomCostTypeItemReceivedReadResponseMetadata' additionalProperties: false description: A POCO that represents a cursor-paginated response from the server. ApiCustomCostTypeItemReceivedReadResponseMetadata: type: object properties: nextCursor: type: string description: "If non-null, specifies the cursor that will return\r\nthe next set of results." nullable: true additionalProperties: false description: "Contains metadata about a paginated response. (may be later\r\nexpanded to include the limit, count, etc.)" ApiCustomCostTypeItemReceivedReadV2: required: - businessUnitId - date - job - quantity type: object properties: id: type: string description: The id. format: uuid jobCustomCostTypeItem: $ref: '#/components/schemas/ApiCustomCostTypeItemCompactReadV2' foreman: $ref: '#/components/schemas/ApiEmployeeCompactRead' job: $ref: '#/components/schemas/ApiJobCompactRead' businessUnitId: type: string description: The business unit guid. format: uuid date: type: string description: The custom-cost-type item Received date. format: date-time referenceNumber: type: string description: The reference number. nullable: true invoiceNumber: type: string description: The invoice number. nullable: true isInvoiced: type: boolean description: The isInvoiced flag quantity: type: number description: The received quantity. format: double unitOfMeasure: type: string description: The unit of measure. nullable: true purchaseOrder: $ref: '#/components/schemas/ApiPurchaseOrderCompactRead' purchaseOrderDetailId: type: string description: The purchase order detail guid. format: uuid nullable: true vendor: $ref: '#/components/schemas/ApiVendorCompactRead' costCodeTransactionTags: type: array items: $ref: '#/components/schemas/ApiTransactionTag' description: The cost code transaction tags. nullable: true loads: type: integer description: The loads format: int32 note: type: string description: The note nullable: true unitCost: type: number description: The unit cost format: double salesTax: type: number description: The sales tax format: double linkedInstalledCostTypeItemIds: type: array items: type: string format: uuid description: List of Ids of linked received custom cost type item transactions nullable: true additionalProperties: false description: A POCO that represents an received custom-cost-type item. ApiCustomCostTypeItemReceivedReadV2PaginatedResponse: required: - metadata - results type: object properties: results: type: array items: $ref: '#/components/schemas/ApiCustomCostTypeItemReceivedReadV2' description: The paginated results. metadata: $ref: '#/components/schemas/ApiCustomCostTypeItemReceivedReadV2ResponseMetadata' additionalProperties: false description: A POCO that represents a cursor-paginated response from the server. ApiCustomCostTypeItemReceivedReadV2ResponseMetadata: type: object properties: nextCursor: type: string description: "If non-null, specifies the cursor that will return\r\nthe next set of results." nullable: true additionalProperties: false description: "Contains metadata about a paginated response. (may be later\r\nexpanded to include the limit, count, etc.)" ApiCustomCostTypeItemWrite: required: - code - costCategoryId type: object properties: costCategoryId: type: string description: The cost category (custom cost type) id. format: uuid code: minLength: 1 type: string description: The code. description: type: string description: The description. nullable: true heavyBidCode: type: string description: The HeavyBid code. nullable: true additionalProperties: false description: A POCO that represents a slice of custom cost type item to be created or updated by the API. ApiCustomCostTypePurchaseOrderDetailRead: required: - id - jobCustomCostTypeItemId - purchaseOrderId - quantity - sequence - unitCost - unitOfMeasure type: object properties: id: type: string description: The purchase order detail id. format: uuid purchaseOrderId: type: string description: The purchase order id. format: uuid sequence: type: number description: "The sequence number of the purchase order detail.\r\nUsed to sort the purchase order details." format: double isFullyReceived: type: boolean description: "Whether the item is fully received.\r\nDefault is false." isFullyInstalled: type: boolean description: "Whether the item is fully installed.\r\nDefault is false." note: type: string description: The note. nullable: true quantity: type: number description: The item quantity. format: double unitCost: type: number description: The item unit cost. format: double unitOfMeasure: minLength: 1 type: string description: The item unit of measure. salesTaxPercent: type: number description: The item sales tax represented in percent. format: double isCancelled: type: boolean description: Whether the purchase order detail is canceled. alternateDescription: type: string description: An alternate description for this purchase order. nullable: true vendorItemNumber: type: string description: The vendor item number. nullable: true jobCustomCostTypeItemId: type: string description: The job-level custom cost type id. format: uuid additionalProperties: false description: A POCO representing details about a purchase order for custom cost types. ApiCustomCostTypePurchaseOrderDetailWrite: required: - jobCustomCostTypeItemId - quantity - sequence - unitCost - unitOfMeasure type: object properties: isFullyReceived: type: boolean description: "Whether the item is fully received.\r\nDefault is false." nullable: true isFullyInstalled: type: boolean description: "Whether the item is fully installed.\r\nDefault is false." nullable: true sequence: type: number description: "The sequence number of the purchase order detail.\r\nUsed to sort the purchase order details." format: double note: type: string description: The note. nullable: true quantity: type: number description: The item quantity. format: double unitCost: type: number description: The item unit cost. format: double unitOfMeasure: minLength: 1 type: string description: The item unit of measure. salesTaxPercent: type: number description: The item sales tax represented in percent. format: double isCancelled: type: boolean description: Whether the purchase order detail is canceled. alternateDescription: type: string description: An alternate description for this purchase order. nullable: true vendorItemNumber: type: string description: The vendor item number. nullable: true jobCustomCostTypeItemId: type: string description: The job-level custom cost type id. format: uuid additionalProperties: false description: A POCO representing details about a purchase order for a custom cost type. ApiCustomCostTypeValueRead: required: - costCategoryCode - costCategoryDescription - costCategoryId type: object properties: costCategoryId: type: string description: The cost category (custom-cost-type) id. format: uuid cost: type: number description: The accounting custom-cost-type cost. format: double nullable: true costCategoryCode: minLength: 1 type: string description: The cost category (custom-cost-type) code. costCategoryDescription: minLength: 1 type: string description: The cost category (custom-cost-type) description. additionalProperties: false description: Class for reading custom-cost-type cost. ApiCustomCostTypeValueWrite: required: - costCategoryId type: object properties: costCategoryId: type: string description: The cost category (custom-cost-type) id. format: uuid cost: type: number description: The accounting custom-cost-type cost. format: double nullable: true additionalProperties: false description: Class to represent custom-cost-type cost to be created. ApiDailyDiaryRead: required: - Date - foremanCode - foremanId - id - jobCode - jobId type: object properties: id: type: string description: The daily diary guid. format: uuid jobId: type: string description: The job id. format: uuid jobCode: minLength: 1 type: string description: The job code. jobDescription: type: string description: The job description. nullable: true foremanId: type: string description: The foreman id. format: uuid foremanCode: minLength: 1 type: string description: The foreman code. foremanDescription: type: string description: The foreman description. nullable: true workingCondition: type: string description: The working condition. nullable: true readOnly: true note: type: string description: The note. nullable: true tags: type: array items: $ref: '#/components/schemas/ApiTransactionTag' description: The tags. nullable: true Date: type: string description: The date. format: date-time additionalProperties: false description: A POCO that represents a daily diary. ApiDailyDiaryReadPaginatedResponse: required: - metadata - results type: object properties: results: type: array items: $ref: '#/components/schemas/ApiDailyDiaryRead' description: The paginated results. metadata: $ref: '#/components/schemas/ApiDailyDiaryReadResponseMetadata' additionalProperties: false description: A POCO that represents a cursor-paginated response from the server. ApiDailyDiaryReadResponseMetadata: type: object properties: nextCursor: type: string description: "If non-null, specifies the cursor that will return\r\nthe next set of results." nullable: true additionalProperties: false description: "Contains metadata about a paginated response. (may be later\r\nexpanded to include the limit, count, etc.)" ApiDailyTargetRead: required: - id - lastModified type: object properties: id: type: string description: The id format: uuid lastModified: type: string description: The SyncTimestamp of the record format: date-time costCodeId: type: string description: The cost code id format: uuid date: type: string description: The date format: date-time targetQuantity: type: number description: The target quantity format: double targetLaborHours: type: number description: The target labor hours format: double notes: type: string description: The notes for this target nullable: true additionalProperties: false description: A POCO that represents a cost code daily target. ApiDailyTargetReadPaginatedResponse: required: - metadata - results type: object properties: results: type: array items: $ref: '#/components/schemas/ApiDailyTargetRead' description: The paginated results. metadata: $ref: '#/components/schemas/ApiDailyTargetReadResponseMetadata' additionalProperties: false description: A POCO that represents a cursor-paginated response from the server. ApiDailyTargetReadResponseMetadata: type: object properties: nextCursor: type: string description: "If non-null, specifies the cursor that will return\r\nthe next set of results." nullable: true additionalProperties: false description: "Contains metadata about a paginated response. (may be later\r\nexpanded to include the limit, count, etc.)" ApiDailyTargetWrite: required: - costCodeId - date type: object properties: costCodeId: type: string description: The cost code id format: uuid date: type: string description: The date format: date-time targetQuantity: type: number description: The target quantity format: double nullable: true targetLaborHours: type: number description: The target labor hours format: double nullable: true notes: type: string description: The notes for this target nullable: true additionalProperties: false description: A model for creating or updating a cost code daily target. ApiDefaultTMRateSetsRead: required: - code - description - id - rateSetGroupType type: object properties: id: type: string description: The id of the T & M rate set. format: uuid code: minLength: 1 type: string description: The T & M rate set code. description: minLength: 1 type: string description: The T & M rate set description. rateSetGroupType: $ref: '#/components/schemas/RateSetGroupType' additionalProperties: false description: A POCO that represents a default T & M Rate Set for a job. ApiDefaultTMRateSetsWrite: type: object properties: tmLaborId: type: string description: "The id of the Labor T & M Rate Set Group to be set\r\nas the default for this job." format: uuid nullable: true tmEquipmentId: type: string description: "The id of the Equipment T & M Rate Set Group to be set\r\nas the default for this job." format: uuid nullable: true additionalProperties: false description: A POCO representing the new default T & M Rate Set Groups for a job. ApiDiaryRead: required: - date - id type: object properties: id: type: string description: The diary id. format: uuid job: $ref: '#/components/schemas/ApiJobCompactReadV2' foreman: $ref: '#/components/schemas/ApiEmployeeCompactReadV2' workingConditionNote: type: string description: The working condition. nullable: true note: type: string description: The note. nullable: true tags: type: array items: $ref: '#/components/schemas/ApiTransactionTag' description: The tags. nullable: true date: type: string description: The date. format: date-time revision: type: integer description: The revision. format: int32 lastChangedDateTime: type: string description: The date time the diary is last changed. format: date-time nullable: true lastChangedBy: $ref: '#/components/schemas/ApiUserSlimRead' additionalProperties: false description: A POCO that represents a diary. ApiDiaryReadPaginatedResponse: required: - metadata - results type: object properties: results: type: array items: $ref: '#/components/schemas/ApiDiaryRead' description: The paginated results. metadata: $ref: '#/components/schemas/ApiDiaryReadResponseMetadata' additionalProperties: false description: A POCO that represents a cursor-paginated response from the server. ApiDiaryReadResponseMetadata: type: object properties: nextCursor: type: string description: "If non-null, specifies the cursor that will return\r\nthe next set of results." nullable: true additionalProperties: false description: "Contains metadata about a paginated response. (may be later\r\nexpanded to include the limit, count, etc.)" ApiDiarySearch: required: - businessUnitId type: object properties: businessUnitId: type: string description: Business Unit Id. format: uuid jobIds: type: array items: type: string format: uuid description: List of Job Ids. nullable: true jobTagIds: type: array items: type: string format: uuid description: List of Job Filter Ids. nullable: true foremanIds: type: array items: type: string format: uuid description: List of Foreman Ids. nullable: true startDate: type: string description: "Beginning local date (yyyy-MM-dd) of date range.\r\nUsed with EndDate. Diaries whose dates fall within this date range will be included." format: date-time nullable: true endDate: type: string description: "End local date (yyyy-MM-dd) of date range.\r\nUsed with StartDate. Diaries whose dates fall within this date range will be included." format: date-time nullable: true cursor: type: string description: "Optional. \r\nWhen there are additional results, the metadata nextCursor field should be passed to retrieve the next page of results." nullable: true limit: type: integer description: The maximum number of results that should be returned. format: int32 nullable: true additionalProperties: false description: A POCO that represents a diary. ApiDiaryUpsert: required: - date - foremanId - jobId - revision type: object properties: jobId: type: string description: The job id. format: uuid foremanId: type: string description: The foreman id. format: uuid date: type: string description: The diary date. format: date-time lockedById: type: string description: '' format: uuid nullable: true lockedDateTime: type: string description: The date diary was submitted/sent. format: date-time nullable: true revision: type: integer description: Revision number format: int32 tags: type: array items: $ref: '#/components/schemas/ApiTransactionTag' description: Diary tags. Tag notes are limited to 500 characters. nullable: true note: maxLength: 7502 type: string description: The diary note. nullable: true workingConditions: maxLength: 200 type: string description: The diary working conditions. nullable: true additionalProperties: false description: A POCO that represents a daily diary. ApiEmployeeBusinessUnit: required: - businessUnitId - employeeId type: object properties: employeeId: type: string description: The employee ID. format: uuid businessUnitId: type: string description: The business unit ID. format: uuid additionalProperties: false description: A POCO that represents the relationship between an employee and a business unit ApiEmployeeCompactRead: required: - employeeCode - employeeFirstName - employeeId - employeeLastName type: object properties: employeeId: type: string description: The employee guid. format: uuid employeeCode: minLength: 1 type: string description: The employee's code. employeeFirstName: minLength: 1 type: string description: The employee's first name. employeeLastName: minLength: 1 type: string description: The employee's first name. additionalProperties: false description: A POCO that represents an employee's basic information. ApiEmployeeCompactReadV2: required: - code - firstName - id - lastName type: object properties: id: type: string description: The employee guid. format: uuid code: minLength: 1 type: string description: The employee's code. firstName: minLength: 1 type: string description: The employee's first name. lastName: minLength: 1 type: string description: The employee's first name. additionalProperties: false description: A POCO that represents an employee's basic information. ApiEmployeeCostAdjustmentRead: type: object properties: id: type: string description: The Id. format: uuid employeeId: type: string description: The employee id. format: uuid costAdjustmentId: type: string description: The cost adjustment id. format: uuid additionalProperties: false description: A POCO that represents the relationship between employees and cost adjustments ApiEmployeeCostAdjustmentReadPaginatedResponse: required: - metadata - results type: object properties: results: type: array items: $ref: '#/components/schemas/ApiEmployeeCostAdjustmentRead' description: The paginated results. metadata: $ref: '#/components/schemas/ApiEmployeeCostAdjustmentReadResponseMetadata' additionalProperties: false description: A POCO that represents a cursor-paginated response from the server. ApiEmployeeCostAdjustmentReadResponseMetadata: type: object properties: nextCursor: type: string description: "If non-null, specifies the cursor that will return\r\nthe next set of results." nullable: true additionalProperties: false description: "Contains metadata about a paginated response. (may be later\r\nexpanded to include the limit, count, etc.)" ApiEmployeeCostAdjustmentsWrite: required: - employeeId type: object properties: employeeId: type: string description: The employee id. format: uuid costAdjustmentIds: type: array items: type: string format: uuid description: The list of cost adjustment ids. nullable: true additionalProperties: false description: A POCO that represents an employee-cost adjustment relationship ApiEmployeeOnJobRead: required: - businessUnitCode - businessUnitId - employeeCode - employeeFirstName - employeeId - employeeLastName - id - jobCode - jobId type: object properties: id: type: string description: The job-employee relationship id format: uuid businessUnitId: type: string description: The business unit id. format: uuid businessUnitCode: minLength: 1 type: string description: The business unit code. jobId: type: string description: The job id. format: uuid jobCode: minLength: 1 type: string description: The job code. employeeId: type: string description: The employee id. format: uuid employeeCode: minLength: 1 type: string description: The employee code. employeeFirstName: minLength: 1 type: string description: The employee first name. employeeLastName: minLength: 1 type: string description: The employee last name. defaultPayClassId: type: string description: The pay class id for the employee on the job. format: uuid nullable: true defaultPayClassCode: type: string description: The pay class code for the employee on the job. nullable: true defaultPayClassDescription: type: string description: The pay class description for the employee on the job. nullable: true assignedEquipmentId: type: string description: The assigned equipment id. format: uuid nullable: true assignedEquipmentCode: type: string description: The assigned equipment code. nullable: true assignedEquipmentDescription: type: string description: The assigned equipment description. nullable: true isActive: type: boolean description: The isActive status. nullable: true costAdjustmentStatus: $ref: '#/components/schemas/OverrideStatusForJobResource' additionalProperties: false description: A POCO that represents an employee on a job relationship. ApiEmployeeOnJobReadPaginatedResponse: required: - metadata - results type: object properties: results: type: array items: $ref: '#/components/schemas/ApiEmployeeOnJobRead' description: The paginated results. metadata: $ref: '#/components/schemas/ApiEmployeeOnJobReadResponseMetadata' additionalProperties: false description: A POCO that represents a cursor-paginated response from the server. ApiEmployeeOnJobReadResponseMetadata: type: object properties: nextCursor: type: string description: "If non-null, specifies the cursor that will return\r\nthe next set of results." nullable: true additionalProperties: false description: "Contains metadata about a paginated response. (may be later\r\nexpanded to include the limit, count, etc.)" ApiEmployeeOnJobWrite: required: - employeeId - jobId type: object properties: jobId: type: string description: The job id. format: uuid employeeId: type: string description: The employee id. format: uuid defaultPayClassId: type: string description: The pay class id for the employee on the job. format: uuid nullable: true assignedEquipmentId: type: string description: The assigned equipment id. format: uuid nullable: true additionalProperties: false description: A POCO that represents an employee on a job relationship. ApiEmployeeSlimRead: required: - employeeCode - employeeFirstName - employeeId - employeeLastName type: object properties: employeeId: type: string description: The employee guid. format: uuid employeeCode: minLength: 1 type: string description: The employee's code. employeeFirstName: minLength: 1 type: string description: The employee's first name. employeeLastName: minLength: 1 type: string description: The employee's first name. accountingCode: type: string description: The employee's accounting code. nullable: true additionalProperties: false description: A POCO that represents an employee with accounting value. ApiEmployeeTimeCardHoursDetail: type: object properties: costCode: $ref: '#/components/schemas/ApiCostCodeCompactRead' regularHours: type: number description: The regular hours. format: double nullable: true overtimeHours: type: number description: The overtime hours. format: double nullable: true otherHours: type: number description: The other hours. format: double nullable: true hourTag: $ref: '#/components/schemas/ApiHourTagCompactRead' isInTimeCardHours: type: boolean description: Indicates whether the hour is included in time card hours. isCosted: type: boolean description: Indicates whether the hour is costed. costAdjustmentCosts: type: array items: $ref: '#/components/schemas/ApiCostAdjustmentDetailCost' description: The cost adjustment costs. nullable: true additionalProperties: false description: Model that represents employee hours details on time cards. ApiEmployeeTimeCardSummary: type: object properties: employee: $ref: '#/components/schemas/ApiEmployeeCompactRead' foreman: $ref: '#/components/schemas/ApiEmployeeCompactRead' job: $ref: '#/components/schemas/ApiJobCompactRead' payClass: $ref: '#/components/schemas/ApiPayClassCompactRead' date: type: string description: The date. format: date-time notes: type: string description: The notes. nullable: true startTime: type: string description: The schedule's start time. nullable: true endTime: type: string description: The schedule's end time. nullable: true meal1Start: type: string description: The meal 1's start time. nullable: true meal1End: type: string description: The meal 1's end time. nullable: true meal2Start: type: string description: The meal 2's start time. nullable: true meal2End: type: string description: The meal 2's end time. nullable: true break1: type: string description: The break 1. nullable: true break2: type: string description: The break 2. nullable: true timeCardShift: type: integer description: The time card shift. format: int32 timeCardRevision: type: integer description: The time card revision. format: int32 hoursDetails: type: array items: $ref: '#/components/schemas/ApiEmployeeTimeCardHoursDetail' description: The employee hours detail. nullable: true costAdjustmentQuantities: type: array items: $ref: '#/components/schemas/ApiCostAdjustmentQuantity' description: The employee cost adjustment quantities. nullable: true additionalProperties: false description: Model that represents employee summary on time cards. ApiEmployeeTimeCardSummaryPaginatedResponse: required: - metadata - results type: object properties: results: type: array items: $ref: '#/components/schemas/ApiEmployeeTimeCardSummary' description: The paginated results. metadata: $ref: '#/components/schemas/ApiEmployeeTimeCardSummaryResponseMetadata' additionalProperties: false description: A POCO that represents a cursor-paginated response from the server. ApiEmployeeTimeCardSummaryResponseMetadata: type: object properties: nextCursor: type: string description: "If non-null, specifies the cursor that will return\r\nthe next set of results." nullable: true additionalProperties: false description: "Contains metadata about a paginated response. (may be later\r\nexpanded to include the limit, count, etc.)" ApiEmployeeWithAccountingValuesRead: type: object properties: code: type: string description: The code of the employee. nullable: true firstName: type: string description: The first name of the employee. nullable: true middleInitial: type: string description: The middle initial of the employee. nullable: true lastName: type: string description: The last name of the employee. nullable: true suffix: type: string description: The suffix of the employee. nullable: true nickName: type: string description: The nick name of the employee. nullable: true email: type: string description: The email of the employee. nullable: true isSalaried: type: boolean description: The salaried status of the employee. isActive: type: boolean description: The active status of the employee. assignedEquipmentId: type: string description: The id the default equipment assigned to the employee. format: uuid nullable: true defaultPayClassId: type: string description: The id the default payclass assigned to the employee. format: uuid nullable: true id: type: string description: The id of the employee. format: uuid assignedEquipmentCode: type: string description: The code of the default equipment assigned to the employee. nullable: true assignedEquipmentDescription: type: string description: The description of the default equipment assigned to the employee. nullable: true defaultPayClassCode: type: string description: The code of the default payclass assigned to the employee. nullable: true defaultPayClassDescription: type: string description: The description of the default payclass assigned to the employee. nullable: true isForeman: type: boolean description: Whether the employee is an active foreman. isDeleted: type: boolean description: Whether the employee is deleted. isHistoricalForeman: type: boolean description: Whether the employee is or ever has been a foreman. accountingCode: $ref: '#/components/schemas/ApiAccountingValuesRead' company: $ref: '#/components/schemas/ApiAccountingValuesRead' department: $ref: '#/components/schemas/ApiAccountingValuesRead' costType: $ref: '#/components/schemas/ApiAccountingValuesRead' earnCode: $ref: '#/components/schemas/ApiAccountingValuesRead' crew: $ref: '#/components/schemas/ApiAccountingValuesRead' unionCode: $ref: '#/components/schemas/ApiAccountingValuesRead' division: $ref: '#/components/schemas/ApiAccountingValuesRead' salary: $ref: '#/components/schemas/ApiAccountingValuesRead' generalLedgerAccount: $ref: '#/components/schemas/ApiAccountingValuesRead' taxCode: $ref: '#/components/schemas/ApiAccountingValuesRead' accountingType: $ref: '#/components/schemas/ApiAccountingValuesRead' additionalProperties: false description: A POCO that represents an employee with its accounting values. ApiEmployeeWithAccountingValuesReadPaginatedResponse: required: - metadata - results type: object properties: results: type: array items: $ref: '#/components/schemas/ApiEmployeeWithAccountingValuesRead' description: The paginated results. metadata: $ref: '#/components/schemas/ApiEmployeeWithAccountingValuesReadResponseMetadata' additionalProperties: false description: A POCO that represents a cursor-paginated response from the server. ApiEmployeeWithAccountingValuesReadResponseMetadata: type: object properties: nextCursor: type: string description: "If non-null, specifies the cursor that will return\r\nthe next set of results." nullable: true additionalProperties: false description: "Contains metadata about a paginated response. (may be later\r\nexpanded to include the limit, count, etc.)" ApiEquipmentCompactRead: required: - equipmentCode - equipmentDescription - equipmentId - isRental type: object properties: equipmentId: type: string description: The equipment guid. format: uuid equipmentCode: minLength: 1 type: string description: The equipment's code. equipmentDescription: minLength: 1 type: string description: The equipment's description. isRental: type: boolean description: is the equipment a rental. additionalProperties: false description: A POCO that represents an equipment's basic information. ApiEquipmentOnJobRead: required: - businessUnitCode - businessUnitId - equipmentCode - equipmentId - id - jobCode - jobId type: object properties: id: type: string description: The job-equipment id format: uuid businessUnitId: type: string description: The business unit id. format: uuid businessUnitCode: minLength: 1 type: string description: The business unit code. jobId: type: string description: The job id. format: uuid jobCode: minLength: 1 type: string description: The job code. equipmentId: type: string description: The equipment id. format: uuid equipmentCode: minLength: 1 type: string description: The equipment code. equipmentDescription: type: string description: The equipment description. nullable: true operatorPayClassId: type: string description: The equipment operator pay class id. format: uuid nullable: true operatorPayClassCode: type: string description: The equipment operator pay class code. nullable: true isActive: type: boolean description: Whether or not the relationship is active additionalProperties: false description: A POCO that represents an equipment on a job relation. ApiEquipmentOnJobWrite: required: - equipmentId - jobId type: object properties: jobId: type: string description: The job ID. format: uuid equipmentId: type: string description: The equipment ID. format: uuid operatorPayClassId: type: string description: The equipment operator pay class ID. format: uuid nullable: true additionalProperties: false description: A POCO that represents an equipment on a job relation to be created or updated by the API. ApiEquipmentTimeCardHoursDetail: type: object properties: costCode: $ref: '#/components/schemas/ApiCostCodeCompactRead' totalHours: type: number description: The total hours. format: double nullable: true ownershipHours: type: number description: The ownership hours. format: double nullable: true operatingHours: type: number description: The operating hours. format: double nullable: true hourTag: $ref: '#/components/schemas/ApiHourTagCompactRead' isInTimeCardHours: type: boolean description: Indicates whether the hour is included in time card hours. isCosted: type: boolean description: Indicates whether the hour is costed. additionalProperties: false description: Model that represents equipment hours details on time cards. ApiEquipmentTimeCardSummary: type: object properties: equipment: $ref: '#/components/schemas/ApiEquipmentCompactRead' foreman: $ref: '#/components/schemas/ApiEmployeeCompactRead' job: $ref: '#/components/schemas/ApiJobCompactRead' date: type: string description: The date. format: date-time notes: type: string description: The notes. nullable: true startTime: type: string description: The schedule's start time. nullable: true endTime: type: string description: The schedule's end time. nullable: true meterStart: type: number description: The meter start. format: double meterStop: type: number description: The meter stop. format: double engineOffDuration: type: string description: The amount of engine-off duration. nullable: true timeCardShift: type: integer description: The time card shift. format: int32 timeCardRevision: type: integer description: The time card revision. format: int32 hoursDetails: type: array items: $ref: '#/components/schemas/ApiEquipmentTimeCardHoursDetail' description: The equipment hours detail. nullable: true gpsId: type: string description: The GPS ID. nullable: true additionalProperties: false description: Model that represents equipment summary on time cards. ApiEquipmentTimeCardSummaryPaginatedResponse: required: - metadata - results type: object properties: results: type: array items: $ref: '#/components/schemas/ApiEquipmentTimeCardSummary' description: The paginated results. metadata: $ref: '#/components/schemas/ApiEquipmentTimeCardSummaryResponseMetadata' additionalProperties: false description: A POCO that represents a cursor-paginated response from the server. ApiEquipmentTimeCardSummaryResponseMetadata: type: object properties: nextCursor: type: string description: "If non-null, specifies the cursor that will return\r\nthe next set of results." nullable: true additionalProperties: false description: "Contains metadata about a paginated response. (may be later\r\nexpanded to include the limit, count, etc.)" ApiEquipmentTypeRead: required: - businessUnitId - code - id type: object properties: code: minLength: 1 type: string description: The code. description: type: string description: The description. nullable: true id: type: string description: The equipment type id. format: uuid businessUnitId: type: string description: The business unit id. format: uuid additionalProperties: false description: A POCO that represents a slice of equipment type state returned by the API. ApiEquipmentTypeWrite: required: - code type: object properties: code: minLength: 1 type: string description: The code. description: type: string description: The description. nullable: true additionalProperties: false description: A POCO that represents a equipment type to be created or updated by the API. ApiEquipmentWithAccountingValuesRead: type: object properties: equipmentId: type: string description: The equipment Id. format: uuid legacyId: type: string description: The legacy system Id. Primarily for internal HJ usage. format: uuid equipmentCode: type: string description: The equipment code. nullable: true equipmentDescription: type: string description: The equipment description nullable: true gpsDeviceTag: type: string description: The GPS device tag. nullable: true isRental: type: boolean description: The is Rental flag. make: type: string description: The make of the equipment. nullable: true model: type: string description: The model of the equipment. nullable: true licensePlate: type: string description: The license plate. nullable: true serialNumber: type: string description: The serial number or VIN. nullable: true state: type: string description: The state. nullable: true vendorId: type: string description: The vendor Id. format: uuid nullable: true year: type: integer description: The year of the equipment. format: int32 isActive: type: boolean description: The is Active flag. nullable: true operatorPayClassId: type: string description: The Operator's pay class Id. format: uuid nullable: true readOnly: true operatorPayClassCode: type: string description: The Operator's pay class code. nullable: true readOnly: true operatorPayClassDescription: type: string description: The Operator's pay class description. nullable: true readOnly: true equipmentTypeId: type: string description: The equipment type Id. format: uuid nullable: true equipmentTypeCode: type: string description: The equipment type code. nullable: true equipmentTypeDescription: type: string description: The equipment type description. nullable: true fuelTypeId: type: string description: The Fuel Type ID. format: uuid nullable: true fuelTypeCode: type: string description: The Fuel Type code. nullable: true fuelTypeDescription: type: string description: The Fuel Type Description. nullable: true fuelCapacity: type: number description: The Fuel Capacity. format: double isFueler: type: boolean description: The IsFueler. isDeleted: type: boolean description: Whether the equipment is deleted. accountingCode: $ref: '#/components/schemas/ApiAccountingValuesRead' accountingType: $ref: '#/components/schemas/ApiAccountingValuesRead' company: $ref: '#/components/schemas/ApiAccountingValuesRead' costType: $ref: '#/components/schemas/ApiAccountingValuesRead' division: $ref: '#/components/schemas/ApiAccountingValuesRead' generalLedgerAccount: $ref: '#/components/schemas/ApiAccountingValuesRead' meterType: $ref: '#/components/schemas/ApiAccountingValuesRead' miscAccount: $ref: '#/components/schemas/ApiAccountingValuesRead' usageCode: $ref: '#/components/schemas/ApiAccountingValuesRead' additionalProperties: false description: HeavyJob Equipment object with its associated accounting fields. ApiEquipmentWithAccountingValuesReadPaginatedResponse: required: - metadata - results type: object properties: results: type: array items: $ref: '#/components/schemas/ApiEquipmentWithAccountingValuesRead' description: The paginated results. metadata: $ref: '#/components/schemas/ApiEquipmentWithAccountingValuesReadResponseMetadata' additionalProperties: false description: A POCO that represents a cursor-paginated response from the server. ApiEquipmentWithAccountingValuesReadResponseMetadata: type: object properties: nextCursor: type: string description: "If non-null, specifies the cursor that will return\r\nthe next set of results." nullable: true additionalProperties: false description: "Contains metadata about a paginated response. (may be later\r\nexpanded to include the limit, count, etc.)" ApiEquipmentWithAccountingValuesWrite: required: - equipmentCode - equipmentId type: object properties: equipmentId: type: string description: The equipment Id. format: uuid equipmentCode: maxLength: 100 minLength: 1 type: string description: The equipment code. equipmentDescription: maxLength: 200 type: string description: The equipment description nullable: true gpsDeviceTag: maxLength: 50 type: string description: The GPS device tag. nullable: true isRental: type: boolean description: The is Rental flag. make: maxLength: 50 type: string description: The make of the equipment. nullable: true model: maxLength: 50 type: string description: The model of the equipment. nullable: true licensePlate: maxLength: 20 type: string description: The license plate. nullable: true serialNumber: maxLength: 50 type: string description: The serial number or VIN. nullable: true state: maxLength: 20 type: string description: The state. nullable: true vendorId: type: string description: The vendor Id. format: uuid nullable: true year: type: integer description: The year of the equipment. format: int32 isActive: type: boolean description: The is Active flag. nullable: true operatorPayClassId: type: string description: The Operator's pay class Id. format: uuid nullable: true equipmentTypeId: type: string description: The equipment type Id. format: uuid nullable: true fuelTypeId: type: string description: The Fuel Type ID. format: uuid nullable: true fuelCapacity: type: number description: The Fuel Capacity. format: double isFueler: type: boolean description: The IsFueler. accountingCode: maxLength: 100 type: string description: The accounting code. nullable: true accountingType: maxLength: 100 type: string description: The accounting type. nullable: true company: maxLength: 100 type: string description: The accounting company. nullable: true costType: maxLength: 100 type: string description: The accounting cost type. nullable: true division: maxLength: 100 type: string description: The accounting division. nullable: true generalLedgerAccount: maxLength: 100 type: string description: The accounting general ledger account. nullable: true meterType: maxLength: 100 type: string description: The accounting meter type. nullable: true miscAccount: maxLength: 100 type: string description: The accounting miscaccount. nullable: true usageCode: maxLength: 100 type: string description: The accounting usage code. nullable: true additionalProperties: false description: HeavyJob Equipment object with it's associated accounting fields ApiForecastDetailCustomRead: type: object properties: costCategoryId: type: string description: The cost category (custom-cost-type) id. format: uuid costCategoryCode: type: string description: The cost category (custom-cost-type) code. nullable: true costCategoryDescription: type: string description: The cost category (custom-cost-type) description. nullable: true cost: type: number description: The custom-cost-type cost. format: double creationToDateCost: type: number description: The snapshot to-date custom-cost-type cost when the forecast is created. format: double additionalProperties: false description: A POCO that represents a slice of forecast detailed custom-cost-type cost state returned by the API. ApiForecastDetailRead: type: object properties: costCodeId: type: string description: The cost code id. format: uuid equipmentCost: type: number description: The equipment cost. format: double creationToDateEquipmentCost: type: number description: The snapshot to-date equipment cost when the forecast is created. format: double equipmentHours: type: number description: The equipment hours. format: double creationToDateEquipmentHours: type: number description: The snapshot to-date equipment hours when the forecast is created. format: double laborCost: type: number description: The labor cost. format: double creationToDateLaborCost: type: number description: The snapshot to-date labor cost when the forecast is created. format: double laborHours: type: number description: The labor hours. format: double creationToDateLaborHours: type: number description: The snapshot to-date labor hours when the forecast is created. format: double materialCost: type: number description: The material cost. format: double creationToDateMaterialCost: type: number description: The snapshot to-date material cost when the forecast is created. format: double subcontractCost: type: number description: The subcontract cost. format: double creationToDateSubcontractCost: type: number description: The snapshot to-date subcontract cost when the forecast is created. format: double quantity: type: number description: The quantity. format: double creationToDateQuantity: type: number description: The snapshot to-date quantity when the forecast is created. format: double customCostTypeValues: type: array items: $ref: '#/components/schemas/ApiForecastDetailCustomRead' description: List of custom-cost-type costs. nullable: true additionalProperties: false description: A POCO that represents a slice of forecast detailed cost state returned by the API. ApiForecastInfoRead: required: - forecastDate - id - jobId type: object properties: id: type: string description: The forecast guid. format: uuid jobId: type: string description: The job guid. format: uuid forecastDate: type: string description: The forecast date. format: date-time finalizedDateTime: type: string description: The forecast finalized date. format: date-time nullable: true additionalProperties: false description: "A POCO that represents a summary info about forecasts. Detailed\r\ninformation is then retrieved by forecast id." ApiForecastInfoReadPaginatedResponse: required: - metadata - results type: object properties: results: type: array items: $ref: '#/components/schemas/ApiForecastInfoRead' description: The paginated results. metadata: $ref: '#/components/schemas/ApiForecastInfoReadResponseMetadata' additionalProperties: false description: A POCO that represents a cursor-paginated response from the server. ApiForecastInfoReadResponseMetadata: type: object properties: nextCursor: type: string description: "If non-null, specifies the cursor that will return\r\nthe next set of results." nullable: true additionalProperties: false description: "Contains metadata about a paginated response. (may be later\r\nexpanded to include the limit, count, etc.)" ApiForecastPost: required: - forecastDate - jobId type: object properties: jobId: type: string description: The master job guid. format: uuid forecastDate: type: string description: The forecast date. format: date-time previousForecastId: type: string description: "The id of the forecast used to create a new forecast.\r\nIf this value is null the forecast will be created from budget values." format: uuid nullable: true additionalProperties: false description: A POCO that represents a forecast to be created by the API. ApiForecastRead: required: - createdDateTime - forecastDate - id - jobId type: object properties: id: type: string description: The forecast guid. format: uuid readOnly: true jobId: type: string description: The job guid. format: uuid readOnly: true forecastDate: type: string description: The forecast date. format: date-time readOnly: true isFinalized: type: boolean description: Whether the forecast is finalized. readOnly: true finalizedDateTime: type: string description: The forecast finalized date. format: date-time nullable: true readOnly: true createdDateTime: type: string description: The forecast created date. format: date-time readOnly: true forecastSourceId: type: string description: "The source id of the forecast\r\n(When forecast is based on a previous forecast)." format: uuid nullable: true readOnly: true productivityType: $ref: '#/components/schemas/JobForecastProductivityType' createdOnWeb: type: boolean description: Whether the forecast is created on web. readOnly: true lastModifiedBy: $ref: '#/components/schemas/ApiUserSlimRead' totalBudget: type: number description: Total budget. format: double readOnly: true costAtCompletion: type: number description: "Total cost at the completion.\r\nTo-date total cost + cost to complete." format: double readOnly: true costCodeCosts: type: array items: $ref: '#/components/schemas/ApiForecastDetailRead' description: Forecast costs and quantity by cost code. nullable: true readOnly: true revenue: type: array items: $ref: '#/components/schemas/ApiForecastRevenueRead' description: Forecast revenues and quantities by pay item. nullable: true readOnly: true additionalProperties: false description: A POCO that represents a forecast. ApiForecastRevenuePatch: required: - id type: object properties: id: type: string description: The forecast revenue item guid. format: uuid forecastQuantity: type: number description: The forecast revenue item quantity. format: double nullable: true note: type: string description: The forecast revenue item note. nullable: true isReviewed: type: boolean description: The forecast revenue item isReviewed status. nullable: true additionalProperties: false description: A POCO that represents a forecast revenue item. ApiForecastRevenueRead: type: object properties: revenueId: type: string description: The revenue id. format: uuid payItem: $ref: '#/components/schemas/ApiPayItemCompactRead' forecastQuantity: type: number description: The user entered forecasted quantity (defaulted to budget quantity). format: double toDateQuantity: type: number description: To-date quantity of the pay item according to the associated driving cost code progress. format: double remainingQuantity: type: number description: The pay item budget quantity minus the to-date quantity format: double forecastRevenue: type: number description: The pay item's forecasted revenue format: double toDateRevenue: type: number description: The pay item's revenue to-date format: double revenueToCompletion: type: number description: The pay item's revenue to completion (remaining revenue) format: double readOnly: true originalBidAmount: type: number description: Original Bid Amount format: double profit: type: number description: Forecasted revenue minus cost at completion format: double readOnly: true variance: type: number description: Variance from bid (forecast revenue - original bid amount) format: double readOnly: true costAtCompletion: type: number description: Cost of all the cost codes for the pay item format: double marginPercent: type: number description: Margin Percent format: double readOnly: true markupPercent: type: number description: Markup Percent format: double readOnly: true isReviewed: type: boolean description: Is Reviewed Checkbox note: type: string description: Note nullable: true additionalProperties: false description: A POCO that represents forecast revenue. ApiForecastSettingRead: type: object properties: reportingForecastId: type: string description: The Reporting Forecast Id format: uuid nullable: true defaultCostCodeMethodType: $ref: '#/components/schemas/CostCodeMethodType' productivityType: $ref: '#/components/schemas/JobForecastProductivityType' costTypeFactorType: $ref: '#/components/schemas/JobForecastCostTypeFactorType' isAllowOverwrite: type: boolean description: The IsAllowOverwrite flag additionalProperties: false description: A POCO that represents a job forecast setting returned by the API. ApiForecastSummaryRead: type: object properties: id: type: string description: The job id. format: uuid readOnly: true jobCode: type: string description: The job code. nullable: true readOnly: true jobDescription: type: string description: The job description. nullable: true readOnly: true jobStatus: $ref: '#/components/schemas/JobStatus' forecastId: type: string description: The forecast guid. format: uuid readOnly: true forecastDate: type: string description: The date of the forecast. format: date-time readOnly: true forecastStatus: $ref: '#/components/schemas/ForecastStatus' toDateTotalCost: type: number description: The actal total cost to date. format: double readOnly: true costToCompletion: type: number description: The estimated cost to completion. format: double readOnly: true costAtCompletion: type: number description: The estimated cost at completion. format: double readOnly: true budgetTotal: type: number description: The budget total. format: double readOnly: true variance: type: number description: The cost variance. format: double readOnly: true createDate: type: string description: The date the forecast was created. format: date-time nullable: true readOnly: true contractRevenue: type: number description: Contract Revenue format: double readOnly: true toDateRevenue: type: number description: Revenue To-Date format: double readOnly: true revenueToCompletion: type: number description: Revenue To Completion format: double readOnly: true forecastRevenue: type: number description: Total Revenue format: double readOnly: true marginPercent: type: number description: Margin Percent format: double readOnly: true markupPercent: type: number description: Markup Percent format: double readOnly: true syncTimestamp: type: string description: The DateTime when the record was last modified. format: date-time readOnly: true additionalProperties: false description: A POCO that represents a summary of jobs and the state of their forecast returned by the API. ApiForecastSummaryReadPaginatedResponse: required: - metadata - results type: object properties: results: type: array items: $ref: '#/components/schemas/ApiForecastSummaryRead' description: The paginated results. metadata: $ref: '#/components/schemas/ApiForecastSummaryReadResponseMetadata' additionalProperties: false description: A POCO that represents a cursor-paginated response from the server. ApiForecastSummaryReadResponseMetadata: type: object properties: nextCursor: type: string description: "If non-null, specifies the cursor that will return\r\nthe next set of results." nullable: true additionalProperties: false description: "Contains metadata about a paginated response. (may be later\r\nexpanded to include the limit, count, etc.)" ApiFoundEquipmentOnTimeCardRead: type: object properties: date: type: string description: The time card date. format: date-time nullable: true timeCardId: type: string description: The time card id. format: uuid jobId: type: string description: The job id. format: uuid jobCode: type: string description: The job code nullable: true jobDescription: type: string description: The job description nullable: true businessUnitId: type: string description: The business unit id. format: uuid businessUnitCode: type: string description: The business unit code nullable: true foreman: $ref: '#/components/schemas/ApiEmployeeCompactRead' operators: type: array items: $ref: '#/components/schemas/ApiEmployeeCompactRead' description: The operator that was linked to the equipment for the time card. nullable: true additionalProperties: false description: A POCO that represents a time card that was found to contain a piece of equipment for a given date. ApiFuelTypeRead: required: - code - id type: object properties: code: minLength: 1 type: string description: The code. description: type: string description: The description. nullable: true id: type: string description: The fuel type id. format: uuid additionalProperties: false description: A POCO that represents a fuel type. ApiFuelTypeWrite: required: - code type: object properties: code: minLength: 1 type: string description: The code. description: type: string description: The description. nullable: true additionalProperties: false description: A POCO that represents a fuel type to be created or updated by the API. ApiGridTemplatePatch: required: - businessUnitId type: object properties: id: type: string description: The grid template id format: uuid businessUnitId: type: string description: The business unit id. format: uuid userId: type: string description: The user id that owns the grid template. format: uuid nullable: true templateName: type: string description: The name of the template. nullable: true gridIdentifier: type: string description: The identifier string of the template. nullable: true templateColumns: type: string description: The columns of the template stored as JSON nullable: true isFavorite: type: boolean description: A flag that indicates if the template is marked as a favorite template. nullable: true isLastViewed: type: boolean description: A flag that indicates if the template is the last picked template. nullable: true isPublic: type: boolean description: A flag that indicates if the template is usable by the public. nullable: true additionalProperties: false description: A POCO that represents a grid template to be updated by the API. ApiGridTemplateRead: required: - businessUnitId - id type: object properties: businessUnitId: type: string description: The business unit id. format: uuid userId: type: string description: The user id that owns the grid template. format: uuid nullable: true templateName: type: string description: The name of the template. nullable: true gridIdentifier: type: string description: The identifier string of the template. nullable: true templateColumns: type: string description: The columns of the template stored as JSON nullable: true isFavorite: type: boolean description: A flag that indicates if the template is marked as a favorite template. isLastViewed: type: boolean description: A flag that indicates if the template is the last picked template. isPublic: type: boolean description: A flag that indicates if the template is usable by the public. id: type: string description: The guid of the template. format: uuid additionalProperties: false description: A POCO that represents a grid template to be updated by the API. ApiGridTemplateWrite: required: - businessUnitId type: object properties: businessUnitId: type: string description: The business unit id. format: uuid userId: type: string description: The user id that owns the grid template. format: uuid nullable: true templateName: type: string description: The name of the template. nullable: true gridIdentifier: type: string description: The identifier string of the template. nullable: true templateColumns: type: string description: The columns of the template stored as JSON nullable: true isFavorite: type: boolean description: A flag that indicates if the template is marked as a favorite template. isLastViewed: type: boolean description: A flag that indicates if the template is the last picked template. isPublic: type: boolean description: A flag that indicates if the template is usable by the public. additionalProperties: false description: A POCO that represents a grid template to be created or updated by the API. ApiHeavyJobSettingsRead: type: object properties: isWebOnly: type: boolean description: Whether the company is a web-only company. additionalProperties: false description: A POCO representing various HeavyJob settings. ApiHourTagCompactRead: type: object properties: hourTagId: type: string description: The hour tag's guid. format: uuid hourTagCode: type: string description: The hour tag's code. nullable: true hourTagDescription: type: string description: The hour tag's description. nullable: true additionalProperties: false description: A POCO that represents an hour tag's basic information. ApiJobCompactRead: required: - jobCode - jobDescription - jobId type: object properties: jobId: type: string description: The job guid. format: uuid jobCode: minLength: 1 type: string description: The job's code. jobDescription: minLength: 1 type: string description: The job's description. additionalProperties: false description: A POCO that represents a job's basic information. ApiJobCompactReadV2: required: - code - description - id type: object properties: id: type: string description: The job guid. format: uuid code: minLength: 1 type: string description: The job's code. description: minLength: 1 type: string description: The job's description. additionalProperties: false description: A POCO that represents a job's basic information. ApiJobCostRead: required: - costCodeCosts - jobId - totalCost type: object properties: jobId: type: string description: The job id. format: uuid totalCost: type: number description: The total cost. format: double readOnly: true costCodeCosts: type: array items: $ref: '#/components/schemas/ApiCostCodeCostRead' description: The cost code costs. additionalProperties: false description: A POCO that represents a slice of job cost state returned by the API. ApiJobCustomCostTypeItemRead: required: - businessUnitCostType - businessUnitCostTypeItem - code - customCostTypeItemId - id - isDeleted - isDiscontinued - jobId type: object properties: customCostTypeItemId: type: string description: The custom cost type item id. format: uuid description: type: string description: The description. nullable: true salesTaxPercent: type: number description: The sales tax, expressed as a percent (e.g., 8 means 8% sales tax). format: double nullable: true unitCost: type: number description: The cost per unit of measure, in dollars. format: double nullable: true unitOfMeasure: type: string description: The unit of measure. nullable: true accountingCode: type: string description: The accounting code. nullable: true id: type: string description: The job custom-cost-type item id. format: uuid code: minLength: 1 type: string description: The code. heavyBidCode: type: string description: The HeavyBid code. nullable: true jobId: type: string description: The job guid. format: uuid businessUnitCostType: $ref: '#/components/schemas/ApiBusinessUnitCostTypeCompactRead' businessUnitCostTypeItem: $ref: '#/components/schemas/ApiCustomCostTypeItemCompactRead' isDiscontinued: type: boolean description: The description. isDeleted: type: boolean description: The description. additionalProperties: false description: A POCO that represents a slice of job custom-cost-type item state returned by the API. ApiJobCustomCostTypeItemWrite: required: - customCostTypeItemId type: object properties: customCostTypeItemId: type: string description: The custom cost type item id. format: uuid description: type: string description: The description. nullable: true salesTaxPercent: type: number description: The sales tax, expressed as a percent (e.g., 8 means 8% sales tax). format: double nullable: true unitCost: type: number description: The cost per unit of measure, in dollars. format: double nullable: true unitOfMeasure: type: string description: The unit of measure. nullable: true accountingCode: type: string description: The accounting code. nullable: true additionalProperties: false description: A POCO that represents a slice of job custom cost type item to be created or updated by the API. ApiJobMaterialRead: required: - code - description - id - isDeleted - isStockpiled - jobId - materialId type: object properties: materialId: type: string description: The material guid. format: uuid salesTaxPercent: type: number description: The sales tax, expressed as a percent (e.g., 8 means 8% sales tax). format: double tmRate: type: number description: The T&M rate, in dollars per unit of measure. format: double unitCost: type: number description: The cost per unit of measure, in dollars. format: double unitOfMeasure: type: string description: The unit of measure. nullable: true accountingCode: type: string description: The accounting code. nullable: true isDiscontinued: type: boolean description: The IsDiscontinued flag. id: type: string description: The job material guid. format: uuid code: minLength: 1 type: string description: The code. isStockpiled: type: boolean description: "Flag indicating whether the material is used immediately (e.g., installed),\r\nor added to the stockpile for later." heavyBidCode: type: string description: The HeavyBid code. nullable: true jobId: type: string description: The job guid. format: uuid description: minLength: 1 type: string description: The description. isDeleted: type: boolean description: The IsDeleted flag. additionalProperties: false description: A POCO that represents a slice of job material state returned by the API. ApiJobMaterialWrite: required: - materialId type: object properties: materialId: type: string description: The material guid. format: uuid description: type: string description: The description. nullable: true salesTaxPercent: type: number description: The sales tax, expressed as a percent (e.g., 8 means 8% sales tax). format: double tmRate: type: number description: The T&M rate, in dollars per unit of measure. format: double unitCost: type: number description: The cost per unit of measure, in dollars. format: double unitOfMeasure: type: string description: The unit of measure. nullable: true accountingCode: type: string description: The accounting code. nullable: true isDiscontinued: type: boolean description: The IsDiscontinued flag. additionalProperties: false description: A POCO that represents a job material to be created or updated by the API. ApiJobRead: required: - businessUnitId - code - id - legacyId - status type: object properties: id: type: string description: The master id. format: uuid legacyId: type: string description: The legacy system ID. Primarily for internal HJ usage. format: uuid code: minLength: 1 type: string description: The code (user-specified shorthand) description: type: string description: An optional description. nullable: true businessUnitId: type: string description: The business unit guid. format: uuid status: $ref: '#/components/schemas/JobStatus' isDeleted: type: boolean description: Whether the job is deleted. latitude: type: number description: The job latitude. format: double nullable: true longitude: type: number description: The job longitude. format: double nullable: true startofpayweek: $ref: '#/components/schemas/DayOfWeek' truckingCostTypeId: type: string description: The job's trucking cost type id for non-web-only company. format: uuid nullable: true jobNote: type: string description: The note for the job nullable: true readOnly: true relatedEstimateCodes: type: array items: type: string description: The related estimate codes for the job nullable: true readOnly: true address1: type: string description: The street address (e.g., 123 Main St). nullable: true address2: type: string description: The secondary address info (suite, apartment, PO box numbers etc.). nullable: true city: type: string description: The city. nullable: true state: maxLength: 2 type: string description: The state abbreviation. nullable: true zip: type: string description: The zip code. nullable: true country: type: string description: The country. nullable: true additionalProperties: false description: A POCO that represents a slice of job state returned by the API. ApiJobSubcontractRead: required: - code - description - id - jobId - subcontractId type: object properties: subcontractId: type: string description: The subcontract guid. format: uuid salesTaxPercent: type: number description: The sales tax, expressed as a percent (e.g., 8 means 8% sales tax). format: double tmRate: type: number description: The T&M rate, in dollars per unit of measure. format: double unitCost: type: number description: The cost per unit of measure, in dollars. format: double unitOfMeasure: type: string description: The unit of measure. nullable: true accountingCode: type: string description: The accounting code. nullable: true id: type: string description: The job subcontract item id. format: uuid code: minLength: 1 type: string description: The code. heavyBidCode: type: string description: The HeavyBid code. nullable: true jobId: type: string description: The job guid. format: uuid description: minLength: 1 type: string description: The description. isDeleted: type: boolean description: Flags a deleted record. isDiscontinued: type: boolean description: Flags a discontinued record. additionalProperties: false description: A POCO that represents a slice of job subcontract state returned by the API. ApiJobSubcontractWrite: required: - subcontractId type: object properties: subcontractId: type: string description: The subcontract guid. format: uuid description: type: string description: The description. nullable: true salesTaxPercent: type: number description: The sales tax, expressed as a percent (e.g., 8 means 8% sales tax). format: double tmRate: type: number description: The T&M rate, in dollars per unit of measure. format: double unitCost: type: number description: The cost per unit of measure, in dollars. format: double unitOfMeasure: type: string description: The unit of measure. nullable: true accountingCode: type: string description: The accounting code. nullable: true additionalProperties: false description: A POCO that represents a job subcontract to be created or updated by the API. ApiJobWithAccountingValuesRead: required: - businessUnitId - code - id - legacyId - status type: object properties: id: type: string description: The master id. format: uuid legacyId: type: string description: The legacy system ID. Primarily for internal HJ usage. format: uuid code: minLength: 1 type: string description: The code (user-specified shorthand) description: type: string description: An optional description. nullable: true businessUnitId: type: string description: The business unit guid. format: uuid status: $ref: '#/components/schemas/JobStatus' isDeleted: type: boolean description: Whether the job is deleted. latitude: type: number description: The job latitude. format: double nullable: true longitude: type: number description: The job longitude. format: double nullable: true startofpayweek: $ref: '#/components/schemas/DayOfWeek' truckingCostTypeId: type: string description: The job's trucking cost type id for non-web-only company. format: uuid nullable: true jobNote: type: string description: The note for the job nullable: true readOnly: true relatedEstimateCodes: type: array items: type: string description: The related estimate codes for the job nullable: true readOnly: true address1: type: string description: The street address (e.g., 123 Main St). nullable: true address2: type: string description: The secondary address info (suite, apartment, PO box numbers etc.). nullable: true city: type: string description: The city. nullable: true state: maxLength: 2 type: string description: The state abbreviation. nullable: true zip: type: string description: The zip code. nullable: true country: type: string description: The country. nullable: true accountingCode: type: string description: The accounting code. nullable: true readOnly: true certified: type: string description: '"Certified" accounting field' nullable: true readOnly: true company: type: string description: The accounting company. nullable: true readOnly: true localTaxCode: type: string description: '"LocalTaxCode" accounting field' nullable: true readOnly: true location: type: string description: '"Location" accounting field' nullable: true readOnly: true stateCode: type: string description: '"StateCode" accounting field' nullable: true readOnly: true union: type: string description: '"Union" accounting field' nullable: true readOnly: true unionClass: type: string description: '"UnionClass" accounting field' nullable: true readOnly: true unionLocal: type: string description: '"UnionLocal" accounting field' nullable: true readOnly: true additionalProperties: false description: HeavyJob Jobs object with it's associated accounting fields ApiMaterialAdvancedBudgetRead: required: - costCodeId - id - jobMaterialId - purchaseOrderDetailId type: object properties: costCodeId: type: string description: The cost code id. format: uuid purchaseOrderDetailId: type: string description: The purchase order detail id. format: uuid status: $ref: '#/components/schemas/MaterialStatus' quantity: type: number description: The quantity of the material. format: double id: type: string description: The material advanced budget id. format: uuid jobMaterialId: type: string description: The job material id. format: uuid materialDescription: type: string description: The material description. nullable: true purchaseOrderId: type: string description: The purchase order id. format: uuid nullable: true costCode: type: string description: The cost code . nullable: true costCodeDescription: type: string description: The cost code description. nullable: true salesTaxPercent: type: number description: The sales tax, expressed as a percent (e.g., 8 means 8% sales tax). format: double unitCost: type: number description: The cost per unit of measure, in dollars. format: double unitOfMeasure: type: string description: The unit of measure. nullable: true vendorId: type: string description: The vendor id. format: uuid nullable: true isDeleted: type: boolean description: Soft Deleted Flag materialBusinessUnitId: type: string description: /MaterialBusinessUnitId format: uuid additionalProperties: false description: A POCO that represents a slice of material advanced budget state returned by the API. ApiMaterialAdvancedBudgetWrite: required: - costCodeId - purchaseOrderDetailId type: object properties: costCodeId: type: string description: The cost code id. format: uuid purchaseOrderDetailId: type: string description: The purchase order detail id. format: uuid status: $ref: '#/components/schemas/MaterialStatus' quantity: type: number description: The quantity of the material. format: double additionalProperties: false description: A POCO that represents a material advanced budget to be created by the API. ApiMaterialCompactRead: required: - code - description - id - type type: object properties: id: type: string description: The material id. format: uuid type: $ref: '#/components/schemas/MaterialType' code: minLength: 1 type: string description: Code description: minLength: 1 type: string description: Description additionalProperties: false description: A POCO that represents a slice of material state returned by the API. ApiMaterialCustomCostCompactRead: required: - code - description - id - type type: object properties: id: type: string description: The material id. format: uuid type: $ref: '#/components/schemas/MaterialType' code: minLength: 1 type: string description: Code description: minLength: 1 type: string description: Description additionalProperties: false description: A POCO used as a base class for Materials and Custom Cost Type Items. ApiMaterialInstalledPatch: type: object properties: quantity: type: number description: The quantity for the installed material. format: double nullable: true loads: type: integer description: The number of loads. format: int32 nullable: true isTm: type: boolean description: Whether this transaction is marked at T & M. nullable: true isInvoiced: type: boolean description: Whether this transaction is marked at invoiced or not. nullable: true referenceNumber: maxLength: 100 type: string description: The reference number. nullable: true invoiceNumber: maxLength: 100 type: string description: The invoice number. nullable: true note: type: string description: Note nullable: true additionalProperties: false description: A POCO that represents a slice of a installed material to be updated by the API. ApiMaterialInstalledPatchV2: type: object properties: quantity: type: number description: The quantity for the installed material. format: double nullable: true loads: type: integer description: The number of loads. format: int32 nullable: true isTm: type: boolean description: Whether this transaction is marked at T & M. nullable: true isInvoiced: type: boolean description: Whether this transaction is marked at invoiced or not. nullable: true referenceNumber: maxLength: 100 type: string description: The reference number. nullable: true invoiceNumber: maxLength: 100 type: string description: The invoice number. nullable: true note: type: string description: Note nullable: true materialInstalledId: type: string description: The material installed id. format: uuid additionalProperties: false description: A POCO that represents a slice of a installed material to be updated by the API. ApiMaterialInstalledRead: required: - businessUnitId - consumedQuantity - date - foremanId - installedQuantity - jobId - lastModifiedDateTime - lastModifiedPreciseDateTime type: object properties: id: type: string description: The id. format: uuid costCodeId: type: string description: The cost code guid. format: uuid jobMaterialId: type: string description: The job material guid. format: uuid foremanId: type: string description: The foreman's employee guid. format: uuid jobId: type: string description: The job guid. format: uuid businessUnitId: type: string description: The business unit guid. format: uuid date: type: string description: The material installed date. format: date-time consumedQuantity: type: number description: "The consumed quantity. Includes the installed quantity and accounts\r\nfor any waste / mistakes during installation." format: double installedQuantity: type: number description: The install quantity. format: double unitOfMeasure: type: string description: The unit of measure. nullable: true purchaseOrderDetailId: type: string description: The purchase order detail guid. format: uuid nullable: true purchaseOrderId: type: string description: The purchase order guid. format: uuid nullable: true vendorId: type: string description: The vendor guid. format: uuid nullable: true referenceNumber: type: string description: The reference number. nullable: true invoiceNumber: type: string description: The invoice number. nullable: true isInvoiced: type: boolean description: The isInvoiced flag. lastModifiedDateTime: type: string description: The RFC 3339 dateTime, in UTC, when this installed material was last modified. format: date-time lastModifiedPreciseDateTime: type: string description: "The RFC 3339 dateTime (including fractional seconds), in UTC, when this\r\ninstalled material was last modified." format: date-time readOnly: true additionalProperties: false description: A POCO that represents an installed material. ApiMaterialInstalledReadPaginatedResponse: required: - metadata - results type: object properties: results: type: array items: $ref: '#/components/schemas/ApiMaterialInstalledRead' description: The paginated results. metadata: $ref: '#/components/schemas/ApiMaterialInstalledReadResponseMetadata' additionalProperties: false description: A POCO that represents a cursor-paginated response from the server. ApiMaterialInstalledReadResponseMetadata: type: object properties: nextCursor: type: string description: "If non-null, specifies the cursor that will return\r\nthe next set of results." nullable: true additionalProperties: false description: "Contains metadata about a paginated response. (may be later\r\nexpanded to include the limit, count, etc.)" ApiMaterialInstalledReadV2: required: - consumedCost - consumedQuantity - date - installedQuantity - job - lastModifiedDateTime - lastModifiedPreciseDateTime type: object properties: id: type: string description: The id. format: uuid jobMaterial: $ref: '#/components/schemas/ApiMaterialCompactRead' job: $ref: '#/components/schemas/ApiJobCompactRead' costCode: $ref: '#/components/schemas/ApiCostCodeCompactRead' foreman: $ref: '#/components/schemas/ApiEmployeeCompactRead' date: type: string description: Themateroal installed date. format: date-time jobMaterialId: type: string description: The job material guid. format: uuid consumedQuantity: type: number description: "The consumed quantity. Includes the installed quantity and accounts\r\nfor any waste / mistakes during installation." format: double consumedCost: type: number description: The consumed cost. format: double installedQuantity: type: number description: The install quantity. format: double unitOfMeasure: type: string description: The unit of measure. nullable: true purchaseOrder: $ref: '#/components/schemas/ApiPurchaseOrderCompactRead' purchaseOrderItemId: type: string description: The purchase order item guid. format: uuid nullable: true purchaseOrderId: type: string description: The purchase order guid. format: uuid nullable: true vendor: $ref: '#/components/schemas/ApiVendorCompactRead' referenceNumber: type: string description: The reference number. nullable: true invoiceNumber: type: string description: The invoice number. nullable: true isInvoiced: type: boolean description: The isInvoiced flag. isTm: type: boolean description: Indicates whether the installed material is T & M. costCodeTransactionTags: type: array items: $ref: '#/components/schemas/ApiTransactionTag' description: The cost code transaction tags. nullable: true loads: type: integer description: The loads format: int32 note: type: string description: The note nullable: true unitCost: type: number description: The unit cost format: double salesTax: type: number description: The sales tax format: double lastModifiedDateTime: type: string description: The RFC 3339 dateTime, in UTC, when this installed material was last modified. format: date-time lastModifiedPreciseDateTime: type: string description: "The RFC 3339 dateTime (including fractional seconds), in UTC, when this\r\ninstalled material was last modified." format: date-time readOnly: true linkedReceivedMaterialIds: type: array items: type: string format: uuid description: List of Ids of linked received material transactions nullable: true additionalProperties: false description: A POCO that represents an installed material. ApiMaterialInstalledReadV2PaginatedResponse: required: - metadata - results type: object properties: results: type: array items: $ref: '#/components/schemas/ApiMaterialInstalledReadV2' description: The paginated results. metadata: $ref: '#/components/schemas/ApiMaterialInstalledReadV2ResponseMetadata' additionalProperties: false description: A POCO that represents a cursor-paginated response from the server. ApiMaterialInstalledReadV2ResponseMetadata: type: object properties: nextCursor: type: string description: "If non-null, specifies the cursor that will return\r\nthe next set of results." nullable: true additionalProperties: false description: "Contains metadata about a paginated response. (may be later\r\nexpanded to include the limit, count, etc.)" ApiMaterialPurchaseOrderDetailRead: required: - id - jobMaterialId - purchaseOrderId - quantity - sequence - unitCost - unitOfMeasure type: object properties: id: type: string description: The purchase order detail id. format: uuid purchaseOrderId: type: string description: The purchase order id. format: uuid sequence: type: number description: "The sequence number of the purchase order detail.\r\nUsed to sort the purchase order details." format: double isFullyReceived: type: boolean description: "Whether the item is fully received.\r\nDefault is false." isFullyInstalled: type: boolean description: "Whether the item is fully installed.\r\nDefault is false." note: type: string description: The note. nullable: true quantity: type: number description: The item quantity. format: double unitCost: type: number description: The item unit cost. format: double unitOfMeasure: minLength: 1 type: string description: The item unit of measure. salesTaxPercent: type: number description: The item sales tax represented in percent. format: double isCancelled: type: boolean description: Whether the purchase order detail is canceled. alternateDescription: type: string description: An alternate description for this purchase order. nullable: true vendorItemNumber: type: string description: The vendor item number. nullable: true jobMaterialId: type: string description: The job material Id. format: uuid additionalProperties: false description: A POCO representing details about a purchase order for materials. ApiMaterialPurchaseOrderDetailWrite: required: - jobMaterialId - quantity - sequence - unitCost - unitOfMeasure type: object properties: isFullyReceived: type: boolean description: "Whether the item is fully received.\r\nDefault is false." nullable: true isFullyInstalled: type: boolean description: "Whether the item is fully installed.\r\nDefault is false." nullable: true sequence: type: number description: "The sequence number of the purchase order detail.\r\nUsed to sort the purchase order details." format: double note: type: string description: The note. nullable: true quantity: type: number description: The item quantity. format: double unitCost: type: number description: The item unit cost. format: double unitOfMeasure: minLength: 1 type: string description: The item unit of measure. salesTaxPercent: type: number description: The item sales tax represented in percent. format: double isCancelled: type: boolean description: Whether the purchase order detail is canceled. alternateDescription: type: string description: An alternate description for this purchase order. nullable: true vendorItemNumber: type: string description: The vendor item number. nullable: true jobMaterialId: type: string description: The job material Id. format: uuid additionalProperties: false description: A POCO representing details about a purchase order for materials. ApiMaterialRead: required: - businessUnitId - code - id - isStockpiled type: object properties: code: minLength: 1 type: string description: The code. description: type: string description: The description. nullable: true isStockpiled: type: boolean description: "Flag indicating whether the material is used immediately (e.g., installed),\r\nor added to the stockpile for later." heavyBidCode: type: string description: The HeavyBid code. nullable: true id: type: string description: The material id. format: uuid businessUnitId: type: string description: The business unit id. format: uuid isDeleted: type: boolean description: Flags a deleted record. additionalProperties: false description: A POCO that represents a slice of material state returned by the API. ApiMaterialReceivedAdvancedRequest: type: object properties: jobIds: type: array items: type: string format: uuid description: "List of Job Ids.\r\nUsed with JobTagIds to limit jobs. Returns jobs with JobIds and JobTagIds." nullable: true jobTagIds: type: array items: type: string format: uuid description: "List of Job Tag Ids.\r\nUsed with JobIds to limit jobs. Returns jobs with JobIds and JobTagIds." nullable: true foremanIds: type: array items: type: string format: uuid description: "List of Foreman Ids.\r\nUsed to limit transactions. Returns transactions only for foremen specified." nullable: true startDate: type: string description: "Beginning local date (yyyy-MM-dd) of date range.\r\nUsed with EndDate. Transactions whose dates fall within this date range will be included." format: date-time nullable: true endDate: type: string description: "End local date (yyyy-MM-dd) of date range.\r\nUsed with StartDate. Transactions whose dates fall within this date range will be included." format: date-time nullable: true cursor: type: string description: "Optional. \r\nWhen there are additional results, the metadata nextCursor field should be passed to retrieve the next page of results." nullable: true limit: type: integer description: The maximum number of results that should be returned. format: int32 nullable: true modifiedSince: type: string description: The modifiedSince datetime. format: date-time nullable: true businessUnitId: type: string description: The business unit id. format: uuid nullable: true additionalProperties: false description: Request body for querying received material with advanced filtering. ApiMaterialReceivedPatch: type: object properties: id: type: string description: The id for the installed received. format: uuid quantity: type: number description: The quantity for the installed material. format: double nullable: true loads: type: integer description: The number of loads. format: int32 nullable: true referenceNumber: maxLength: 100 type: string description: The reference number. nullable: true invoiceNumber: maxLength: 100 type: string description: The invoice number. nullable: true isInvoiced: type: boolean description: Whether this transaction is marked at invoiced or not. nullable: true note: type: string description: Note nullable: true additionalProperties: false description: A POCO that represents a slice of a installed recieved to be updated by the API. ApiMaterialReceivedRead: required: - businessUnitId - date - foremanId - jobId - quantity type: object properties: id: type: string description: The id. format: uuid jobMaterialId: type: string description: The job material guid. format: uuid foremanId: type: string description: The foreman guid. format: uuid jobId: type: string description: The job guid. format: uuid businessUnitId: type: string description: The business unit guid. format: uuid date: type: string description: The material received date. format: date-time referenceNumber: type: string description: The reference number. nullable: true invoiceNumber: type: string description: The invoice number. nullable: true quantity: type: number description: The received quantity. format: double unitOfMeasure: type: string description: The unit of measure. nullable: true purchaseOrderId: type: string description: The purchase order guid. format: uuid nullable: true vendorId: type: string description: The vendor guid. format: uuid nullable: true additionalProperties: false description: A POCO that represents a received material. ApiMaterialReceivedReadPaginatedResponse: required: - metadata - results type: object properties: results: type: array items: $ref: '#/components/schemas/ApiMaterialReceivedRead' description: The paginated results. metadata: $ref: '#/components/schemas/ApiMaterialReceivedReadResponseMetadata' additionalProperties: false description: A POCO that represents a cursor-paginated response from the server. ApiMaterialReceivedReadResponseMetadata: type: object properties: nextCursor: type: string description: "If non-null, specifies the cursor that will return\r\nthe next set of results." nullable: true additionalProperties: false description: "Contains metadata about a paginated response. (may be later\r\nexpanded to include the limit, count, etc.)" ApiMaterialReceivedReadV2: required: - businessUnitId - date - job - quantity type: object properties: id: type: string description: The id. format: uuid jobMaterial: $ref: '#/components/schemas/ApiMaterialCompactRead' foreman: $ref: '#/components/schemas/ApiEmployeeCompactRead' job: $ref: '#/components/schemas/ApiJobCompactRead' businessUnitId: type: string description: The business unit guid. format: uuid date: type: string description: The material received date. format: date-time referenceNumber: type: string description: The reference number. nullable: true invoiceNumber: type: string description: The invoice number. nullable: true isInvoiced: type: boolean description: The isInvoiced flag. quantity: type: number description: The received quantity. format: double unitOfMeasure: type: string description: The unit of measure. nullable: true purchaseOrder: $ref: '#/components/schemas/ApiPurchaseOrderCompactRead' purchaseOrderDetailId: type: string description: The purchase order detail guid. format: uuid nullable: true vendor: $ref: '#/components/schemas/ApiVendorCompactRead' costCodeTransactionTags: type: array items: $ref: '#/components/schemas/ApiTransactionTag' description: The cost code transaction tags. nullable: true loads: type: integer description: The loads format: int32 note: type: string description: The note nullable: true unitCost: type: number description: The unit cost format: double salesTax: type: number description: The sales tax format: double linkedInstalledMaterialIds: type: array items: type: string format: uuid description: List of Ids of linked intalled material transactions nullable: true additionalProperties: false description: A POCO that represents a received material. ApiMaterialReceivedReadV2PaginatedResponse: required: - metadata - results type: object properties: results: type: array items: $ref: '#/components/schemas/ApiMaterialReceivedReadV2' description: The paginated results. metadata: $ref: '#/components/schemas/ApiMaterialReceivedReadV2ResponseMetadata' additionalProperties: false description: A POCO that represents a cursor-paginated response from the server. ApiMaterialReceivedReadV2ResponseMetadata: type: object properties: nextCursor: type: string description: "If non-null, specifies the cursor that will return\r\nthe next set of results." nullable: true additionalProperties: false description: "Contains metadata about a paginated response. (may be later\r\nexpanded to include the limit, count, etc.)" ApiMaterialSubCustomCostCompactRead: type: object properties: id: type: string description: The material, sub, or custom cost id. format: uuid code: type: string description: The material, sub, or custom cost id. nullable: true description: type: string description: The material, sub, or custom cost id. nullable: true type: $ref: '#/components/schemas/MaterialsCostType' additionalProperties: false description: A object that contains a material, sub, or custom cost type item basic information. ApiMaterialSubCustomCostRead: type: object properties: id: type: string description: The material, sub, or custom cost id. format: uuid code: type: string description: The material, sub, or custom cost id. nullable: true description: type: string description: The material, sub, or custom cost id. nullable: true unitOfMeasure: type: string description: The material, sub, or custom cost id. nullable: true unitCost: type: number description: The material, sub, or custom cost id. format: double typeOfCost: $ref: '#/components/schemas/MaterialsCostType' costTypeDescription: type: string description: The description of the type of material, sub, or custom cost. nullable: true costTypeCode: type: string description: The code of the type of material, sub, or custom cost. nullable: true heavyBidCode: type: string description: The HeavyBid code of the type of material, sub, or custom cost. nullable: true isDeleted: type: boolean description: The IsDeleted flag. salesTax: type: number description: Sales tax format: double nullable: true legacyId: type: string description: Legacy identifier format: uuid lastModifiedDateTime: type: string description: The RFC 3339 dateTime, in UTC, when this material, sub, or custom cost was last modified. format: date-time nullable: true additionalProperties: false description: A object that represents a material, sub, or custom cost type returned by the API. ApiMaterialWrite: required: - code - isStockpiled type: object properties: code: minLength: 1 type: string description: The code. description: type: string description: The description. nullable: true isStockpiled: type: boolean description: "Flag indicating whether the material is used immediately (e.g., installed),\r\nor added to the stockpile for later." heavyBidCode: type: string description: The HeavyBid code. nullable: true additionalProperties: false description: A POCO that represents a material to be created or updated by the API. ApiNonuseHourTagRead: required: - code - id type: object properties: id: type: string description: The nonuse hour tag id. format: uuid code: minLength: 1 type: string description: The code. description: type: string description: The description. nullable: true totalTimeDescription: type: string description: The total-time description. nullable: true ownershipTimeDescription: type: string description: The ownership-time description. nullable: true operatingTimeDescription: type: string description: The operating-time description. nullable: true additionalProperties: false description: A POCO that represents a slice of nonuse hour tag state returned by the API. ApiOwnerCompactRead: type: object properties: id: type: string description: The id of the owner. format: uuid name: type: string description: The name of the owner. nullable: true description: type: string description: The description of the owner. nullable: true additionalProperties: false description: A POCO that represents a slice of an owner. ApiOwnerRead: required: - id - name type: object properties: name: minLength: 1 type: string description: The name of the owner. description: type: string description: The description of the owner. nullable: true address1: type: string description: The street address (e.g., 123 Main St). nullable: true address2: type: string description: The secondary address info (suite, apartment, PO box numbers etc.). nullable: true city: type: string description: The city. nullable: true state: maxLength: 2 type: string description: The state abbreviation. nullable: true zip: type: string description: The zip code. nullable: true country: type: string description: The country. nullable: true phoneNumber: type: string description: The phone number. Can include numbers, symbols and whitespace. nullable: true id: type: string description: The owner guid. format: uuid additionalProperties: false description: A POCO that represents a T&M bill owner returned by the API. ApiOwnerWrite: required: - name type: object properties: name: minLength: 1 type: string description: The name of the owner. description: type: string description: The description of the owner. nullable: true address1: type: string description: The street address (e.g., 123 Main St). nullable: true address2: type: string description: The secondary address info (suite, apartment, PO box numbers etc.). nullable: true city: type: string description: The city. nullable: true state: maxLength: 2 type: string description: The state abbreviation. nullable: true zip: type: string description: The zip code. nullable: true country: type: string description: The country. nullable: true phoneNumber: type: string description: The phone number. Can include numbers, symbols and whitespace. nullable: true additionalProperties: false description: A POCO that represents an owner to be created or updated by the API. ApiPayClassBusinessUnitPatch: type: object properties: businessUnitId: type: string description: The business unit Id. format: uuid code: type: string description: The pay class code. nullable: true hbEstimateCode: type: string description: The pay class HeavyBid code. nullable: true description: type: string description: The pay class description. nullable: true isActive: type: boolean description: The active status. nullable: true additionalProperties: false description: A POCO that represents a slice of a PayClass to be updated by the API. ApiPayClassCompactRead: type: object properties: payClassId: type: string description: The pay class Id. format: uuid payClassCode: type: string description: The pay class code. nullable: true payClassDescription: type: string description: The pay class description nullable: true additionalProperties: false description: A POCO that represents a pay class's basic information. ApiPayClassRead: type: object properties: id: type: string description: The pay class Id. format: uuid readOnly: true code: type: string description: The pay class code. nullable: true readOnly: true description: type: string description: The pay class description nullable: true readOnly: true isDeleted: type: boolean description: The deleted status of the pay class. additionalProperties: false description: PayClass object ApiPayItemCompactRead: type: object properties: id: type: string description: The id of this pay item. format: uuid jobId: type: string description: The job that this pay item is associated with. format: uuid payItem: type: string description: A unique code that describes this pay item. nullable: true description: type: string description: A description for this pay item. nullable: true ownerCode: type: string description: The associated pay item code in the owner's system. nullable: true unitOfMeasure: type: string description: The unit of measure used to bill the owner for this pay item. nullable: true unitPrice: type: number description: The unit price used to bill the owner for this pay item. format: double contractQuantity: type: number description: The Contract Quantity on the Pay Item format: double additionalProperties: false description: '' ApiPayItemCreate: required: - jobId - payItem type: object properties: status: $ref: '#/components/schemas/PayItemStatus' description: maxLength: 200 type: string description: A description for this pay item. nullable: true ownerCode: maxLength: 50 type: string description: The associated pay item code in the owner's system. nullable: true contractQuantity: type: number description: The agreed-to quantity between the owner and the company. format: double nullable: true unitOfMeasure: maxLength: 50 type: string description: The unit of measure used to bill the owner for this pay item. nullable: true unitPrice: type: number description: The unit price used to bill the owner for this pay item. format: double nullable: true stopOverruns: type: boolean description: Whether to cap the billable quantity at the HeavyJobApi.Controllers.Models.PayItem.ApiPayItemWriteBase.ContractQuantity nullable: true notes: maxLength: 500 type: string description: Notes associated with this pay item. nullable: true jobId: type: string description: The job that this pay item is associated with. format: uuid payItem: maxLength: 50 minLength: 1 type: string description: A unique code that describes this pay item. additionalProperties: false description: A set of fields for creating a new pay item. ApiPayItemRead: required: - contractQuantity - id - jobId - payItem - status - stopOverruns - unitPrice type: object properties: id: type: string description: The id of this pay item. format: uuid jobId: type: string description: The job that this pay item is associated with. format: uuid payItem: minLength: 1 type: string description: A unique code that describes this pay item. description: type: string description: A description for this pay item. nullable: true status: $ref: '#/components/schemas/PayItemStatus' ownerCode: type: string description: The associated pay item code in the owner's system. nullable: true contractQuantity: type: number description: The agreed-to quantity between the owner and the company. format: double unitOfMeasure: type: string description: The unit of measure used to bill the owner for this pay item. nullable: true unitPrice: type: number description: The unit price used to bill the owner for this pay item. format: double stopOverruns: type: boolean description: Whether to cap the billable quantity at the HeavyJobApi.Controllers.Models.PayItem.ApiPayItemRead.ContractQuantity notes: type: string description: Notes associated with this pay item. nullable: true linkedCostCodes: type: array items: $ref: '#/components/schemas/ApiCostCodeCompactWithPayItemRead' description: Cost Codes linked to the Pay Item nullable: true additionalProperties: false description: "A pay item is a container for cost codes that\r\nrepresents a block of billable work." ApiPayItemReadPaginatedResponse: required: - metadata - results type: object properties: results: type: array items: $ref: '#/components/schemas/ApiPayItemRead' description: The paginated results. metadata: $ref: '#/components/schemas/ApiPayItemReadResponseMetadata' additionalProperties: false description: A POCO that represents a cursor-paginated response from the server. ApiPayItemReadResponseMetadata: type: object properties: nextCursor: type: string description: "If non-null, specifies the cursor that will return\r\nthe next set of results." nullable: true additionalProperties: false description: "Contains metadata about a paginated response. (may be later\r\nexpanded to include the limit, count, etc.)" ApiPayItemUpdate: type: object properties: status: $ref: '#/components/schemas/PayItemStatus' description: maxLength: 200 type: string description: A description for this pay item. nullable: true ownerCode: maxLength: 50 type: string description: The associated pay item code in the owner's system. nullable: true contractQuantity: type: number description: The agreed-to quantity between the owner and the company. format: double nullable: true unitOfMeasure: maxLength: 50 type: string description: The unit of measure used to bill the owner for this pay item. nullable: true unitPrice: type: number description: The unit price used to bill the owner for this pay item. format: double nullable: true stopOverruns: type: boolean description: Whether to cap the billable quantity at the HeavyJobApi.Controllers.Models.PayItem.ApiPayItemWriteBase.ContractQuantity nullable: true notes: maxLength: 500 type: string description: Notes associated with this pay item. nullable: true payItem: maxLength: 50 type: string description: A unique code that describes this pay item. nullable: true additionalProperties: false description: A set of fields for updating an existing pay items. ApiPersonCompactRead: required: - firstName - id type: object properties: id: type: string description: The user id. format: uuid firstName: minLength: 1 type: string description: The first name. lastName: type: string description: The last name. nullable: true email: type: string description: The email. nullable: true phone: type: string description: The email. nullable: true isDeleted: type: boolean description: IsDeleted status additionalProperties: false description: A POCO that represents a person (user or contact) returned by the API. ApiProgressBillItemPatch: required: - progressBillItemId type: object properties: progressBillItemId: type: string description: GUID for the progress bill item to be updated format: uuid ownerFinal: type: number description: Owner Final for the progress bill item format: double nullable: true myFinal: type: number description: My Final for the progress bill item format: double nullable: true note: type: string description: Notes for the progress bill item nullable: true isLocked: type: boolean description: Status for the progress bill item nullable: true additionalProperties: false description: A POCO that represents a progress bill item to be updated by the API. ApiProgressBillItemRead: required: - id type: object properties: id: type: string description: The id of the progress bill item. format: uuid progressBillId: type: string description: The id of the progress bill that this item belongs to. format: uuid periodQuantity: type: number description: The period quantity. format: double totalQuantityToDate: type: number description: The total of all period quantity values. format: double myFinalQuantity: type: number description: The my final quantity. format: double myFinalQuantityToDate: type: number description: The total of all my final quantity values. format: double ownerFinalQuantity: type: number description: The owner final quantity. format: double ownerFinalQuantityToDate: type: number description: The total of all owner final quantity values. format: double invoiceQuantity: type: number description: The invoice quantity. format: double invoiceQuantityToDate: type: number description: The total of all invoice quantity values. format: double invoiceAmount: type: number description: The invoice amount. format: double invoiceAmountToDate: type: number description: The total of all invoice amount values. format: double preliminaryQuantity: type: number description: The preliminary calculated quantity based on the request method. format: double payItem: $ref: '#/components/schemas/ApiPayItemCompactRead' isLocked: type: boolean description: If the entry of MyFinal and OwnerFinal is locked for this item note: type: string description: If the entry of MyFinal and OwnerFinal is locked for this item nullable: true additionalProperties: false description: A POCO that represents a progress bill item. ApiProgressBillItemsPatch: required: - progressBillId - progressBillItems type: object properties: progressBillId: type: string description: GUID for the progress bill to be updated format: uuid progressBillItems: type: array items: $ref: '#/components/schemas/ApiProgressBillItemPatch' description: List of progress bill items to be updated. additionalProperties: false description: A POCO that represents a set of progress bill items to be updated by the API. ApiProgressBillPatch: type: object properties: id: type: string description: The progress bill id format: uuid description: type: string description: Description of the progress bill nullable: true invoiceNumber: type: string description: Progress bill's invoice number nullable: true status: $ref: '#/components/schemas/ProgressBillStatus' note: type: string description: Notes for the progress bill nullable: true additionalProperties: false description: A POCO that represents a progress bill to be updated by the API. ApiProgressBillPost: required: - endDate - jobId - startDate type: object properties: jobId: type: string description: The master job guid. format: uuid startDate: type: string description: The progress bill start date. format: date-time endDate: type: string description: The progress bill end date. format: date-time description: type: string description: The description. nullable: true additionalProperties: false description: A POCO that represents a progress billing to be created by the API. ApiProgressBillRead: required: - startDate type: object properties: id: type: string description: The id of the progress bill. format: uuid job: $ref: '#/components/schemas/ApiJobCompactRead' startDate: type: string description: The progress bill start date. format: date-time endDate: type: string description: The progress bill end date. format: date-time invoiceNumber: type: string description: The invoice number. nullable: true description: type: string description: The description. nullable: true status: $ref: '#/components/schemas/ProgressBillStatus' invoiceTotal: type: number description: The retainage percent. format: double retainageAmount: type: number description: The retainage amount. format: double workCompleted: type: number description: The work completed to date amount. format: double period: type: integer description: The pay period. format: int32 note: type: string description: A bill note. nullable: true lastRefreshDate: type: string description: The DateTime when the bill items' period quantities were last calculated. format: date-time progressBillItems: type: array items: $ref: '#/components/schemas/ApiProgressBillItemRead' description: The progress bill items. nullable: true additionalProperties: false description: A POCO that represents a progress bill. ApiProgressBillSummaryRead: type: object properties: id: type: string description: The id of the progress bill. format: uuid jobId: type: string description: The job guid. format: uuid startDate: type: string description: The progress bill start date. format: date-time endDate: type: string description: The progress bill end date. format: date-time description: type: string description: The description. nullable: true invoiceNumber: type: string description: The invoice number. nullable: true status: $ref: '#/components/schemas/ProgressBillStatus' period: type: integer description: The pay period. format: int32 workCompleted: type: number description: The pay period. format: double invoiceTotal: type: number description: The retainage percent. format: double retainageAmount: type: number description: The retainage amount. format: double additionalProperties: false description: A POCO that represents a summary of a progress bill. ApiProgressBillingConfigPatch: required: - jobId type: object properties: jobId: type: string description: The job id which this config is describing. format: uuid retainageMode: $ref: '#/components/schemas/ProgressBillRetainageMode' flatPercentage: type: number description: The flat percentage to use if we are calculating retainage via the simple method. format: double nullable: true contractId: type: string description: A user entered value for the contract id used by the owner. nullable: true contractDescription: type: string description: A user entered value for the contract description used by the owner. nullable: true originalContractAmount: type: number description: A user entered value for the money value of this contract. format: double nullable: true level1RetainedPercent: type: number description: Percentage to be retained until retainage equals HeavyJobApi.Controllers.Models.ProgressBilling.ApiProgressBillingConfigPatch.Level1RetainedAmount. format: double nullable: true level1RetainedAmount: type: number description: Amount to be retained for this level. format: double nullable: true level2RetainedPercent: type: number description: Percentage to be retained until retainage equals HeavyJobApi.Controllers.Models.ProgressBilling.ApiProgressBillingConfigPatch.Level2RetainedAmount. format: double nullable: true level2RetainedAmount: type: number description: Amount to be retained for this level. format: double nullable: true level2RetainageType: $ref: '#/components/schemas/ProgressBillRetainageType' level3RetainedPercent: type: number description: Percentage to be retained until retainage equals HeavyJobApi.Controllers.Models.ProgressBilling.ApiProgressBillingConfigPatch.Level3RetainedAmount. format: double nullable: true level3RetainedAmount: type: number description: Amount to be retained for this level. format: double nullable: true level3RetainageType: $ref: '#/components/schemas/ProgressBillRetainageType' status: $ref: '#/components/schemas/JobProgressBillStatus' requestMethod: $ref: '#/components/schemas/ProgressBillRequestMethod' ownerId: type: string description: The owner id for whom the work is being done. format: uuid nullable: true additionalProperties: false description: A POCO that represents a progress billing config to be updated by the API. ApiProgressBillingConfigRead: required: - jobId - retainageMode type: object properties: jobId: type: string description: The job id which this config is describing. format: uuid contractId: type: string description: A user entered value for the contract id used by the owner. nullable: true contractDescription: type: string description: A user entered value for the contract description used by the owner. nullable: true originalContractAmount: type: number description: A user entered value for the money value of this contract. format: double retainageMode: $ref: '#/components/schemas/ProgressBillRetainageMode' flatPercentage: type: number description: The flat percentage to use if we are calculating retainage via the simple method. format: double level1RetainedPercent: type: number description: Percentage to be retained until retainage equals HeavyJobApi.Controllers.Models.ProgressBilling.ApiProgressBillingConfigWrite.Level1RetainedAmount. format: double level1RetainedAmount: type: number description: Amount to be retained for this level. format: double level2RetainedPercent: type: number description: Percentage to be retained until retainage equals HeavyJobApi.Controllers.Models.ProgressBilling.ApiProgressBillingConfigWrite.Level2RetainedAmount. format: double level2RetainedAmount: type: number description: Amount to be retained for this level. format: double level2RetainageType: $ref: '#/components/schemas/ProgressBillRetainageType' level3RetainedPercent: type: number description: Percentage to be retained until retainage equals HeavyJobApi.Controllers.Models.ProgressBilling.ApiProgressBillingConfigWrite.Level3RetainedAmount. format: double level3RetainedAmount: type: number description: Amount to be retained for this level. format: double level3RetainageType: $ref: '#/components/schemas/ProgressBillRetainageType' status: $ref: '#/components/schemas/JobProgressBillStatus' requestMethod: $ref: '#/components/schemas/ProgressBillRequestMethod' ownerId: type: string description: The owner id for whom the work is being done. format: uuid nullable: true lastChangedBy: $ref: '#/components/schemas/ApiUserSlimRead' lastChangedDateTime: type: string description: The datetime when this config was last modified. format: date-time readOnly: true job: $ref: '#/components/schemas/ApiJobCompactRead' owner: $ref: '#/components/schemas/ApiOwnerCompactRead' additionalProperties: false description: A POCO that represents a progress billing config returned by the API. ApiProgressBillingJobSelectorRead: required: - businessUnitId - code - id - legacyId - status type: object properties: id: type: string description: The master id. format: uuid legacyId: type: string description: The legacy system ID. Primarily for internal HJ usage. format: uuid code: minLength: 1 type: string description: The code (user-specified shorthand) description: type: string description: An optional description. nullable: true businessUnitId: type: string description: The business unit guid. format: uuid status: $ref: '#/components/schemas/JobStatus' isDeleted: type: boolean description: Whether the job is deleted. latitude: type: number description: The job latitude. format: double nullable: true longitude: type: number description: The job longitude. format: double nullable: true startofpayweek: $ref: '#/components/schemas/DayOfWeek' truckingCostTypeId: type: string description: The job's trucking cost type id for non-web-only company. format: uuid nullable: true jobNote: type: string description: The note for the job nullable: true readOnly: true relatedEstimateCodes: type: array items: type: string description: The related estimate codes for the job nullable: true readOnly: true address1: type: string description: The street address (e.g., 123 Main St). nullable: true address2: type: string description: The secondary address info (suite, apartment, PO box numbers etc.). nullable: true city: type: string description: The city. nullable: true state: maxLength: 2 type: string description: The state abbreviation. nullable: true zip: type: string description: The zip code. nullable: true country: type: string description: The country. nullable: true latestProgressBill: $ref: '#/components/schemas/ApiProgressBillSummaryRead' additionalProperties: false description: A POCO that represents a progress billing job selection ApiPurchaseOrderCompactRead: required: - id type: object properties: id: type: string description: The purchase order id. format: uuid name: type: string description: The purchase order name. nullable: true description: type: string description: The purchase order description. nullable: true additionalProperties: false description: A POCO that represents a purchase order to be updated the API. ApiPurchaseOrderCreate: required: - purchaseOrder type: object properties: orderStatus: $ref: '#/components/schemas/OrderStatus' dateIssued: type: string description: "The date purchase order was issued. If not specified, the default\r\nvalue is the server time." format: date-time nullable: true description: type: string description: The purchase order description. nullable: true vendorId: type: string description: The vendor id for the purchase order. format: uuid nullable: true purchaseOrder: minLength: 1 type: string description: The purchase order name. additionalProperties: false description: A POCO that represents a purchase order to be created the API. ApiPurchaseOrderDetailUpdate: type: object properties: isFullyReceived: type: boolean description: "Whether the item is fully received.\r\nDefault is false." nullable: true isFullyInstalled: type: boolean description: "Whether the item is fully installed.\r\nDefault is false." nullable: true additionalProperties: false description: "The base class for updating purchase order details (The backend\r\nstores all purchase orders on the same table with a type column, whereas\r\nthe API exposes material and custom purchase order details as separate\r\nentities)." ApiPurchaseOrderDetailsWithCostCodeRead: required: - id type: object properties: id: type: string description: The id of the purchase order detail record (not shown in HeavyJob) format: uuid readOnly: true code: type: string description: The code for the purchase order line item (a material, subcontract, or other type of expense) nullable: true description: type: string description: The description for the purchase order line item nullable: true purchaseOrderInfo: $ref: '#/components/schemas/PurchaseOrderInfo' costType: type: string description: The type of item (material, subcontract, or other type of expense) nullable: true unitOfMeasure: type: string description: The unit of measure for the purchase order line item nullable: true unitCost: type: number description: The unit cost for the purchase order line item format: double salesTax: type: number description: The sales tax percentage for the purchase order line item format: double costCodeInfo: $ref: '#/components/schemas/CostCodeInfo' isTM: type: boolean description: Will the line item be billed as T & M? lineItemStatus: type: string description: Status of the line item nullable: true setupItemStatus: type: string description: Status of the material, subcontract, or custom cost type item at the job level nullable: true additionalProperties: false description: The data structure for the line items ApiPurchaseOrderDriveDocumentCreate: required: - driveDocumentId - jmPurchaseOrderId type: object properties: jmPurchaseOrderId: type: string description: Purchase Order Id format: uuid driveDocumentId: type: string description: Drive Document Id format: uuid additionalProperties: false description: A POCO that represents a Purchase Order Drive Document to be created. ApiPurchaseOrderDriveDocumentRead: required: - driveDocumentId - jmPurchaseOrderId type: object properties: jmPurchaseOrderId: type: string description: Purchase Order Id format: uuid driveDocumentId: type: string description: Drive Document Id format: uuid additionalProperties: false description: A POCO that represents a Purchase Order Drive Document to be read. ApiPurchaseOrderDriveDocumentReadPaginatedResponse: required: - metadata - results type: object properties: results: type: array items: $ref: '#/components/schemas/ApiPurchaseOrderDriveDocumentRead' description: The paginated results. metadata: $ref: '#/components/schemas/ApiPurchaseOrderDriveDocumentReadResponseMetadata' additionalProperties: false description: A POCO that represents a cursor-paginated response from the server. ApiPurchaseOrderDriveDocumentReadResponseMetadata: type: object properties: nextCursor: type: string description: "If non-null, specifies the cursor that will return\r\nthe next set of results." nullable: true additionalProperties: false description: "Contains metadata about a paginated response. (may be later\r\nexpanded to include the limit, count, etc.)" ApiPurchaseOrderItemRead: required: - id - jobMaterialId - purchaseOrderId - quantity - sequence - unitCost - unitOfMeasure type: object properties: id: type: string description: The purchase order line item id. format: uuid purchaseOrderId: type: string description: The purchase order id. format: uuid jobMaterialId: type: string description: The job-level material or custom cost type item id. format: uuid material: $ref: '#/components/schemas/ApiMaterialCustomCostCompactRead' note: type: string description: The note. nullable: true description: type: string description: A description for this purchase order line item. nullable: true sequence: type: number description: "The sequence number of the purchase order line item.\r\nUsed to sort the purchase order details." format: double quantity: type: number description: The item quantity. format: double unitCost: type: number description: The item unit cost. format: double unitOfMeasure: minLength: 1 type: string description: The item unit of measure. salesTaxPercent: type: number description: The item sales tax represented in percent. format: double isFullyInstalled: type: boolean description: Whether the purchase order line item is fully installed. nullable: true isFullyReceived: type: boolean description: Whether the purchase order line item is fully received. nullable: true isCanceled: type: boolean description: Whether the purchase order line item is canceled. isDeleted: type: boolean description: Whether the purchase order line item is deleted. additionalProperties: false description: "A POCO representing a purchase order line item for either\r\nmaterials or custom cost types, for both web or hybrid customers." ApiPurchaseOrderItemReadPaginatedResponse: required: - metadata - results type: object properties: results: type: array items: $ref: '#/components/schemas/ApiPurchaseOrderItemRead' description: The paginated results. metadata: $ref: '#/components/schemas/ApiPurchaseOrderItemReadResponseMetadata' additionalProperties: false description: A POCO that represents a cursor-paginated response from the server. ApiPurchaseOrderItemReadResponseMetadata: type: object properties: nextCursor: type: string description: "If non-null, specifies the cursor that will return\r\nthe next set of results." nullable: true additionalProperties: false description: "Contains metadata about a paginated response. (may be later\r\nexpanded to include the limit, count, etc.)" ApiPurchaseOrderRead: required: - dateIssued - id - jobId - orderStatus - purchaseOrder type: object properties: description: type: string description: The purchase order description. nullable: true vendorId: type: string description: The vendor id for the purchase order. format: uuid nullable: true purchaseOrder: minLength: 1 type: string description: The purchase order name. id: type: string description: The purchase order id. format: uuid jobId: type: string description: The job id. format: uuid orderStatus: $ref: '#/components/schemas/OrderStatus' dateIssued: type: string description: "The date purchase order was issued. If not specified, the default\r\nvalue is the server time." format: date-time vendorName: type: string description: The name of the vendor of the purchase order nullable: true vendorDescription: type: string description: The description of the vendor for the purchase order nullable: true additionalProperties: false description: A POCO that represents a purchase order state returned by the API. ApiPurchaseOrderReadV2: type: object properties: id: type: string description: The purchase order id. format: uuid jobId: type: string description: The job id. format: uuid readOnly: true job: $ref: '#/components/schemas/ApiJobCompactRead' purchaseOrder: type: string description: The purchase order number nullable: true description: type: string description: The purchase order description nullable: true orderStatus: $ref: '#/components/schemas/OrderStatus' dateIssued: type: string description: The date purchase order was issued. format: date-time nullable: true vendorId: type: string description: The vendor id. format: uuid nullable: true readOnly: true vendor: $ref: '#/components/schemas/ApiVendorCompactRead' isDeleted: type: boolean description: Flags if the purchase order is deleted. additionalProperties: false description: A POCO that represents a purchase order state returned by the API. ApiPurchaseOrderReadV2PaginatedResponse: required: - metadata - results type: object properties: results: type: array items: $ref: '#/components/schemas/ApiPurchaseOrderReadV2' description: The paginated results. metadata: $ref: '#/components/schemas/ApiPurchaseOrderReadV2ResponseMetadata' additionalProperties: false description: A POCO that represents a cursor-paginated response from the server. ApiPurchaseOrderReadV2ResponseMetadata: type: object properties: nextCursor: type: string description: "If non-null, specifies the cursor that will return\r\nthe next set of results." nullable: true additionalProperties: false description: "Contains metadata about a paginated response. (may be later\r\nexpanded to include the limit, count, etc.)" ApiPurchaseOrderUpdate: type: object properties: orderStatus: $ref: '#/components/schemas/OrderStatus' dateIssued: type: string description: "The date purchase order was issued. If not specified, the default\r\nvalue is the server time." format: date-time nullable: true description: type: string description: The purchase order description. nullable: true purchaseOrder: type: string description: The purchase order name. nullable: true vendorId: type: string description: The vendor id for the purchase order. format: uuid nullable: true additionalProperties: false description: A POCO that represents a purchase order to be updated the API. ApiQuantityAdjustmentRead: required: - businessUnitCode - businessUnitId - date - isForemanEntity - jobCode - jobId - lastModifiedPreciseDateTime - quantity - revision type: object properties: costCodeId: type: string description: The cost code guid. format: uuid costCode: type: string description: The cost code code. nullable: true foremanId: type: string description: The foreman's employee guid. format: uuid nullable: true foremanCode: type: string description: The foreman's employee code. nullable: true jobId: type: string description: The job guid. format: uuid jobCode: minLength: 1 type: string description: The job code. businessUnitId: type: string description: The business unit guid. format: uuid businessUnitCode: minLength: 1 type: string description: The business unit code. isForemanEntity: type: boolean description: Indicates whether the quantity adjustment was made without a specific foreman. readOnly: true date: type: string description: The quantity adjustment date. format: date-time quantity: type: number description: The changed quantity. format: double revision: type: integer description: The revision of the change. format: int32 unitOfMeasure: type: string description: The unit of measure. nullable: true note: type: string description: The note. nullable: true lastModifiedPreciseDateTime: type: string description: "The RFC 3339 dateTime (including fractional seconds), in UTC, when this\r\nwas last modified." format: date-time readOnly: true additionalProperties: false description: A POCO that represents a quantity adjustment. ApiQuantityAdjustmentReadPaginatedResponse: required: - metadata - results type: object properties: results: type: array items: $ref: '#/components/schemas/ApiQuantityAdjustmentRead' description: The paginated results. metadata: $ref: '#/components/schemas/ApiQuantityAdjustmentReadResponseMetadata' additionalProperties: false description: A POCO that represents a cursor-paginated response from the server. ApiQuantityAdjustmentReadResponseMetadata: type: object properties: nextCursor: type: string description: "If non-null, specifies the cursor that will return\r\nthe next set of results." nullable: true additionalProperties: false description: "Contains metadata about a paginated response. (may be later\r\nexpanded to include the limit, count, etc.)" ApiQuantityAdjustmentWrite: required: - adjustments - jobId - transactionDate type: object properties: transactionDate: type: string description: "Date on which the adjustments will be made.\r\nFormat: yyyy-MM-dd" format: date-time foremanId: type: string description: "Foreman for which the adjustments will be recorded.\r\nIf omitted, the adjustment will be made as a static foreman called \"%PRODADJ%\"." format: uuid nullable: true jobId: type: string description: "Job containing the cost codes to be adjusted.\r\nThis must be the job containing all cost codes in the adjustments list." format: uuid adjustments: type: array items: $ref: '#/components/schemas/ApiAdjustmentWrite' description: "List of adjustments to be created.\r\nOnly one adjustment per cost code may be made at a time." additionalProperties: false description: POCO to create a quantity adjustment. ApiReleaseOrderApprovalRuleApproverAdvancedRequest: required: - approvalRuleIds type: object properties: approvalRuleIds: type: array items: type: string format: uuid description: List of approval rule Ids modifiedSince: type: string description: "Optional.\r\nFilters out everything that hasn't been modified since this DateTime" format: date-time nullable: true isDeleted: type: boolean description: "Optional.\r\nFilters by the IsDeleted field" nullable: true cursor: type: string description: "Optional. \r\nWhen there are additional results, the metadata nextCursor field\r\nshould be passed to retrieve the next page of results." nullable: true limit: maximum: 1000 minimum: 1 type: integer description: "Optional.\r\nThe maximum number of results that should be returned." format: int32 nullable: true additionalProperties: false description: Request body for querying release order approval rule approvers with advanced filtering. ApiReleaseOrderApprovalRuleApproverRead: required: - id - isDeleted - releaseOrderApprovalRuleId - user - userId type: object properties: id: type: string description: The release order approval rule approver id. format: uuid releaseOrderApprovalRuleId: type: string description: The release order approval rule id. format: uuid userId: type: string description: User ID format: uuid user: $ref: '#/components/schemas/ApiPersonCompactRead' isDeleted: type: boolean description: Flag for the users soft deleted status additionalProperties: false description: POCO for reading a release order approval rule approver ApiReleaseOrderApprovalRuleApproverReadPaginatedResponse: required: - metadata - results type: object properties: results: type: array items: $ref: '#/components/schemas/ApiReleaseOrderApprovalRuleApproverRead' description: The paginated results. metadata: $ref: '#/components/schemas/ApiReleaseOrderApprovalRuleApproverReadResponseMetadata' additionalProperties: false description: A POCO that represents a cursor-paginated response from the server. ApiReleaseOrderApprovalRuleApproverReadResponseMetadata: type: object properties: nextCursor: type: string description: "If non-null, specifies the cursor that will return\r\nthe next set of results." nullable: true additionalProperties: false description: "Contains metadata about a paginated response. (may be later\r\nexpanded to include the limit, count, etc.)" ApiReleaseOrderApprovalRuleApproverUpsert: required: - releaseOrderApprovalRuleId - userId type: object properties: id: type: string description: The release order approval rule approver id. format: uuid nullable: true releaseOrderApprovalRuleId: type: string description: The release order approval rule id. format: uuid userId: type: string description: User ID format: uuid additionalProperties: false description: POCO for upserting a release order approval rule approver ApiReleaseOrderApprovalRuleItemRead: required: - description - id - isDeleted - material - materialId - materialType - releaseOrderApprovalRuleId type: object properties: id: type: string description: The release order approval rule item id. format: uuid releaseOrderApprovalRuleId: type: string description: The release order approval rule id. format: uuid materialType: $ref: '#/components/schemas/MaterialType' materialId: type: string description: Material ID format: uuid readOnly: true description: minLength: 1 type: string description: Job material description material: $ref: '#/components/schemas/ApiMaterialCustomCostCompactRead' isDeleted: type: boolean description: The item unit of measure. additionalProperties: false description: POCO for reading a release order approval rule item ApiReleaseOrderApprovalRuleItemReadPaginatedResponse: required: - metadata - results type: object properties: results: type: array items: $ref: '#/components/schemas/ApiReleaseOrderApprovalRuleItemRead' description: The paginated results. metadata: $ref: '#/components/schemas/ApiReleaseOrderApprovalRuleItemReadResponseMetadata' additionalProperties: false description: A POCO that represents a cursor-paginated response from the server. ApiReleaseOrderApprovalRuleItemReadResponseMetadata: type: object properties: nextCursor: type: string description: "If non-null, specifies the cursor that will return\r\nthe next set of results." nullable: true additionalProperties: false description: "Contains metadata about a paginated response. (may be later\r\nexpanded to include the limit, count, etc.)" ApiReleaseOrderApprovalRuleItemUpsert: required: - materialId - materialType - releaseOrderApprovalRuleId type: object properties: id: type: string description: The release order approval rule item id. format: uuid nullable: true releaseOrderApprovalRuleId: type: string description: The release order approval rule id. format: uuid materialType: $ref: '#/components/schemas/MaterialType' materialId: type: string description: Material ID format: uuid additionalProperties: false description: POCO for upserting a release order approval rule item ApiReleaseOrderApprovalRuleRead: required: - businessUnitId - id - isDeleted - jobId type: object properties: id: type: string description: Release Order Approval Rule format: uuid jobId: type: string description: Job the release order approval rule is associated with format: uuid businessUnitId: type: string description: Business unit of release order approval rule job format: uuid isDeleted: type: boolean description: A flag indicating whether or not the release order approval rule has been deleted. name: type: string description: Name or label of the release order approval rule nullable: true additionalProperties: false description: A POCO that represents a release order approval rule state returned by the API. ApiReleaseOrderApprovalRuleReadPaginatedResponse: required: - metadata - results type: object properties: results: type: array items: $ref: '#/components/schemas/ApiReleaseOrderApprovalRuleRead' description: The paginated results. metadata: $ref: '#/components/schemas/ApiReleaseOrderApprovalRuleReadResponseMetadata' additionalProperties: false description: A POCO that represents a cursor-paginated response from the server. ApiReleaseOrderApprovalRuleReadResponseMetadata: type: object properties: nextCursor: type: string description: "If non-null, specifies the cursor that will return\r\nthe next set of results." nullable: true additionalProperties: false description: "Contains metadata about a paginated response. (may be later\r\nexpanded to include the limit, count, etc.)" ApiReleaseOrderApprovalRuleUpsert: type: object properties: id: type: string description: 'Update only: ID of the release order approval rule to update.' format: uuid nullable: true jobId: type: string description: 'Create only: job to create release order approval rule for.' format: uuid nullable: true name: type: string description: Name or label for the release order approval rule nullable: true additionalProperties: false description: A POCO that represents a release order approval rule to be updated. ApiReleaseOrderCreate: required: - jobId type: object properties: purchaseOrderId: type: string description: Purchase order to associate the release order with format: uuid nullable: true foremanId: type: string description: Foreman format: uuid nullable: true vendorId: type: string description: Vendor format: uuid nullable: true primaryContactId: type: string description: Primary contact (from Submittals) format: uuid nullable: true status: $ref: '#/components/schemas/ReleaseOrderStatus' sentStatus: $ref: '#/components/schemas/ReleaseOrderSentStatus' dateIssued: type: string description: The date the release order was issued. format: date-time nullable: true deliveryWindowStart: type: string description: Start of delivery window format: date-time nullable: true deliveryWindowEnd: type: string description: End of delivery window format: date-time nullable: true deliveryLocation: type: string description: Delivery location nullable: true publicNotes: type: string description: Public Notes visible to authorized and unauthorized users nullable: true internalNotes: type: string description: Internal Notes only visible to authorized users nullable: true jobId: type: string description: Job to associate the release order with format: uuid items: type: array items: $ref: '#/components/schemas/ApiReleaseOrderItemWrite' description: List of release order items nullable: true additionalProperties: false description: A POCO that represents a release order to be created. ApiReleaseOrderItemRead: required: - description - id - isDeleted - material - materialId - materialType - releaseOrderId - releaseQuantity - unitOfMeasure type: object properties: id: type: string description: The release order item id. format: uuid releaseOrderId: type: string description: The release order id. format: uuid materialType: $ref: '#/components/schemas/MaterialType' materialId: type: string description: Material ID format: uuid readOnly: true material: $ref: '#/components/schemas/ApiMaterialCustomCostCompactRead' description: minLength: 1 type: string description: Material description releaseQuantity: type: number description: The item quantity. format: double unitOfMeasure: minLength: 1 type: string description: The item unit of measure. isDeleted: type: boolean description: The item unit of measure. additionalProperties: false description: POCO for reading a release order line item ApiReleaseOrderItemReadPaginatedResponse: required: - metadata - results type: object properties: results: type: array items: $ref: '#/components/schemas/ApiReleaseOrderItemRead' description: The paginated results. metadata: $ref: '#/components/schemas/ApiReleaseOrderItemReadResponseMetadata' additionalProperties: false description: A POCO that represents a cursor-paginated response from the server. ApiReleaseOrderItemReadResponseMetadata: type: object properties: nextCursor: type: string description: "If non-null, specifies the cursor that will return\r\nthe next set of results." nullable: true additionalProperties: false description: "Contains metadata about a paginated response. (may be later\r\nexpanded to include the limit, count, etc.)" ApiReleaseOrderItemUpsert: required: - materialId - materialType - releaseOrderId type: object properties: materialType: $ref: '#/components/schemas/MaterialType' materialId: type: string description: Material ID format: uuid description: type: string description: Material description nullable: true releaseQuantity: type: number description: The item quantity. format: double nullable: true unitOfMeasure: type: string description: The item unit of measure. nullable: true id: type: string description: The release order item id. format: uuid nullable: true releaseOrderId: type: string description: The release order id. format: uuid additionalProperties: false description: POCO for upserting a release order line item ApiReleaseOrderItemWrite: required: - materialId - materialType type: object properties: materialType: $ref: '#/components/schemas/MaterialType' materialId: type: string description: Material ID format: uuid description: type: string description: Material description nullable: true releaseQuantity: type: number description: The item quantity. format: double nullable: true unitOfMeasure: type: string description: The item unit of measure. nullable: true additionalProperties: false description: POCO for writing a release order item ApiReleaseOrderRead: required: - businessUnitId - id - isDeleted - jobId - sentStatus - status type: object properties: id: type: string description: Release Order to update format: uuid jobId: type: string description: Job the release order is associated with format: uuid businessUnitId: type: string description: Business unit of release order job format: uuid isDeleted: type: boolean description: A flag indicating whether or not the release order has been deleted. purchaseOrderId: type: string description: ID of purchase order to associate with the release order format: uuid nullable: true readOnly: true purchaseOrder: $ref: '#/components/schemas/ApiPurchaseOrderCompactRead' foremanId: type: string description: Foreman format: uuid nullable: true readOnly: true foreman: $ref: '#/components/schemas/ApiEmployeeCompactRead' vendorId: type: string description: Vendor ID format: uuid nullable: true readOnly: true vendor: $ref: '#/components/schemas/ApiVendorCompactRead' primaryContactId: type: string description: Primary contact (from Submittals) format: uuid nullable: true status: $ref: '#/components/schemas/ReleaseOrderStatus' sentStatus: $ref: '#/components/schemas/ReleaseOrderSentStatus' dateIssued: type: string description: "The date the release order was issued. If not specified, \r\nthe default value is the server time." format: date-time nullable: true deliveryWindowStart: type: string description: Start of delivery window format: date-time nullable: true deliveryWindowEnd: type: string description: End of delivery window format: date-time nullable: true deliveryLocation: type: string description: Delivery location nullable: true publicNotes: type: string description: Public Notes visible to authorized and unauthorized users nullable: true internalNotes: type: string description: Internal Notes only visible to authorized users nullable: true additionalProperties: false description: A POCO that represents a release order state returned by the API. ApiReleaseOrderReadPaginatedResponse: required: - metadata - results type: object properties: results: type: array items: $ref: '#/components/schemas/ApiReleaseOrderRead' description: The paginated results. metadata: $ref: '#/components/schemas/ApiReleaseOrderReadResponseMetadata' additionalProperties: false description: A POCO that represents a cursor-paginated response from the server. ApiReleaseOrderReadResponseMetadata: type: object properties: nextCursor: type: string description: "If non-null, specifies the cursor that will return\r\nthe next set of results." nullable: true additionalProperties: false description: "Contains metadata about a paginated response. (may be later\r\nexpanded to include the limit, count, etc.)" ApiReleaseOrderStatus: required: - description - value type: object properties: value: $ref: '#/components/schemas/ReleaseOrderStatus' description: minLength: 1 type: string description: Value additionalProperties: false description: A POCO that represents a release order status ApiReleaseOrderTransactionErrorRead: required: - message type: object properties: message: minLength: 1 type: string description: The release order item id. additionalProperties: false description: A POCO for Release Orders transaction failures ApiReleaseOrderTransactionRead: required: - status type: object properties: status: $ref: '#/components/schemas/TransactionStatus' releaseOrderId: type: string description: The ID of the release order format: uuid error: $ref: '#/components/schemas/ApiReleaseOrderTransactionErrorRead' additionalProperties: false description: A POCO for sent Release Orders ApiReleaseOrderUpdate: required: - id type: object properties: purchaseOrderId: type: string description: Purchase order to associate the release order with format: uuid nullable: true foremanId: type: string description: Foreman format: uuid nullable: true vendorId: type: string description: Vendor format: uuid nullable: true primaryContactId: type: string description: Primary contact (from Submittals) format: uuid nullable: true status: $ref: '#/components/schemas/ReleaseOrderStatus' sentStatus: $ref: '#/components/schemas/ReleaseOrderSentStatus' dateIssued: type: string description: The date the release order was issued. format: date-time nullable: true deliveryWindowStart: type: string description: Start of delivery window format: date-time nullable: true deliveryWindowEnd: type: string description: End of delivery window format: date-time nullable: true deliveryLocation: type: string description: Delivery location nullable: true publicNotes: type: string description: Public Notes visible to authorized and unauthorized users nullable: true internalNotes: type: string description: Internal Notes only visible to authorized users nullable: true id: type: string description: Release Order to update format: uuid additionalProperties: false description: A POCO that represents a release order to be updated. ApiReleaseOrderUpsert: type: object properties: id: type: string description: 'Update only: ID of the release Order to update.' format: uuid nullable: true jobId: type: string description: 'Create only: job to create release order for.' format: uuid nullable: true purchaseOrderId: type: string description: Purchase order to associate the release order with format: uuid nullable: true foremanId: type: string description: Foreman format: uuid nullable: true vendorId: type: string description: Vendor format: uuid nullable: true primaryContactId: type: string description: Primary contact, from Submittals format: uuid nullable: true status: $ref: '#/components/schemas/ReleaseOrderStatus' sentStatus: $ref: '#/components/schemas/ReleaseOrderSentStatus' dateIssued: type: string description: The date the release order was issued. format: date-time nullable: true deliveryWindowStart: type: string description: Start of delivery window format: date-time nullable: true deliveryWindowEnd: type: string description: End of delivery window format: date-time nullable: true deliveryLocation: type: string description: Delivery location nullable: true publicNotes: type: string description: Public Notes visible to authorized and unauthorized users nullable: true internalNotes: type: string description: Internal Notes only visible to authorized users nullable: true additionalProperties: false description: A POCO that represents a release order to be updated. ApiSubcontractAdvancedBudgetRead: required: - costCodeId - id - jobSubcontractId - vendorContractDetailId type: object properties: costCodeId: type: string description: The cost code id. format: uuid vendorContractDetailId: type: string description: The vendor contract detail id. format: uuid status: $ref: '#/components/schemas/WorkItemStatus' quantity: type: number description: The quantity of the subcontract. format: double id: type: string description: The subcontract advanced budget id. format: uuid jobSubcontractId: type: string description: The job subcontract id format: uuid subcontractDescription: type: string description: The subcontract description nullable: true vendorContractId: type: string description: The vendor contract id. format: uuid nullable: true costCode: type: string description: The cost code . nullable: true costCodeDescription: type: string description: The cost code description. nullable: true salesTaxPercent: type: number description: The sales tax, expressed as a percent (e.g., 8 means 8% sales tax). format: double unitCost: type: number description: The cost per unit of measure, in dollars. format: double unitOfMeasure: type: string description: The unit of measure. nullable: true vendorId: type: string description: The vendor id. format: uuid nullable: true mWorkItemBusinessUnitId: type: string description: MWorkItemBusinessUnitId format: uuid additionalProperties: false description: A POCO that represents a slice of subcontract advanced budget state returned by the API. ApiSubcontractAdvancedBudgetWrite: required: - costCodeId - vendorContractDetailId type: object properties: costCodeId: type: string description: The cost code id. format: uuid vendorContractDetailId: type: string description: The vendor contract detail id. format: uuid status: $ref: '#/components/schemas/WorkItemStatus' quantity: type: number description: The quantity of the subcontract. format: double additionalProperties: false description: A POCO that represents a subcontract advanced budget to be created by the API. ApiSubcontractItemCompactRead: required: - code - description - id type: object properties: id: type: string description: The subcontract item id. format: uuid code: minLength: 1 type: string description: The code. description: minLength: 1 type: string description: The description. additionalProperties: false description: A POCO that represents a slice of subcontract item state returned by the API. ApiSubcontractRead: required: - businessUnitId - code - id type: object properties: code: minLength: 1 type: string description: The code. description: type: string description: The description. nullable: true heavyBidCode: type: string description: The HeavyBid code. nullable: true id: type: string description: The subcontract item id. format: uuid businessUnitId: type: string description: The business unit id. format: uuid isDeleted: type: boolean description: Flags a deleted record. additionalProperties: false description: A POCO that represents a slice of subcontract state returned by the API. ApiSubcontractWorkPatch: type: object properties: quantity: type: number description: The quantity for the work performed. format: double nullable: true isTm: type: boolean description: Whether this transaction is marked at T & M. nullable: true isInvoiced: type: boolean description: Whether this transaction is invoiced or not. nullable: true referenceNumber: maxLength: 100 type: string description: The reference number. nullable: true invoiceNumber: maxLength: 100 type: string description: The invoice number. nullable: true note: type: string description: The Notes. nullable: true additionalProperties: false description: A POCO that represents a slice of a subcontract work performed to be updated by the API. ApiSubcontractWorkPatchV2: type: object properties: quantity: type: number description: The quantity for the work performed. format: double nullable: true isTm: type: boolean description: Whether this transaction is marked at T & M. nullable: true isInvoiced: type: boolean description: Whether this transaction is invoiced or not. nullable: true referenceNumber: maxLength: 100 type: string description: The reference number. nullable: true invoiceNumber: maxLength: 100 type: string description: The invoice number. nullable: true note: type: string description: The Notes. nullable: true subcontractWorkPerformedId: type: string description: The subcontract work performed id. format: uuid additionalProperties: false description: A POCO that represents a slice of a subcontract work performed to be updated by the API. ApiSubcontractWorkRead: required: - businessUnitId - date - foremanId - jobId - lastModifiedDateTime - lastModifiedPreciseDateTime - quantity type: object properties: id: type: string description: The id. format: uuid costCodeId: type: string description: The cost code guid. format: uuid jobSubcontractId: type: string description: The job subcontract guid. format: uuid foremanId: type: string description: The foreman guid. format: uuid jobId: type: string description: The job guid. format: uuid businessUnitId: type: string description: The business unit guid. format: uuid date: type: string description: The subcontract work date. format: date-time quantity: type: number description: The installed quantity. format: double unitOfMeasure: type: string description: The unit of measure. nullable: true referenceNumber: type: string description: The reference number. nullable: true invoiceNumber: type: string description: The invoice number. nullable: true isInvoiced: type: boolean description: The invoiced flag vendorContractDetailId: type: string description: The vendor contract detail guid. format: uuid nullable: true vendorContractId: type: string description: The vendor contract guid. format: uuid nullable: true vendorId: type: string description: The vendor guid. format: uuid nullable: true lastModifiedDateTime: type: string description: The RFC 3339 dateTime, in UTC, when this subcontract work was last modified. format: date-time lastModifiedPreciseDateTime: type: string description: "The RFC 3339 dateTime (including fractional seconds), in UTC, when this\r\nsubcontract work was last modified." format: date-time readOnly: true additionalProperties: false description: A POCO that represents a subcontract work. ApiSubcontractWorkReadPaginatedResponse: required: - metadata - results type: object properties: results: type: array items: $ref: '#/components/schemas/ApiSubcontractWorkRead' description: The paginated results. metadata: $ref: '#/components/schemas/ApiSubcontractWorkReadResponseMetadata' additionalProperties: false description: A POCO that represents a cursor-paginated response from the server. ApiSubcontractWorkReadResponseMetadata: type: object properties: nextCursor: type: string description: "If non-null, specifies the cursor that will return\r\nthe next set of results." nullable: true additionalProperties: false description: "Contains metadata about a paginated response. (may be later\r\nexpanded to include the limit, count, etc.)" ApiSubcontractWorkReadV2: required: - date - job - lastModifiedDateTime - lastModifiedPreciseDateTime - quantity type: object properties: id: type: string description: The id. format: uuid job: $ref: '#/components/schemas/ApiJobCompactRead' costCode: $ref: '#/components/schemas/ApiCostCodeCompactRead' foreman: $ref: '#/components/schemas/ApiEmployeeCompactRead' date: type: string description: The subcontract work date. format: date-time jobSubcontractItem: $ref: '#/components/schemas/ApiSubcontractItemCompactRead' jobSubcontractId: type: string description: The job subcontract guid. format: uuid quantity: type: number description: The quantity of subcontract work. format: double cost: type: number description: The cost of subcontract work. format: double unitOfMeasure: type: string description: The unit of measure. nullable: true vendorContractItemId: type: string description: The vendor contract item guid. format: uuid nullable: true vendorContractId: type: string description: The vendor contract guid. format: uuid nullable: true vendorContract: $ref: '#/components/schemas/ApiVendorContractCompactRead' vendor: $ref: '#/components/schemas/ApiVendorCompactRead' costCodeTransactionTags: type: array items: $ref: '#/components/schemas/ApiTransactionTag' description: The cost code transaction tags. nullable: true referenceNumber: type: string description: The reference number. nullable: true invoiceNumber: type: string description: The invoice number. nullable: true isInvoiced: type: boolean description: The flag isInvoiced isTm: type: boolean description: Indicates whether the subcontract work is T & M. note: type: string description: The note nullable: true unitCost: type: number description: The unit cost format: double salesTax: type: number description: The sales tax format: double lastModifiedDateTime: type: string description: The RFC 3339 dateTime, in UTC, when this subcontract work was last modified. format: date-time lastModifiedPreciseDateTime: type: string description: "The RFC 3339 dateTime (including fractional seconds), in UTC, when this\r\nsubcontract work was last modified." format: date-time readOnly: true additionalProperties: false description: A POCO that represents a subcontract work performed. ApiSubcontractWorkReadV2PaginatedResponse: required: - metadata - results type: object properties: results: type: array items: $ref: '#/components/schemas/ApiSubcontractWorkReadV2' description: The paginated results. metadata: $ref: '#/components/schemas/ApiSubcontractWorkReadV2ResponseMetadata' additionalProperties: false description: A POCO that represents a cursor-paginated response from the server. ApiSubcontractWorkReadV2ResponseMetadata: type: object properties: nextCursor: type: string description: "If non-null, specifies the cursor that will return\r\nthe next set of results." nullable: true additionalProperties: false description: "Contains metadata about a paginated response. (may be later\r\nexpanded to include the limit, count, etc.)" ApiSubcontractWrite: required: - code type: object properties: code: minLength: 1 type: string description: The code. description: type: string description: The description. nullable: true heavyBidCode: type: string description: The HeavyBid code. nullable: true additionalProperties: false description: A POCO that represents a subcontract to be created or updated by the API. ApiTMBillAdvancedRead: type: object properties: jobIds: type: array items: type: string format: uuid description: "List of Job Ids.\r\nUsed with JobTagIds to limit jobs. Returns jobs with JobIds and JobTagIds." nullable: true jobTagIds: type: array items: type: string format: uuid description: "List of Job Tag Ids.\r\nUsed with JobIds to limit jobs. Returns jobs with JobIds and JobTagIds." nullable: true billingStatuses: type: array items: $ref: '#/components/schemas/BillingStatus' description: List of Billing Statuses. nullable: true startDate: type: string description: "Beginning local date (yyyy-MM-dd) of date range.\r\nUsed with EndDate. All bills whose dates fall within this date range will be included." format: date-time nullable: true endDate: type: string description: "End local date (yyyy-MM-dd) of date range.\r\nUsed with StartDate. All bills whose dates fall within this date range will be included." format: date-time nullable: true additionalProperties: false description: POCO that represents an advanced request to read a T & M Bill ApiTMBillCostCodeWrite: type: object properties: quantity: type: number description: The quantity of the T & M bill cost code. format: double nullable: true additionalProperties: false description: A POCO that represents a cost code on a T & M bill to be created or updated by the API. ApiTMBillEquipmentDetailsUpdate: type: object properties: totalHours: type: number description: Regular hours for the T & M Bill Equipment format: double nullable: true ownedHours: type: number description: Overtime hours for the T & M Bill Equipment format: double nullable: true operatedHours: type: number description: Other hours for the T & M Bill Equipment format: double nullable: true totalRate: type: number description: Regular rate for the T & M Bill Equipment format: double nullable: true ownedRate: type: number description: Overtime rate for the T & M Bill Equipment format: double nullable: true operatedRate: type: number description: Other rate for the T & M Bill Equipment format: double nullable: true markupPercent: type: number description: Markup % for the T & M Bill Equipment format: double nullable: true additionalProperties: false description: A POCO that represents an equipment resource of a T & M bill cost code to be updated by the API. ApiTMBillEquipmentDetailsWrite: required: - equipmentId type: object properties: equipmentId: type: string description: Id of the equipment. format: uuid additionalProperties: false description: A POCO that represents an equipment resource of a T & M bill cost code to be added or updated by the API. ApiTMBillInfoRead: required: - jobId type: object properties: id: type: string description: The id of the T & M bill. format: uuid jobId: type: string description: The id of the job for this bill. format: uuid billNumber: type: string description: The bill number. nullable: true description: type: string description: The description of this bill. nullable: true revision: type: integer description: The revision of this bill. format: int32 startDate: type: string description: The start date of this bill. format: date-time nullable: true endDate: type: string description: The end date of this bill. format: date-time nullable: true ownerId: type: string description: The id of the owner for this bill. format: uuid nullable: true ownerName: type: string description: The name of the owner for this bill. nullable: true ownerNumber: type: string description: "The number used by the owner to track this bill.\r\nUsed if the owner tracks bills by a different number \r\nthan is used inside the company." nullable: true billingStatus: $ref: '#/components/schemas/BillingStatus' isSubmitted: type: boolean description: "A boolean value representing whether this bill\r\nhas been marked as submitted to the onwer." submittedByID: type: string description: The id of the user who marked this bill as submitted. format: uuid nullable: true submittedDate: type: string description: The date on which this bill was marked as submitted. format: date-time nullable: true billTemplateId: type: string description: The id of the mark-up template applied to this bill. format: uuid jobName: type: string description: The name/code of the job for this bill. nullable: true additionalProperties: false description: POCO class for TMBill with only static information ApiTMBillInfoWithNotesRead: required: - jobId type: object properties: id: type: string description: The id of the T & M bill. format: uuid jobId: type: string description: The id of the job for this bill. format: uuid billNumber: type: string description: The bill number. nullable: true description: type: string description: The description of this bill. nullable: true revision: type: integer description: The revision of this bill. format: int32 startDate: type: string description: The start date of this bill. format: date-time nullable: true endDate: type: string description: The end date of this bill. format: date-time nullable: true ownerId: type: string description: The id of the owner for this bill. format: uuid nullable: true ownerName: type: string description: The name of the owner for this bill. nullable: true ownerNumber: type: string description: "The number used by the owner to track this bill.\r\nUsed if the owner tracks bills by a different number \r\nthan is used inside the company." nullable: true billingStatus: $ref: '#/components/schemas/BillingStatus' isSubmitted: type: boolean description: "A boolean value representing whether this bill\r\nhas been marked as submitted to the onwer." submittedByID: type: string description: The id of the user who marked this bill as submitted. format: uuid nullable: true submittedDate: type: string description: The date on which this bill was marked as submitted. format: date-time nullable: true billTemplateId: type: string description: The id of the mark-up template applied to this bill. format: uuid jobName: type: string description: The name/code of the job for this bill. nullable: true jobDescription: type: string description: The name/code of job. nullable: true internalNotes: type: string description: Private notes for a T & M bill. nullable: true descriptionOfWork: type: string description: The description of work notes for a T & M bill. nullable: true customCostTypeIds: type: array items: type: string format: uuid description: List of Custom Cost Types for a T & M bill. nullable: true submittedByUsername: type: string description: The username of the user that submitted the T & M bill. nullable: true additionalProperties: false description: POCO class for TMBill with only static information ApiTMBillLaborDetailsUpdate: type: object properties: regularHours: type: number description: Regular hours for the T & M Bill Labor format: double nullable: true overtimeHours: type: number description: Overtime hours for the T & M Bill Labor format: double nullable: true otherHours: type: number description: Other hours for the T & M Bill Labor format: double nullable: true regularRate: type: number description: Regular rate for the T & M Bill Labor format: double nullable: true overtimeRate: type: number description: Overtime rate for the T & M Bill Labor format: double nullable: true otherRate: type: number description: Other rate for the T & M Bill Labor format: double nullable: true taxPercent: type: number description: Tax Percent for the T & M Bill Labor format: double nullable: true markupPercent: type: number description: Markup % for the T & M Bill Labor format: double nullable: true additionalProperties: false description: A POCO that represents a labor resource of a T & M bill cost code to be updated by the API. ApiTMBillLaborDetailsWrite: required: - employeeId - payClassId type: object properties: payClassId: type: string description: Id of the payclass. format: uuid employeeId: type: string description: Id of the employee. format: uuid additionalProperties: false description: A POCO that represents a labor resource of a T & M bill cost code to be added or updated by the API. ApiTMBillMSEJobLibraryRecord: required: - costType - mseId - unitOfMeasure type: object properties: mseId: type: string description: Id of MSE Transaction record format: uuid costType: $ref: '#/components/schemas/MaterialsCostType' unitOfMeasure: minLength: 1 type: string description: The unit of measure for the T & M Bill MSE transaction unitCost: type: number description: The unit cost for the T & M Bill MSE transaction format: double additionalProperties: false description: MSE from job or Library ApiTMBillMaterialSubsAndCustomCostUpdate: type: object properties: quantity: type: number description: Quantity for the resource. format: double nullable: true unitPrice: type: number description: Unit price for the resource. format: double nullable: true taxPercent: type: number description: Tax percent for the resource. format: double nullable: true markupPercent: type: number description: Tax percent for the resource. format: double nullable: true additionalProperties: false description: "A POCO that represents a T & M bill material, subcontract\r\nor custom cost type item to be updated." ApiTMBillRead: required: - jobId type: object properties: id: type: string description: The id of the T & M bill. format: uuid jobId: type: string description: The id of the job for this bill. format: uuid billNumber: type: string description: The bill number. nullable: true description: type: string description: The description of this bill. nullable: true revision: type: integer description: The revision of this bill. format: int32 startDate: type: string description: The start date of this bill. format: date-time nullable: true endDate: type: string description: The end date of this bill. format: date-time nullable: true ownerId: type: string description: The id of the owner for this bill. format: uuid nullable: true ownerName: type: string description: The name of the owner for this bill. nullable: true ownerNumber: type: string description: "The number used by the owner to track this bill.\r\nUsed if the owner tracks bills by a different number \r\nthan is used inside the company." nullable: true billingStatus: $ref: '#/components/schemas/BillingStatus' isSubmitted: type: boolean description: "A boolean value representing whether this bill\r\nhas been marked as submitted to the onwer." submittedByID: type: string description: The id of the user who marked this bill as submitted. format: uuid nullable: true submittedDate: type: string description: The date on which this bill was marked as submitted. format: date-time nullable: true billTemplateId: type: string description: The id of the mark-up template applied to this bill. format: uuid jobName: type: string description: The name/code of the job for this bill. nullable: true amount: type: number description: total amount billed for each TM bill format: double additionalProperties: false description: POCO class for TMBill ApiTMBillTemplateCustomType: required: - costTypeBusinessUnitId - costTypeDescription - id type: object properties: id: type: string description: The T & M Bill Template Custom Type id. format: uuid costTypeBusinessUnitId: type: string description: The Cost Type Business Unit id. format: uuid costTypeDescription: minLength: 1 type: string description: The Cost Type Description. markup: type: number description: The markup for the custom cost type for T & M Bill Template. format: double additionalProperties: false description: Class for ApiTMBillTemplateCustomType markup. ApiTMBillTemplateRead: required: - associatedJobIds - equipmentMarkupPercent - id - laborMarkupPercent - materialMarkupPercent - name - subcontractMarkupPercent type: object properties: name: minLength: 1 type: string description: The template name. description: type: string description: The description. nullable: true laborMarkupPercent: type: number description: The template labor Markup percent. format: double equipmentMarkupPercent: type: number description: The template equipment Markup percent. format: double materialMarkupPercent: type: number description: The template material Markup percent. format: double subcontractMarkupPercent: type: number description: The template subcontract Markup percent. format: double id: type: string description: The template id. format: uuid templateCustomTypes: type: array items: $ref: '#/components/schemas/ApiTMBillTemplateCustomType' description: Template custom types nullable: true associatedJobIds: type: array items: type: string format: uuid description: Ids of jobs that are associated with the T & M bill template. additionalProperties: false description: A POCO that represents a slice of TMBill Template state returned by the API. ApiTMBillTemplateWrite: required: - equipmentMarkupPercent - laborMarkupPercent - materialMarkupPercent - name - subcontractMarkupPercent type: object properties: name: minLength: 1 type: string description: The template name. description: type: string description: The description. nullable: true laborMarkupPercent: type: number description: The template labor Markup percent. format: double equipmentMarkupPercent: type: number description: The template equipment Markup percent. format: double materialMarkupPercent: type: number description: The template material Markup percent. format: double subcontractMarkupPercent: type: number description: The template subcontract Markup percent. format: double additionalProperties: false description: A POCO that represents a slice of tm bill template to be created or updated by the API. ApiTMBillTransactionRecord: required: - mseTransactionId type: object properties: mseTransactionId: type: string description: Id of MSE Transaction record format: uuid quantity: type: number description: Quantity of MSE Install record format: double nullable: true unitCost: type: number description: Unit Cost of MSE Install record format: double nullable: true unitOfMeasure: type: string description: Unit of Measure of MSE Install record nullable: true additionalProperties: false description: Object used to describe an MSE installed transaction being added to a TM Bill ApiTMBillWrite: required: - billNumber - businessUnitID - endDate - jobCostCodes - jobID - startDate - tmBillTemplateId - tmEquipmentRateSetId - tmLaborRateSetId type: object properties: billNumber: minLength: 1 type: string description: Bill number of T & M bill. description: type: string description: The description of T & M bill. nullable: true ownerID: type: string description: The owner Id. format: uuid nullable: true ownerNumber: type: string description: The owners Bill Number which can differ from our bill number. nullable: true tmBillNotes: type: string description: The T & M bill internal notes. nullable: true tmBillDescriptionOfWork: type: string description: The T & M bill description of work being billed. nullable: true businessUnitID: type: string description: Associated JM Business Unit Id of T & M bill format: uuid jobID: type: string description: Associated JM Job Id of T & M bill format: uuid startDate: type: string description: The start date of T & M bill. format: date-time endDate: type: string description: The end date of T & M bill. format: date-time tmBillTemplateId: type: string description: The T & M bill template Id. format: uuid tmLaborRateSetId: type: string description: The T & M labor rate set Id. format: uuid tmEquipmentRateSetId: type: string description: The T & M equipment rate set Id. format: uuid jobCostCodes: type: array items: $ref: '#/components/schemas/JobCostCodeItem' description: JM Job cost codes that are on the T & M Bill. additionalProperties: false description: A POCO that represents a T & M to be created or updated by the API with bill details. ApiTMCostCodeRead: required: - bills - code - date - description - foremanCode - foremanFirstName - foremanId - foremanLastName - jobCostCodeId type: object properties: jobCostCodeId: type: string description: The id of the job cost code. format: uuid code: minLength: 1 type: string description: The code of the job cost code. description: minLength: 1 type: string description: The description of the job cost code. date: type: string description: The local date (yyyy-MM-dd) of the transaction (timecard, material entry, etc.). format: date-time foremanId: type: string description: The ID of the foreman on the transaction (timecard, material entry, etc.). format: uuid foremanFirstName: minLength: 1 type: string description: The first name of the foreman on the transaction (timecard, material entry, etc.). foremanLastName: minLength: 1 type: string description: The last name of the foreman on the transaction (timecard, material entry, etc.). foremanCode: minLength: 1 type: string description: The code of the foreman on the transaction (timecard, material entry, etc.). bills: uniqueItems: true type: array items: $ref: '#/components/schemas/TMCostCodeBillInfo' description: List of T & M bills in which this cost code already exists for this date range. additionalProperties: false description: A POCO that represents a job cost code available for T & M billing. ApiTMEquipmentRateSetRead: required: - associatedJobIds - code - description - id type: object properties: id: type: string description: The id of the T & M equipment rate set. format: uuid code: minLength: 1 type: string description: The T & M equipment rate set code. description: minLength: 1 type: string description: The T & M equipment rate set description. associatedJobIds: type: array items: type: string format: uuid description: Ids of jobs that are associated with the T & M equipment rate set. additionalProperties: false description: A POCO that represents a T & M Equipment Rate Set. ApiTMLaborRateSetRead: required: - associatedJobIds - code - description - id type: object properties: id: type: string description: The id of the T & M labor rate set. format: uuid code: minLength: 1 type: string description: The T & M labor rate set code. description: minLength: 1 type: string description: The T & M labor rate set description. associatedJobIds: type: array items: type: string format: uuid description: Ids of jobs that are associated with the T & M labor rate set. additionalProperties: false description: A POCO that represents a T & M Labor Rate Set. ApiTimeCardApprovalRead: required: - acceptedDateTime - approvedDateTime - businessUnitId - date - id - isAccepted - isApproved - isRejected - isReviewed - isSentToPayroll - jobId - lastChangedById - lastModifiedDateTime - lastModifiedPreciseDateTime - lastPreparedById - lockedDateTime - rejectedDateTime - reviewedDateTime - revision - shift type: object properties: id: type: string description: The time card guid. format: uuid foreman: $ref: '#/components/schemas/ApiEmployeeCompactRead' jobId: type: string description: The job guid. format: uuid businessUnitId: type: string description: The business unit guid. format: uuid date: type: string description: The time card date. format: date-time revision: type: integer description: "The current revision of the time card. (i.e., each time a sent\r\ntime card is modified, the old version is archived and a new time\r\ncard with a higher revision is created)" format: int32 shift: type: integer description: The time card shift. format: int32 lastModifiedDateTime: type: string description: The RFC 3339 dateTime, in UTC, when this time card was last modified. format: date-time lastModifiedPreciseDateTime: type: string description: "The RFC 3339 dateTime (including fractional seconds), in UTC, when this\r\ntime card was last modified." format: date-time readOnly: true sentToPayrollDateTime: type: string description: "In UTC, when this time card sent to payroll.\r\nNullable." format: date-time nullable: true sentToPayrollRevision: type: integer description: The revision of the time card sent to payroll. Nullable. format: int32 nullable: true lockedDateTime: type: string description: In UTC, when this time card was locked. format: date-time isApproved: type: boolean description: Whether the time card is approved. lastChangedById: type: string description: Guid of user who last changed the time card format: uuid lastChangedByName: type: string description: Name of user who last changed the time card nullable: true lastPreparedById: type: string description: Guid of user who last prepared the time card format: uuid lastPreparedByName: type: string description: Name of user who last prepared the time card nullable: true isReviewed: type: boolean description: Whether the time card is reviewed. isAccepted: type: boolean description: Whether the time card is accepted. isRejected: type: boolean description: Whether the time card is rejected. isSentToPayroll: type: boolean description: Whether the time card is sent to payroll approvedDateTime: type: string description: "In UTC, when this time card was approved.\r\nNullable." format: date-time approvedBy: $ref: '#/components/schemas/ApiEmployeeCompactRead' reviewedDateTime: type: string description: "In UTC, when this time card was reviewed.\r\nNullable." format: date-time reviewedBy: $ref: '#/components/schemas/ApiEmployeeCompactRead' acceptedDateTime: type: string description: "In UTC, when this time card was accepted.\r\nNullable." format: date-time acceptedBy: $ref: '#/components/schemas/ApiEmployeeCompactRead' rejectedDateTime: type: string description: "In UTC, when this time card was rejected.\r\nNullable." format: date-time rejectedBy: $ref: '#/components/schemas/ApiEmployeeCompactRead' additionalProperties: false description: "A POCO that represents a summary approval info about time cards. Detailed\r\ninformation is then retrieved by time card id." ApiTimeCardApprovalReadPaginatedResponse: required: - metadata - results type: object properties: results: type: array items: $ref: '#/components/schemas/ApiTimeCardApprovalRead' description: The paginated results. metadata: $ref: '#/components/schemas/ApiTimeCardApprovalReadResponseMetadata' additionalProperties: false description: A POCO that represents a cursor-paginated response from the server. ApiTimeCardApprovalReadResponseMetadata: type: object properties: nextCursor: type: string description: "If non-null, specifies the cursor that will return\r\nthe next set of results." nullable: true additionalProperties: false description: "Contains metadata about a paginated response. (may be later\r\nexpanded to include the limit, count, etc.)" ApiTimeCardCostCodeRead: required: - costCodeCode - costCodeId - isRework - isTm - quantity - timeCardCostCodeId - unitOfMeasure type: object properties: timeCardCostCodeId: type: string description: The time card cost code guid. format: uuid costCodeId: type: string description: The cost code guid. format: uuid costCodeCode: minLength: 1 type: string description: The cost code code. costCodeDescription: type: string description: The cost code description. nullable: true isRework: type: boolean description: The flag indicating whether the cost code is a rework item. isTm: type: boolean description: The flag indicating whether the cost code is a time-and-material item. quantity: type: number description: The quantity. format: double unitOfMeasure: minLength: 1 type: string description: The unit of measure for the specified quantity. column: type: integer description: The column order format: int32 additionalProperties: false description: A POCO that represents a time card cost code. ApiTimeCardEmployeeCostAdjustmentRead: required: - costAdjustmentCode - costAdjustmentId type: object properties: costAdjustmentId: type: string description: The cost adjustment's id. format: uuid costAdjustmentCode: minLength: 1 type: string description: The cost adjustment's code. costAdjustmentDescription: type: string description: The cost adjustment's description. nullable: true costAdjustmentType: $ref: '#/components/schemas/CostAdjustmentType' quantity: type: number description: The quantity of the cost adjustment. format: double additionalProperties: false description: A POCO that represents time card employee's cost adjustment. ApiTimeCardEmployeeHourEntryRead: required: - timeCardCostCodeId type: object properties: timeCardCostCodeId: type: string description: The time card cost code guid. format: uuid tagId: type: string description: The tag guid. format: uuid nullable: true tagCode: type: string description: The tag code. nullable: true hours: type: number description: The hours. format: double additionalProperties: false description: A POCO that represents time card employee hour entry. ApiTimeCardEmployeeRead: required: - employeeCode - employeeDescription - employeeId - payClassCode - payClassId - timeCardEmployeeId type: object properties: timeCardEmployeeId: type: string description: The time card employee guid. format: uuid employeeId: type: string description: The employee guid. format: uuid employeeCode: minLength: 1 type: string description: The employee's code. employeeDescription: minLength: 1 type: string description: The employee's full name. payClassId: type: string description: The pay class guid associated to the time card employee. format: uuid payClassCode: minLength: 1 type: string description: The pay class code of the associated employee. payClassDescription: type: string description: The pay class description of the associated employee. nullable: true regularHours: type: array items: $ref: '#/components/schemas/ApiTimeCardEmployeeHourEntryRead' description: The time card employee regular hours. nullable: true overtimeHours: type: array items: $ref: '#/components/schemas/ApiTimeCardEmployeeHourEntryRead' description: The time card employee overtime hours. nullable: true doubleOvertimeHours: type: array items: $ref: '#/components/schemas/ApiTimeCardEmployeeHourEntryRead' description: The time card employee double overtime hours. nullable: true costAdjustments: type: array items: $ref: '#/components/schemas/ApiTimeCardEmployeeCostAdjustmentRead' description: The time card employee cost adjustments. nullable: true order: type: integer description: The employee row order format: int32 additionalProperties: false description: A POCO that represents a time card employee. ApiTimeCardEquipmentHourEntryRead: required: - timeCardCostCodeId type: object properties: timeCardCostCodeId: type: string description: The time card cost code guid. format: uuid tagId: type: string description: The tag guid. format: uuid nullable: true tagCode: type: string description: The tag code. nullable: true hours: type: number description: The hours. format: double additionalProperties: false description: A POCO that represents time card equipment hour entry. ApiTimeCardEquipmentRead: required: - equipmentCode - equipmentId - timeCardEquipmentId type: object properties: timeCardEquipmentId: type: string description: The time card equipment guid. format: uuid equipmentId: type: string description: The equipment guid. format: uuid equipmentCode: minLength: 1 type: string description: The equipment code. equipmentDescription: type: string description: The equipment description. nullable: true payClassId: type: string description: The pay class guid associated to the time card equipment, if any. format: uuid nullable: true payClassCode: type: string description: The pay class code, if any. nullable: true payClassDescription: type: string description: The pay class description, if any. nullable: true linkedTimeCardEmployeeId: type: string description: The time card employee guid the time card equipment is linked to. format: uuid nullable: true totalHours: type: array items: $ref: '#/components/schemas/ApiTimeCardEquipmentHourEntryRead' description: The time card equipment total hours. nullable: true ownershipHours: type: array items: $ref: '#/components/schemas/ApiTimeCardEquipmentHourEntryRead' description: The time card equipment ownership hours. nullable: true operatingHours: type: array items: $ref: '#/components/schemas/ApiTimeCardEquipmentHourEntryRead' description: The time card equipment operating hours. nullable: true order: type: integer description: The equipment row order format: int32 additionalProperties: false description: A POCO that represents a time card equipment. ApiTimeCardInfoRead: required: - businessUnitId - date - foremanId - id - isApproved - jobId - lastModifiedDateTime - lastModifiedPreciseDateTime - revision - shift type: object properties: id: type: string description: The time card guid. format: uuid foremanId: type: string description: The foreman guid. format: uuid jobId: type: string description: The job guid. format: uuid businessUnitId: type: string description: The business unit guid. format: uuid date: type: string description: The time card date. format: date-time revision: type: integer description: "The current revision of the time card. (i.e., each time a sent\r\ntime card is modified, the old version is archived and a new time\r\ncard with a higher revision is created)" format: int32 shift: type: integer description: The time card shift. format: int32 lastModifiedDateTime: type: string description: The RFC 3339 dateTime, in UTC, when this time card was last modified. format: date-time lastModifiedPreciseDateTime: type: string description: "The RFC 3339 dateTime (including fractional seconds), in UTC, when this\r\ntime card was last modified." format: date-time readOnly: true lockedDateTime: type: string description: The date time when this time card was locked (submitted). format: date-time nullable: true sentToPayrollDateTime: type: string description: "The RFC 3339 dateTime, in UTC, when this time card sent to payroll.\r\nNullable." format: date-time nullable: true sentToPayrollRevision: type: integer description: The revision of the time card sent to payroll. Nullable. format: int32 nullable: true isApproved: type: boolean description: Whether the time card is approved. additionalProperties: false description: "A POCO that represents a summary info about time cards. Detailed\r\ninformation is then retrieved by time card id." ApiTimeCardInfoReadPaginatedResponse: required: - metadata - results type: object properties: results: type: array items: $ref: '#/components/schemas/ApiTimeCardInfoRead' description: The paginated results. metadata: $ref: '#/components/schemas/ApiTimeCardInfoReadResponseMetadata' additionalProperties: false description: A POCO that represents a cursor-paginated response from the server. ApiTimeCardInfoReadResponseMetadata: type: object properties: nextCursor: type: string description: "If non-null, specifies the cursor that will return\r\nthe next set of results." nullable: true additionalProperties: false description: "Contains metadata about a paginated response. (may be later\r\nexpanded to include the limit, count, etc.)" ApiTimeCardQuantityAdjustmentRequest: type: object properties: timeCardCostCodeID: type: string description: Time Card Cost Code ID format: uuid newQuantity: type: number description: New quantity for the time card cost code format: double additionalProperties: false description: A POCO that represents a request to make a quantity adjustment on a time card. ApiTimeCardRead: required: - businessUnitCode - businessUnitId - date - foremanCode - foremanDescription - foremanId - id - isAccepted - isApproved - isRejected - isReviewed - jobCode - jobId - lastModifiedDateTime - revision type: object properties: id: type: string description: The time card guid. format: uuid foremanId: type: string description: The foreman guid. format: uuid foremanCode: minLength: 1 type: string description: The foreman's employee code. foremanDescription: minLength: 1 type: string description: The foreman's full name. jobId: type: string description: The job guid. format: uuid jobCode: minLength: 1 type: string description: The job code. jobDescription: type: string description: The job description. nullable: true businessUnitId: type: string description: The business unit guid. format: uuid businessUnitCode: minLength: 1 type: string description: The business unit code. businessUnitDescription: type: string description: The business unit description. nullable: true date: type: string description: The time card date. format: date-time revision: type: integer description: The current revision of the time card. format: int32 isApproved: type: boolean description: The flag whether the time card is approved. approvedById: type: string description: The user id of the approver. format: uuid nullable: true isReviewed: type: boolean description: The flag whether the time card is reviewed. reviewedById: type: string description: The user id of the reviewer. format: uuid nullable: true isAccepted: type: boolean description: The flag whether the time card is accepted. acceptedById: type: string description: The user id of the accetpter. format: uuid nullable: true isRejected: type: boolean description: The flag whether the time card is rejected. rejectedById: type: string description: The user id of the rejecter. format: uuid nullable: true sentToPayrollRevision: type: integer description: The revision of the time card sent to payroll. format: int32 nullable: true sentToPayrollDateTime: type: string description: When the time card was sent to payroll. format: date-time nullable: true lastModifiedDateTime: type: string description: The RFC 3339 dateTime, in UTC, when this time card was last modified. format: date-time lockedDateTime: type: string description: The date time when this time card was locked (submitted). format: date-time nullable: true costCodes: type: array items: $ref: '#/components/schemas/ApiTimeCardCostCodeRead' description: The time card cost codes. nullable: true employees: type: array items: $ref: '#/components/schemas/ApiTimeCardEmployeeRead' description: The time card employees. nullable: true equipment: type: array items: $ref: '#/components/schemas/ApiTimeCardEquipmentRead' description: The time card equipment. nullable: true additionalProperties: false description: A POCO that represents a time card. ApiTimeCardUpdate: required: - sentToPayrollDateTime - sentToPayrollRevision type: object properties: sentToPayrollRevision: type: integer description: The revision of the time card sent to payroll. format: int32 sentToPayrollDateTime: type: string description: When the time card was sent to payroll. format: date-time additionalProperties: false description: A POCO that represents a time card to be updated the API. ApiTransactionTag: type: object properties: id: type: string description: Tag id. format: uuid code: type: string description: Tag code. nullable: true description: type: string description: Tag description. nullable: true note: type: string description: Tag note. nullable: true groupId: type: string description: Tag group id. format: uuid nullable: true groupCode: type: string description: Tag group code. nullable: true additionalProperties: false description: A POCO that represents a tag. ApiUpdateTMBill: required: - billNumber type: object properties: billNumber: minLength: 1 type: string description: Bill number of T & M bill. description: type: string description: The description of T & M bill. nullable: true ownerID: type: string description: The owner Id. format: uuid nullable: true ownerNumber: type: string description: The owners Bill Number which can differ from our bill number. nullable: true tmBillNotes: type: string description: The T & M bill internal notes. nullable: true tmBillDescriptionOfWork: type: string description: The T & M bill description of work being billed. nullable: true id: type: string description: Required default constructor for System.Text.Json format: uuid additionalProperties: false description: A POCO that represents a bill to update for T & M billing. ApiUpdateTMBillStatus: required: - status type: object properties: status: $ref: '#/components/schemas/BillingStatus' submittedDate: type: string description: "Date the T & M Bill was submitted.\r\nThis is required if the bill is being updated to a status of Submitted." format: date-time nullable: true additionalProperties: false description: A POCO that represents a slice of a T & M Bill used to update the bill status. ApiUserAccessGroup: required: - accessGroupId - userId type: object properties: userId: type: string description: The user id. format: uuid accessGroupId: type: string description: The access group id. format: uuid additionalProperties: false description: A POCO that represents a user-accessgroup state returned by the API. ApiUserAccessGroupUpdateResponse: required: - accessGroupId - id - message - success - userId type: object properties: id: type: string description: The id. format: uuid userId: type: string description: The userId. format: uuid accessGroupId: type: string description: The accessGroupId. format: uuid success: type: boolean description: The success flag. message: minLength: 1 type: string description: The message. additionalProperties: false description: A POCO that represents a user-accessgroup update state returned by the API. ApiUserRead: required: - firstName - id type: object properties: id: type: string description: The user id. format: uuid firstName: minLength: 1 type: string description: The first name. lastName: type: string description: The last name. nullable: true email: type: string description: The email. nullable: true employee: $ref: '#/components/schemas/ApiEmployeeCompactReadV2' additionalProperties: false description: A POCO that represents a user's state returned by the API. ApiUserSlimRead: required: - firstName - id type: object properties: id: type: string description: The user id. format: uuid firstName: minLength: 1 type: string description: The first name. lastName: type: string description: The last name. nullable: true email: type: string description: The email. nullable: true additionalProperties: false description: A POCO that represents a user's basic information. ApiVendorCompactRead: required: - id - name type: object properties: id: type: string description: Vendor ID format: uuid name: minLength: 1 type: string description: The name of the vendor. description: type: string description: The description of the vendor. nullable: true additionalProperties: false description: A POCO that represents a slice of vendor state returned by the API. ApiVendorConfigBusinessUnitRead: required: - businessUnitId - isDeleted - sendType - vendor - vendorId type: object properties: vendorId: type: string description: Vendor ID format: uuid vendor: $ref: '#/components/schemas/ApiVendorCompactRead' businessUnitId: type: string description: Business Unit ID format: uuid isDeleted: type: boolean description: Is Deleted sendType: $ref: '#/components/schemas/SendType' emailAddress: type: string description: Email address nullable: true connexVendorRef: type: string description: Connex supplier Id format: uuid nullable: true additionalProperties: false description: A POCO that represents the relationship between a vendor and a business unit ApiVendorConfigBusinessUnitReadPaginatedResponse: required: - metadata - results type: object properties: results: type: array items: $ref: '#/components/schemas/ApiVendorConfigBusinessUnitRead' description: The paginated results. metadata: $ref: '#/components/schemas/ApiVendorConfigBusinessUnitReadResponseMetadata' additionalProperties: false description: A POCO that represents a cursor-paginated response from the server. ApiVendorConfigBusinessUnitReadResponseMetadata: type: object properties: nextCursor: type: string description: "If non-null, specifies the cursor that will return\r\nthe next set of results." nullable: true additionalProperties: false description: "Contains metadata about a paginated response. (may be later\r\nexpanded to include the limit, count, etc.)" ApiVendorConfigBusinessUnitWrite: required: - businessUnitId - vendorId type: object properties: vendorId: type: string description: Vendor ID format: uuid businessUnitId: type: string description: Business Unit ID format: uuid sendType: $ref: '#/components/schemas/SendType' emailAddress: type: string description: Email address nullable: true connexVendorRef: type: string description: Connex Vendor Reference format: uuid nullable: true additionalProperties: false description: A POCO that represents the relationship between a vendor and a business unit ApiVendorContractCompactRead: type: object properties: id: type: string description: The vendor contract id. format: uuid vendorContract: type: string description: The vendor contract number nullable: true description: type: string description: The vendor contract description nullable: true additionalProperties: false description: A shorter version of the Vendor Contract suitable for use in other response types. ApiVendorContractCreate: required: - vendorContract type: object properties: orderStatus: $ref: '#/components/schemas/OrderStatus' dateIssued: type: string description: The date vendor contract was issued. format: date-time nullable: true description: type: string description: The vendor contract description. nullable: true vendorId: type: string description: The vendor id for the vendor contract. format: uuid nullable: true vendorContract: minLength: 1 type: string description: The vendor contract name. additionalProperties: false description: A POCO that represents a vendor contract to be created by the API. ApiVendorContractDetailRead: required: - id - jobSubcontractId - quantity - sequence - unitCost - unitOfMeasure - vendorContractId type: object properties: id: type: string description: The vendor contract id. format: uuid vendorContractId: type: string description: The vendor contract id. format: uuid jobSubcontractId: type: string description: The job subcontract id. format: uuid sequence: type: number description: "The sequence number of the vendor contract detail.\r\nused to sort the vendor contract details" format: double isComplete: type: boolean description: "Whether the work item is complete.\r\ndefault is false" note: type: string description: The note. nullable: true quantity: type: number description: The item quantity. format: double unitCost: type: number description: The item unit cost. format: double unitOfMeasure: minLength: 1 type: string description: The item unit of measure. salesTaxPercent: type: number description: The item sales tax represented in percent. format: double isCancelled: type: boolean description: Whether the vendor contract detail is canceled. alternateDescription: type: string description: An alternate description for this vendor contract detail. nullable: true vendorItemNumber: type: string description: The vendor item number. nullable: true additionalProperties: false description: A POCO that represents a vendor contract detail. ApiVendorContractDetailUpdate: type: object properties: isComplete: type: boolean description: "Whether the work item is complete.\r\ndefault is false" nullable: true additionalProperties: false description: A POCO that represents a vendor contract detail to be updated by the API. ApiVendorContractDetailWrite: required: - jobSubcontractId - quantity - sequence - unitCost - unitOfMeasure type: object properties: isComplete: type: boolean description: "Whether the work item is complete.\r\ndefault is false" nullable: true jobSubcontractId: type: string description: The job subcontract id. format: uuid sequence: type: number description: "The sequence number of the vendor contract detail.\r\nused to sort the vendor contract details" format: double note: type: string description: The note. nullable: true quantity: type: number description: The item quantity. format: double unitCost: type: number description: The item unit cost. format: double unitOfMeasure: minLength: 1 type: string description: The item unit of measure. salesTaxPercent: type: number description: The item sales tax represented in percent. format: double isCancelled: type: boolean description: Whether the vendor contract detail is canceled. alternateDescription: type: string description: An alternate description for this vendor contract detail. nullable: true vendorItemNumber: type: string description: The vendor item number. nullable: true additionalProperties: false description: A POCO that represents a vendor contract detail to be created or updated by the API. ApiVendorContractItemRead: required: - id - jobSubcontractItemId - quantity - sequence - unitCost - unitOfMeasure - vendorContractId type: object properties: id: type: string description: The vendor contract id. format: uuid vendorContractId: type: string description: The vendor contract id. format: uuid jobSubcontractItemId: type: string description: The job subcontract item id. format: uuid subcontractItem: $ref: '#/components/schemas/ApiSubcontractItemCompactRead' sequence: type: number description: "The sequence number of the vendor contract line item.\r\nused to sort the vendor contract line items" format: double isCompleted: type: boolean description: "Whether the work item is complete.\r\ndefault is false" note: type: string description: The note. nullable: true description: type: string description: An description for this vendor contract line item. nullable: true quantity: type: number description: The item quantity. format: double unitCost: type: number description: The item unit cost. format: double unitOfMeasure: minLength: 1 type: string description: The item unit of measure. salesTaxPercent: type: number description: The item sales tax represented in percent. format: double isCancelled: type: boolean description: Whether the vendor contract line item is canceled. readOnly: true isDeleted: type: boolean description: Is the vendor contract item deleted in the vendor contract. vendorItemNumber: type: string description: The vendor item number. nullable: true additionalProperties: false description: A POCO that represents a vendor contract line item. ApiVendorContractItemReadPaginatedResponse: required: - metadata - results type: object properties: results: type: array items: $ref: '#/components/schemas/ApiVendorContractItemRead' description: The paginated results. metadata: $ref: '#/components/schemas/ApiVendorContractItemReadResponseMetadata' additionalProperties: false description: A POCO that represents a cursor-paginated response from the server. ApiVendorContractItemReadResponseMetadata: type: object properties: nextCursor: type: string description: "If non-null, specifies the cursor that will return\r\nthe next set of results." nullable: true additionalProperties: false description: "Contains metadata about a paginated response. (may be later\r\nexpanded to include the limit, count, etc.)" ApiVendorContractRead: required: - dateIssued - id - jobId - orderStatus - vendorContract type: object properties: description: type: string description: The vendor contract description. nullable: true vendorId: type: string description: The vendor id for the vendor contract. format: uuid nullable: true vendorContract: minLength: 1 type: string description: The vendor contract name. id: type: string description: The vendor contract id. format: uuid jobId: type: string description: The job id. format: uuid orderStatus: $ref: '#/components/schemas/OrderStatus' dateIssued: type: string description: The date vendor contract was issued. format: date-time vendorName: type: string description: The name of the vendor of the purchase order nullable: true vendorDescription: type: string description: The description of the vendor for the purchase order nullable: true additionalProperties: false description: A POCO that represents a vendor contract state returned by the API. ApiVendorContractReadV2: type: object properties: id: type: string description: The vendor contract id. format: uuid jobId: type: string description: The job id. format: uuid readOnly: true job: $ref: '#/components/schemas/ApiJobCompactRead' vendorContract: type: string description: The vendor contract number nullable: true description: type: string description: The vendor contract description nullable: true orderStatus: $ref: '#/components/schemas/OrderStatus' dateIssued: type: string description: The date vendor contract was issued. format: date-time nullable: true vendorId: type: string description: The vendor id. format: uuid nullable: true readOnly: true vendor: $ref: '#/components/schemas/ApiVendorCompactRead' isDeleted: type: boolean description: Flags if the vendor contract is deleted. additionalProperties: false description: A POCO that represents a vendor contract state returned by the API. ApiVendorContractReadV2PaginatedResponse: required: - metadata - results type: object properties: results: type: array items: $ref: '#/components/schemas/ApiVendorContractReadV2' description: The paginated results. metadata: $ref: '#/components/schemas/ApiVendorContractReadV2ResponseMetadata' additionalProperties: false description: A POCO that represents a cursor-paginated response from the server. ApiVendorContractReadV2ResponseMetadata: type: object properties: nextCursor: type: string description: "If non-null, specifies the cursor that will return\r\nthe next set of results." nullable: true additionalProperties: false description: "Contains metadata about a paginated response. (may be later\r\nexpanded to include the limit, count, etc.)" ApiVendorContractUpdate: type: object properties: orderStatus: $ref: '#/components/schemas/OrderStatus' dateIssued: type: string description: The date vendor contract was issued. format: date-time nullable: true description: type: string description: The vendor contract description. nullable: true vendorContract: type: string description: The vendor contract name. nullable: true vendorId: type: string description: The vendor id for the vendor contract. format: uuid nullable: true additionalProperties: false description: A POCO that represents a vendor contract to be updated by the API. ApiVendorReadV1: required: - id - name type: object properties: name: minLength: 1 type: string description: The name of the vendor. description: type: string description: The description of the vendor. nullable: true address1: type: string description: The street address (e.g., 123 Main St). nullable: true address2: type: string description: The secondary address info (suite, apartment, PO box numbers etc.). nullable: true city: type: string description: The city. nullable: true state: maxLength: 2 type: string description: The state abbreviation. nullable: true zip: type: string description: The zip code. nullable: true country: type: string description: The country. nullable: true phoneNumber: type: string description: The phone number. Can include numbers, symbols and whitespace. nullable: true id: type: string description: The vendor id. format: uuid additionalProperties: false description: A POCO that represents a slice of vendor state returned by the API. ApiVendorReadV2: required: - id - isDeleted - name type: object properties: name: minLength: 1 type: string description: The name of the vendor. description: type: string description: The description of the vendor. nullable: true address1: type: string description: The street address (e.g., 123 Main St). nullable: true address2: type: string description: The secondary address info (suite, apartment, PO box numbers etc.). nullable: true city: type: string description: The city. nullable: true state: maxLength: 2 type: string description: The state abbreviation. nullable: true zip: type: string description: The zip code. nullable: true country: type: string description: The country. nullable: true phoneNumber: type: string description: The phone number. Can include numbers, symbols and whitespace. nullable: true id: type: string description: The vendor id. format: uuid isDeleted: type: boolean description: "A flag indicating whether or not the vendor \r\nhas been deleted from the system." additionalProperties: false description: A POCO that represents a slice of vendor state returned by the API. ApiVendorWrite: required: - name type: object properties: name: minLength: 1 type: string description: The name of the vendor. description: type: string description: The description of the vendor. nullable: true address1: type: string description: The street address (e.g., 123 Main St). nullable: true address2: type: string description: The secondary address info (suite, apartment, PO box numbers etc.). nullable: true city: type: string description: The city. nullable: true state: maxLength: 2 type: string description: The state abbreviation. nullable: true zip: type: string description: The zip code. nullable: true country: type: string description: The country. nullable: true phoneNumber: type: string description: The phone number. Can include numbers, symbols and whitespace. nullable: true additionalProperties: false description: A POCO that represents a vendor to be created or updated by the API. ApiWorkQuestionRead: required: - businessUnitId - id - isActive - question - sequence - type type: object properties: id: type: string description: The work question id. format: uuid businessUnitId: type: string description: The work question business unit id. format: uuid question: minLength: 1 type: string description: The work question. sequence: type: integer description: The work question sequence. format: int32 type: $ref: '#/components/schemas/WorkQuestionType' isActive: type: boolean description: The IsActive flag. additionalProperties: false description: A POCO that represents a work question. ApplicationType: enum: - unknown - heavyJob - employeeApp type: string ApplyCostType: enum: - undefined - noCost - totalCost - ownershipCost - operatingCost type: string BillingStatus: enum: - inProgress - isSubmitted - isCompleted - isCancelled type: string ConnexTicketStatus: enum: - unknown - scheduled - shipped - confirmed - invoiceable - invoiced - removed - cancelled type: string CostAdjustmentType: enum: - undefined - hour - day - dollar - quantity type: string CostCodeAdjustmentType: enum: - quantity - equipmentCost - equipmentHours - laborCost - laborHours - materialCost - subcontractCost - customCostTypeCost type: string description: Enumerations for type of cost code adjustment. CostCodeInfo: type: object properties: costCodeId: type: string description: The cost code ID (not shown in HeavyJob) format: uuid costCode: type: string description: The cost code code nullable: true costCodeDescription: type: string description: The cost code description nullable: true costCodeQuantity: type: number description: The cost code quantity format: double advancedBudgetQuantity: type: number description: The cost code or purchase order line item budgeted quantity format: double advancedBudgetUnits: type: string description: The cost code/purchase order line item budgeted unit of measure nullable: true advancedBudgetStatus: type: string description: The cost code/purchase order line item budgeted unit of measure nullable: true additionalProperties: false description: The data structure for cost code information returned as part of ApiPurchaseOrderDetailsWithCCRead from the Purchase Order Details Advanced Request CostCodeMethodType: enum: - none - dollarsPerUnit - totalDollars type: string CostCodeProgressAdvancedRequest: required: - jobId type: object properties: jobId: type: string description: Job Id. Required for all queries. format: uuid startDate: type: string description: Start Date format: date-time nullable: true endDate: type: string description: End Date format: date-time nullable: true costCodeIds: type: array items: type: string format: uuid description: List of cost code Ids nullable: true costCodeTagIds: type: array items: type: string format: uuid description: List of cost code Tag Ids nullable: true cursor: type: string description: "Optional. \r\nWhen there are additional results, the metadata nextCursor\r\nfield should be passed to retrieve the next page of results." nullable: true limit: type: integer description: The maximum number of items to return. format: int32 nullable: true additionalProperties: false description: Object for requesting cost code progress data CostCodeStatus: enum: - active - completed - discontinued - inactive type: string CostCodeTagAdvancedRead: type: object properties: costCodeIds: type: array items: type: string format: uuid description: List of Cost Code Ids. nullable: true jobIds: type: array items: type: string format: uuid description: List of Job Ids. nullable: true tagIds: type: array items: type: string format: uuid description: List of Tag Ids. nullable: true modifiedSince: type: string description: The date since the last update. format: date-time nullable: true cursor: type: string description: "Optional. \r\nWhen there are additional results, the metadata nextCursor field should be passed to retrieve the next page of results." nullable: true limit: type: integer description: The maximum number of results that should be returned. format: int32 nullable: true additionalProperties: false description: A model that represents an advanced request to find cost code tags. CostCodeTargetAdvancedRequest: required: - jobId type: object properties: jobId: type: string description: Job Id format: uuid startDate: type: string description: Start Date format: date-time nullable: true endDate: type: string description: End Date format: date-time nullable: true costCodeIds: type: array items: type: string format: uuid description: List of cost code Ids nullable: true costCodeTagIds: type: array items: type: string format: uuid description: List of cost code Tag Ids nullable: true cursor: type: string description: "Optional. \r\nWhen there are additional results, the metadata nextCursor field should be passed to retrieve the next page of results." nullable: true limit: type: integer description: The maximum number of results that should be returned. format: int32 nullable: true additionalProperties: false description: CostCodeTargetAdvancedRequest CostCodeTransactionAdvancedRead: type: object properties: jobIds: type: array items: type: string format: uuid description: "List of Job Ids.\r\nUsed with JobTagIds to limit jobs. Returns jobs with JobIds and JobTagIds." nullable: true jobTagIds: type: array items: type: string format: uuid description: "List of Job Tag Ids.\r\nUsed with JobIds to limit jobs. Returns jobs with JobIds and JobTagIds." nullable: true foremanIds: type: array items: type: string format: uuid description: "List of Foreman Ids.\r\nUsed to limit transactions. Returns transactions only for foremen specified." nullable: true startDate: type: string description: "Beginning local date (yyyy-MM-dd) of date range.\r\nUsed with EndDate. Transactions whose dates fall within this date range will be included." format: date-time nullable: true endDate: type: string description: "End local date (yyyy-MM-dd) of date range.\r\nUsed with StartDate. Transactions whose dates fall within this date range will be included." format: date-time nullable: true cursor: type: string description: "Optional. \r\nWhen there are additional results, the metadata nextCursor field should be passed to retrieve the next page of results." nullable: true limit: type: integer description: The maximum number of results that should be returned. format: int32 nullable: true businessUnitId: type: string description: The business unit id. format: uuid nullable: true costCodeIds: type: array items: type: string format: uuid description: List of Cost Code Ids. nullable: true additionalProperties: false description: A model that represents an advanced request to find cost code transactions. CostToDateSearchRequest: type: object properties: businessUnitId: type: string description: The business unit id. format: uuid nullable: true jobIds: type: array items: type: string format: uuid description: "List of Job Ids.\r\nUsed with JobTagIds to limit jobs. Returns jobs with JobIds and JobTagIds." nullable: true jobTagIds: type: array items: type: string format: uuid description: "List of Job Tag Ids.\r\nUsed with JobIds to limit jobs. Returns jobs with JobIds and JobTagIds." nullable: true foremanIds: type: array items: type: string format: uuid description: "List of Foreman Ids.\r\nUsed to limit transactions. Returns transactions only for foremen specified." nullable: true costCodeIds: type: array items: type: string format: uuid description: List of Cost Code Ids. nullable: true costCodeTagIds: type: array items: type: string format: uuid description: List of Cost Code Setup Tag Ids. nullable: true cursor: type: string description: "Optional. \r\nWhen there are additional results, the metadata nextCursor field should be passed to retrieve the next page of results." nullable: true limit: type: integer description: The maximum number of results that should be returned. format: int32 nullable: true additionalProperties: false description: A model that represents an advanced request to find transactions. CustomCostTypeStatus: enum: - active - completed - discontinued type: string DataType: enum: - unknown - string - decimal - dateTime - boolean - integer type: string DayOfWeek: enum: - sunday - monday - tuesday - wednesday - thursday - friday - saturday type: string EmployeeHoursAdvancedRead: type: object properties: jobIds: type: array items: type: string format: uuid description: "List of Job Ids.\r\nUsed with JobTagIds to limit jobs. Returns jobs with JobIds and JobTagIds." nullable: true jobTagIds: type: array items: type: string format: uuid description: "List of Job Tag Ids.\r\nUsed with JobIds to limit jobs. Returns jobs with JobIds and JobTagIds." nullable: true foremanIds: type: array items: type: string format: uuid description: "List of Foreman Ids.\r\nUsed to limit transactions. Returns transactions only for foremen specified." nullable: true startDate: type: string description: "Beginning local date (yyyy-MM-dd) of date range.\r\nUsed with EndDate. Transactions whose dates fall within this date range will be included." format: date-time nullable: true endDate: type: string description: "End local date (yyyy-MM-dd) of date range.\r\nUsed with StartDate. Transactions whose dates fall within this date range will be included." format: date-time nullable: true cursor: type: string description: "Optional. \r\nWhen there are additional results, the metadata nextCursor field should be passed to retrieve the next page of results." nullable: true limit: type: integer description: The maximum number of results that should be returned. format: int32 nullable: true businessUnitId: type: string description: The business unit id. format: uuid nullable: true includeAllJobs: type: boolean description: "If the other job filters are not used, and parameter is set to true,\r\ntransactions for active and non-active jobs will be returned." employeeIds: type: array items: type: string format: uuid description: "List of Employee Ids.\r\nUsed to limit transactions. Returns transactions only for employees specified." nullable: true additionalProperties: false description: A model that represents an advanced request to find employee hours. EquipmentHoursAdvancedRead: type: object properties: jobIds: type: array items: type: string format: uuid description: "List of Job Ids.\r\nUsed with JobTagIds to limit jobs. Returns jobs with JobIds and JobTagIds." nullable: true jobTagIds: type: array items: type: string format: uuid description: "List of Job Tag Ids.\r\nUsed with JobIds to limit jobs. Returns jobs with JobIds and JobTagIds." nullable: true foremanIds: type: array items: type: string format: uuid description: "List of Foreman Ids.\r\nUsed to limit transactions. Returns transactions only for foremen specified." nullable: true startDate: type: string description: "Beginning local date (yyyy-MM-dd) of date range.\r\nUsed with EndDate. Transactions whose dates fall within this date range will be included." format: date-time nullable: true endDate: type: string description: "End local date (yyyy-MM-dd) of date range.\r\nUsed with StartDate. Transactions whose dates fall within this date range will be included." format: date-time nullable: true cursor: type: string description: "Optional. \r\nWhen there are additional results, the metadata nextCursor field should be passed to retrieve the next page of results." nullable: true limit: type: integer description: The maximum number of results that should be returned. format: int32 nullable: true businessUnitId: type: string description: The business unit id. format: uuid nullable: true includeAllJobs: type: boolean description: "If the other job filters are not used, and parameter is set to true,\r\ntransactions for active and non-active jobs will be returned." equipmentIds: type: array items: type: string format: uuid description: "List of Equipment Ids.\r\nUsed to limit transactions. Returns transactions only for equipment specified." nullable: true additionalProperties: false description: A model that represents an advanced request to find equipment hours. ForecastStatus: enum: - inProgress - isFinalized - undefined type: string GetAttachmentAdvancedRequest: required: - businessUnitId type: object properties: jobIds: type: array items: type: string format: uuid description: "List of Job Ids.\r\nUsed with JobTagIds to limit jobs. Returns jobs with JobIds and JobTagIds." nullable: true jobTagIds: type: array items: type: string format: uuid description: "List of Job Tag Ids.\r\nUsed with JobIds to limit jobs. Returns jobs with JobIds and JobTagIds." nullable: true foremanIds: type: array items: type: string format: uuid description: "List of Foreman Ids.\r\nUsed to limit transactions. Returns transactions only for foremen specified." nullable: true startDate: type: string description: "Beginning local date (yyyy-MM-dd) of date range.\r\nUsed with EndDate. Transactions whose dates fall within this date range will be included." format: date-time nullable: true endDate: type: string description: "End local date (yyyy-MM-dd) of date range.\r\nUsed with StartDate. Transactions whose dates fall within this date range will be included." format: date-time nullable: true cursor: type: string description: "Optional. \r\nWhen there are additional results, the metadata nextCursor field should be passed to retrieve the next page of results." nullable: true limit: type: integer description: The maximum number of results that should be returned. format: int32 nullable: true businessUnitId: type: string description: BusinessUnit of the Attachments format: uuid additionalProperties: false description: Request to get Attachments which are usually images and PDF files. GetEmployeeAdvancedRequest: required: - businessUnitId type: object properties: businessUnitId: type: string description: The business unit id. format: uuid employeeCodes: type: array items: type: string description: List of employee codes. nullable: true employeeIds: type: array items: type: string format: uuid description: List of employee ids. nullable: true accountingTemplateName: type: string description: The accounting template name. nullable: true isActive: type: boolean description: The active flag. nullable: true isForeman: type: boolean description: The active foreman flag. nullable: true includeHistoricalForeman: type: boolean description: The historical foreman flag. nullable: true isDeleted: type: boolean description: The soft-deleted flag. nullable: true cursor: type: string description: "Optional. \r\nWhen there are additional results, the metadata nextCursor field\r\nshould be passed to retrieve the next page of results." nullable: true limit: type: integer description: The maximum number of results that should be returned. format: int32 nullable: true additionalProperties: false description: A POCO that represents a request for employee. GetEquipmentAdvancedRequest: required: - businessUnitId type: object properties: businessUnitId: type: string description: The business unit id. format: uuid equipmentCodes: type: array items: type: string description: List of equipment codes. nullable: true equipmentIds: type: array items: type: string format: uuid description: List of equipment ids. nullable: true jobIds: type: array items: type: string format: uuid description: List of job ids. nullable: true jobTagIds: type: array items: type: string format: uuid description: List of job tag ids. nullable: true accountingTemplateName: type: string description: The accounting template name. nullable: true isActive: type: boolean description: The active flag. nullable: true isActiveInAnyActiveJobs: type: boolean description: The flag to filter equipment to the active status in any of the active jobs. nullable: true isDeleted: type: boolean description: The soft-deleted flag. nullable: true cursor: type: string description: "Optional. \r\nWhen there are additional results, the metadata nextCursor field\r\nshould be passed to retrieve the next page of results." nullable: true limit: type: integer description: The maximum number of results that should be returned. format: int32 nullable: true additionalProperties: false description: A POCO that represents a request for equipment. GetJobAdvancedRequest: type: object properties: jobIds: type: array items: type: string format: uuid description: List of Job Ids. nullable: true jobTagIds: type: array items: type: string format: uuid description: List of Job Tag Ids. nullable: true isDeleted: type: boolean description: Filter for deleted flag. nullable: true isIncludeHBCodeList: type: boolean description: Flag to include/exclude HBCode list. additionalProperties: false description: A model that represents an advanced request to find jobs. GetPurchaseOrderAdvancedRequest: type: object properties: jobIds: type: array items: type: string format: uuid description: List of Job Ids. nullable: true businessUnitId: type: string description: Business unit id format: uuid nullable: true purchaseOrderIds: type: array items: type: string format: uuid description: List of Purchase Order Ids. nullable: true modifiedSince: type: string description: Date since last modification format: date-time nullable: true isDeleted: type: boolean description: Soft deleted flag nullable: true cursor: type: string description: "Optional. \r\nWhen there are additional results, the metadata nextCursor field\r\nshould be passed to retrieve the next page of results." nullable: true limit: maximum: 1000 minimum: 1 type: integer description: The maximum number of results that should be returned. format: int32 nullable: true additionalProperties: false description: A POCO that represents a request for purchase order. GetReleaseOrderApprovalRuleItemAdvancedRequest: type: object properties: jobIds: type: array items: type: string format: uuid description: List of Job IDs. nullable: true releaseOrderApprovalRuleIds: type: array items: type: string format: uuid description: List of approval rule IDs. nullable: true releaseOrderApprovalRuleItemIds: type: array items: type: string format: uuid description: List of approval rule item IDs. nullable: true materials: type: array items: $ref: '#/components/schemas/MaterialSubCostTypeItemLookupKey' description: List of materials nullable: true modifiedSince: type: string description: Date since last modification format: date-time nullable: true isDeleted: type: boolean description: Soft deleted flag nullable: true cursor: type: string description: "When there are additional results, the metadata nextCursor field\r\nshould be passed to retrieve the next page of results." nullable: true limit: maximum: 1000 minimum: 1 type: integer description: The maximum number of results that should be returned. format: int32 nullable: true additionalProperties: false description: A POCO that represents a request for release order approval rule items. GetVendorContractAdvancedRequest: type: object properties: jobIds: type: array items: type: string format: uuid description: List of Job Ids. nullable: true businessUnitId: type: string description: Business unit id format: uuid nullable: true vendorContractIds: type: array items: type: string format: uuid description: List of Vendor Contract Ids. nullable: true modifiedSince: type: string description: Date since last modification format: date-time nullable: true isDeleted: type: boolean description: Soft deleted flag nullable: true cursor: type: string description: "Optional. \r\nWhen there are additional results, the metadata nextCursor field\r\nshould be passed to retrieve the next page of results." nullable: true limit: type: integer description: The maximum number of results that should be returned. format: int32 nullable: true additionalProperties: false description: A POCO that represents a request for vendor contracts. GetVendorContractItemsAdvancedRequest: type: object properties: jobIds: type: array items: type: string format: uuid description: List of Job Ids. nullable: true businessUnitId: type: string description: Business unit id format: uuid nullable: true vendorContractIds: type: array items: type: string format: uuid description: List of Vendor Contract Ids. nullable: true modifiedSince: type: string description: Date since last modification format: date-time nullable: true isDeleted: type: boolean description: Soft deleted flag nullable: true cursor: type: string description: "Optional. \r\nWhen there are additional results, the metadata nextCursor field\r\nshould be passed to retrieve the next page of results." nullable: true limit: type: integer description: The maximum number of results that should be returned. format: int32 nullable: true additionalProperties: false description: A POCO that represents a request for vendor contract items. JobCostCodeItem: required: - jmBUEmployeeId - jmJobCostCodeId - transactionDate type: object properties: jmJobCostCodeId: type: string description: JM_JobCostCode ID that is in the T & M Bill format: uuid transactionDate: type: string description: Date of the timecard or MSE transaction where the cost code came from. format: date-time jmBUEmployeeId: type: string description: Foreman ID from JM_BUEmployee. format: uuid additionalProperties: false description: A POCO that represents a job cost code in a transaction that is selected for T & M billing. JobForecastCostTypeFactorType: enum: - none - budget - previousForecast - toDateValues - currentRatio type: string JobForecastProductivityType: enum: - none - laborHoursPerUnit - unitsPerLaborHour type: string JobProgressBillStatus: enum: - active - completed - cancelled type: string JobStatus: enum: - undefined - active - completed - discontinued - inactive type: string LedgerEntryType: enum: - trueUp - quantity - trucking - foreman type: string description: Enumeration for type of ledger entry. MaterialStatus: enum: - active - completed - discontinued type: string MaterialSubCostTypeItemLookupKey: required: - id - type type: object properties: id: type: string description: The material id. format: uuid type: $ref: '#/components/schemas/MaterialType' additionalProperties: false description: A POCO used for describing Materials and Custom Cost Type Items in advanced requests. MaterialType: enum: - unknown - material - customType type: string MaterialsCostType: enum: - material - customType - subcontract type: string description: Enumerations for specified type of Material, Subcontract or Custom Type OrderStatus: enum: - notStarted - inProgress - completed - cancelled type: string OverrideStatusForJobResource: enum: - useDefault - none - override type: string PayItemStatus: enum: - active - completed - cancelled type: string ProgressBillRequestMethod: enum: - subtractPreviouslyPaid - subtractPreviouslyRequested type: string ProgressBillRetainageMode: enum: - simple - advanced type: string ProgressBillRetainageType: enum: - new - all type: string ProgressBillStatus: enum: - draft - invoiced - finalized type: string PurchaseOrderInfo: type: object properties: poId: type: string description: The purchase order ID (not shown in HeavyJob) format: uuid purchaseOrder: type: string description: The purchase order name nullable: true vendor: $ref: '#/components/schemas/VendorInfo' poDescription: type: string description: The purchase order description nullable: true isPO: type: boolean description: Is this a purchase order or a vendor contract? This will be false for vendor contracts orderStatus: type: string description: Status for purchase order or a vendor contract nullable: true additionalProperties: false description: "The data structure for purchase order information returned as part of ApiPurchaseOrderDetailsWithCCRead \r\nfrom Purchase Order Details Advanced Request" QuantityDrivingEntityType: enum: - none - material - customType - subcontract type: string description: Enumerations for entity type that drives quantity. RateSetGroupAccountingValuesSearchRequest: type: object properties: businessUnitId: type: string description: The businessUnit Id format: uuid entityIds: type: array items: type: string format: uuid description: List of entity Ids nullable: true cursor: type: string description: "Optional. \r\nWhen there are additional results, the metadata nextCursor field\r\nshould be passed to retrieve the next page of results." nullable: true limit: type: integer description: The maximum number of results that should be returned. format: int32 nullable: true entityType: $ref: '#/components/schemas/AccountingEntity' rateSetGroupId: type: string description: The rate set group id format: uuid additionalProperties: false description: Accounting Values Search Request RateSetGroupType: enum: - undefined - labor - workersComp - tmLabor - salary - equipment - tmEquipment type: string ReleaseOrderSentStatus: enum: - unsent - emailed - sentToConnex type: string ReleaseOrderStatus: enum: - draft - needsReview - pendingConfirmation - canceled - confirmed - partiallyDelivered - delivered - completed type: string SendType: enum: - unsetValue - email - connex type: string SubscriptionType: enum: - hybrid - hybridFree - webOnly - employeeApp type: string TMBillCostCodeDetailsRead: required: - code - description - jmTmBillCostCodeId - jobCostCodeId - tmBillCustomCosts - tmBillEquipment - tmBillLabor - tmBillMaterial - tmBillSubContract type: object properties: jmTmBillCostCodeId: type: string description: ID for the database record for the JMTMBillCostCode format: uuid jobCostCodeId: type: string description: related Job Cost Code Id format: uuid readOnly: true code: minLength: 1 type: string description: TM Bill Cost Code description: minLength: 1 type: string description: TM Bill Cost Code Description quantity: type: number description: quantity format: double unitOfMeasure: type: string description: Unit of Measure nullable: true isQuantityDriver: type: boolean description: "whether quantity is driven by cost code quantity or the material\r\nquantity." foremanLastName: type: string description: The foreman's last name nullable: true readOnly: true foremanFirstName: type: string description: "the foreman's first name\r\nquantity." nullable: true readOnly: true foremanCode: type: string description: the foreman's employee code nullable: true readOnly: true date: type: string description: the date of the transaction format: date-time tmBillCustomCosts: type: array items: $ref: '#/components/schemas/TMBillCustomCostDetailsRead' description: child custom codes readOnly: true tmBillLabor: type: array items: $ref: '#/components/schemas/TMBillLaborDetailsRead' description: child tmLabor items readOnly: true tmBillMaterial: type: array items: $ref: '#/components/schemas/TMBillMaterialDetailsRead' description: child tmMaterial items readOnly: true tmBillEquipment: type: array items: $ref: '#/components/schemas/TMBillEquipmentDetailsRead' description: child tmEquiment items readOnly: true tmBillSubContract: type: array items: $ref: '#/components/schemas/TMBillSubContractDetailsRead' description: child tm subcontract items readOnly: true additionalProperties: false description: TM Bill Cost Code TMBillCostCodeRead: required: - code - description - jobCostCodeId - tmBillEquipment - tmBillLabor - tmBillMaterial - tmBillSubContract - tmCustomCodes type: object properties: jobCostCodeId: type: string description: related Job Cost Code Id format: uuid readOnly: true code: minLength: 1 type: string description: TM Bill Cost Code description: minLength: 1 type: string description: TM Bill Cost Code Description accountingCode: type: string description: accounting code nullable: true quantity: type: number description: quantity format: double unitOfMeasure: type: string description: Unit of Measure nullable: true isQuantityDriver: type: boolean description: "whether quantity is driven by cost code quantity or the material\r\nquantity." foremanLastName: type: string description: The foreman's last name nullable: true readOnly: true foremanFirstName: type: string description: "the foreman's first name\r\nquantity." nullable: true readOnly: true foremanCode: type: string description: the foreman's employee code nullable: true readOnly: true date: type: string description: the date of the transaction format: date-time tmCustomCodes: type: array items: $ref: '#/components/schemas/TMBillCustomCostRead' description: child custom codes readOnly: true tmBillLabor: type: array items: $ref: '#/components/schemas/TMBillLaborRead' description: child tmLabor items readOnly: true tmBillMaterial: type: array items: $ref: '#/components/schemas/TMBillMaterialRead' description: child tmMaterial items readOnly: true tmBillEquipment: type: array items: $ref: '#/components/schemas/TMBillEquipmentRead' description: child tmEquiment items readOnly: true tmBillSubContract: type: array items: $ref: '#/components/schemas/TMBillSubContractRead' description: child tm subcontract items readOnly: true additionalProperties: false description: TM Bill Cost Code TMBillCostCodeSummaryRead: required: - code - description - jobCostCodeId type: object properties: jobCostCodeId: type: string description: related Job Cost Code Id format: uuid code: minLength: 1 type: string description: TM Bill Cost Code description: minLength: 1 type: string description: TM Bill Cost Code Description unitOfMeasure: type: string description: Unit of Measure nullable: true isQuantityDriver: type: boolean description: "whether quantity is driven by cost code quantity or the material\r\nquantity." dateForemanDetails: type: array items: $ref: '#/components/schemas/TMBillCostCodeDetailsRead' description: List of TMBillCostCodeDetailsRead for this cost code and bill nullable: true additionalProperties: false description: TM Bill Cost Code Summary TMBillCustomCostDetailsRead: required: - code - CostTypeBusinessUnitId - jmTmBillCustomCostId type: object properties: jmTmBillCustomCostId: type: string description: ID for the database record for the JMTMBillCustomCost format: uuid code: minLength: 1 type: string description: custom bill cost code description: type: string description: Description nullable: true costTypeCode: type: string description: CostType code nullable: true costTypeDescription: type: string description: CostType description nullable: true rate: type: number description: Rate value in dollars per hour format: double CostTypeBusinessUnitId: type: string description: id of related CostTypeBusinessUnit format: uuid quantity: type: number description: Quantity format: double unitOfMeasure: type: string description: Unit of measure nullable: true readOnly: true taxPercent: type: number description: tax Percent format: double markup: type: number description: markup value format: double additionalProperties: false description: TM Bill Custom Cost Code TMBillCustomCostRead: required: - accountingCode - code - CostTypeBusinessUnitId type: object properties: code: minLength: 1 type: string description: custom bill cost code description: type: string description: Description nullable: true costTypeCode: type: string description: CostType code nullable: true costTypeDescription: type: string description: CostType description nullable: true rate: type: number description: Rate value in dollars per hour format: double CostTypeBusinessUnitId: type: string description: id of related CostTypeBusinessUnit format: uuid accountingCode: minLength: 1 type: string description: accounting code quantity: type: number description: Quantity format: double unit: type: string description: Unit of measure nullable: true taxPercent: type: number description: tax Percent format: double markup: type: number description: markup value format: double additionalProperties: false description: TM Bill Custom Cost Code TMBillEquipmentDetailsRead: required: - code - description - equipmentId - jmTmBillEquipmentId type: object properties: equipmentId: type: string description: Id of the equipment. format: uuid jmTmBillEquipmentId: type: string description: ID for the database record for the JMTMBillEquipment format: uuid rate1Hours: type: number description: regular hours format: double rate1Cost: type: number description: regular rate format: double rate2Hours: type: number description: Secondary Hours format: double rate2Cost: type: number description: Secondary hours rate format: double rate3Hours: type: number description: Third hours format: double rate3Cost: type: number description: Third hours rate format: double markup: type: number description: Markup percentage as a decimal. format: double taxPercent: type: number description: Tax percentage as a decimal. format: double code: minLength: 1 type: string description: Equipment Code description: minLength: 1 type: string description: Equipment Description additionalProperties: false description: TM Bill Equipment TMBillEquipmentRead: required: - code - description type: object properties: code: minLength: 1 type: string description: Item Code, depending on the Item this will be Labor Code, Material Code, Equipment code, etc. description: minLength: 1 type: string description: item description, depending on the item this will be Labor Description, Equipment Description, etc markup: type: number description: item markup, depending on the item this will be labor markup, subcontract markup, etc. format: double taxPercent: type: number description: Tax Percent, depending on the item this will be labor tax percent, equipment tax percent, etc. format: double accountingCode: type: string description: accounting code nullable: true regHours: type: number description: regular hours format: double regRate: type: number description: regular rate format: double rate2Hours: type: number description: Secondary Hours format: double rate2nd: type: number description: Secondary hours rate format: double readOnly: true rate3Hours: type: number description: Third hours format: double rate3rd: type: number description: Third hours rate format: double readOnly: true additionalProperties: false description: TM Bill Equipment TMBillExportInfoRead: required: - billNumber - description - jobCode - jobName - tmCostCodes type: object properties: billNumber: minLength: 1 type: string description: TM Bill Number dateStart: type: string description: start date of the bill format: date-time nullable: true dateEnd: type: string description: end date of the bill format: date-time nullable: true jobName: minLength: 1 type: string description: Job Name of TMBill's related Job jobCode: minLength: 1 type: string description: Code of TMBill's related Job jobAccountingCode: type: string description: Accounting code for the TMBill's related Job nullable: true description: minLength: 1 type: string description: TM Bill description descriptionOfWork: type: string description: The description of work that is billed for in the TM Bill nullable: true tmCostCodes: type: array items: $ref: '#/components/schemas/TMBillCostCodeRead' description: child TM Bill Cost Codes additionalProperties: false description: "Model that holds info needed for generating and exporting bills \r\ngrouped by CCode or CType and also by accouting codes" TMBillLaborDetailsRead: required: - employeeCode - employeeId - employeeName - jmTmBillLaborId - payClassCode - payClassDescription - payClassId type: object properties: payClassId: type: string description: Id of the payclass. format: uuid employeeId: type: string description: Id of the employee. format: uuid jmTmBillLaborId: type: string description: ID for the database record for the JMTMBillLabor format: uuid regularHours: type: number description: Regular hours. format: double regularRate: type: number description: Regular hours rate. format: double otHours: type: number description: Overtime hours. format: double otRate: type: number description: Overtime hours rate. format: double otHours2: type: number description: Second overtime hours. format: double otRate2: type: number description: Second overtime hours rate. format: double markup: type: number description: Markup percentage as a decimal. format: double taxPercent: type: number description: Tax percentage as a decimal. format: double payClassCode: minLength: 1 type: string description: PayClass Code payClassDescription: minLength: 1 type: string description: PayClass Description employeeName: minLength: 1 type: string description: Employee Name employeeCode: minLength: 1 type: string description: Employee Code additionalProperties: false description: TM Bill Labor TMBillLaborRead: required: - description - employeeName - payClassCode type: object properties: regHours: type: number description: regular hours format: double regRate: type: number description: regular hours rate format: double otHours: type: number description: secondary hours format: double otRate: type: number description: Seconday hours rate format: double otHours2: type: number description: Third Hours format: double otRate2: type: number description: Third hours Rate format: double payClassCode: minLength: 1 type: string description: PayClass Code employeeName: minLength: 1 type: string description: Employee Code description: minLength: 1 type: string description: Description markup: type: number description: item markup. format: double taxPercent: type: number description: Tax Percent format: double employeeAccountingCode: type: string description: accounting code nullable: true payClassAccountingCode: type: string description: The accounting code of the pay class, if one was set. nullable: true additionalProperties: false description: TM Bill Labor TMBillMSEDetailsRead: required: - customCostDetails - materialDetails - subcontractDetails type: object properties: materialDetails: type: array items: $ref: '#/components/schemas/TMBillMaterialDetailsRead' description: List of Materials subcontractDetails: type: array items: $ref: '#/components/schemas/TMBillSubContractDetailsRead' description: List of Materials customCostDetails: type: array items: $ref: '#/components/schemas/TMBillCustomCostDetailsRead' description: List of Materials additionalProperties: false description: Object used to describe a library or job MSE being added to a TM Bill TMBillMaterialDetailsRead: required: - code - description - jmTmBillMaterialId type: object properties: code: minLength: 1 type: string description: Item Code, depending on the Item this will be Labor Code, Material Code, Equipment code, etc. description: minLength: 1 type: string description: item description, depending on the item this will be Labor Description, Equipment Description, etc markup: type: number description: item markup, depending on the item this will be labor markup, subcontract markup, etc. format: double taxPercent: type: number description: Tax Percent, depending on the item this will be labor tax percent, equipment tax percent, etc. format: double accountingCode: type: string description: accounting code nullable: true jmTmBillMaterialId: type: string description: ID for the database record for the JMTMBillMaterial format: uuid quantity: type: number description: TM bill material quantity format: double unitOfMeasure: type: string description: Tm Bill Material Unit of Measure nullable: true unitPrice: type: number description: TM Bill Unit Price format: double additionalProperties: false description: TM Bill Material TMBillMaterialRead: required: - code - description type: object properties: code: minLength: 1 type: string description: Item Code, depending on the Item this will be Labor Code, Material Code, Equipment code, etc. description: minLength: 1 type: string description: item description, depending on the item this will be Labor Description, Equipment Description, etc markup: type: number description: item markup, depending on the item this will be labor markup, subcontract markup, etc. format: double taxPercent: type: number description: Tax Percent, depending on the item this will be labor tax percent, equipment tax percent, etc. format: double accountingCode: type: string description: accounting code nullable: true quantity: type: number description: TM bill material quantity format: double unit: type: string description: Tm Bill Material Unit nullable: true unitPrice: type: number description: TM Bill Unit Price format: double additionalProperties: false description: TM Bill Material TMBillSubContractDetailsRead: required: - code - description - jmTmBillWorkPerformedId type: object properties: code: minLength: 1 type: string description: Item Code, depending on the Item this will be Labor Code, Material Code, Equipment code, etc. description: minLength: 1 type: string description: item description, depending on the item this will be Labor Description, Equipment Description, etc markup: type: number description: item markup, depending on the item this will be labor markup, subcontract markup, etc. format: double taxPercent: type: number description: Tax Percent, depending on the item this will be labor tax percent, equipment tax percent, etc. format: double accountingCode: type: string description: accounting code nullable: true jmTmBillWorkPerformedId: type: string description: ID for the database record for the JMTMBillWorkPerformed format: uuid quantity: type: number description: TM Bill SubContract quantity format: double unitOfMeasure: type: string description: TM Bill SubContract Unit of Measure nullable: true unitPrice: type: number description: TM Bill SubContract Unit Price format: double additionalProperties: false description: TM Bill SubContract TMBillSubContractRead: required: - code - description type: object properties: code: minLength: 1 type: string description: Item Code, depending on the Item this will be Labor Code, Material Code, Equipment code, etc. description: minLength: 1 type: string description: item description, depending on the item this will be Labor Description, Equipment Description, etc markup: type: number description: item markup, depending on the item this will be labor markup, subcontract markup, etc. format: double taxPercent: type: number description: Tax Percent, depending on the item this will be labor tax percent, equipment tax percent, etc. format: double accountingCode: type: string description: accounting code nullable: true quantity: type: number description: TM Bill SubContract quantity format: double unit: type: string description: TM Bill SubContract Unit nullable: true unitPrice: type: number description: TM Bill SubContract Unit Price format: double additionalProperties: false description: TM Bill SubContract TMCostCodeBillInfo: type: object properties: id: type: string description: The id of the T & M Bill. format: uuid billNumber: type: string description: The bill number of the T & M Bill. nullable: true additionalProperties: false description: A POCO that represents a T & M Bill in which a cost code is included. TransactionAdvancedRead: type: object properties: jobIds: type: array items: type: string format: uuid description: "List of Job Ids.\r\nUsed with JobTagIds to limit jobs. Returns jobs with JobIds and JobTagIds." nullable: true jobTagIds: type: array items: type: string format: uuid description: "List of Job Tag Ids.\r\nUsed with JobIds to limit jobs. Returns jobs with JobIds and JobTagIds." nullable: true foremanIds: type: array items: type: string format: uuid description: "List of Foreman Ids.\r\nUsed to limit transactions. Returns transactions only for foremen specified." nullable: true startDate: type: string description: "Beginning local date (yyyy-MM-dd) of date range.\r\nUsed with EndDate. Transactions whose dates fall within this date range will be included." format: date-time nullable: true endDate: type: string description: "End local date (yyyy-MM-dd) of date range.\r\nUsed with StartDate. Transactions whose dates fall within this date range will be included." format: date-time nullable: true cursor: type: string description: "Optional. \r\nWhen there are additional results, the metadata nextCursor field should be passed to retrieve the next page of results." nullable: true limit: type: integer description: The maximum number of results that should be returned. format: int32 nullable: true additionalProperties: false description: A model that represents an advanced request to find transactions. TransactionStatus: enum: - unsetValue - failed - inProgress type: string description: The status of a sent release order's transaction UpdateJobPayWeekRequest: type: object properties: businessUnitId: type: string description: Business Unit Id. format: uuid nullable: true jobIds: type: array items: type: string format: uuid description: List of Job Ids. nullable: true startOfPayWeek: $ref: '#/components/schemas/DayOfWeek' additionalProperties: false description: A model that represents an advanced request update start of pay week for one or more jobs. UserAccessGroupAdvancedRequest: type: object properties: userIds: type: array items: type: string format: uuid description: List of User Ids. nullable: true additionalProperties: false description: A POCO that represents a request for users. VendorInfo: type: object properties: vendorName: type: string description: The vendor's display name nullable: true vendorDescription: type: string description: The vendor's description nullable: true vendorID: type: string description: The vendor's id (not shown in HeavyJob) format: uuid additionalProperties: false description: The data structure for vendor information returned as part of ApiPurchaseOrderDetailsWithCCRead by the Purchase Order Details Advanced Request WorkItemStatus: enum: - active - completed - discontinued type: string WorkQuestionType: enum: - yesOrNo - freeForm type: string description: Enumerations for work question type. securitySchemes: bearer: type: oauth2 description: oauth2 flows: clientCredentials: tokenUrl: https://api.hcssapps.com/identity/connect/token scopes: heavyjob:read: heavyjob:read heavyjob:write: heavyjob:write timecards:read: timecards:read timecards:write: timecards:write heavyjob:users:read: heavyjob:users:read heavyjob:users:write: heavyjob:users:write authorizationCode: tokenUrl: https://api.hcssapps.com/identity/connect/token authorizationUrl: https://api.hcssapps.com/identity/connect/authorize scopes: heavyjob:read: heavyjob:read heavyjob:write: heavyjob:write timecards:read: timecards:read timecards:write: timecards:write heavyjob:users:read: heavyjob:users:read heavyjob:users:write: heavyjob:users:write