GET: /api/v2/pub/account-types

πŸ‘

Added

  • added the property 'items/permissions/resources/financials_and_rfps' to the response with the '200' status
  • added the property 'items/permissions/resources/portfolios_buildings_sites' to the response with the '200' status
  • added the property 'items/permissions/resources/project_financials' to the response with the '200' status
  • added the property 'items/permissions/resources/projects/can_manage_users_project_role_on_project_directory' to the response with the '200' status
  • added the property 'items/permissions/resources/projects/can_override_approvals' to the response with the '200' status
  • added the property 'items/permissions/resources/projects/can_start_and_copy_projects' to the response with the '200' status
  • added the property 'items/permissions/resources/workspace_configuration' to the response with the '200' status

GET: /api/v2/pub/account-types/{id}

πŸ‘

Added

  • added the property 'permissions/resources/financials_and_rfps' to the response with the '200' status
  • added the property 'permissions/resources/portfolios_buildings_sites' to the response with the '200' status
  • added the property 'permissions/resources/project_financials' to the response with the '200' status
  • added the property 'permissions/resources/projects/can_manage_users_project_role_on_project_directory' to the response with the '200' status
  • added the property 'permissions/resources/projects/can_override_approvals' to the response with the '200' status
  • added the property 'permissions/resources/projects/can_start_and_copy_projects' to the response with the '200' status
  • added the property 'permissions/resources/workspace_configuration' to the response with the '200' status

PATCH: /api/v2/pub/account-types/{id}

🚧

Changed

  • added the new request property 'permissions/resources/financials_and_rfps'
  • added the new request property 'permissions/resources/portfolios_buildings_sites'
  • added the new request property 'permissions/resources/project_financials'
  • added the new request property 'permissions/resources/projects/can_manage_users_project_role_on_project_directory'
  • added the new request property 'permissions/resources/projects/can_override_approvals'
  • added the new request property 'permissions/resources/projects/can_start_and_copy_projects'
  • added the new request property 'permissions/resources/workspace_configuration'

POST: /api/v2/pub/employees

🚧

Changed

  • the request property 'account_type_id' became required
❗️

Removed

  • removed the request property 'account_type'

GET: /api/v2/pub/employees

🚧

Changed

  • the response property 'items/project_roles/primary_project_role_id' became nullable for the status '200'

PATCH: /api/v2/pub/employees/{id}

❗️

Removed

  • removed the request property 'account_type'

GET: /api/v2/pub/employees/{id}

🚧

Changed

  • the response property 'project_roles/primary_project_role_id' became nullable for the status '200'

POST: /api/v2/pub/project-directories/{id}/invitations

πŸ‘

Added

  • endpoint added

GET: /api/v2/pub/projects

πŸ‘

Added

  • added the property 'items/employees/items/primary_contact_id' to the response with the '200' status
  • added the property 'items/employees/items/secondary_contact_id' to the response with the '200' status
🚧

Changed

  • the response property 'items/employees/items/executive_id' became nullable for the status '200'
  • the response property 'items/employees/items/manager_id' became nullable for the status '200'

POST: /api/v2/pub/projects

❗️

Removed

  • removed the request property 'executive_id'
  • removed the request property 'manager_id'

GET: /api/v2/pub/projects/{id}

πŸ‘

Added

  • added the property 'employees/items/primary_contact_id' to the response with the '200' status
  • added the property 'employees/items/secondary_contact_id' to the response with the '200' status
🚧

Changed

  • the response property 'employees/items/executive_id' became nullable for the status '200'
  • the response property 'employees/items/manager_id' became nullable for the status '200'

PATCH: /api/v2/pub/projects/{id}

❗️

Removed

  • removed the request property 'executive_id'
  • removed the request property 'manager_id'

PUT: /api/v2/pub/projects/{id}/assign-primary-contact

πŸ‘

Added

  • endpoint added

PUT: /api/v2/pub/projects/{id}/assign-secondary-contact

πŸ‘

Added

  • endpoint added

PATCH: /api/v2/pub/projects/{id}

🚧

Changed

  • added the new request property 'status'

GET: /api/v2/pub/shared-custom-attributes

πŸ‘

Added

  • endpoint added

POST: /api/v2/pub/company-office-locations

🚧

Changed

  • the request property 'company_id' became nullable
  • the request property 'company_id' became optional

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:

  1. 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}/invitations endpoint.
  2. 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

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'