Breaking changes
Breaking changes are planned for November 8th.
POST: /api/v2/pub/employees
PATCH: /api/v2/pub/employees/{id}
Removed
- field 'account_type' will be removed from the request body
Changed
- field 'account_type_id' will be required
POST: /api/v2/pub/projects
PATCH: /api/v2/pub/projects/{id}
Removed
- fields 'manager_id' and 'executive_id' will be removed from the request body
- manager and executive will be replaced by primary contact and secondary contact, but assigning contacts will require a different approach described in Migration notes below
Migration Notes
New API endpoints will be added to support project contact management.
New Endpoints
Assign Primary Contact
PUT: /api/v2/pub/projects/{id}/assign-primary-contact
Assign Secondary Contact
PUT: /api/v2/pub/projects/{id}/assign-secondary-contact
Both endpoints accept the following request body field:
{
"employee_id": "<string>|<null>"
}Invite User to a Project
POST: /api/v2/pub/project-directories/{id}/invitations
This endpoint accept the following request body field:
{
"user_id": "<string>",
}Assigning a Primary or Secondary Contact
To assign an employee as a primary or secondary contact, follow these steps:
-
Ensure the employee is already invited to the project.
- This can be done either:
- Through the UI, or
- By calling the POST
/api/v2/pub/project-directories/{id}/invitationsendpoint.
- This can be done either:
-
Assign the employee as a contact.
- This can be done either:
- Through the UI, or
- By calling one of the following endpoints:
- PUT
/api/v2/pub/projects/{id}/assign-primary-contact - PUT
/api/v2/pub/projects/{id}/assign-secondary-contact
- PUT
- This can be done either:
GET: /api/v2/pub/contracts
Added
- added the property 'items/accounting_company_id' to the response with the '200' status
- added the property 'items/payment_term_id' to the response with the '200' status
POST: /api/v2/pub/contracts
Changed
- added the new request property 'accounting_company_id'
- added the new request property 'payment_term_id'
GET: /api/v2/pub/contracts/{id}
Added
- added the property 'accounting_company_id' to the response with the '200' status
- added the property 'payment_term_id' to the response with the '200' status
GET: /api/v2/pub/employees
Added
- added the property 'items/project_roles/additional_project_role_ids' to the response with the '200' status
- added the property 'items/project_roles/primary_project_role_id' to the response with the '200' status
Changed
- the 'items/project_roles' response's property type/format changed from 'array'/'' to 'object'/'' for status '200'
POST: /api/v2/pub/employees
Changed
- added the new request property 'project_roles/additional_project_role_ids'
- added the new request property 'project_roles/primary_project_role_id'
- the 'project_roles' request property type/format changed from 'array'/'' to 'object'/''
GET: /api/v2/pub/employees/{id}
Added
- added the property 'project_roles/additional_project_role_ids' to the response with the '200' status
- added the property 'project_roles/primary_project_role_id' to the response with the '200' status
Changed
- the 'project_roles' response's property type/format changed from 'array'/'' to 'object'/'' for status '200'
PATCH: /api/v2/pub/employees/{id}
Changed
- added the new request property 'project_roles/additional_project_role_ids'
- added the new request property 'project_roles/primary_project_role_id'
- the 'project_roles' request property type/format changed from 'array'/'' to 'object'/''
POST: /api/v2/pub/accounting-companies
Changed
- added the new request property 'address/address_2'
- added the new request property 'address/gross_area'
- added the new request property 'address/rentable_area'
- added the new request property 'address/usable_area'
- added the new required request property 'address/address_1'
- added the new required request property 'address/city'
- added the new required request property 'address/measurement_unit'
- added the new required request property 'address/measurement_value'
- added the new required request property 'address/zip'
- the request property 'address/admin_area_1' became not nullable
- the request property 'address/country_code' became not nullable
- the request property 'address/admin_area_1' became required
- the request property 'address/country_code' became required
Removed
- removed the request property 'address/address_line_1'
- removed the request property 'address/address_line_2'
- removed the request property 'address/locality'
- removed the request property 'address/postal_code'
PATCH: /api/v2/pub/accounting-companies/{id}
Changed
- added the new request property 'address/address_2'
- added the new request property 'address/gross_area'
- added the new request property 'address/rentable_area'
- added the new request property 'address/usable_area'
- added the new required request property 'address/address_1'
- added the new required request property 'address/city'
- added the new required request property 'address/measurement_unit'
- added the new required request property 'address/measurement_value'
- added the new required request property 'address/zip'
- the request property 'address/admin_area_1' became not nullable
- the request property 'address/country_code' became not nullable
- the request property 'address/admin_area_1' became required
- the request property 'address/country_code' became required
Removed
- removed the request property 'address/address_line_1'
- removed the request property 'address/address_line_2'
- removed the request property 'address/locality'
- removed the request property 'address/postal_code'
GET: /api/v2/pub/employees
Added
- added the property 'items/project_roles/additional_project_role_ids' to the response with the '200' status
- added the property 'items/project_roles/primary_project_role_id' to the response with the '200' status
Changed
- the 'items/project_roles' response's property type/format changed from 'array'/'' to 'object'/'' for status '200'
GET: /api/v2/pub/employees/{id}
Added
- added the property 'project_roles/additional_project_role_ids' to the response with the '200' status
- added the property 'project_roles/primary_project_role_id' to the response with the '200' status
Changed
- the 'project_roles' response's property type/format changed from 'array'/'' to 'object'/'' for status '200'
PATCH: /api/v2/pub/accounting-business-units/{id}
Changed
- the request property 'name' became not nullable
PATCH: /api/v2/pub/accounting-cost-codes/{id}
Changed
- the request property 'code' became not nullable
- the request property 'name' became not nullable
PATCH: /api/v2/pub/accounting-cost-types/{id}
Changed
- the request property 'name' became not nullable
PATCH: /api/v2/pub/accounting-entities/{id}
Changed
- the request property 'name' became not nullable
PATCH: /api/v2/pub/accounting-projects/{id}
Changed
- the request property 'name' became not nullable
POST: /api/v2/pub/budget-cost-codes
Changed
- the 'description' request property's maxLength was increased from '255' to '500'
GET: /api/v2/pub/contracted-invoices
Added
- added the new enum value 'fully_approved' to the 'query' request parameter 'status'
- added the new 'fully_approved' enum value to the 'items/status' response property for the response status '200'
GET: /api/v2/pub/contracted-invoices/{id}
Added
- added the new 'fully_approved' enum value to the '/items/status' response property for the response status '200'
GET: /api/v2/pub/non-contracted-invoices
Added
- added the new enum value 'fully_approved' to the 'query' request parameter 'status'
- added the new 'fully_approved' enum value to the 'items/status' response property for the response status '200'
GET: /api/v2/pub/non-contracted-invoices/{id}
Added
- added the new 'fully_approved' enum value to the '/items/status' response property for the response status '200'
GET: /api/v2/pub/projects
Added
- added the property 'items/unit_type' to the response with the '200' status
GET: /api/v2/pub/projects/{id}
Added
- added the property 'unit_type' to the response with the '200' status
GET: /api/v2/pub/submittals
Added
- added the required property 'items/document_ids' to the response with the '200' status
GET: /api/v2/pub/submittals/{id}
Added
- added the required property 'document_ids' to the response with the '200' status
GET: /api/v2/pub/files
Added
- added the new enum value 'specification' to the 'query' request parameter 'resource_type'
- added the new enum value 'specification-supporting' to the 'query' request parameter 'resource_type'
- added the new 'specification' enum value to the 'items/resource_type' response property for the response status '200'
- added the new 'specification-supporting' enum value to the 'items/resource_type' response property for the response status '200'
GET: /api/v2/pub/files/{id}
Added
- added the new 'specification' enum value to the 'resource_type' response property for the response status '200'
- added the new 'specification-supporting' enum value to the 'resource_type' response property for the response status '200'
POST: /api/v2/pub/accounting-companies
Removed
- removed the request property 'email'
- removed the request property 'phone'
GET: /api/v2/pub/accounting-companies
Removed
- removed the required property 'items/email' from the response with the '200' status
- removed the required property 'items/phone' from the response with the '200' status
PATCH: /api/v2/pub/accounting-companies/{id}
Removed
- removed the request property 'email'
- removed the request property 'phone'
GET: /api/v2/pub/accounting-companies/{id}
Removed
- removed the required property 'email' from the response with the '200' status
- removed the required property 'phone' from the response with the '200' status
GET: /api/v2/pub/contracted-invoices
Added
- added the property 'items/document_ids' to the response with the '200' status
GET: /api/v2/pub/contracted-invoices/{id}
Added
- added the property '/items/document_ids' to the response with the '200' status
GET: /api/v2/pub/contracts
Added
- added the property 'items/wbs1' to the response with the '200' status
Changed
- added the new 'query' request parameter 'include_wbs'
GET: /api/v2/pub/files
Added
- added the new enum value 'bid-drawing' to the 'query' request parameter 'resource_type'
- added the new enum value 'bid-insurance-requirement' to the 'query' request parameter 'resource_type'
- added the new enum value 'bid-specification' to the 'query' request parameter 'resource_type'
- added the new enum value 'proposal-header-cover-photo' to the 'query' request parameter 'resource_type'
- added the new enum value 'proposal-question-answer' to the 'query' request parameter 'resource_type'
- added the new enum value 'proposal-service-assumption' to the 'query' request parameter 'resource_type'
- added the new enum value 'proposal-supporting' to the 'query' request parameter 'resource_type'
- added the new enum value 'proposal-term-and-condition' to the 'query' request parameter 'resource_type'
- added the new 'bid-drawing' enum value to the 'items/resource_type' response property for the response status '200'
- added the new 'bid-insurance-requirement' enum value to the 'items/resource_type' response property for the response status '200'
- added the new 'bid-specification' enum value to the 'items/resource_type' response property for the response status '200'
- added the new 'proposal-header-cover-photo' enum value to the 'items/resource_type' response property for the response status '200'
- added the new 'proposal-question-answer' enum value to the 'items/resource_type' response property for the response status '200'
- added the new 'proposal-service-assumption' enum value to the 'items/resource_type' response property for the response status '200'
- added the new 'proposal-supporting' enum value to the 'items/resource_type' response property for the response status '200'
- added the new 'proposal-term-and-condition' enum value to the 'items/resource_type' response property for the response status '200'
Removed
- removed the 'drawing' enum value from the 'items/resource_type' response property for the response status '200'
- removed the 'specification' enum value from the 'items/resource_type' response property for the response status '200'
- removed the enum value 'drawing' from the 'query' request parameter 'resource_type'
- removed the enum value 'specification' from the 'query' request parameter 'resource_type'
GET: /api/v2/pub/files/{id}
Added
- added the new 'bid-drawing' enum value to the 'resource_type' response property for the response status '200'
- added the new 'bid-insurance-requirement' enum value to the 'resource_type' response property for the response status '200'
- added the new 'bid-specification' enum value to the 'resource_type' response property for the response status '200'
- added the new 'proposal-header-cover-photo' enum value to the 'resource_type' response property for the response status '200'
- added the new 'proposal-question-answer' enum value to the 'resource_type' response property for the response status '200'
- added the new 'proposal-service-assumption' enum value to the 'resource_type' response property for the response status '200'
- added the new 'proposal-supporting' enum value to the 'resource_type' response property for the response status '200'
- added the new 'proposal-term-and-condition' enum value to the 'resource_type' response property for the response status '200'
Removed
- removed the 'drawing' enum value from the 'resource_type' response property for the response status '200'
- removed the 'specification' enum value from the 'resource_type' response property for the response status '200'
GET: /api/v2/pub/non-contracted-invoices
Added
- added the property 'items/document_ids' to the response with the '200' status
GET: /api/v2/pub/non-contracted-invoices/{id}
Added
- added the property '/items/document_ids' to the response with the '200' status
GET: /api/v2/pub/projects
Added
- added the new 'bad' enum value to the 'items/scheduled_health' response property for the response status '200'
- added the new 'good' enum value to the 'items/scheduled_health' response property for the response status '200'
- added the new 'ok' enum value to the 'items/scheduled_health' response property for the response status '200'
- added the new 'please-review' enum value to the 'items/risk' response property for the response status '200'
- added the new 'urgent' enum value to the 'items/risk' response property for the response status '200'
- added the new 'well-done' enum value to the 'items/risk' response property for the response status '200'
Changed
- added the new 'query' request parameter 'generated_id'
GET: /api/v2/pub/projects/{id}
Added
- added the new 'bad' enum value to the 'scheduled_health' response property for the response status '200'
- added the new 'good' enum value to the 'scheduled_health' response property for the response status '200'
- added the new 'ok' enum value to the 'scheduled_health' response property for the response status '200'
- added the new 'please-review' enum value to the 'risk' response property for the response status '200'
- added the new 'urgent' enum value to the 'risk' response property for the response status '200'
- added the new 'well-done' enum value to the 'risk' response property for the response status '200'
PATCH: /api/v2/pub/accounting-companies/{id}
Changed
- the request property 'company_name' became not nullable
GET: /api/v2/pub/budget-cost-codes
Added
- added the property 'items/flat_value' to the response with the '200' status
POST: /api/v2/pub/budget-cost-codes
Changed
- added the new request property 'flat_value'
GET: /api/v2/pub/budget-cost-codes/{id}
Added
- added the required property 'flat_value' to the response with the '200' status
PATCH: /api/v2/pub/budget-cost-codes/{id}
Changed
- added the new request property 'flat_value'
POST: /api/v2/pub/contract-changes
Changed
- added the new request property 'wbs1/items/site_id'
POST: /api/v2/pub/contracts
Changed
- added the new request property 'wbs1/items/site_id'
GET: /api/v2/pub/files
Added
- added the new enum value 'contract-lien-waiver' to the 'query' request parameter 'resource_type'
- added the new enum value 'drawing-set-supporting' to the 'query' request parameter 'resource_type'
- added the new 'contract-lien-waiver' enum value to the 'items/resource_type' response property for the response status '200'
- added the new 'drawing-set-supporting' enum value to the 'items/resource_type' response property for the response status '200'
GET: /api/v2/pub/files/{id}
Added
- added the new 'contract-lien-waiver' enum value to the 'resource_type' response property for the response status '200'
- added the new 'drawing-set-supporting' enum value to the 'resource_type' response property for the response status '200'
GET: /api/v2/pub/non-contracted-invoices
Added
- added the property 'items/accounting_company_id' to the response with the '200' status
GET: /api/v2/pub/non-contracted-invoices/{id}
Added
- added the property '/items/accounting_company_id' to the response with the '200' status