Request

Response

    API Reference

    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:

    EndpointDescription
    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:

    EndpointDescription
    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:

    EndpointDescription
    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:

    EndpointDescription
    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.

    EndpointDescription
    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:

    EndpointDescription
    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.

    EndpointDescription
    GET jobs/:job_id Returns the job status

    BIM 360 Data Connector API

    EndpointDescription
    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

    EndpointDescription
    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

    EndpointDescription
    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

    EndpointDescription
    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

    EndpointDescription
    GET naming-standards Retrieves information about the file naming standard for a project.

    BIM 360 Issues API

    Issues V1 (deprecated)

    EndpointDescription
    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)

    EndpointDescription
    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

    EndpointDescription
    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

    EndpointDescription
    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

    EndpointDescription
    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

    EndpointDescription
    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

    EndpointDescription
    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

    EndpointDescription
    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

    EndpointDescription
    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

    EndpointDescription
    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

    Clash Test: Clash Groups Shared

    EndpointDescription
    GET containers/:containerId/clashes/jobs/:jobId Retrieves information about a given clash job
    GET containers/:containerId/modelsets/:modelSetId/clashes/grouped Retrieves a list of clashes associated with assigned or closed clash groups
    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

    Property Index

    EndpointDescription
    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

    EndpointDescription
    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

    EndpointDescription
    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

    Budget Code Segment Values

    Budget Code Template

    EndpointDescription
    GET containers/:containerId/templates Retrieves budget code templates

    Change Orders and Cost Items

    EndpointDescription
    GET containers/:containerId/cost-items Retrieves all cost items associated with a project
    GET containers/:containerId/cost-items/:costItemId Retrieves a single cost item
    PATCH containers/:containerId/cost-items/:costItemId Updates a cost item
    POST containers/:containerId/cost-items Creates a cost item
    DELETE containers/:containerId/cost-items/:costItemId Deletes costs items
    GET containers/:containerId/change-orders Retrieves change order types associated with a project
    GET containers/:containerId/change-orders/:changeOrder Retrieves a list of a type of change order
    GET containers/:containerId/change-orders/:changeOrder/:id Retrieves a single change order
    PATCH containers/:containerId/change-orders/:changeOrder/:id Updates a change order
    POST containers/:containerId/change-orders/:changeOrder Creates a change order
    DELETE containers/:containerId/change-orders/:changeOrder/:id Deletes change orders
    POST containers/:containerId/cost-items:attach Adds existing cost items to a change order
    POST containers/:containerId/cost-items:detach Deletes existing cost items from a change order

    Contracts

    EndpointDescription
    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

    EndpointDescription
    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

    EndpointDescription
    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

    EndpointDescription
    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

    EndpointDescription
    GET containers/:containerId/documents Retrieves documents associated with a change order

    Main Contracts

    EndpointDescription
    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

    Payments

    EndpointDescription
    GET containers/:containerId/payments Retrieves payments
    GET containers/:containerId/payments/:id Retrieves the specified payment

    Payment Items

    EndpointDescription
    GET containers/:containerId/payment-items Retrieves one or more payment items

    Performance Tracking Items

    EndpointDescription
    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

    EndpointDescription
    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

    EndpointDescription
    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

    EndpointDescription
    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

    Sub Cost Item

    BIM 360 Relationships API

    Relationship: Modify

    EndpointDescription
    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: Sync

    EndpointDescription
    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

    EndpointDescription
    GET utility/relationships:writable Retrieves a list of compatible entity types between which relationships can be created or deleted

    BIM 360 Assets API

    Assets

    EndpointDescription
    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

    EndpointDescription
    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

    EndpointDescription
    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

    EndpointDescription
    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

    EndpointDescription
    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

    EndpointDescription
    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

    EndpointDescription
    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.