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