HTTP Specification
BIM 360 Account Admin API
Projects
BIM 360 provides a master project directory to manage your projects across services. The following are the supported endpoints related to projects:
Endpoint | Description |
---|---|
POST projects | Creates a new project |
GET projects | Queries all the projects in a specific account |
GET projects/:project_id | Queries a specific project’s details |
PATCH projects/:project_id | Updates a project’s properties |
PATCH projects/:project_id/image | Creates or update a project’s image |
Companies
BIM 360 provides a master company directory to manage your business partner companies across services. The following are the supported endpoints related to companies:
Endpoint | Description |
---|---|
POST companies | Creates a new partner company |
POST companies/import | Bulk imports partner companies |
GET companies | Queries all the partner companies in a specific account |
GET companies/:company_id | Queries a partner company’s details |
GET companies/search | Searches partner companies by name |
GET projects/:project_id/companies | Queries all the partner companies in a specific project |
PATCH companies/:company_id | Updates a partner company’s properties |
PATCH companies/:company_id/image | Creates or updates a company’s image |
Account Users
BIM 360 provides a master member directory to manage users across services. The following are the endpoints related to users:
Endpoint | Description |
---|---|
POST users | Creates a new user |
POST users/import | Bulk imports users |
GET users | Queries all the users in a specific account |
GET users/:user_id | Queries a user’s details |
GET users/search | Searches users by specific fields |
PATCH users/:user_id | Updates a user’s status or default company |
Project Users
BIM 360 provides a master member directory to manage project users across services. The following are the endpoints related to project users:
Endpoint | Description |
---|---|
GET projects/:project_id/users | Retrieves information about project users |
GET projects/:project_id/users/:users_id | Retrieves details about a single project user |
POST projects/:project_id/users | Adds a user to a project |
POST projects/:project_id/users/import (v2) | Adds multiple users to a project |
PATCH projects/:project_id/users/user_id (v2) | Updates a user’s profile for a project |
Project Roles
Project roles provide information about the industry roles that can be assigned to users. For example, contractor and architect. Industry roles can be assigned to users for different services for each project.
Endpoint | Description |
---|---|
GET industry_roles (v2) | Queries the industry roles for the project |
Business Units
BIM 360 provides a business units structure that can be used to create regional offices or locations that you use for reporting purposes. The following are the supported endpoints related to business units:
Endpoint | Description |
---|---|
PUT business_units_structure | Replaces the business units of the account |
GET business_units_structure | Queries all the business units of the account |
Jobs
Used to track asynchronous operations when an instant response is not possible. This endpoint is currently used only with the BIM 360 Project creation process when project settings from an existing BIM 360 Field project are used as a template for a new BIM 360 Field project.
Endpoint | Description |
---|---|
GET jobs/:job_id | Returns the job status |
BIM 360 Data Connector API
Endpoint | Description |
---|---|
POST requests | Creates a data request. |
GET requests | Returns an array of data requests in the specified account. |
GET requests/:requestId | Returns information about a data request. |
PATCH requests/:requestId | Updates the attributes of an existing data request. |
DELETE requests/:requestId | Deletes a data request. |
GET requests/:requestId/jobs | Returns an array of data connector jobs associated with a data request. |
GET jobs | Returns an array of data connector jobs associated with a project. |
GET jobs/:jobId | Returns information about a specified job that was spawned by a data request. |
DELETE jobs/:jobId | Cancels a specified running job spawned by a data request. |
GET data/:jobId/data-listing | Returns information about the files contained within a data extract. |
GET data/:jobId/data/:name | Returns a signed URL that you can contact to retrieve a specified file from a data extract. |
BIM 360 Document Management API
For information about other Document Management endpoints, see the Data Management API.
Export PDF Files
Endpoint | Description |
---|---|
POST projects/:project_id/versions/:version_id/exports | Exports a single page from an uploaded PDF file into a new PDF file |
GET projects/:project_id/versions/:version_id/exports/:export_id | Returns the status of a PDF export job |
Folder Permissions
Endpoint | Description |
---|---|
Assign permissions | Assigns permissions to multiple users, roles, and companies for a folder. |
GET permissions | Retrieves information about the permissions assigned to users, roles and companies for a folder. |
Update permissions | Updates the permissions assigned to multiple users, roles, and companies for a folder. |
Delete permissions | Deletes all the permissions assigned to specified users, roles, and companies for a folder. |
Custom Attributes
Endpoint | Description |
---|---|
Batch get versions | Retrieves a list of custom attributes for multiple BIM 360 Document Management files. |
GET custom attribute definitions | Retrieves a list of custom attribute definitions for a specified BIM 360 folder. |
POST custom attribute definitions | Adds a custom attribute to a specified BIM 360 folder. |
Batch update custom attribute values | Creates, updates, and deletes custom attribute values for a specified BIM 360 document. |
Naming Standards
Endpoint | Description |
---|---|
GET naming-standards | Retrieves information about the file naming standard for a project. |
BIM 360 Issues API
Issues V1 (deprecated)
Endpoint | Description |
---|---|
GET users-me | Retrieves profile information about an end user |
GET issues | Retrieves information about all the issues in a project |
GET issues/:id | Retrieves detailed information about a single issue |
POST issues | Adds an issue to a project |
PATCH issues/:id | Updates an issue |
GET issues/:id/comments | Retrieves a comment associated with an issue |
POST issues/comments | Adds a comment to an issue |
GET issues/attachments | Retrieves an attachment associated with an issue |
POST issues/attachments | Adds an attachment to an issue |
GET root-causes | Retrieves a list of supported root causes that you can allocate to an issue |
GET ng-issue-types | Retrieves a list of supported issue types that you can allocate to an issue |
Issues V2 (new)
Endpoint | Description |
---|---|
GET users-me (v2) | Retrieves profile information about an end user issues v2 (new) |
GET issues (v2) | Retrieves information about all the issues in a project |
GET issues/:issueId (v2) | Retrieves detailed information about a single issue |
POST issues (v2) | Adds an issue to a project |
PATCH issues/:issueId (v2) | Updates an issue |
GET issues/comments (v2) | Retrieves a comment associated with an issue |
POST issues/comments (v2) | Adds a comment to an issue |
GET issues/attachments (v2) | Retrieves an attachment associated with an issue |
POST issues/attachments (v2) | Adds an attachment to an issue |
GET root-causes-categories (v2) | Retrieves a list of supported root causes that you can allocate to an issue |
GET issue-types (v2) | Retrieves a list of supported issue types that you can allocate to an issue |
GET attribute-definitions (v2) | Retrieves a list of attribute definitions that you can use in an issue |
GET attribute-mappings (v2) | Retrieves a list of attribute mappings that you use in an issue |
BIM 360 RFIs API
Endpoint | Description |
---|---|
GET rfis-users-me | Retrieves profile information about an end user |
GET rfis | Retrieves information about all the RFIs in a project |
GET rfis/:id | Retrieves detailed information about a single RFI |
POST rfis | Adds an RFI to a project |
PATCH rfis/:id | Updates an RFI |
GET rfis/:id/comments | Retrieves a comment associated with an RFI |
POST rfis/comments | Adds a comment to an RFI |
GET rfis/:id/attachments | Retrieves an attachment associated with an RFI |
POST rfis/attachments | Adds an attachment to an RFI |
DELETE rfis/attachments/:attachment_id | Deletes an RFI |
BIM 360 Checklists API
Checklists
Endpoint | Description |
---|---|
GET instances | Retrieves information about all the checklists in a project. |
GET instances/:id | Retrieves detailed information about a single checklist. |
GET templates | Retrieves information about all the templates in a project. |
GET templates/:id | Retrieves detailed information about a single template. |
BIM 360 Model Coordination API
Model Set
Endpoint | Description |
---|---|
POST containers/:containerId/modelsets | Creates a model set within a given container |
GET containers/:containerId/modelsets | Retrieves a list of model sets in a given container that match the provided search parameters |
GET containers/:containerId/jobs/:jobId | Retrieves information about a given container job |
GET containers/:containerId/modelsets/:modelSetId | Retrieves a requested model set based on the model set ID |
PATCH containers/:containerId/modelsets/:modelSetId | Updates a given model set name and/or description |
POST containers/:containerId/modelsets/:modelSetId/issues | Adds a model set visual inspection issue, represented as a BIM360 issue |
POST containers/:containerId/issues/viewcontext | Retrieves the view context around a set of visual inspection issues |
GET containers/:containerId/modelsets/:modelSetId/jobs/:jobId | Retrieves information about a given model set job |
POST containers/:containerId/modelsets/:modelSetId/screenshots | Uploads a screenshot, associating it with a given model set |
GET containers/:containerId/modelsets/:modelSetId/screenshots/:screenShotId | Retrieves a specific screenshot based on the screenshot ID |
Model Set: Versions
Endpoint | Description |
---|---|
POST containers/:containerId/modelsets/:modelSetId/versions | Creates a new version of a given model set |
GET containers/:containerId/modelsets/:modelSetId/versions | Retrieves a list of versions of a given model set |
GET containers/:containerId/modelsets/:modelSetId/versions/latest | Retrieves the latest version of a given model set based on the model set ID |
GET containers/:containerId/modelsets/:modelSetId/versions/:version | Retrieves a specific version of a given model set based on the model set ID and version number |
PATCH containers/:containerId/modelsets/:modelSetId/versions:enable | Enables automatic version creation for a given model set |
PATCH containers/:containerId/modelsets/:modelSetId/versions:disable | Disables automatic version creation for a given model set |
Model Set: Views
Endpoint | Description |
---|---|
POST containers/:containerId/modelsets/:modelSetId/views | Creates a view for a given model set |
GET containers/:containerId/modelsets/:modelSetId/views | Retrieves a list of model set views in a given model set |
POST containers/:containerId/modelsets/:modelSetId/views:lineages | Retrieves a list of model set views in a given model set that contain the provided set of document lineage URNs |
GET containers/:containerId/modelsets/:modelSetId/views/:viewId | Retrieves a specific model set view based on the view ID |
PATCH containers/:containerId/modelsets/:modelSetId/views/:viewId | Updates a specific model set view |
DELETE containers/:containerId/modelsets/:modelSetId/views/:viewId | Deletes a specific model set view based on the view ID |
GET containers/:containerId/modelsets/:modelSetId/versions/:version/views | Retrieves a list of all model set views in a given model set as they exist in a specific model set version |
GET containers/:containerId/modelsets/:modelSetId/versions/:version/views/:viewId | Retrieves a model set view as it exists in a specific model set version |
GET containers/:containerId/modelsets/:modelSetId/views/:viewId/jobs/:jobId | Retrieves information about a given model set view job |
Clash Test
Endpoint | Description |
---|---|
GET containers/:containerId/modelsets/:modelSetId/tests | Retrieves a list of summaries for all clash tests that have been executed for a given model set |
GET containers/:containerId/modelsets/:modelSetId/versions/:version/tests | Retrieves a list of summaries for all clash tests that have been executed for a given model set version |
GET containers/:containerId/tests/:testId | Retrieves a requested clash test based on the clash test ID |
GET containers/:containerId/tests/:testId/resources | Retrieves information about a given clash test result resources |
Clash Test: Closed Clash Groups
Endpoint | Description |
---|---|
POST containers/:containerId/tests/:testId/clashes:close | Adds a batch of new closed clash groups to the given clash test |
GET containers/:containerId/tests/:testId/clashes/closed | Retrieves the state of all closed clash groups in a particular model set |
POST containers/:containerId/tests/:testId/clashes/closed | Retrieves the state of the specified closed clash groups |
POST containers/:containerId/modelsets/:modelSetId/clashes:reopen | Re-opens a batch of existing closed clash groups |
GET containers/:containerId/modelsets/:modelSetId/clashes/closed | Retrieves a list of closed clash groups in a given model set which match the provided search parameters |
Clash Test: Assigned Clash Groups
Endpoint | Description |
---|---|
POST containers/:containerId/tests/:testId/clashes:assign | Creates a batch of new assigned clash groups for the given clash test |
POST containers/:containerId/clashes/assigned/viewcontext | Retrieves the view context around a set of assigned clash groups, such as the model set |
GET containers/:containerId/tests/:testId/clashes/assigned | Retrieves the state of all assigned clash groups in a particular model set |
POST containers/:containerId/tests/:testId/clashes/assigned | Retrieves the state of the specified assigned clash groups |
GET containers/:containerId/modelsets/:modelSetId/clashes/assigned | Retrieves a list of assigned clash groups in a given model set which match the provided search parameters |
Property Index
Endpoint | Description |
---|---|
GET containers/:containerId/modelsets/:modelSetId/versions/:version/manifest | Retrieves the index manifest for a given model set version |
GET containers/:containerId/modelsets/:modelSetId/versions/:version/fields | Retrieves information about a given model set version index field resource |
POST containers/:containerId/modelsets/:modelSetId/versions/:version/indexes:query | Queries a model set version index using the given statement |
GET containers/:containerId/modelsets/:modelSetId/jobs/:jobId | Retrieves information about a given index view job |
BIM 360 Cost Management API
Attachments
Endpoint | Description |
---|---|
POST containers/:containerId/attachment-folders | Creates a folder you can upload attachments to |
POST containers/:containerId/attachments | Creates an attachment to house an uploaded document |
GET containers/:containerId/attachments | Retrieves all the attachments associated with a project |
DELETE containers/:containerId/attachments/:attachmentId | Deletes an attachment |
Budgets
Endpoint | Description |
---|---|
GET containers/:containerId/budgets | Retrieves all the budget items in a project |
GET containers/:containerId/budgets/:budgetId | Retrieves a single budget item |
PATCH containers/:containerId/budgets/:budgetId | Updates a budget item |
POST containers/:containerId/budgets | Creates a budget item |
POST containers/:containerId/budgets:import | Imports a list of budgets into a project |
DELETE containers/:containerId/budgets/:budgetId | Deletes budget items |
Budget Code Segments
Endpoint | Description |
---|---|
GET containers/:containerId/templates/{templateId}/segments | Retrieves segments of a budget code template |
POST containers/:containerId/templates/{templateId}/segments | Creates segments of a budget code template |
GET containers/:containerId/templates/{templateId}/segments/{segmentId} | Retrieves a segment |
PATCH containers/:containerId/templates/{templateId}/segments/{segmentId} | Updates a segment |
DELETE containers/:containerId/templates/{templateId}/segments/{segmentId} | Deletes a segment |
Budget Code Segment Values
Endpoint | Description |
---|---|
GET containers/:containerId/segments/:segmentId/values | Retrieves segment values |
POST containers/:containerId/segments/:segmentId/values | Creates a segment value |
GET containers/:containerId/segments/:segmentId/values/{valueId} | Retrieves a segment value |
PATCH containers/:containerId/segments/:segmentId/values/{valueId} | Updates a segment value |
DELETE containers/:containerId/segments/:segmentId/values/{valueId} | Deletes a segment value |
POST containers/:containerId/segments/:segmentId/values:import | Batch imports segment values |
Budget Code Template
Endpoint | Description |
---|---|
GET containers/:containerId/templates | Retrieves budget code templates |
Change Orders and Cost Items
Contracts
Endpoint | Description |
---|---|
GET containers/:containerId/contracts | Retrieves all contracts associated with a project |
GET containers/:containerId/contracts/:contractId | Retrieves a single contract |
PATCH containers/:containerId/contracts/:contractId | Updates a contract |
POST containers/:containerId/contracts | Creates a contract |
DELETE containers/:containerId/contracts/:contractId | Deletes contracts |
Custom Attributes
Endpoint | Description |
---|---|
GET containers/:containerId/properties | Retrieves custom attributes definitions for all modules in a project |
POST containers/:containerId/property-values:batch-update | Batch updates values of custom attributes |
Expenses
Endpoint | Description |
---|---|
GET containers/:containerId/expenses | Retrieves the requested set of expenses in a project |
POST containers/:containerId/expenses | Creates an expense in a project |
GET containers/:containerId/expenses/:id | Retrieves the specified expense |
PATCH containers/:containerId/expenses/:id | Updates the specified expense |
DELETE containers/:containerId/expenses/:id | Deletes the specified expense |
Expense Items
Endpoint | Description |
---|---|
GET containers/:containerId/expenses/:expenseId/items | Retrieves the requested set of expenses in a project |
POST containers/:containerId/expenses/:expenseId/items | Creates an expense item in the specified expense of a project |
GET containers/:containerId/expenses/:expenseId/items/:id | Retrieves an expense item in the specified expense of a project |
PATCH containers/:containerId/expenses/:expenseId/items/:id | Updates an expense item in the specified expense of a project |
DELETE containers/:containerId/expenses/:expenseId/items/:id | Deletes an expense item from the specified expense of a project |
Generated Documents
Endpoint | Description |
---|---|
GET containers/:containerId/documents | Retrieves documents associated with a change order |
Main Contracts
Endpoint | Description |
---|---|
GET containers/:containerId/main-contracts | Retrieves one or more main contracts in a project |
POST containers/:containerId/main-contracts | Creates a main contract |
GET containers/:containerId/main-contracts/:id | Retrieves a main contract by ID |
PATCH containers/:containerId/main-contracts/:id | Updates a main contract |
DELETE containers/:containerId/main-contracts/:id | Deletes a main contract |
Main Contract Items
Endpoint | Description |
---|---|
GET containers/:containerId/main-contracts/:mainContractId/items | Retrieves one or more items in the specified main contracts |
POST containers/:containerId/main-contracts/:mainContractId/items | Creates a main contract item |
GET containers/:containerId/main-contracts/:mainContractId/items/:id | Retrieves a main contract item by ID |
PATCH containers/:containerId/main-contracts/:mainContractId/items/:id | Updates a main contract item |
DELETE containers/:containerId/main-contracts/:mainContractId/items/:id | Deletes a main contract item |
Payments
Endpoint | Description |
---|---|
GET containers/:containerId/payments | Retrieves payments |
GET containers/:containerId/payments/:id | Retrieves the specified payment |
Payment Items
Endpoint | Description |
---|---|
GET containers/:containerId/payment-items | Retrieves one or more payment items |
Performance Tracking Items
Endpoint | Description |
---|---|
GET containers/:containerId/performance-tracking-items | Retrieves one or more performance tracking items |
POST containers/:containerId/performance-tracking-items | Creates a performance tracking item |
GET containers/:containerId/performance-tracking-items/:id | Retrieves a performance tracking item by ID |
DELETE containers/:containerId/performance-tracking-items/:id | Deletes a performance tracking item |
Performance Tracking Item Instances
Endpoint | Description |
---|---|
GET containers/:containerId/performance-tracking-item-instances | Retrieves one or more performance tracking item instances |
POST containers/:containerId/performance-tracking-item-instances | Creates a performance tracking item instance |
GET containers/:containerId/performance-tracking-item-instances/:id | Retrieves a performance tracking item instance by ID |
PATCH containers/:containerId/performance-tracking-item-instances/:id | Updates a performance tracking item instance by ID |
DELETE containers/:containerId/performance-tracking-item-instances/:id | Deletes a performance tracking item instance |
Schedule of Values
Endpoint | Description |
---|---|
GET containers/:containerId/schedule-of-values | Retrieves one or more SOV items in a project |
PATCH containers/:containerId/schedule-of-values/:id | Updates the specified SOV item in a projec |
POST containers/:containerId/schedule-of-values | Creates a new SOV item for a project |
DELETE containers/:containerId/schedule-of-values/:id | Deletes one or more specified SOV items in a project |
Timesheets
Endpoint | Description |
---|---|
GET containers/:containerId/time-sheets | Retrieves one or more timesheets |
POST containers/:containerId/time-sheets | Creates a timesheet for the specified tracking item instance |
GET containers/:containerId/time-sheets/:id | Retrieves the specified timesheet |
PATCH containers/:containerId/time-sheets/:id | Updates the specified timesheet |
DELETE containers/:containerId/time-sheets/:id | Deletes the specified timesheet |
BIM 360 Relationships API
Relationship: Modify
Endpoint | Description |
---|---|
PUT containers/:containerId/relationships | Creates a relationship between two entities (for example, asset and photo) |
POST containers/:containerId/relationships:delete | Deletes one or more relationships by passing an array of relationship UUIDs |
Relationship: Search
Endpoint | Description |
---|---|
POST containers/:containerId/relationships:batch | Retrieves a list of one or more relationships by passing an array of relationship IDs |
GET containers/:containerId/relationships:search | Retrieves a list of relationships that match the provided search parameters |
POST containers/:containerId/relationships:intersect | Retrieves a list of relationships that contain the specified relationship entities |
GET containers/:containerId/relationships/:relationshipId | Retrieves a requested relationship based on the relationship’s ID |
Relationship: Sync
Endpoint | Description |
---|---|
POST containers/:containerId/relationships:syncStatus | Retrieves the relationship synchronization status for the caller |
POST containers/:containerId/relationships:sync | Synchronise relationships using the (optional) synchronization token passed by the caller |
Relationship: Utilities
Endpoint | Description |
---|---|
GET utility/relationships:writable | Retrieves a list of compatible entity types between which relationships can be created or deleted |
BIM 360 Assets API
Assets
Endpoint | Description |
---|---|
POST v2/projects/:projectId/assets:batch-create | Creates a set of new assets |
POST v2/projects/:projectId/assets:batch-get | Returns a specified set of assets |
GET v2/projects/:projectId/assets | Searches for and returns specified assets |
PATCH v2/projects/:projectId/assets:batch-patch | Updates a set of one or more assets |
POST v2/projects/:projectId/assets:batch-delete | Deletes one or more assets |
Categories
Endpoint | Description |
---|---|
POST v1/projects/:projectId/categories | Creates a new category |
POST v1/projects/:projectId/categories:batch-get | Returns a specified set of categories |
GET v1/projects/:projectId/categories | Searches for and returns specified categories |
Status Sets
Endpoint | Description |
---|---|
POST v1/projects/:projectId/status-step-sets | Creates a new status set |
POST v1/projects/:projectId/status-step-sets:batch-get | Returns a specified set of status sets |
GET v1/projects/:projectId/status-step-sets | Searches for and returns specified status sets |
POST v1/projects/:projectId/category-status-step-sets/status-step-sets:batch-get | Returns status set assignments for a specified set of categories |
PUT v1/projects/:projectId/categories/:categoryId/status-step-set/:statusStepSetId | Assigns a status set to a category |
Statuses
Endpoint | Description |
---|---|
POST v1/projects/:projectId/asset-statuses | Creates a new asset status |
POST v1/projects/:projectId/asset-statuses:batch-get | Returns a specified set of statuses |
GET v1/projects/:projectId/asset-statuses | Searches for and returns specified asset statuses |
Custom Attributes
Endpoint | Description |
---|---|
POST v1/projects/:projectId/custom-attributes | Creates a new custom attribute |
POST v1/projects/:projectId/custom-attributes:batch-get | Returns a specified set of custom attributes |
GET v1/projects/:projectId/custom-attributes | Searches for and returns specified custom attributes |
PATCH v1/projects/:projectId/custom-attributes/:customAttributeId | Updates a custom attribute |
GET v1/projects/:projectId/categories/:categoryId/custom-attributes | Returns the custom attribute assignments for a specified category |
PUT v1/projects/:projectId/categories/:categoryId/custom-attributes/:customAttributeId | Assigns a custom attribute to a category |
Relationships
Endpoint | Description |
---|---|
POST v1/projects/:projectId/assets/:assetId/relationships | Creates relationships between an asset and one or more target entities |
POST v1/projects/:projectId/categories/:categoryId/relationships | Creates relationships between a category and one or more target entities |
POST v1/projects/:projectId/relationships:delete | Deletes one or more relationships |
Error Codes
Endpoint | Description |
---|---|
GET v1/error-codes | Retrieves a list of all error codes returned by the Assets API. |
GET v1/error-codes/errorCodeName | Retrieves details about an error code by name. |