Back to top
API
Trimble Connect Help Desk
version 2.0.0May 10, 2016contact: connect-integrate@trimble.com

The Trimble Connect API allows one to read, write and update data into and out of the Connect platform. Now, one can create folders, upload and download files, modify views and do much more from any application.

PRIOR TO USING THIS API, YOU MUST AGREE TO OUR TERMS OF USE

To develop your application, for base URLs use staging environment: https://app.stage.connect.trimble.com/tc/api/2.0 and to deploy your applications use production environment: https://app.connect.trimble.com/tc/api/2.0

Introduction

This section describes the general rules and guidelines applicable across all public APIs.

POD Specific domains

Use the origin field value from the /regions API to determine the host URL for the API calls for specific POD of the project.

The isMaster flag is used to identify pod url to use for master pod specific actions.

Get Available Regions

Get Available Regions
GET/regions

Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "isMaster": true,
    "origin": "//{baseUrl}",
    "location": "northAmerica"
  },
  {
    "isMaster": false,
    "origin": "//{baseUrl}",
    "location": "europe"
  }
]

Date Format

All timestamps should be formatted based on RFC 3339 specifications, specifically to this format: yyyy-MM-dd'T'HH:mm:ssZ

Ex: 2015-04-12T14:01:44-0700


Range header support

All collections/lists support Range header to fetch partial lists (HTTP 206)

  • Request Header
Range:items=25-34
  • Response Header
Content-Range:items 25-34/40

If-Match Header Support

Some APIs support If-Match header, especially for changing data on objects. Using this, API user can ensure changes are being done to the latest version.

APIs supported are:

  • /folders [PATCH]

  • /files [PATCH]


Error Handling

The common HTTP Response Status Codes are used.


Authentication

APIs related to authentication are described here

TID Web Token

Using TID Token
POST/auth/token

As part of the Trimble Identity integration, this API will allow applications to exchange TID JWT token for TCPS API access token. JWT Token from TID for which TCPS token need to be generated is passed in the request body

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "jwt": "xxxxxxxx.xxxxxxx.xxxxx"
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "token": "zzzzzz.zzzzzzzzzzzzzzz.zzzzzzz"
}

Object Representation

This section summarizes the object models used in request/response while using the API.

The attributes marked with ** are part of the mini representation of the model.


Project

Project object has the following attributes:

  • id (string) - Project Identifier

  • name (string) - Name of the project

  • description (string) - Description of the project

  • location (string) - Name of the POD location the project is hosted on

  • startDate (timestamp) - Start date of the project

  • endDate (timestamp) - End date of the project

  • thumbnail (string) - URL to fetch the thumbnail of the project (if exists)

  • address (object) - Address of the project(text and geometry). Text as the name implies any string, geometry is the co-ordinates which can be either point or polygon.

  • size (long) - Size of project in bytes

  • rootId (string) - Identifier of root folder for the project

  • filesCount (integer) - Count of Files in the project

  • foldersCount (integer) - Count of Folders in the project

  • versionsCount (integer) - Count of Versions - includes the number of files plus the revisions count of all files

  • usersCount (integer) - Count of Users in the project

  • createdOn (timestamp) - An ISO8601 date when the Project was created

  • createdBy (object) - User who created the Project (mini representation)

  • modifiedOn (timestamp) - An ISO8601 date when the Project meta-data was modified

  • modifiedBy (object) - User who last modified the Project (mini representation)

  • updatedOn (timestamp) - An ISO8601 date when the Project content was updated

  • updatedBy (object) - User who last updated the Project (mini representation)

  • lastVisitedOn (timestamp) - An ISO8601 date when the user last visited the project

  • access (string) - Flag to indicate access state based on commerce status of the project in context of the current user. Valid values are [“FULL_ACCESS”, “NO_ACCESS”]

  • license (object) - Information about the license the project is associated with. Available properties are “id” as GUID and “usedInvites” as number.



Folder/File

Folder object has the following attributes:

  • id (string) ** - Folder Identifier (same across revisions)

  • name (string) ** - Name of the Folder

  • type (string) ** - Valid values are [‘FOLDER’, ‘FILE’]

  • versionId (string) ** - revision Id of the Folder

  • parentId (string) - Identifier of the parent Folder. If not present, represents the root folder for the project

  • parentType (string) - Type of the parent.Valid Values are [‘FOLDER’, ‘TODO’]

  • createdOn (timestamp) - An ISO8601 date when the Folder was created

  • createdBy (object) - User who created the Folder (mini representation)

  • modifiedOn (timestamp) ** - An ISO8601 date when the Folder was modified

  • modifiedBy (object) ** - User who last modified the Folder (mini representation)

  • size (long) - size of Folder (in bytes)

  • projectId (string) - Project Identifier

  • path (array of objects) - List of folders from Root to parent of the File/Folder

The following attributes are applicable for Folders only:

  • hasChildren (boolean) - Flag to determine if the folder has sub-folders

  • permission (string) - Valid values are [‘READ’,‘FULL_ACCESS’]

The following attributes are applicable for Files only:

  • hash (string) - MD5 hash for the file contents

  • checkedOutOn (timestamp) - An ISO8601 date when the file was checked out

  • checkedOutBy (object) - User who has checked out the file (mini representation)

  • thumbnailUrl (array of string) ** - array of thumbnail urls

  • revision (long) - Revision Number for file

  • status (String) - Processing status of file.Valid values are [ ‘PENDING’,‘ON HOLD’,‘DONE’, ‘CANCELLED’, ‘ERROR’, ‘PROCESSING’]

  • processingNofitySet (boolean) - If true, sends email notification when the file processing completes. Default value is false.



Permission

Permission object has the following attributes:

  • id (string) – User/Group identifier

  • type (string) – Type of actor. Valid values are [“USER”, “GROUP”]

  • name (string) – Name of user or group

  • permission (string) – Permission to be applied to folder. Valid values are [“FULL_ACCESS”, “READ”, “NO_ACCESS”]



User

User object has the following attributes:

  • id (string) ** - User identifier

  • firstName (string) ** - First name of the user

  • lastName (string) ** - Last name of the user

  • email (string) ** - EMail of the user

  • title (string) - Title for the user

  • linkedinId (string) - Linkedin id of the user

  • skypeId (string) - Skype Id of the user

  • timeZone (string) - Timezone preference of the user

  • language (string) - Language preference of the user

  • phone (string) - Phone number of the user

  • podLocation (string) - Project location preference of the user

  • viewerBackground (object) - Viewer background color preference of the user

    • r (short) - Red component 0…255
    • g (short) - Green component
    • b (short) - Blue component
    • a (short) - Alpha component
  • thumbnail (string) - URL to fetch the thumbnail of the user (if exists)

  • createdOn (timestamp) - An ISO8601 date when the user was created

  • modifiedOn (timestamp) - An ISO8601 date when the user was modified

  • company (object) - Company the user belongs to (if exists) (mini representation)(deprecated)

  • companies (array of objects) - Companies the user belongs to (if exists) (full representation)

  • role (object) - Role of user (applicable only in context of a project)

  • status (string) ** - User status. Valid values are [ ‘ACTIVE’,‘PENDING’,‘REMOVED’]

    • PENDING - The user status is PENDING when a new user is invited to the project and the user have not yet accessed TC.
    • ACTIVE - The user status is ACTIVE when a new user is invited to the project and the user already have access to TC. The status from changes from PENDING to ACTIVE, when the user access TC for the first time.
    • REMOVED -This is a project specific user status. Not actually status of the user for the application. It varies from each project to project. A user who is removed from a project will be listed with this status only for the project from which the user is removed.For other projects, the user status can be PENDING or ACTIVE.


Group

Group object represent a collection of users in a project and has the following attributes:

  • id (string) - Group Identifier

  • name (string) - Name of the group

  • projectId (string) - Project Identifier

  • createdOn (timestamp) - An ISO8601 date when the Group was created

  • createdBy (object) - User who created the Group (mini representation)

  • modifiedOn (timestamp) - An ISO8601 date when the Group was modified

  • modifiedBy (object) - User who last modified the Group (mini representation)



ToDo

ToDo object has the following attributes:

  • id (string) - ToDo identifier

  • type (string) - Type of the ToDo [Fault, Clash, Request, Inquiry, Remark, Comment, Issue, Request, Solution]

  • title (string) - Title of the ToDo

  • label (string) - Unique label for the ToDo within a project

  • description (string) - Description about the ToDo

  • dueDate (timestamp) - Due date for the ToDo

  • status (string) - ToDo Status, valid values are [“NEW”, “IN_PROGRESS”, “RESOLVED”, “BLOCKED”, “CLOSED”]

  • priority (string) - ToDo Priority, valid values are [“LOW”, "NORMAL ", “HIGH”, “CRITICAL”]

  • createdOn (timestamp) - An ISO8601 date when the ToDo was created

  • createdBy (object) - User who created the ToDo (mini representation)

  • modifiedOn (timestamp) - An ISO8601 date when the ToDo was modified

  • modifiedBy (object) - User who last modified the ToDo (mini representation)

  • projectId (string) - Project Identifier

  • assignees (array of objects) - List of users or groups assigned to ToDo. Required attributes when setting are “id” and “type” [Valid values for type are “USER”, or “GROUP”]



Release

Release object has the following attributes:

  • id (string) - Release identifier

  • name (string) - Name of the release

  • dueDate (timestamp) - Due date for the Release

  • notes (string) - Additional notes for Release

  • status (string) - Release Status, valid values are [“OPEN”, “SENT”]

  • createdOn (timestamp) - An ISO8601 date when the Release was created

  • createdBy (object) - User who created the Release (mini representation)

  • modifiedOn (timestamp) - An ISO8601 date when the Release was modified

  • modifiedBy (object) - User who last modified the Release (mini representation)

  • projectId (string) - Project Identifier

  • recipients (array of objects) - List of users or groups assigned to Release. When setting this field, required attributes are “id” and “type” [Valid values for type are “USER”, or “GROUP”]



Comment

Comment object has the following attributes:

  • id (string) - Comment identifier

  • description (string) - Description of the Comment

  • objectId (string) - ID of the object to which the Comment is linked

  • objectType (string) - Type of object. Valid values are [“FILE”, “FOLDER”, “VIEW”, “CLASH”, “RELEASE”, "TODO]

  • createdOn (timestamp) - An ISO8601 date when the Comment was created

  • createdBy (object) - User who created the Comment (mini representation)

  • modifiedOn (timestamp) - An ISO8601 date when the Comment was modified

  • modifiedBy (object) - User who last modified the Comment (mini representation)



BIM Object

BIM object has the following attributes:

  • name (string) ** - Name of the BIM Object

  • type (string) ** - Type of the BIM Object

  • objectId (string) ** - BIM Object identifier

  • fileId (string) ** - File Identifier (same across revisions) of this BIM Object’s source file

  • versionId (string) - Revision Id of this BIM Object’s source File

  • boundingBox (object) The BIM Object’s Bounding Box

    • min (array) An array containing the three elements of the bounding box’s lower bounds, with the first, second and the third elements being the ‘X’, ‘Y’, and ‘Z’ coordinates, respectively
    • max (array) An array containing the three elements of the bounding box’s upper bounds, with the first, second and the third elements being the ‘X’, ‘Y’, and ‘Z’ coordinates, respectively
  • properties (array) An array containing the BIM Object’s properties, with each element in the array representing properties belonging to a single Property Set.

    • setName (string) The name of the Property Set
    • setItems (array) An array containing the individual Property Items belonging to the Property Set
      • name (string) - The Property Name
      • type (string) - The Property Type
      • value (string, float, integer or boolean) - The Property Value
      • rank (string, float, integer or boolean) - The Rank or Order of this Property in the listing of properties belonging to this Property Set


View

View object has the following attributes:

  • id (string) ** - View identifier

  • name (string) ** - Name of the View

  • description (string) ** - Description of the View

  • createdOn (timestamp) - An ISO8601 date when the view was created

  • modifiedOn (timestamp) - An ISO8601 date when the view was last modified

  • backgroundColor (object)

    • r (short) - Red component 0…255
    • g (short) - Green component
    • b (short) - Blue component
    • a (short) - Alpha component
  • assignees (array of objects) - List of users or groups assigned to View. Required attributes when setting are “id” and “type” [Valid values for type are “USER”, or “GROUP”]

  • projectId (string) ** - The project that the view belongs

  • createdBy (User) - User who created the View (mini representation)

  • imageData (string) - base 64 encoded image data. Data string must start with the following header: “data:image/ext;base64,” where ext is the image extension, for example png.

  • thumbnail (string) ** - URL to fetch the thumbnail of the View (if exists)

  • models (array of string) - Model ids using which the view was created

  • files (array of string) - File ids appearing in the same order as models.

  • camera (object) - Camera object for the View

    • cameraId (string) camera’s identifier.
    • targetX (float) camera target’s x coordinate
    • targetY (float) camera target’s y coordinate
    • targetZ (float) camera target’s z coordinate
    • distance (float) distance from camera location to camera target
    • pitch (float) camera pitch value
    • yaw (float) camera yaw value
    • upX (float) x coordinate of camera’s up vector
    • upY (float) y coordinate of camera’s up vector
    • upZ (float) z coordinate of camera’s up vector
    • projectionType (string) camera’s projection type. Valid values are: ortho, perspective.
    • viewAngle (float) camera’s view angle
    • viewScale (float) camera’s view scale
  • sectionPlanes (array) An array of section planes.

    • sectionPlane (object)
      • sectionPlaneId (string) section plane identifier
      • directionX (float) x coordinate of plane normal
      • directionY (float) y coordinate of plane normal
      • directionZ (float) z coordinate of plane normal
      • positionX (float) x coordinate of plane position
      • positionY (float) y coordinate of plane position
      • positionZ (float) z coordinate of plane position
      • createdBy (user) section plane creator
      • modifiedBy (user) last section plane modifier
      • createdOn (timestamp) the date the section plane was created
      • modifiedOn (timestamp) the date the section plane was modified
  • markups (array) an array of markup in the view

    • markup (object)
      • markupId (string) markup identifier
      • positionX (float) first x coordinate, omitted for type = redlines or measure_with_pick
      • positionY (float) first y coordinate, omitted for type = redlines or measure_with_pick
      • positionZ (float) first z coordinate, omitted for type = redlines or measure_with_pick
      • color (object) color object
        • r (short) red color component
        • g (short) green color component
        • b (short) blue color component
        • a (short) alpha or transparency
      • createdBy (user) markup creator
      • modifiedBy (user) last markup modifier
      • createdOn (timestamp) the date the markup was created
      • modifiedOn (timestamp) the date the markup was modified
      • type (string) type of markup: cloud, text, line, arrow, measure, redlines or measure_with_pick.
        • type=cloud
          • planeA (float) first projective coordinate
          • planeB (float) second projective coordinate
          • planeC (float) third projective coordinate
          • planeD (float) forth projective coordinate
          • width (float) the width of the cloud
          • height (float) the height of the cloud
        • type=text
          • position2X (float) second x coordinate, the text coordinate.
          • position2Y (float) second y coordinate
          • position2Z (float) second z coordinate
          • screenSpaceDistance (float) screen space distance
          • text (string) the text, maximum length 250
          • width (float) width of text box
        • type=line
          • position2X (float) second x coordinate, the text coordinate.
          • position2Y (float) second y coordinate
          • position2Z (float) second z coordinate
        • type=measure
          • position2X (float) second x coordinate
          • position2Y (float) second y coordinate
          • position2Z (float) second z coordinate
        • type=arrow
          • position2X (float) second x coordinate
          • position2Y (float) second y coordinate
          • position2Z (float) second z coordinate
        • type=redlines
          • camera (object) see previous camera definition
          • lines (array) array lines
            • line (object)
              • positionX (float) beginning x coordinate
              • positionY (float) beginning y coordinate
              • positionZ (float) beginning z coordinate
              • position2X (float) ending x coordinate
              • position2Y (float) ending y coordinate
              • position2Z (float) ending z coordinate
        • type=measure_with_pick
          • start (object) measure pick object, type: point, line, lineSegment, plane
          • end (object) the end measure pick object
          • unitType (string) unit type
          • quantityUnit (string) quantity unit
          • quantityUnitFormat (string) unit format
          • referenceObject (string) picking reference
          • type (string) type of pick object
            • type=point
              • positionX (float) x coordinate
              • positionY (float) y coordinate
              • positionZ (float) z coordinate
            • type=line
              • positionX (float) beginning x coordinate
              • positionY (float) beginning y coordinate
              • positionZ (float) beginning z coordinate
              • position2X (float) ending x coordinate
              • position2Y (float) ending y coordinate
              • position2Z (float) ending z coordinate
            • type=lineSegment
              • positionX (float) beginning x coordinate
              • positionY (float) beginning y coordinate
              • positionZ (float) beginning z coordinate
              • position2X (float) ending x coordinate
              • position2Y (float) ending y coordinate
              • position2Z (float) ending z coordinate
            • type=plane
              • positionX (float) x coordinate of plane position
              • positionY (float) y coordinate of plane position
              • positionZ (float) z coordinate of plane position
              • directionX (float) x coordinate of plane normal
              • directionY (float) y coordinate of plane normal
              • directionZ (float) z coordinate of plane normal
  • presentation (object)

    • elementTypes (array of objects) object type visibility filter array
      • type (string) the object type to filter
      • state (short) state of an object: 1 selected, 4 hide, 6 show, 8 highlight
      • priority (int) the order the filter should be applied.
      • color (object) the color object.
        • r (short) red
        • g (short) green
        • b (short) blue
        • a (short) alpha
    • elements (array of objects) list of objects in the model where object states are recorded. By default, object not explicitly listed has state 6.
      • sourceId (string) source identifier of an object in the original model file.
        • Ifc : compressed guid string
        • sketchup : stringified integer, the entity id
        • fbx, 3dm : guid
        • all others : generated guid
      • versionId (string) the version identifier of the model where the object resides
      • xrefId (string) model instance linkage identifier.
      • state (short) state of an object: 1 selected, 4 hide, 6 show, 8 highlight
      • isRecursive (boolean) apply state recursively
      • priority (int) the order the filter should be applied, in increasing order. Multiple filters could have the same priority.
      • color (object) the color object.
        • r (short) red
        • g (short) green
        • b (short) blue
        • a (short) alpha
    • ghost (boolean) ghost mode
    • transparent (boolean) transparent mode
    • wireframe (boolean) wireframe mode
    • isNewEnabled (boolean) isNewEnabled mode
    • isPendingEnabled (boolean) isPendingEnabled mode
    • isCriticalEnabled (boolean) isCriticalEnabled mode
    • isResolvedEnabled (boolean) isResolvedEnabled mode
    • isIgnoredEnabled (boolean) isIgnoredEnabled mode
    • isNotesEnabled (boolean) isNotesEnabled mode
    • isDocumentsEnabled (boolean) isDocumentsEnabled mode
    • transparencyLevel (integer) transparency Level


Object Link

Mandatory fields must be included in request body.

  • id (string) - Object link identifier.

  • name (string) - name of link.

  • modifiedBy(user) - user last modified the object link.

  • createdBy (user) - user created the object link.

  • createdOn (timestamp) - date when the object link was created.

  • modifiedOn (timestamp) - date the object link last modified.

  • source (object) - the source object. Source is mandatory in a request but would be omitted in response if detail parameter (default = false) is set to false.

    • id (string) - The identifier the source object is referencing.
    • versionId (string) - The version the source object is referencing.
    • type (string) - The source object type. Currently only FILE type is supported.
    • data (array) - an array of supplemental data, usually objects in a 3D model.
      • type (string) the type of supplemental data. Currently only ‘BIMOBJECT’ is supported.
      • objectId (string) object identitfier.
      • sourceId (string) object source identifier. It is mandatory to have objectId or sourceId in data object.
      • xrefId (string) external link identifier.
  • target (object) - object associated to source.

    • type (string) the type of associated object. It could be FILE, URL or TODO. Type is mandatory.
    • name (string) target name.
    • id (string) the target identifier.
    • versionId (string) associated object version identifier.


View Group

View Group object has the following attributes:

  • id (string) – View Group identifier

  • projectId (string) – project identifier

  • name (string) – Name of the View Group

  • views (array of strings) – View ids part of the group

  • createdOn (timestamp) – An ISO8601 date when the View group was created

  • createdBy (object) - User who created the View group (mini representation)

  • modifiedOn (timestamp) - An ISO8601 date when the View group was last modified

  • modifiedBy (object) - User who last modified the View group (mini representation)



Alignment

Alignment is defined as an axis to axis transformation composed with a uniform scaling. In general, an aligment is associated to a version of a given file and later file version inherits alignment from previous version. For example, suppose we have file versions v1, v2, v3, v4 and v5; and alignment are set for v1 and v3 then v2 inherit alignment from v1 and v4 and v5 inherit from v3. Alignment has the following attributes:

  • id (string) – alignment identifier

  • versionId (string) – file version identifier

  • fileId (string) – file identifier

  • locationX (float) – axis location x

  • locationY (float) – axis location y

  • locationZ (float) – axis location z

  • axisX (float) – x coordinate of z axis direction

  • axisY (float) – y coordinate of z axis direction

  • axisZ (float) – z coordinate of z axis direction

  • refDirectionX (float) – x coordinate of the x axis

  • refDirectionY (float) – y coordinate of the x axis

  • refDirectionZ (float) – z coordinate of the x axis

  • createdOn (timestamp) – An ISO8601 date when the Alignment was created

  • createdBy (object) - User who created the Alignment (mini representation)

  • modifiedOn (timestamp) - An ISO8601 date when the Alignment was last modified

  • modifiedBy (object) - User who last modified the Alignment (mini representation)



Clash

Clash object has the following attributes:

  • id (string) - Clash identifier

  • name (string) - name for the Clash

  • models(array of string) - An ordered array of model version ids

  • files(array of string) - An ordered array of model file ids corresponding to the models array

  • type (string) - Type of Clash report created, valid values are [“CLASH”, “CLEARANCE”]

  • status (integer) - Clash processing indicator

  • tolerance (float) - Tolerance of the clash

  • clearance distance (float) - Clearance distance of the clearance

  • ignoreSameDiscipline (boolean) - Flag check to ignore same discipline in Clash

  • ignoreSameFile (boolean) - Flag check to ignore same file in Clash

  • createdOn (timestamp) - An ISO8601 date when the Clash was created

  • createdBy (object) - User who created the Clash (mini representation)

  • modifiedOn (timestamp) - An ISO8601 date when the Clash was last modified

  • modifiedBy (object) - User who last modified the Clash (mini representation)

  • projectId (string) - Project Identifier

  • assignees (array of objects) - List of users or groups assigned to Clash. Required attributes when setting are “id” and “type” [Valid values for type are “USER”, or “GROUP”]



Clash Item

Clash Item object has the following attributes:

  • id (string) ** - clash item identifier

  • label (string) ** - clash item name

  • distance (float) ** - penetration distance

  • element1Uuid (string) ** - first object UUID.

  • sourceId1 (object) - first object source id.

    • sourceId (string) ** - the source id
    • versionId (string) ** - the file version of the source
    • xrefId (string) - instance identifier of the source version
  • element2Uuid (string) - second object UUID.

  • sourceId2 (ojbect) - second object source id.

    • sourceId (string) ** - the source id
    • versionId (string) ** - the file version of the source
    • xrefId (string) - instance identifier of the source version
  • elementName1 (string) - name of the first object

  • elementName2 (string) - name of the second object

  • elementType1 (string) - type of the first object

  • elementType2 (string) - type of the second object

  • clashGeometry (string) - clash geometry identifier



Tag

Tag object has the following attributes:

  • id (string) ** - Tag identifier

  • versionId (string) ** - Version identifier of Tag

  • label (string) ** - label for the Tag (Unique within a project)

  • description (string) - description for the Tag

  • projectId (string) ** - Project Identifier

  • createdOn (timestamp) - An ISO8601 date when the Tag was created

  • createdBy (object) - User who created the Tag (mini representation)

  • modifiedOn (timestamp) - An ISO8601 date when the Tag was last modified

  • modifiedBy (object) - User who last modified the Tag (mini representation)



Company

Company object has the following attributes:

  • id (string) ** - Company identifier

  • name (string) ** - Name of the company

  • website (string) ** - Website of the company

  • domains (array of strings) - domains of the company

  • image (string) - URL to fetch the thumbnail of the Company Logo (if exists)

  • role (string) ** - Role of the current user in the company

  • createdOn (timestamp) - An ISO8601 date when the Company was created

  • createdBy (object) - User who created the company (mini representation)

  • modifiedOn (timestamp) - An ISO8601 date when the Company was last modified

  • modifiedBy (object) - User who last modified the Company (mini representation)



License

License object has the following attributes:

  • id (string) - License identifier

  • orgName (string) - Name of the License Account

  • maxProjects (long) - Maximum Number of Projects Allowed

  • maxStorage (long) - Maximum Storage Space Allowed

  • maxInvites (long) - Maxumum Number of Invites Allowed

  • usedProjects (long) - Count of used Projects

  • usedStorage (long) - Count of used Storage

  • upgradeLink (string) - Optional attribute returned only for a free license which is a link to upgrade account

Companies

APIs related to Company

Trimble Connect supports max length of 255 characters for company names. When a user sign up and joins Connect, a company will be created with the company name mentioned in compliance page and with email domain as the email domain of the company.

List Companies

List Companies
GET/companies

Company user can get the list of associated companies.

Response  206
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "id": "kTjLp5b2VQM",
    "name": "Trimble",
    "website": "www.trimble.com",
    "domains": [
      "trimble.com"
    ],
    "image": "http://{baseUrl}/tc/app/files/thumb?id=Dyfw481fE9U&fc=COMPANYIMG#?429259527000",
    "role": "ADMIN",
    "createdOn": "2016-02-09T17:49:19-0800",
    "modifiedOn": "2016-02-09T17:49:49-0800",
    "createdBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "jdoe@trimble.com",
      "status": "ACTIVE"
    },
    "modifiedBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "jdoe@trimble.com",
      "status": "ACTIVE"
    }
  },
  {
    "id": "q-XKNAhg3Rk",
    "name": "Google",
    "website": "www.google.com",
    "domains": [
      "google.com"
    ],
    "image": "http://{baseUrl}/tc/app/files/thumb?id=Dyfw481fE9U&fc=COMPANYIMG#?429259527000",
    "role": "USER",
    "createdOn": "2016-02-09T17:49:19-0800",
    "modifiedOn": "2016-02-09T17:49:49-0800",
    "createdBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "jdoe@trimble.com",
      "status": "ACTIVE"
    },
    "modifiedBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "jdoe@trimble.com",
      "status": "ACTIVE"
    }
  }
]

Company Actions

View Company Details
GET/companies/{companyId}

API for company user/admin to get details of a company.

Parameters
HideShow
companyId
string (required) Example: kTjLp5b2VQM

ID of the company

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": "kTjLp5b2VQM",
  "name": "Trimble",
  "website": "www.trimble.com",
  "domains": [
    "trimble.com"
  ],
  "image": "http://{baseUrl}/tc/app/files/thumb?id=Dyfw481fE9U&fc=COMPANYIMG#?429259527000",
  "role": "ADMIN",
  "createdOn": "2016-02-09T17:49:19-0800",
  "modifiedOn": "2016-02-09T17:49:49-0800",
  "createdBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "jdoe@trimble.com",
    "status": "ACTIVE"
  },
  "modifiedBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "jdoe@trimble.com",
    "status": "ACTIVE"
  }
}

Update Company
PATCH/companies/{companyId}

The company admin can update the company name, website and domains of the company.

Parameters
HideShow
companyId
string (required) Example: kTjLp5b2VQM

Id of the company

name
string (optional) Example: Trimble

Name of the company

website
string (optional) Example: www.trimble.com

Website of the company

domains
array of strings (optional) Example: ["trimble.com","trimble.co.in"]

Domains of the company. The entries will replace the existing domains. Empty array will delete all domains.

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "name": "Trimble",
  "website": "www.trimble.com",
  "domains": [
    "trimble.com",
    "trimble.co.in"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": "kTjLp5b2VQM",
  "name": "Trimble",
  "website": "www.trimble.com",
  "image": "http://{baseUrl}/tc/app/files/thumb?id=Dyfw481fE9U&fc=COMPANYIMG#?429259527000",
  "domains": [
    "trimble.com",
    "trimble.co.in"
  ],
  "role": "ADMIN",
  "createdOn": "2016-02-09T17:49:19-0800",
  "modifiedOn": "2017-05-01T05:15:54-0800",
  "createdBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "jdoe@trimble.com",
    "status": "ACTIVE"
  },
  "modifiedBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "jdoe@trimble.com",
    "status": "ACTIVE"
  }
}

Company Domain Actions

Add Company Email Domains
PATCH/companies/{companyId}/domains

The company admin can update the company email domains. The entries will append to the existing domains.

Parameters
HideShow
companyId
string (required) Example: kTjLp5b2VQM

Id of the company

Request
HideShow
Headers
Content-Type: application/json
Body
[
  "trimble.co.in"
]
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  "trimble.com",
  "trimble.co.in"
]

Remove Company Email Domains
DELETE/companies/{companyId}/domains

API for company admin to remove email domains from company.

Parameters
HideShow
companyId
string (required) Example: kTjLp5b2VQM

Id of the company

Request
HideShow
Headers
Content-Type: application/json
Body
[
  "trimble.co.in"
]
Response  204

Company Image Actions

Upload Company Image
POST/companies/{companyId}/image

API for company admin to update the company logo by uploading an image file.

Parameters
HideShow
companyId
string (required) Example: kTjLp5b2VQM

ID of the company

Request
HideShow
Body
+ The image file to be uploaded.
Response  200
HideShow
Body
{
  "id": "kTjLp5b2VQM",
  "name": "Trimble",
  "website": "www.trimble.com",
  "image": "http://{baseURL}/tc/app/files/thumb?id=IDKRMpO5WFQ&fc=COMPANYIMG#?1486966716816",
  "domains": [
    "trimble.com",
    "trimble.co.in"
  ],
  "role": "ADMIN",
  "createdOn": "2016-02-09T17:49:19-0800",
  "modifiedOn": "2017-05-01T05:15:54-0800",
  "createdBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "jdoe@trimble.com",
    "status": "ACTIVE"
  },
  "modifiedBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "jdoe@trimble.com",
    "status": "ACTIVE"
  }
}

Company User Actions

List Users in a Company
GET/companies/{companyId}/users

API for company user/admin to list users in the company.

Parameters
HideShow
companyId
string (required) Example: kTjLp5b2VQM

ID of the company

Response  206
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "id": "4R0a23xMKao",
    "firstName": "John",
    "lastName": "Doe",
    "email": "jdoe@trimble.com",
    "status": "ACTIVE",
    "role": "ADMIN",
    "title": "Structural Engineer",
    "phone": "+1 111-111-1111",
    "companies": [
      {
        "id": "k-PEcTYKNqo",
        "name": "Trimble.com",
        "website": "gmail.com",
        "image": "https://{baseURL}/tc/app/files/thumb?id=k-PEcTYKNqo&fc=COMPANYIMG#?1487053557000",
        "role": "ADMIN",
        "createdOn": "2017-01-18T12:48:38+0000",
        "modifiedOn": "2017-02-14T06:25:57+0000",
        "createdBy": {
          "id": "Dyfw481fE9U",
          "firstName": "John",
          "lastName": "Doe",
          "email": "jdoe@trimble.com",
          "status": "ACTIVE"
        },
        "modifiedBy": {
          "id": "Dyfw481fE9U",
          "firstName": "John",
          "lastName": "Doe",
          "email": "jdoe@trimble.com",
          "status": "ACTIVE"
        }
      },
      {
        "id": "JaWS7gc_rdk",
        "name": "Trimble test",
        "website": "trimbletest.com",
        "image": "/tc/ng-static/styles/img/trimbleconnect_header.svg",
        "role": "USER",
        "createdOn": "2017-01-28T17:44:10+0000",
        "modifiedOn": "2017-02-09T08:37:02+0000",
        "createdBy": {
          "id": "Dyfw481fE9U",
          "firstName": "support",
          "lastName": "tc",
          "email": "support@trimble.com",
          "status": "ACTIVE"
        },
        "modifiedBy": {
          "id": "Dyfw481fE9U",
          "firstName": "support",
          "lastName": "tc",
          "email": "support@trimble.com",
          "status": "ACTIVE"
        }
      }
    ],
    "lastLogin": "2017-02-14T06:25:57+0000"
  }
]

Add Users to Company
POST/companies/{companyId}/users

API for company admin to add users to the company.

Parameters
HideShow
companyId
string (required) Example: kTjLp5b2VQM

ID of the company

id
string (optional) Example: vaItzxo0oIw

ID of the User. Optional if email is present, else required.

email
string (optional) Example: jdoe@trimble.com

EMail of the User. Optional if id is present, else required.

role
string (optional) Example: USER

Role of the User in the company (Default value : USER, Supported values : ADMIN & USER)

Request
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "id": "vaItzxo0oIw"
  },
  {
    "email": "jdoe@trimble.com",
    "role": "ADMIN"
  }
]
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "id": "q2I7dwDWrnM",
    "firstName": "John",
    "lastName": "Doe",
    "email": "jdoe@trimble.com",
    "status": "ACTIVE",
    "role": "USER",
    "title": "Structural Engineer",
    "phone": "+1 111-111-1111",
    "companies": [
      {
        "id": "wCA2XA66sKk",
        "name": "A_Test_Company",
        "website": "atestcompany.com",
        "image": "http://{baseURL}/tc/app/files/thumb?id=wCA2XA66sKk&fc=COMPANYIMG#?1486381148000",
        "role": "ADMIN",
        "createdOn": "2017-01-30T13:32:54+0530",
        "modifiedOn": "2017-02-06T17:09:08+0530",
        "createdBy": {
          "id": "q2I7dwDWrnM",
          "firstName": "support",
          "lastName": "tc",
          "email": "support@trimble.com",
          "status": "ACTIVE"
        },
        "modifiedBy": {
          "id": "q2I7dwDWrnM",
          "firstName": "support",
          "lastName": "tc",
          "email": "support@trimble.com",
          "status": "ACTIVE"
        }
      },
      {
        "id": "z-6kBa8kl2Y",
        "name": "F_Test_Company",
        "website": "atestcompany.com",
        "image": "/tc/ng-static/styles/img/trimbleconnect_header.svg",
        "role": "ADMIN",
        "createdOn": "2017-02-06T14:20:57+0530",
        "modifiedOn": "2017-02-06T17:09:08+0530",
        "createdBy": {
          "id": "q2I7dwDWrnM",
          "firstName": "support",
          "lastName": "tc",
          "email": "support@trimble.com",
          "status": "ACTIVE"
        },
        "modifiedBy": {
          "id": "q2I7dwDWrnM",
          "firstName": "support",
          "lastName": "tc",
          "email": "support@trimble.com",
          "status": "ACTIVE"
        }
      },
      {
        "id": "4SxBnCwfII0",
        "name": "A New COmpany",
        "website": "newcompany.com",
        "image": "http://{baseURL}/tc/app/files/thumb?id=4SxBnCwfII0&fc=COMPANYIMG#?1487628364000",
        "role": "USER",
        "createdOn": "2016-12-20T16:20:40+0530",
        "modifiedOn": "2017-02-21T03:36:04+0530",
        "createdBy": {
          "id": "q2I7dwDWrnM",
          "firstName": "support",
          "lastName": "tc",
          "email": "support@trimble.com",
          "status": "ACTIVE"
        },
        "modifiedBy": {
          "id": "q2I7dwDWrnM",
          "firstName": "support",
          "lastName": "tc",
          "email": "support@trimble.com",
          "status": "ACTIVE"
        }
      }
    ],
    "lastLogin": "2017-02-06T16:06:07+0530"
  }
]

Remove Users from Company
DELETE/companies/{companyId}/users

API for company admin to remove users from the company.

Parameters
HideShow
companyId
string (required) Example: kTjLp5b2VQM

ID of the company

id
string (optional) Example: vaItzxo0oIw

ID of the User. Optional if email is present, else required.

email
string (optional) Example: jdoe@trimble.com

EMail of the User. Optional if id is present, else required.

Request
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "id": "vaItzxo0oIw"
  },
  {
    "email": "jdoe@trimble.com"
  }
]
Response  204

Update User in the Company

Update User in the Company
PATCH/companies/{companyId}/users/{userId}

API to change the role of the user in the company.

Parameters
HideShow
companyId
string (required) Example: kTjLp5b2VQM

ID of the company

userId
string (required) Example: vaItzxo0oIw

ID of the User.

role
string (required) Example: USER

Role of the User in the company (Supported values : ADMIN & USER)

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "role": "USER"
}
Response  200
HideShow
Body
{
  "id": "q2I7dwDWrnM",
  "firstName": "John",
  "lastName": "Doe",
  "email": "jdoe@trimble.com",
  "status": "ACTIVE",
  "role": "USER",
  "title": "Structural Engineer",
  "phone": "+1 111-111-1111",
  "companies": [
    {
      "id": "wCA2XA66sKk",
      "name": "A_Test_Company",
      "website": "atestcompany.com",
      "image": "http://{baseURL}/tc/app/files/thumb?id=wCA2XA66sKk&fc=COMPANYIMG#?1486381148000",
      "role": "ADMIN",
      "createdOn": "2017-01-30T13:32:54+0530",
      "modifiedOn": "2017-02-06T17:09:08+0530",
      "createdBy": {
        "id": "q2I7dwDWrnM",
        "firstName": "support",
        "lastName": "tc",
        "email": "support@trimble.com",
        "status": "ACTIVE"
      },
      "modifiedBy": {
        "id": "q2I7dwDWrnM",
        "firstName": "support",
        "lastName": "tc",
        "email": "support@trimble.com",
        "status": "ACTIVE"
      }
    },
    {
      "id": "z-6kBa8kl2Y",
      "name": "F_Test_Company",
      "website": "atestcompany.com",
      "image": "/tc/ng-static/styles/img/trimbleconnect_header.svg",
      "role": "ADMIN",
      "createdOn": "2017-02-06T14:20:57+0530",
      "modifiedOn": "2017-02-06T17:09:08+0530",
      "createdBy": {
        "id": "q2I7dwDWrnM",
        "firstName": "support",
        "lastName": "tc",
        "email": "support@trimble.com",
        "status": "ACTIVE"
      },
      "modifiedBy": {
        "id": "q2I7dwDWrnM",
        "firstName": "support",
        "lastName": "tc",
        "email": "support@trimble.com",
        "status": "ACTIVE"
      }
    },
    {
      "id": "4SxBnCwfII0",
      "name": "A New COmpany",
      "website": "newcompany.com",
      "image": "http://{baseURL}/tc/app/files/thumb?id=4SxBnCwfII0&fc=COMPANYIMG#?1487628364000",
      "role": "USER",
      "createdOn": "2016-12-20T16:20:40+0530",
      "modifiedOn": "2017-02-21T03:36:04+0530",
      "createdBy": {
        "id": "q2I7dwDWrnM",
        "firstName": "support",
        "lastName": "tc",
        "email": "support@trimble.com",
        "status": "ACTIVE"
      },
      "modifiedBy": {
        "id": "q2I7dwDWrnM",
        "firstName": "support",
        "lastName": "tc",
        "email": "support@trimble.com",
        "status": "ACTIVE"
      }
    }
  ],
  "lastLogin": "2017-02-06T16:06:07+0530"
}

Remove User from the Company
DELETE/companies/{companyId}/users/{userId}

API for company admin to remove the specified user from the company.

Parameters
HideShow
companyId
string (required) Example: kTjLp5b2VQM

ID of the company.

userId
string (required) Example: vaItzxo0oIw

ID of the user to be removed.

Response  204

Projects

APIs related to Projects are described in this section

TC supports max length of 255 characters for project names. Names are validated according to OS supported rules, so ones that contain non-printable ascii or with special meaning will be rejected by the API (Ex: “…”, “PRN”, “/”)

Project Actions

View Project Details
GET/projects/{projectId}

API to fetch details of a project

Parameters
HideShow
projectId
string (required) Example: woC32em2Fb0

ID of the Project

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": "woC32em2Fb0",
  "name": "MSG Project",
  "rootId": "c3IGIU_sAJA",
  "thumbnail": "/tc/static/img/newicons/existing_project_with_no_image.svg",
  "address": {
    "text": "Denver, CO",
    "geometry": "[[-38.50245621, 176.0944492], [-45.50245621, 120.0944492], [-20.50245621, 100.0944492]]"
  },
  "location": "northAmerica",
  "lastVisitedOn": "2016-01-20T06:47:11+0000",
  "modifiedOn": "2016-01-20T06:47:11+0000",
  "createdOn": "2016-01-07T06:46:42+0000",
  "createdBy": {
    "id": "goFObfoREJg",
    "firstName": "test",
    "lastName": "trimble",
    "email": "test@trimble.com",
    "status": "ACTIVE",
    "companies": [
      {
        "id": "k-PEcTYKNqo",
        "name": "Trimble.com",
        "website": "gmail.com",
        "image": "https://{baseURL}/tc/app/files/thumb?id=k-PEcTYKNqo&fc=COMPANYIMG#?1487053557000",
        "createdOn": "2017-01-18T12:48:38+0000",
        "role": "ADMIN",
        "modifiedOn": "2017-02-14T06:25:57+0000",
        "createdBy": {
          "id": "Dyfw481fE9U",
          "firstName": "John",
          "lastName": "Doe",
          "email": "jdoe@trimble.com",
          "status": "ACTIVE"
        },
        "modifiedBy": {
          "id": "Dyfw481fE9U",
          "firstName": "John",
          "lastName": "Doe",
          "email": "jdoe@trimble.com",
          "status": "ACTIVE"
        }
      },
      {
        "id": "JaWS7gc_rdk",
        "name": "Trimble test",
        "website": "trimbletest.com",
        "image": "/tc/ng-static/styles/img/trimbleconnect_header.svg",
        "createdOn": "2017-01-28T17:44:10+0000",
        "role": "USER",
        "modifiedOn": "2017-02-09T08:37:02+0000",
        "createdBy": {
          "id": "Dyfw481fE9U",
          "firstName": "support",
          "lastName": "tc",
          "email": "support@trimble.com",
          "status": "ACTIVE"
        },
        "modifiedBy": {
          "id": "Dyfw481fE9U",
          "firstName": "support",
          "lastName": "tc",
          "email": "support@trimble.com",
          "status": "ACTIVE"
        }
      }
    ]
  },
  "modifiedBy": {
    "id": "gH9HzPWLMNY",
    "firstName": "test",
    "lastName": "trimble",
    "email": "test@trimble.com",
    "status": "ACTIVE"
  },
  "udpatedOn": "2016-02-07T16:16:12+0000",
  "updatedBy": {
    "id": "goFObfoREJg",
    "firstName": "test",
    "lastName": "trimble",
    "email": "test@trimble.com",
    "status": "ACTIVE"
  },
  "size": 1372863,
  "filesCount": 7,
  "foldersCount": 1,
  "versionsCount": 8,
  "usersCount": 9,
  "description": "Renovation - East side",
  "startDate": "2015-02-16T00:00:00+0000",
  "endDate": "2017-12-07T00:00:00+0000",
  "access": "FULL_ACCESS",
  "license": {
    "id": "fcbc7382-97f7-497c-a3ef-cfdc3aa502f0",
    "usedInvites": 3
  }
}

Update Project
PATCH/projects/{projectId}

The following properties can be updated using this request.

Parameters
HideShow
name
string (required) 
description
string (required) 
address
string (required) 
startDate
string (required) 
endDate
string (required) 
lastVisitedOn
string (required) 
projectId
string (required) Example: woC32em2Fb0

ID of the Project

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "name": "MSG Project",
  "address": {
    "text": "Denver, CO",
    "geometry": "[[-38.50245621, 176.0944492], [-45.50245621, 120.0944492], [-20.50245621, 100.0944492]]"
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": "woC32em2Fb0",
  "name": "MSG Project",
  "rootId": "c3IGIU_sAJA",
  "thumbnail": "/tc/static/img/newicons/existing_project_with_no_image.svg",
  "address": {
    "text": "Denver, CO",
    "geometry": "[[-38.50245621, 176.0944492], [-45.50245621, 120.0944492], [-20.50245621, 100.0944492]]"
  },
  "location": "northAmerica",
  "lastVisitedOn": "2016-01-20T06:47:11+0000",
  "modifiedOn": "2016-01-20T06:47:11+0000",
  "createdOn": "2016-01-07T06:46:42+0000",
  "createdBy": {
    "id": "goFObfoREJg",
    "firstName": "test",
    "lastName": "trimble",
    "email": "test@trimble.com",
    "status": "ACTIVE",
    "companies": [
      {
        "id": "k-PEcTYKNqo",
        "name": "Trimble.com",
        "website": "gmail.com",
        "image": "https://{baseURL}/tc/app/files/thumb?id=k-PEcTYKNqo&fc=COMPANYIMG#?1487053557000",
        "createdOn": "2017-01-18T12:48:38+0000",
        "role": "ADMIN",
        "modifiedOn": "2017-02-14T06:25:57+0000",
        "createdBy": {
          "id": "Dyfw481fE9U",
          "firstName": "John",
          "lastName": "Doe",
          "email": "jdoe@trimble.com",
          "status": "ACTIVE"
        },
        "modifiedBy": {
          "id": "Dyfw481fE9U",
          "firstName": "John",
          "lastName": "Doe",
          "email": "jdoe@trimble.com",
          "status": "ACTIVE"
        }
      },
      {
        "id": "JaWS7gc_rdk",
        "name": "Trimble test",
        "website": "trimbletest.com",
        "image": "/tc/ng-static/styles/img/trimbleconnect_header.svg",
        "createdOn": "2017-01-28T17:44:10+0000",
        "role": "USER",
        "modifiedOn": "2017-02-09T08:37:02+0000",
        "createdBy": {
          "id": "Dyfw481fE9U",
          "firstName": "support",
          "lastName": "tc",
          "email": "support@trimble.com",
          "status": "ACTIVE"
        },
        "modifiedBy": {
          "id": "Dyfw481fE9U",
          "firstName": "support",
          "lastName": "tc",
          "email": "support@trimble.com",
          "status": "ACTIVE"
        }
      }
    ]
  },
  "modifiedBy": {
    "id": "gH9HzPWLMNY",
    "firstName": "test",
    "lastName": "trimble",
    "email": "test@trimble.com",
    "status": "ACTIVE"
  },
  "udpatedOn": "2016-02-07T16:16:12+0000",
  "updatedBy": {
    "id": "goFObfoREJg",
    "firstName": "test",
    "lastName": "trimble",
    "email": "test@trimble.com",
    "status": "ACTIVE"
  },
  "size": 1372863,
  "filesCount": 7,
  "foldersCount": 1,
  "versionsCount": 8,
  "usersCount": 9,
  "description": "Renovation - East side",
  "startDate": "2015-02-16T00:00:00+0000",
  "endDate": "2017-12-07T00:00:00+0000",
  "access": "FULL_ACCESS",
  "license": {
    "id": "fcbc7382-97f7-497c-a3ef-cfdc3aa502f0",
    "usedInvites": 3
  }
}

Delete Project
DELETE/projects/{projectId}

API to delete a project

Parameters
HideShow
projectId
string (required) Example: woC32em2Fb0

ID of the Project

Response  204

Set Project Image

Upload Project Image
POST/projects/{projectId}/image

API to set an image for the project.

Parameters
HideShow
projectId
string (required) Example: woC32em2Fb0

ID of the Project

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": "woC32em2Fb0",
  "name": "MSG Project",
  "rootId": "c3IGIU_sAJA",
  "thumbnail": "/tc/static/img/newicons/existing_project_with_no_image.svg",
  "address": {
    "text": "Denver, CO",
    "geometry": "[[-38.50245621, 176.0944492], [-45.50245621, 120.0944492], [-20.50245621, 100.0944492]]"
  },
  "location": "northAmerica",
  "lastVisitedOn": "2016-01-20T06:47:11+0000",
  "modifiedOn": "2016-01-20T06:47:11+0000",
  "createdOn": "2016-01-07T06:46:42+0000",
  "createdBy": {
    "id": "goFObfoREJg",
    "firstName": "test",
    "lastName": "trimble",
    "email": "test@trimble.com",
    "status": "ACTIVE",
    "companies": [
      {
        "id": "k-PEcTYKNqo",
        "name": "Trimble.com",
        "website": "gmail.com",
        "image": "https://{baseURL}/tc/app/files/thumb?id=k-PEcTYKNqo&fc=COMPANYIMG#?1487053557000",
        "createdOn": "2017-01-18T12:48:38+0000",
        "role": "ADMIN",
        "modifiedOn": "2017-02-14T06:25:57+0000",
        "createdBy": {
          "id": "Dyfw481fE9U",
          "firstName": "John",
          "lastName": "Doe",
          "email": "jdoe@trimble.com",
          "status": "ACTIVE"
        },
        "modifiedBy": {
          "id": "Dyfw481fE9U",
          "firstName": "John",
          "lastName": "Doe",
          "email": "jdoe@trimble.com",
          "status": "ACTIVE"
        }
      },
      {
        "id": "JaWS7gc_rdk",
        "name": "Trimble test",
        "website": "trimbletest.com",
        "image": "/tc/ng-static/styles/img/trimbleconnect_header.svg",
        "createdOn": "2017-01-28T17:44:10+0000",
        "role": "USER",
        "modifiedOn": "2017-02-09T08:37:02+0000",
        "createdBy": {
          "id": "Dyfw481fE9U",
          "firstName": "support",
          "lastName": "tc",
          "email": "support@trimble.com",
          "status": "ACTIVE"
        },
        "modifiedBy": {
          "id": "Dyfw481fE9U",
          "firstName": "support",
          "lastName": "tc",
          "email": "support@trimble.com",
          "status": "ACTIVE"
        }
      }
    ]
  },
  "modifiedBy": {
    "id": "gH9HzPWLMNY",
    "firstName": "test",
    "lastName": "trimble",
    "email": "test@trimble.com",
    "status": "ACTIVE"
  },
  "udpatedOn": "2016-02-07T16:16:12+0000",
  "updatedBy": {
    "id": "goFObfoREJg",
    "firstName": "test",
    "lastName": "trimble",
    "email": "test@trimble.com",
    "status": "ACTIVE"
  },
  "size": 1372863,
  "filesCount": 7,
  "foldersCount": 1,
  "versionsCount": 8,
  "usersCount": 9,
  "description": "Renovation - East side",
  "startDate": "2015-02-16T00:00:00+0000",
  "endDate": "2017-12-07T00:00:00+0000",
  "access": "FULL_ACCESS",
  "license": {
    "id": "fcbc7382-97f7-497c-a3ef-cfdc3aa502f0",
    "usedInvites": 3
  }
}

Project Creation

Create a New Project
POST/projects

You may create a new Project using this action.

TC supports max length of 255 characters for project names. Names are validated according to OS supported rules, so ones that contain non-printable ascii or with special meaning will be rejected by the API (Ex: “…”, “PRN”, “/”)

Parameters
HideShow
name
string (required) Example: MSG Project

Name of the Project

description
string (optional) Example: Renovation - East side

Description of the Project

startDate
date (optional) Example: 2015-02-16T00:00:00+0000

Start date of the Project

endDate
date (optional) Example: 2017-12-07T00:00:00+0000

End date of the Project

licenseId
string (optional) Example: 0206cbd0-7ce3-4a8c-812d-e23d25ff8f9a

license Id to associate the project with. This is required if user has multiple licenses.

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "name": "MSG Project",
  "description": "Renovation - East side",
  "startDate": "2015-02-16T00:00:00+0000",
  "endDate": "2017-12-07T00:00:00+0000",
  "address": {
    "text": "Denver, CO",
    "geometry": "[[-38.50245621, 176.0944492], [-45.50245621, 120.0944492], [-20.50245621, 100.0944492]]"
  }
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "id": "woC32em2Fb0",
  "name": "MSG Project",
  "rootId": "c3IGIU_sAJA",
  "thumbnail": "/tc/static/img/newicons/existing_project_with_no_image.svg",
  "address": {
    "text": "Denver, CO",
    "geometry": "[[-38.50245621, 176.0944492], [-45.50245621, 120.0944492], [-20.50245621, 100.0944492]]"
  },
  "location": "northAmerica",
  "lastVisitedOn": "2016-01-20T06:47:11+0000",
  "modifiedOn": "2016-01-20T06:47:11+0000",
  "createdOn": "2016-01-07T06:46:42+0000",
  "createdBy": {
    "id": "goFObfoREJg",
    "firstName": "test",
    "lastName": "trimble",
    "email": "test@trimble.com",
    "status": "ACTIVE",
    "companies": [
      {
        "id": "k-PEcTYKNqo",
        "name": "Trimble.com",
        "website": "gmail.com",
        "image": "https://{baseURL}/tc/app/files/thumb?id=k-PEcTYKNqo&fc=COMPANYIMG#?1487053557000",
        "createdOn": "2017-01-18T12:48:38+0000",
        "role": "ADMIN",
        "modifiedOn": "2017-02-14T06:25:57+0000",
        "createdBy": {
          "id": "Dyfw481fE9U",
          "firstName": "John",
          "lastName": "Doe",
          "email": "jdoe@trimble.com",
          "status": "ACTIVE"
        },
        "modifiedBy": {
          "id": "Dyfw481fE9U",
          "firstName": "John",
          "lastName": "Doe",
          "email": "jdoe@trimble.com",
          "status": "ACTIVE"
        }
      },
      {
        "id": "JaWS7gc_rdk",
        "name": "Trimble test",
        "website": "trimbletest.com",
        "image": "/tc/ng-static/styles/img/trimbleconnect_header.svg",
        "createdOn": "2017-01-28T17:44:10+0000",
        "role": "USER",
        "modifiedOn": "2017-02-09T08:37:02+0000",
        "createdBy": {
          "id": "Dyfw481fE9U",
          "firstName": "support",
          "lastName": "tc",
          "email": "support@trimble.com",
          "status": "ACTIVE"
        },
        "modifiedBy": {
          "id": "Dyfw481fE9U",
          "firstName": "support",
          "lastName": "tc",
          "email": "support@trimble.com",
          "status": "ACTIVE"
        }
      }
    ]
  },
  "modifiedBy": {
    "id": "gH9HzPWLMNY",
    "firstName": "test",
    "lastName": "trimble",
    "email": "test@trimble.com",
    "status": "ACTIVE"
  },
  "udpatedOn": "2016-02-07T16:16:12+0000",
  "updatedBy": {
    "id": "goFObfoREJg",
    "firstName": "test",
    "lastName": "trimble",
    "email": "test@trimble.com",
    "status": "ACTIVE"
  },
  "size": 1372863,
  "filesCount": 7,
  "foldersCount": 1,
  "versionsCount": 8,
  "usersCount": 9,
  "description": "Renovation - East side",
  "startDate": "2015-02-16T00:00:00+0000",
  "endDate": "2017-12-07T00:00:00+0000",
  "access": "FULL_ACCESS",
  "license": {
    "id": "fcbc7382-97f7-497c-a3ef-cfdc3aa502f0",
    "usedInvites": 3
  }
}

List Projects

List all Projects
GET/projects

API to list all the projects

Response  206
HideShow
Body
[
  {
    "id": "yuvgpOSC2SA",
    "name": "test-project",
    "rootId": "c3IGIU_sAJA",
    "thumbnail": "/tc/static/img/newicons/existing_project_with_no_image.svg",
    "address": {
      "text": "Denver, CO",
      "geometry": "[[-38.50245621, 176.0944492], [-45.50245621, 120.0944492], [-20.50245621, 100.0944492]]"
    },
    "location": "northAmerica",
    "lastVisitedOn": "2016-01-20T06:47:11+0000",
    "modifiedOn": "2016-01-20T06:47:11+0000",
    "createdOn": "2016-01-07T06:46:42+0000",
    "createdBy": {
      "id": "goFObfoREJg",
      "firstName": "test",
      "lastName": "trimble",
      "email": "test@trimble.com",
      "status": "ACTIVE"
    },
    "modifiedBy": {
      "id": "gH9HzPWLMNY",
      "firstName": "test",
      "lastName": "trimble",
      "email": "test@trimble.com",
      "status": "ACTIVE"
    },
    "size": 1372863,
    "filesCount": 7,
    "foldersCount": 1,
    "versionsCount": 8,
    "usersCount": 9,
    "description": "test project",
    "startDate": "2015-02-16T00:00:00+0000",
    "endDate": "2017-12-07T00:00:00+0000",
    "access": "FULL_ACCESS",
    "license": {
      "id": "fcbc7382-97f7-497c-a3ef-cfdc3aa502f0",
      "usedInvites": 3
    }
  },
  {
    "id": "eX9gwJqSe8I",
    "name": "test-project 2",
    "rootId": "Fj4LJIQOnbk",
    "thumbnail": "/tc/static/img/newicons/existing_project_with_no_image.svg",
    "location": "northAmerica",
    "lastVisitedOn": "2017-01-20T06:47:11+0000",
    "modifiedOn": "2017-01-20T06:47:11+0000",
    "createdOn": "2017-01-07T06:46:42+0000",
    "createdBy": {
      "id": "TrKgSur90vU",
      "firstName": "test",
      "lastName": "trimble",
      "email": "test@trimble.com",
      "status": "ACTIVE"
    },
    "modifiedBy": {
      "id": "gH9HzPWLMNY",
      "firstName": "test",
      "lastName": "trimble",
      "email": "test@trimble.com",
      "status": "ACTIVE"
    },
    "size": 13863,
    "filesCount": 31,
    "foldersCount": 12,
    "versionsCount": 4,
    "usersCount": 5,
    "description": "test project 2",
    "startDate": "2016-02-16T00:00:00+0000",
    "endDate": "2018-12-07T00:00:00+0000",
    "access": "NO_ACCESS",
    "license": {
      "id": "1bbb03f8-eff2-46c3-98a2-917d6edaca1d",
      "usedInvites": 1
    }
  }
]

Project Users Actions

List all Users in project
GET/projects/{projectId}/users

API to fetch list of users in a project

Parameters
HideShow
projectId
string (required) Example: woC32em2Fb0

ID of the Project

Response  206
HideShow
Body
[
  {
    "id": "kRtRtv4qpEc",
    "firstName": "John",
    "lastName": "Doe",
    "email": "jdoe@trimble.com",
    "status": "ACTIVE",
    "timeZone": "(UTC-08:00) Pacific Time (US & Canada)",
    "language": "English",
    "thumbnail": "https://app.qa.connect.trimble.com/tc/app/files/thumb?id=kRtRtv4qpEc&fc=USERIMG&modified=1474329399000",
    "role": "USER",
    "viewerBackground": {
      "r": 210,
      "g": 210,
      "b": 210,
      "a": 255
    },
    "companies": [
      {
        "id": "eX9gwJqSe8I",
        "name": "Trimble Technologies",
        "website": "trimble.com",
        "domains": [
          "trimble.com",
          "sketchup.com"
        ],
        "image": "https://{baseURL}/tc/app/files/thumb?id=Xzh3AJfmcZY&fc=COMPANYIMG#?1487072582000",
        "createdOn": "2014-02-05T18:10:16+0000",
        "role": "ADMIN",
        "modifiedOn": "2017-02-09T08:37:02+0000",
        "createdBy": {
          "id": "Dyfw481fE9U",
          "firstName": "John",
          "lastName": "Doe",
          "email": "jdoe@trimble.com",
          "status": "ACTIVE"
        },
        "modifiedBy": {
          "id": "Dyfw481fE9U",
          "firstName": "John",
          "lastName": "Doe",
          "email": "jdoe@trimble.com",
          "status": "ACTIVE"
        }
      },
      {
        "id": "Xzh3AJfmcZY",
        "name": "Trimble - Transforming the Way the World Works",
        "website": "www.trimble.com",
        "domains": [
          "trimble1.com",
          "sketchup.com",
          "sketchup.com1",
          "sketchup1.com",
          "sketchup@.com",
          "sketchupg@.com",
          "tekla.com"
        ],
        "image": "https://{baseURL}/tc/app/files/thumb?id=Xzh3AJfmcZY&fc=COMPANYIMG#?1487072582000",
        "createdOn": "2014-09-16T21:43:10+0000",
        "role": "USER",
        "modifiedOn": "2017-02-14T11:43:02+0000",
        "createdBy": {
          "id": "Dyfw421fE9U",
          "firstName": "Site",
          "lastName": "Admin",
          "email": "support@trimble.com",
          "status": "ACTIVE"
        },
        "modifiedBy": {
          "id": "Dyfw421fE9U",
          "firstName": "Site",
          "lastName": "Admin",
          "email": "support@trimble.com",
          "status": "ACTIVE"
        }
      }
    ],
    "company": {
      "id": "eX9gwJqSe8I",
      "name": "Trimble Technologies",
      "website": "trimble.com",
      "domains": [
        "trimble.com",
        "sketchup.com"
      ],
      "image": "/tc/ng-static/styles/img/trimbleconnect_header.svg",
      "createdOn": "2014-02-05T18:10:16+0000",
      "role": "USER",
      "modifiedOn": "2017-02-09T08:37:02+0000",
      "createdBy": {
        "id": "Dyfw481fE9U",
        "firstName": "John",
        "lastName": "Doe",
        "email": "jdoe@trimble.com",
        "status": "ACTIVE"
      },
      "modifiedBy": {
        "id": "Dyfw481fE9U",
        "firstName": "John",
        "lastName": "Doe",
        "email": "jdoe@trimble.com",
        "status": "ACTIVE"
      }
    },
    "lastAccessed": "2016-07-26T22:55:39+0000",
    "createdOn": "2014-01-31T00:07:51+0000",
    "modifiedOn": "2016-09-19T23:56:39+0000",
    "companyAdmin": true
  }
]

Add/Invite Users to project
POST/projects/{projectId}/users

This API allows you to invite new and existing users to a project. Email address and role are required to add users to project.

Parameters
HideShow
projectId
string (required) Example: woC32em2Fb0

ID of the Project

Request  User not in Trimble Connect
HideShow
Headers
Content-Type: application/json
Body
{
  "email": "jdoe@trimble.com",
  "role": "USER"
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "email": "jdoe@trimble.com",
  "status": "PENDING",
  "role": "USER"
}
Request  User existing in Trimble Connect
HideShow
Headers
Content-Type: application/json
Body
{
  "email": "jdoe@trimble.com",
  "role": "USER"
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": "zYyVo0fyrNg",
  "firstName": "John",
  "lastName": "Doe",
  "email": "jdoe@trimble.com",
  "status": "ACTIVE",
  "timeZone": "(UTC-08:00) Pacific Time (US & Canada)",
  "language": "English",
  "thumbnail": "https://{baseURL}/tc/app/files/thumb?id=RQd6YBZ8Gds&fc=USERIMG&modified=1481050888000",
  "role": "USER",
  "companies": [
    {
      "id": "k-PEcTYKNqo",
      "name": "Trimble.com",
      "website": "gmail.com",
      "image": "https://{baseURL}/tc/app/files/thumb?id=k-PEcTYKNqo&fc=COMPANYIMG#?1487053557000",
      "createdOn": "2017-01-18T12:48:38+0000",
      "role": "ADMIN",
      "modifiedOn": "2017-02-14T06:25:57+0000",
      "createdBy": {
        "id": "Dyfw481fE9U",
        "firstName": "John",
        "lastName": "Doe",
        "email": "jdoe@trimble.com",
        "status": "ACTIVE"
      },
      "modifiedBy": {
        "id": "Dyfw481fE9U",
        "firstName": "John",
        "lastName": "Doe",
        "email": "jdoe@trimble.com",
        "status": "ACTIVE"
      }
    },
    {
      "id": "JaWS7gc_rdk",
      "name": "Trimble test",
      "website": "trimbletest.com",
      "image": "/tc/ng-static/styles/img/trimbleconnect_header.svg",
      "createdOn": "2017-01-28T17:44:10+0000",
      "role": "USER",
      "modifiedOn": "2017-02-09T08:37:02+0000",
      "createdBy": {
        "id": "Dyfw481fE9U",
        "firstName": "support",
        "lastName": "tc",
        "email": "support@trimble.com",
        "status": "ACTIVE"
      },
      "modifiedBy": {
        "id": "Dyfw481fE9U",
        "firstName": "support",
        "lastName": "tc",
        "email": "support@trimble.com",
        "status": "ACTIVE"
      }
    }
  ],
  "createdOn": "2016-07-12T23:14:31+0000",
  "modifiedOn": "2016-07-12T23:14:31+0000"
}

Project Roles

List roles available in project
GET/projects/{projectId}/roles

API to list the roles available in a project.

Parameters
HideShow
projectId
string (required) Example: woC32em2Fb0

ID of the Project

Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  "ADMIN",
  "USER"
]

Project User Update Actions

API to update the role of a user in a project

Update User role
PATCH/projects/{projectId}/users/{userId}

Parameters
HideShow
projectId
string (required) Example: woC32em2Fb0

ID of the Project

userId
string (required) Example: LWOf7rirztM

ID of the User

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "role": "ADMIN"
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": "LWOf7rirztM",
  "firstName": "John",
  "lastName": "Doe",
  "email": "jdoe@trimble.com",
  "status": "ACTIVE",
  "role": "ADMIN",
  "timeZone": "(UTC-08:00) Pacific Time (US & Canada)",
  "thumbnail": "https://{baseURL}/tc/app/files/thumb?id=RQd6YBZ8Gds&fc=USERIMG&modified=1481050888000",
  "language": "English",
  "companies": [
    {
      "id": "k-PEcTYKNqo",
      "name": "Trimble.com",
      "website": "gmail.com",
      "image": "https://{baseURL}/tc/app/files/thumb?id=k-PEcTYKNqo&fc=COMPANYIMG#?1487053557000",
      "createdOn": "2017-01-18T12:48:38+0000",
      "role": "ADMIN",
      "modifiedOn": "2017-02-14T06:25:57+0000",
      "createdBy": {
        "id": "Dyfw481fE9U",
        "firstName": "John",
        "lastName": "Doe",
        "email": "jdoe@trimble.com",
        "status": "ACTIVE"
      },
      "modifiedBy": {
        "id": "Dyfw481fE9U",
        "firstName": "John",
        "lastName": "Doe",
        "email": "jdoe@trimble.com",
        "status": "ACTIVE"
      }
    },
    {
      "id": "JaWS7gc_rdk",
      "name": "Trimble test",
      "website": "trimbletest.com",
      "image": "/tc/ng-static/styles/img/trimbleconnect_header.svg",
      "createdOn": "2017-01-28T17:44:10+0000",
      "role": "USER",
      "modifiedOn": "2017-02-09T08:37:02+0000",
      "createdBy": {
        "id": "Dyfw481fE9U",
        "firstName": "support",
        "lastName": "tc",
        "email": "support@trimble.com",
        "status": "ACTIVE"
      },
      "modifiedBy": {
        "id": "Dyfw481fE9U",
        "firstName": "support",
        "lastName": "tc",
        "email": "support@trimble.com",
        "status": "ACTIVE"
      }
    }
  ],
  "createdOn": "2016-07-12T23:14:31+0000",
  "modifiedOn": "2016-10-27T22:09:16+0000"
}

Remove user
DELETE/projects/{projectId}/users/{userId}

API to remove a particular user from the project

Parameters
HideShow
projectId
string (required) Example: woC32em2Fb0

ID of the Project

userId
string (required) Example: 4SxBnCwfII0

ID of the User

Response  204

Project Settings Actions

Get Project settings
GET/projects/{projectId}/settings

API to List all the project specific settings.

Parameters
HideShow
projectId
string (required) Example: woC32em2Fb0

Path parameter. ID of the project

filter
string (optional) Example: sync

Query parameter. Valid values are “sync”, “notifications”, “unit”. All project settings will be given if not provided.

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "syncSettings": {
    "projectId": "C0EvPWvH8vE",
    "syncMode": "ALLOW_AUTO_CHECKOUT",
    "filters": [
      {
        "id": "Dyfw481fE9U",
        "description": "AutoCAD lock files (DWL)",
        "checked": true
      },
      {
        "id": "pNCBBwArq-g",
        "description": "AutoCAD lock files (DWL2)",
        "checked": true
      },
      {
        "id": "cu2mUJnneTc",
        "description": "Rhino lock files (RHL)",
        "checked": true
      },
      {
        "id": "eX9gwJqSe8I",
        "description": "Rhino, etc. backup files (BAK)",
        "checked": true
      },
      {
        "id": "R5yGCjROSRE",
        "description": "Revit backup directory",
        "checked": true
      },
      {
        "id": "3UUWLWca4SQ",
        "description": "Revit temp directory",
        "checked": true
      },
      {
        "id": "q2I7dwDWrnM",
        "description": "Revit backup file",
        "checked": true
      },
      {
        "id": "0CGhTWXE3A4",
        "description": "Windows shortcut",
        "checked": true
      },
      {
        "id": "nj7Glv-AqV0",
        "description": "Log Files",
        "checked": true
      },
      {
        "id": "M-dWujJNQXA",
        "description": "AutoCAD lisp file",
        "checked": true
      },
      {
        "id": "AgR8A8wJDr8",
        "description": "Sketchup backup file",
        "checked": true
      },
      {
        "id": "CJY2c8y0EUo",
        "description": "Error file",
        "checked": true
      },
      {
        "id": "1rNbvWZv3pk",
        "description": "Rhino backup file",
        "checked": true
      },
      {
        "id": "bFvr4Jk8dqw",
        "description": "Thumbs.db",
        "checked": true
      },
      {
        "id": "OnkRKjL4Q_s",
        "description": "backup directory",
        "checked": true
      },
      {
        "id": "Xzh3AJfmcZY",
        "description": "log directory",
        "checked": true
      },
      {
        "id": "LVWcSjGiPuU",
        "description": "Temp files",
        "checked": true
      }
    ]
  },
  "notificationSettings": {
    "projectId": "C0EvPWvH8vE",
    "notificationSettings": {
      "files": [
        {
          "instantNotification": true,
          "dailyDigestNotification": true,
          "activityName": "FILE_ADD",
          "activityId": "YeNvyjb6Uz0",
          "activityNotificationSettingId": "yO5TMPC-w80"
        },
        {
          "instantNotification": true,
          "dailyDigestNotification": true,
          "activityName": "FILE_DELETE",
          "activityId": "xaklNwOCuJ8",
          "activityNotificationSettingId": "M0XDDb3yK7o"
        },
        {
          "instantNotification": true,
          "dailyDigestNotification": true,
          "activityName": "FILE_MOVE",
          "activityId": "zDrfpwQtuyo",
          "activityNotificationSettingId": "oEgrtCo5dU4"
        },
        {
          "instantNotification": true,
          "dailyDigestNotification": true,
          "activityName": "FILE_RENAME",
          "activityId": "mlgE8J3piHk",
          "activityNotificationSettingId": "0isGapB9p_8"
        },
        {
          "instantNotification": true,
          "dailyDigestNotification": true,
          "activityName": "FILE_RESTORE",
          "activityId": "MACVE9C2IIw",
          "activityNotificationSettingId": "or-9ba8_88g"
        },
        {
          "instantNotification": true,
          "dailyDigestNotification": true,
          "activityName": "FILE_DOWNLOAD",
          "activityId": "_h26XWpx7ds",
          "activityNotificationSettingId": "ZSidxCQ2Xms"
        },
        {
          "instantNotification": true,
          "dailyDigestNotification": true,
          "activityName": "SYNC",
          "activityId": "It0gM89gG3Y",
          "activityNotificationSettingId": "bjHp7ann33A"
        },
        {
          "instantNotification": true,
          "dailyDigestNotification": true,
          "activityName": "FILE_CHECKOUT",
          "activityId": "8PpFfWkb6MU",
          "activityNotificationSettingId": "dPcLbcSgRSg"
        },
        {
          "instantNotification": true,
          "dailyDigestNotification": true,
          "activityName": "FILE_CHECKIN",
          "activityId": "hqLVoJvogNg",
          "activityNotificationSettingId": "F8MQcPjC4lE"
        }
      ],
      "folders": [
        {
          "instantNotification": true,
          "dailyDigestNotification": true,
          "activityName": "FOLDER_ADD",
          "activityId": "uIWwVwIss4k",
          "activityNotificationSettingId": "PIJ2R12xD-w"
        },
        {
          "instantNotification": true,
          "dailyDigestNotification": true,
          "activityName": "FOLDER_DELETE",
          "activityId": "HEtlw861GOs",
          "activityNotificationSettingId": "_XwmsPYW2CU"
        },
        {
          "instantNotification": true,
          "dailyDigestNotification": true,
          "activityName": "FOLDER_MOVE",
          "activityId": "yFQeAKKWmkY",
          "activityNotificationSettingId": "Z9OWjcNKQBI"
        },
        {
          "instantNotification": true,
          "dailyDigestNotification": true,
          "activityName": "FOLDER_RENAME",
          "activityId": "lnFDSjxSZ5U",
          "activityNotificationSettingId": "mbZxRCmOcsM"
        },
        {
          "instantNotification": true,
          "dailyDigestNotification": true,
          "activityName": "FOLDER_RESTORE",
          "activityId": "LBnTbW8e_6g",
          "activityNotificationSettingId": "RYvCcONikPE"
        }
      ],
      "users": [
        {
          "instantNotification": false,
          "dailyDigestNotification": false,
          "activityName": "USER_IN_PROJECT_ADD",
          "activityId": "M-dWujJNQXA",
          "activityNotificationSettingId": "a7pYNCThYPY"
        },
        {
          "instantNotification": false,
          "dailyDigestNotification": false,
          "activityName": "USER_IN_PROJECT_REMOVE",
          "activityId": "AgR8A8wJDr8",
          "activityNotificationSettingId": "B_Six1hY-5Q"
        },
        {
          "instantNotification": false,
          "dailyDigestNotification": false,
          "activityName": "USER_IN_PROJECT_LEAVE",
          "activityId": "1rNbvWZv3pk",
          "activityNotificationSettingId": "Nb1Ux0L4qjQ"
        },
        {
          "instantNotification": false,
          "dailyDigestNotification": false,
          "activityName": "PROJECT_JOIN",
          "activityId": "hWcMw9llQZs",
          "activityNotificationSettingId": "YQ51DaiR2lo"
        }
      ],
      "views": [
        {
          "instantNotification": false,
          "dailyDigestNotification": false,
          "activityName": "SNAPSHOT_ADD",
          "activityId": "OT1ITXB1BL4",
          "activityNotificationSettingId": "HlTK4Plt5Nw"
        },
        {
          "instantNotification": false,
          "dailyDigestNotification": false,
          "activityName": "SNAPSHOT_DELETE",
          "activityId": "B1ptlwow0g0",
          "activityNotificationSettingId": "SXKEF0T5sdU"
        }
      ],
      "clashsets": [
        {
          "instantNotification": false,
          "dailyDigestNotification": false,
          "activityName": "CLASH_ADD",
          "activityId": "xG1cWkD_eWI",
          "activityNotificationSettingId": "s8nz9BItGcI"
        },
        {
          "instantNotification": false,
          "dailyDigestNotification": false,
          "activityName": "CLASH_DELETE",
          "activityId": "koqBo9q7RrE",
          "activityNotificationSettingId": "5azOqnhxTHM"
        }
      ],
      "releases": [
        {
          "instantNotification": false,
          "dailyDigestNotification": false,
          "activityName": "RELEASE_CREATE",
          "activityId": "ZI5ok9YONOQ",
          "activityNotificationSettingId": "IjuMh1sFBcA"
        },
        {
          "instantNotification": false,
          "dailyDigestNotification": false,
          "activityName": "RELEASE_ADD_FILES",
          "activityId": "MquN3W_KAjM",
          "activityNotificationSettingId": "xQeRio8nouk"
        },
        {
          "instantNotification": false,
          "dailyDigestNotification": false,
          "activityName": "RELEASE_SENT",
          "activityId": "JYgY_W5z_R0",
          "activityNotificationSettingId": "BrjZ6pXVvFc"
        },
        {
          "instantNotification": false,
          "dailyDigestNotification": false,
          "activityName": "RELEASE_RENAME",
          "activityId": "iU3Oajr8Yn8",
          "activityNotificationSettingId": "cRBJx2MJJEQ"
        },
        {
          "instantNotification": false,
          "dailyDigestNotification": false,
          "activityName": "RELEASE_EDIT_DUE_DATE",
          "activityId": "j9-I2junZQo",
          "activityNotificationSettingId": "Mgn6MPtu7H0"
        },
        {
          "instantNotification": false,
          "dailyDigestNotification": false,
          "activityName": "RELEASE_EDIT_NOTES",
          "activityId": "XfyuI9VjMlk",
          "activityNotificationSettingId": "nGFqDciiVGo"
        },
        {
          "instantNotification": false,
          "dailyDigestNotification": false,
          "activityName": "RELEASE_REMOVE_FILES",
          "activityId": "86U-Rwgvymw",
          "activityNotificationSettingId": "1NX_NC-RiaY"
        }
      ],
      "todo": [
        {
          "instantNotification": false,
          "dailyDigestNotification": false,
          "activityName": "TODO_ADD",
          "activityId": "lj3cOiJFBGg",
          "activityNotificationSettingId": "zkRExC7mhxs"
        },
        {
          "instantNotification": false,
          "dailyDigestNotification": false,
          "activityName": "TODO_EDIT",
          "activityId": "ZFsBg7wA0bc",
          "activityNotificationSettingId": "-ZVlCpR_t0E"
        },
        {
          "instantNotification": false,
          "dailyDigestNotification": false,
          "activityName": "TODO_DELETE",
          "activityId": "auy787yr1EI",
          "activityNotificationSettingId": "VslgB2BdGhg"
        },
        {
          "instantNotification": false,
          "dailyDigestNotification": false,
          "activityName": "TODO_ADD_FILES",
          "activityId": "OQnhPVZnoZE",
          "activityNotificationSettingId": "ghqATcX2Sj4"
        },
        {
          "instantNotification": false,
          "dailyDigestNotification": false,
          "activityName": "TODO_REMOVE_FILES",
          "activityId": "zrJxYIk0OaQ",
          "activityNotificationSettingId": "s_1bBCw6fO8"
        }
      ],
      "comments": [
        {
          "instantNotification": false,
          "dailyDigestNotification": false,
          "activityName": "COMMENT_ADD",
          "activityId": "9hzQAI02SOY",
          "activityNotificationSettingId": "EP3u8N4KfJk"
        },
        {
          "instantNotification": true,
          "dailyDigestNotification": true,
          "activityName": "COMMENT_EDIT",
          "activityId": "xDn1SibyFjU",
          "activityNotificationSettingId": "mYMKNA-BD5Y"
        },
        {
          "instantNotification": true,
          "dailyDigestNotification": true,
          "activityName": "COMMENT_DELETE",
          "activityId": "WeKFbVm-rkg",
          "activityNotificationSettingId": "y2Xk6nXFQkc"
        }
      ],
      "other": [
        {
          "instantNotification": false,
          "dailyDigestNotification": false,
          "activityName": "PROJECT_UPDATE",
          "activityId": "3AlNUKSXoec",
          "activityNotificationSettingId": "kvFPxA7WDQs"
        },
        {
          "instantNotification": false,
          "dailyDigestNotification": false,
          "activityName": "PROJECT_RENAME",
          "activityId": "6PlbIIvgQ9A",
          "activityNotificationSettingId": "9rcFMNtecm0"
        }
      ]
    },
    "allowUserSettings": false,
    "dailyDigestTimeZone": {
      "dailyDigestTime": "2016-10-01T09:00:00+0530",
      "id": "l60MJv7VptI",
      "label": "(UTC+00:00) Coordinated Universal Time"
    }
  },
  "unitSettings": {
    "unitsystem": "metric",
    "lengthunit": "mm",
    "lengthunitformat": "0",
    "lengthmeasurementunit": "mm",
    "lengthmeasurementunitformat": "0",
    "areaunit": "m2",
    "areaunitformat": "0.01",
    "volumeunit": "m3",
    "volumeunitformat": "0.01",
    "weightunit": "t",
    "weightunitformat": "0.001",
    "angularunit": "rad",
    "angularunitformat": "0.01"
  },
  "isTodosRestricted": false,
  "isProjectInviteRestricted": true
}

Update Project Settings
PATCH/projects/{projectId}/settings

This API will set all settings related to project. Generally sets sync,notifications,unit settings. “ALLOW_AUTO_CHECKOUT” is the default value in case if sync mode is not given in sync settings.

Unit Settings :
API allows to reset all the values to metric/imperial if unitsystem is the only attribute in the api request. Mix and match values will update the unitsystem to custom.

eg: “unitSettings”: { “unitsystem”: "metric” }

Acceptable values for unitsettings (all defaults are in bold):
unitsystem - (metric, imperial, custom)
lengthunit - (for metric - mm, cm, m, km)(for imperial - in, ft, yd, mi, ft-in)
lengthunitformat - (0, 0.1, 0.01 , 0.001) when lengthunit in (in, ft, yd, mi, mm , cm, m, km) else (1/2, 1/4 , 1/8, 1/16, 1/32, 1/64) when lengthunit in (ft-in)
lengthmeasurementunit - (for metric - mm , cm, m, km)(for imperial - in , ft, yd, mi, ft-in)
lengthmeasurementunitformat - (0, 0.1, 0.01 , 0.001) when lengthmeasurementunit in (in , ft, yd, mi, mm, cm, m, km) else (1/2, 1/4 , 1/8, 1/16, 1/32, 1/64) when lengthmeasurementunit in (ft-in)
areaunit - (metric - mm2, cm2, m2)(imperial - in2, ft2, yd2)
areaunitformat - (0, 0.1, 0.01, 0.001)
volumeunit - (metric - mm3, cm3, m3)(imperial - in3, ft3, yd3)
volumeunitformat - (0, 0.1, 0.01, 0.001)
weightunit - (metric - mg, g, kg, t)(imperial - oz, lb, ton)
weightunitformat - (0, 0.1, 0.01, 0.001)
angularunit - (metric - rad)(imperial - deg) angularunitformat - (0, 0.1, 0.01, 0.001)

Parameters
HideShow
projectId
string (required) Example: woC32em2Fb0

ID of the project.

Request
HideShow
Headers
Content-Type: application/json
Body
{
    "syncSettings": {
        "syncMode": "ALLOW_AUTO_CHECKOUT",
        "filters": [{
            "id": "Dyfw481fE9U",
            "description": "AutoCAD lock files (DWL)",
            "checked": true
        },
        {
            "id": "pNCBBwArq-g",
            "description": "AutoCAD lock files (DWL2)",
            "checked": true
        },
        {
            "id": "cu2mUJnneTc",
            "description": "Rhino lock files (RHL)",
            "checked": true
        },
        {
            "id": "eX9gwJqSe8I",
            "description": "Rhino, etc. backup files (BAK)",
            "checked": true
        },
        {
            "id": "R5yGCjROSRE",
            "description": "Revit backup directory",
            "checked": true
        },
        {
            "id": "3UUWLWca4SQ",
            "description": "Revit temp directory",
            "checked": true
        },
        {
            "id": "q2I7dwDWrnM",
            "description": "Revit backup file",
            "checked": true
        },
        {
            "id": "0CGhTWXE3A4",
            "description": "Windows shortcut",
            "checked": true
        },
        {
            "id": "nj7Glv-AqV0",
            "description": "Log Files",
            "checked": true
        },
        {
            "id": "M-dWujJNQXA",
            "description": "AutoCAD lisp file",
            "checked": true
        },
        {
            "id": "AgR8A8wJDr8",
            "description": "Sketchup backup file",
            "checked": true
        },
        {
            "id": "CJY2c8y0EUo",
            "description": "Error file",
            "checked": true
        },
        {
            "id": "1rNbvWZv3pk",
            "description": "Rhino backup file",
            "checked": true
        },
        {
            "id": "bFvr4Jk8dqw",
            "description": "Thumbs.db",
            "checked": true
        },
        {
            "id": "OnkRKjL4Q_s",
            "description": "backup directory",
            "checked": true
        },
        {
            "id": "Xzh3AJfmcZY",
            "description": "log directory",
            "checked": true
        },
        {
            "id": "LVWcSjGiPuU",
            "description": "Temp files",
            "checked": true
        }]
    },
    "unitSettings": {
        "unitsystem": "metric"                
        "lengthunit": "mm",
        "lengthunitformat": "0.01",
        "lengthmeasurementunit": "mm",
        "lengthmeasurementunitformat": "0.01",
        "areaunit": "m2",
        "areaunitformat": "0.01",
        "volumeunit": "m3",
        "volumeunitformat": "0.01",
        "weightunit": "t",
        "weightunitformat": "0.01",                
        "angularunit": "rad",
        "angularunitformat": "0.01"
    },
    "setnotificationSettings": {
        "allowUserSettings": false,
        "notificationSettings": {
            "folders": {
                "instantNotification": true,
                "dailyDigestNotification": true
            },
            "files": {
                "instantNotification": true,
                "dailyDigestNotification": true"activities": [{
                    "instantNotification": true,
                    "dailyDigestNotification": true,
                    "activityName": "FILE_ADD",
                    "activityId": "YeNvyjb6Uz0",
                    "activityNotificationSettingId": "yO5TMPC-w80"
                },
                {
                    "instantNotification": true,
                    "dailyDigestNotification": true,
                    "activityName": "FILE_DELETE",
                    "activityId": "xaklNwOCuJ8",
                    "activityNotificationSettingId": "M0XDDb3yK7o"
                },
                {
                    "instantNotification": true,
                    "dailyDigestNotification": true,
                    "activityName": "FILE_MOVE",
                    "activityId": "zDrfpwQtuyo",
                    "activityNotificationSettingId": "oEgrtCo5dU4"
                }]
            },
            "comments": {
                "activities": [{
                    "instantNotification": false,
                    "dailyDigestNotification": false,
                    "activityName": "COMMENT_ADD",
                    "activityId": "9hzQAI02SOY",
                    "activityNotificationSettingId": "EP3u8N4KfJk"
                }]
            }
        },
        "dailyDigestTimeZone": {
            "dailyDigestTime": "2016-10-01T09:00:00+0530",
            "id": "l60MJv7VptI",
            "label": "(UTC+00:00) Coordinated Universal Time"
        }
    },
    "isTodosRestricted": true,
    "isProjectInviteRestricted": true

}
Response  200

Folders

APIs related to Folder object

TC supports max length of 255 characters for folder names. Names are validated according to OS supported rules, so ones that contain non-printable ascii or with special meaning will be rejected by the API (Ex: “…”, “PRN”, “/”)

Folder Actions

View Folder Details
GET/folders/{folderId}

Parameters
HideShow
folderId
string (required) Example: woC32em2Fb0

ID of the Folder

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": "woC32em2Fb0",
  "name": "Drawings",
  "type": "FOLDER",
  "versionId": "woC32em2Fb0",
  "parentId": "iSbX9QodMq4",
  "parentType": "FOLDER",
  "permission": "FULL_ACCESS",
  "createdBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@trimble.com",
    "status": "ACTIVE"
  },
  "createdOn": "2015-01-21T16:06:09-0800",
  "modifiedOn": "2015-01-21T16:06:09-0800",
  "modifiedBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@trimble.com",
    "status": "ACTIVE"
  },
  "size": 1290,
  "projectId": "DzX0iFRoo8M",
  "hasChildren": false,
  "path": [
    {
      "id": "Dyfw481fE9U",
      "name": "RootFolder",
      "versionId": "Dyfw481fE9U"
    },
    {
      "id": "Wr7epg5aE1o",
      "name": "Drawings",
      "versionId": "yAqbfBXwcow"
    },
    {
      "id": "iSbX9QodMq4",
      "name": "MRN",
      "versionId": "iSbX9QodMq4"
    }
  ],
  "tags": []
}

Update Folder
PATCH/folders/{folderId}

You can use this API to move/rename the Folder.

To move a folder, update the parentId attribute. In case both parentId and name is provided, move will take precedence before rename.

The API also supports If-Match optional header to provide the versionId, so you can verify you are working on the latest version. (applicable for single file upload, ignored for multiple file upload)

If versionId provided in the If-Match header is not latest, error response wiith Response code 412 will be send back to the caller with Errorcode INVALID_HEADER & Error Message: If-Match header value is not latest versionId.

If the If-Match header value is * or header not provided, actions will be performed on the latest version.

Parameters
HideShow
folderId
string (required) Example: q-XKNAhg3Rk

Folder Id to update information for

Request  Rename
HideShow
Headers
Content-Type: application/json
Body
{
  "name": "New Name"
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": "q-XKNAhg3Rk",
  "name": "New Name",
  "type": "FOLDER",
  "versionId": "yMJHAhg389",
  "parentId": "DzX0iFRoo8M",
  "parentType": "FOLDER",
  "permission": "FULL_ACCESS",
  "createdBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@trimble.com",
    "status": "ACTIVE"
  },
  "modifiedBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@trimble.com",
    "status": "ACTIVE"
  },
  "size": 2048,
  "projectId": "LWOf7rirztM",
  "createdOn": "2015-03-18T17:13:00-0700",
  "hasChildren": false,
  "modifiedOn": "2015-03-18T17:13:00-0700",
  "path": [
    {
      "id": "Dyfw481fE9U",
      "name": "RootFolder",
      "versionId": "Dyfw481fE9U"
    },
    {
      "id": "Wr7epg5aE1o",
      "name": "Drawings",
      "versionId": "yAqbfBXwcow"
    },
    {
      "id": "DzX0iFRoo8M",
      "name": "MRN",
      "versionId": "DzX0iFRoo8M"
    }
  ],
  "tags": []
}
Request  Move
HideShow
Headers
Content-Type: application/json
Body
{
  "parentId": "DzX0iFRoo8M"
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": "q-XKNAhg3Rk",
  "name": "New Name",
  "type": "FOLDER",
  "versionId": "yMJHAhg389",
  "parentId": "DzX0iFRoo8M",
  "parentType": "FOLDER",
  "permission": "FULL_ACCESS",
  "createdBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@trimble.com",
    "status": "ACTIVE"
  },
  "modifiedBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@trimble.com",
    "status": "ACTIVE"
  },
  "size": 2048,
  "projectId": "LWOf7rirztM",
  "createdOn": "2015-03-18T17:13:00-0700",
  "modifiedOn": "2015-03-18T17:13:00-0700",
  "path": [
    {
      "id": "Dyfw481fE9U",
      "name": "RootFolder",
      "versionId": "Dyfw481fE9U"
    },
    {
      "id": "Wr7epg5aE1o",
      "name": "Drawings",
      "versionId": "yAqbfBXwcow"
    },
    {
      "id": "DzX0iFRoo8M",
      "name": "MRN",
      "versionId": "DzX0iFRoo8M"
    }
  ],
  "tags": []
}

Delete Folder
DELETE/folders/{folderId}

The API also supports If-Match optional header to provide the versionId, so you can verify you are working on the latest version. (applicable for single file upload, ignored for multiple file upload)

If versionId provided in the If-Match header is not latest, error response wiith Response code 412 will be send back to the caller with Errorcode INVALID_HEADER & Error Message: If-Match header value is not latest versionId.

If the If-Match header value is * or header not provided, actions will be performed on the latest version.

Parameters
HideShow
folderId
string (required) Example: woC32em2Fb0

ID of the Folder.

Response  204

Folder Creation

Create a New Folder
POST/folders

You can create a new Folder using this action. It takes a JSON object containing a parent Identifier and a name, both required.

  • name (string) - The name of the folder

  • parentId (string) - parent folder’s version Id

  • tags (optional) - List of Tags to be linked with folder

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "name": "New Folder",
  "parentId": "DzX0iFRoo8M",
  "tags": [
    {
      "id": "DzX0iFRoo8M"
    },
    {
      "label": "Design"
    },
    {
      "label": "Drawings",
      "description": "Drawings Design"
    }
  ]
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "id": "q-XKNAhg3Rk",
  "name": "New Folder",
  "type": "FOLDER",
  "versionId": "q-XKNAhg3Rk",
  "parentId": "DzX0iFRoo8M",
  "parentType": "FOLDER",
  "permission": "FULL_ACCESS",
  "createdBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@trimble.com",
    "status": "ACTIVE"
  },
  "modifiedBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@trimble.com",
    "status": "ACTIVE"
  },
  "size": 0,
  "projectId": "LWOf7rirztM",
  "createdOn": "2015-03-18T17:13:00-0700",
  "modifiedOn": "2015-03-18T17:13:00-0700",
  "hasChildren": false,
  "path": [
    {
      "id": "Dyfw481fE9U",
      "name": "RootFolder",
      "versionId": "Dyfw481fE9U"
    },
    {
      "id": "Wr7epg5aE1o",
      "name": "Drawings",
      "versionId": "yAqbfBXwcow"
    },
    {
      "id": "DzX0iFRoo8M",
      "name": "MRN",
      "versionId": "DzX0iFRoo8M"
    }
  ],
  "tags": [
    {
      "id": "DzX0iFRoo8M",
      "projectId": "LWOf7rirztM",
      "label": "Architecture",
      "description": "Architecture"
    },
    {
      "id": "ZOZ5u73DIuA",
      "projectId": "LWOf7rirztM",
      "label": "Design",
      "description": "Design"
    },
    {
      "id": "mh4KNDsp3R1",
      "projectId": "LWOf7rirztM",
      "label": "Drawings",
      "description": "Drawings Design"
    }
  ]
}

Folder Items

List Items in a Folder
GET/folders/{folderId}/items

Parameters
HideShow
folderId
string (required) Example: DzX0iFRoo8M

ID of the Folder.

Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "id": "sdXH7RAh3Rk",
    "name": "Folder A",
    "type": "FOLDER",
    "versionId": "sdXH7RAh3Rk",
    "parentId": "DzX0iFRoo8M",
    "parentType": "FOLDER",
    "permission": "FULL_ACCESS",
    "createdBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "johndoe@trimble.com",
      "status": "ACTIVE"
    },
    "modifiedBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "johndoe@trimble.com",
      "status": "ACTIVE"
    },
    "size": 4068,
    "projectId": "LWOf7rirztM",
    "createdOn": "2015-03-18T17:13:00-0700",
    "modifiedOn": "2015-03-18T17:13:00-0700",
    "hasChildren": false,
    "path": [
      {
        "id": "Dyfw481fE9U",
        "name": "RootFolder",
        "versionId": "Dyfw481fE9U"
      },
      {
        "id": "Wr7epg5aE1o",
        "name": "Drawings",
        "versionId": "yAqbfBXwcow"
      },
      {
        "id": "DzX0iFRoo8M",
        "name": "MRN",
        "versionId": "DzX0iFRoo8M"
      }
    ],
    "tags": []
  },
  {
    "id": "gp5qC_VEBOI",
    "name": "FILE A",
    "type": "FILE",
    "versionId": "gp5qC_VEBOI",
    "parentId": "DzX0iFRoo8M",
    "parentType": "FOLDER",
    "createdBy": {
      "id": "x1MasCBTqmU",
      "firstName": "test",
      "lastName": "test",
      "email": "test@trimble.com",
      "status": "ACTIVE"
    },
    "createdOn": "2015-03-18T17:13:00-0700",
    "modifiedOn": "2015-03-18T17:13:00-0700",
    "modifiedBy": {
      "id": "e7ws7d9YquA",
      "firstName": "test",
      "lastName": "test",
      "email": "test@trimble.com",
      "status": "ACTIVE"
    },
    "size": 61049,
    "projectId": "LWOf7rirztM",
    "revision": 1,
    "thumbnailUrl": [
      "https://{baseUrl}/tc/app/files/thumb?id=sdXH7RAh3Rk&fc=REPRESENTATION&projectId=LWOf7rirztM#"
    ],
    "hash": "db59195cf1e48d7a9831cc2964075f9a",
    "status": "DONE",
    "path": [
      {
        "id": "Dyfw481fE9U",
        "name": "RootFolder",
        "versionId": "Dyfw481fE9U"
      },
      {
        "id": "Wr7epg5aE1o",
        "name": "Drawings",
        "versionId": "yAqbfBXwcow"
      },
      {
        "id": "DzX0iFRoo8M",
        "name": "MRN",
        "versionId": "DzX0iFRoo8M"
      }
    ],
    "tags": []
  }
]

Folder Items by path

List Items in a Folder by path
GET/folders/by_path

API returns the list of Folders and Files in the given path in the query parameter

Parameters
HideShow
path
string (required) Example: RootFolder/Drawings/MRN
projectId
string (required) Example: LWOf7rirztM
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "id": "sdXH7RAh3Rk",
    "name": "Folder A",
    "type": "FOLDER",
    "versionId": "sdXH7RAh3Rk",
    "parentId": "DzX0iFRoo8M",
    "parentType": "FOLDER",
    "permission": "FULL_ACCESS",
    "createdBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "johndoe@trimble.com",
      "status": "ACTIVE"
    },
    "modifiedBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "johndoe@trimble.com",
      "status": "ACTIVE"
    },
    "size": 2048,
    "projectId": "LWOf7rirztM",
    "createdOn": "2015-03-18T17:13:00-0700",
    "modifiedOn": "2015-03-18T17:13:00-0700",
    "hasChildren": false,
    "path": [
      {
        "id": "Dyfw481fE9U",
        "name": "RootFolder",
        "versionId": "Dyfw481fE9U"
      },
      {
        "id": "Wr7epg5aE1o",
        "name": "Drawings",
        "versionId": "yAqbfBXwcow"
      },
      {
        "id": "DzX0iFRoo8M",
        "name": "MRN",
        "versionId": "DzX0iFRoo8M"
      }
    ],
    "tags": []
  },
  {
    "id": "gp5qC_VEBOI",
    "name": "FILE A",
    "type": "FILE",
    "versionId": "gp5qC_VEBOI",
    "parentId": "DzX0iFRoo8M",
    "parentType": "FOLDER",
    "createdBy": {
      "id": "x1MasCBTqmU",
      "firstName": "test",
      "lastName": "test",
      "email": "test@trimble.com",
      "status": "ACTIVE"
    },
    "createdOn": "2015-03-18T17:13:00-0700",
    "modifiedOn": "2015-03-18T17:13:00-0700",
    "modifiedBy": {
      "id": "e7ws7d9YquA",
      "firstName": "test",
      "lastName": "test",
      "email": "test@trimble.com",
      "status": "ACTIVE"
    },
    "size": 61049,
    "projectId": "LWOf7rirztM",
    "revision": 1,
    "thumbnailUrl": [
      "https://{baseUrl}/tc/app/files/thumb?id=sdXH7RAh3Rk&fc=REPRESENTATION&projectId=LWOf7rirztM#"
    ],
    "hash": "db59195cf1e48d7a9831cc2964075f9a",
    "status": "DONE",
    "path": [
      {
        "id": "Dyfw481fE9U",
        "name": "RootFolder",
        "versionId": "Dyfw481fE9U"
      },
      {
        "id": "Wr7epg5aE1o",
        "name": "Drawings",
        "versionId": "yAqbfBXwcow"
      },
      {
        "id": "DzX0iFRoo8M",
        "name": "MRN",
        "versionId": "DzX0iFRoo8M"
      }
    ],
    "tags": []
  }
]

Folder Versions

Get versions of a Folder
GET/folders/{folderId}/versions

Parameters
HideShow
folderId
string (required) Example: q-XKNAhg3Rk

ID of the Folder.

Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "id": "q-XKNAhg3Rk",
    "name": "Folder A",
    "type": "FOLDER",
    "versionId": "sdXH7RAh3Rk",
    "parentId": "DzX0iFRoo8M",
    "parentType": "FOLDER",
    "permission": "FULL_ACCESS",
    "createdBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "johndoe@trimble.com",
      "status": "ACTIVE"
    },
    "modifiedBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "johndoe@trimble.com",
      "status": "ACTIVE"
    },
    "size": 2048,
    "projectId": "LWOf7rirztM",
    "createdOn": "2015-03-16T17:13:00-0700",
    "modifiedOn": "2015-03-18T17:13:00-0700",
    "hasChildren": false,
    "path": [
      {
        "id": "Dyfw481fE9U",
        "name": "RootFolder",
        "versionId": "Dyfw481fE9U"
      },
      {
        "id": "Wr7epg5aE1o",
        "name": "Drawings",
        "versionId": "yAqbfBXwcow"
      },
      {
        "id": "DzX0iFRoo8M",
        "name": "MRN",
        "versionId": "DzX0iFRoo8M"
      }
    ],
    "tags": []
  },
  {
    "id": "q-XKNAhg3Rk",
    "name": "Folder B",
    "type": "FOLDER",
    "versionId": "q-XKNAhg3Rk",
    "parentId": "DzX0iFRoo8M",
    "parentType": "FOLDER",
    "permission": "FULL_ACCESS",
    "createdBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "johndoe@trimble.com",
      "status": "ACTIVE"
    },
    "modifiedBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "johndoe@trimble.com",
      "status": "ACTIVE"
    },
    "size": 1024,
    "projectId": "LWOf7rirztM",
    "createdOn": "2015-03-16T17:13:00-0700",
    "modifiedOn": "2015-03-18T17:13:00-0700",
    "hasChildren": false,
    "path": [
      {
        "id": "Dyfw481fE9U",
        "name": "RootFolder",
        "versionId": "Dyfw481fE9U"
      },
      {
        "id": "Wr7epg5aE1o",
        "name": "Drawings",
        "versionId": "yAqbfBXwcow"
      },
      {
        "id": "DzX0iFRoo8M",
        "name": "MRN",
        "versionId": "DzX0iFRoo8M"
      }
    ],
    "tags": []
  }
]

Folder Permissions

Get Folder Permissions
GET/folders/{folderId}/permissions

This API gives a list of Permissions that are applied to a given folder

Parameters
HideShow
folderId
string (required) Example: woC32em2Fb0
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "defaultPermission": "FULL_ACCESS",
  "permissions": [
    {
      "id": ":cu2mUJnneTc",
      "type": "USER",
      "name": "John Doe",
      "permission": "READ"
    },
    {
      "id": ":ZI5ok9YONOQ",
      "type": "GROUP",
      "name": "Group MEP",
      "permission": "NO_ACCESS"
    }
  ]
}

Add a New Folder Permission
POST/folders/{folderId}/permissions

This API allows to create a new folder Permission for users/groups. If any permissions exist for any users/group, they are removed (reset) and permissions provided in request body are applied. It can also be used to reset the default permission. It takes optional cascade field to add permissions on subfolders recursively. You can specify the versionId in the If-Match header to validate you are working off the latest version of the folder.

This API takes a default permission, propagation flag and a list of Permissions. Each permission has following fields:

  • id (id of User or Group)

  • type

  • permission

The API also supports If-Match optional header to provide the versionId, so you can verify you are working on the latest version. (applicable for single file upload, ignored for multiple file upload)

If versionId provided in the If-Match header is not latest, error response wiith Response code 412 will be send back to the caller with Errorcode INVALID_HEADER & Error Message: If-Match header value is not latest versionId.

If the If-Match header value is * or header not provided, actions will be performed on the latest version.

Parameters
HideShow
folderId
string (required) Example: woC32em2Fb0
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "defaultPermission": "FULL_ACCESS",
  "cascade": "true",
  "permissions": [
    {
      "id": "0Z-OMo67VtY",
      "type": "USER",
      "permission": "READ"
    },
    {
      "id": "swO2L9AqeT0",
      "type": "GROUP",
      "permission": "NO_ACCESS"
    }
  ]
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "defaultPermission": "FULL_ACCESS",
  "permissions": [
    {
      "id": "0Z-OMo67VtY",
      "type": "USER",
      "name": "John Doe",
      "permission": "READ"
    },
    {
      "id": "swO2L9AqeT0",
      "type": "GROUP",
      "name": "Group MEP",
      "permission": "NO_ACCESS"
    }
  ]
}

Update existing Folder Permission
PATCH/folders/{folderId}/permissions

This API allows to update existing folder Permissions or add permissions for new users/groups. It can also be used to reset the default permission. It takes optional cascade field to update permissions on subfolders recursively. You can specify the versionId in the If-Match header to validate you are working off the latest version of the folder. This API takes default permission, propagation flag and a list of Permissions. Each permission has following fields:

  • id (id of User or Group)

  • type

  • permission

The API also supports If-Match optional header to provide the versionId, so you can verify you are working on the latest version. (applicable for single file upload, ignored for multiple file upload)

If versionId provided in the If-Match header is not latest, error response wiith Response code 412 will be send back to the caller with Errorcode INVALID_HEADER & Error Message: If-Match header value is not latest versionId.

If the If-Match header value is * or header not provided, actions will be performed on the latest version.

Parameters
HideShow
folderId
string (required) Example: woC32em2Fb0
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "defaultPermission": "FULL_ACCESS",
  "cascade": "true",
  "permissions": [
    {
      "id": "0Z-OMo67VtY",
      "type": "USER",
      "permission": "READ"
    },
    {
      "id": "swO2L9AqeT0",
      "type": "GROUP",
      "permission": "NO_ACCESS"
    }
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "defaultPermission": "FULL_ACCESS",
  "permissions": [
    {
      "id": "0Z-OMo67VtY",
      "type": "USER",
      "name": "John Doe",
      "permission": "READ"
    },
    {
      "id": "swO2L9AqeT0",
      "type": "GROUP",
      "name": "Group MEP",
      "permission": "NO_ACCESS"
    }
  ]
}

Remove any existing Folder Permission
DELETE/folders/{folderId}/permissions

This API allows to removes specified given permission to given user/group and recomputes permission for actor based on user roles and default permission. It takes optional cascade field to delete permissions on subfolders recursively. You can specify the versionId in the If-Match header to validate you are working off the latest version of the folder.

This API takes propagation flag and a list of Permissions, each permission has following fields

  • id (id of User or Group)

  • type

The API also supports If-Match optional header to provide the versionId, so you can verify you are working on the latest version. (applicable for single file upload, ignored for multiple file upload)

If versionId provided in the If-Match header is not latest, error response wiith Response code 412 will be send back to the caller with Errorcode INVALID_HEADER & Error Message: If-Match header value is not latest versionId.

If the If-Match header value is * or header not provided, actions will be performed on the latest version.

Parameters
HideShow
folderId
string (required) Example: woC32em2Fb0
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "cascade": "true",
  "permissions": [
    {
      "id": "0Z-OMo67VtY",
      "type": "USER"
    },
    {
      "id": "swO2L9AqeT0",
      "type": "GROUP"
    }
  ]
}
Response  204

Files

APIs related to Files are described in this section

TC supports max length of 255 characters for file names. Names are validated according to OS supported rules, so ones that contain non-printable ascii or with special meaning will be rejected by the API (Ex: “…”, “PRN”, “/”)

File Actions

View File Details
GET/files/{fileId}

This API will fetch the latest version details for the given file Id.

To fetch a specific version information, optional query parameter versionId can be specified.

Parameters
HideShow
fileId
string (required) Example: q-XKNAhg3Rk

ID of the file

versionId
string (optional) Example: woC32em2Fb0

specific version Id you need information for

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": "q-XKNAhg3Rk",
  "name": "LA.ifc",
  "type": "FILE",
  "versionId": "woC32em2Fb0",
  "parentId": "DzX0iFRoo8M",
  "parentType": "FOLDER",
  "createdBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@trimble.com",
    "status": "ACTIVE"
  },
  "modifiedBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@trimble.com",
    "status": "ACTIVE"
  },
  "thumbnailUrl": [
    "https://{baseUrl}/tc/app/files/thumb?id=oa9D0Rs64xk&fc=REPRESENTATION&projectId=LWOf7rirztM#"
  ],
  "size": 2048,
  "projectId": "LWOf7rirztM",
  "processingNofitySet": false,
  "createdOn": "2015-03-18T17:13:00-0700",
  "modifiedOn": "2015-03-20T17:13:00-0700",
  "checkedOutBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@trimble.com",
    "status": "ACTIVE"
  },
  "checkedOutOn": "2015-03-18T17:13:00-0700",
  "hash": "930f0083b7b5226cd4294e716331c7d6",
  "revision": "2",
  "status": "DONE",
  "path": [
    {
      "id": "Dyfw481fE9U",
      "name": "RootFolder",
      "versionId": "Dyfw481fE9U"
    },
    {
      "id": "Wr7epg5aE1o",
      "name": "Drawings",
      "versionId": "yAqbfBXwcow"
    },
    {
      "id": "DzX0iFRoo8M",
      "name": "MRN",
      "versionId": "DzX0iFRoo8M"
    }
  ],
  "tags": [],
  "trianglesCount": 10674
}

Update File Details
PATCH/files/{fileId}

You can rename the file using this API. To move the file, change the parentId to the id of the destination folder.

In case both parentId and name is provided, move will take precedence before rename.

The API also supports If-Match optional header to provide the versionId, so you can verify you are working on the latest version.

If versionId provided in the If-Match header is not latest, error response wiith Response code 412 will be send back to the caller with Errorcode INVALID_HEADER & Error Message: If-Match header value is not latest versionId.

If the If-Match header value is * or header not provided, actions will be performed on the latest version.

Parameters
HideShow
fileId
string (required) Example: q-XKNAhg3Rk

ID of the File

Request  Rename
HideShow
Headers
Content-Type: application/json
Body
{
  "name": "LA.ifc"
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": "q-XKNAhg3Rk",
  "name": "LA.ifc",
  "type": "FILE",
  "versionId": "woC32em2Fb0",
  "parentId": "DzX0iFRoo8M",
  "parentType": "FOLDER",
  "createdBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@trimble.com",
    "status": "ACTIVE"
  },
  "modifiedBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@trimble.com",
    "status": "ACTIVE"
  },
  "thumbnailUrl": [
    "https://{baseUrl}/tc/app/files/thumb?id=oa9D0Rs64xk&fc=REPRESENTATION&projectId=LWOf7rirztM#"
  ],
  "size": 2048,
  "projectId": "LWOf7rirztM",
  "processingNofitySet": false,
  "createdOn": "2015-03-18T17:13:00-0700",
  "modifiedOn": "2015-03-20T17:13:00-0700",
  "checkedOutBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@trimble.com",
    "status": "ACTIVE"
  },
  "checkedOutOn": "2015-03-18T17:13:00-0700",
  "hash": "930f0083b7b5226cd4294e716331c7d6",
  "revision": "2",
  "status": "DONE",
  "path": [
    {
      "id": "Dyfw481fE9U",
      "name": "RootFolder",
      "versionId": "Dyfw481fE9U"
    },
    {
      "id": "Wr7epg5aE1o",
      "name": "Drawings",
      "versionId": "yAqbfBXwcow"
    },
    {
      "id": "DzX0iFRoo8M",
      "name": "MRN",
      "versionId": "DzX0iFRoo8M"
    }
  ],
  "tags": [],
  "trianglesCount": 10674
}
Request  Move
HideShow
Headers
Content-Type: application/json
Body
{
  "parentId": "DzX0iFRoo8M"
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": "q-XKNAhg3Rk",
  "name": "LA.ifc",
  "type": "FILE",
  "versionId": "woC32em2Fb0",
  "parentId": "DzX0iFRoo8M",
  "parentType": "FOLDER",
  "createdBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@trimble.com",
    "status": "ACTIVE"
  },
  "modifiedBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@trimble.com",
    "status": "ACTIVE"
  },
  "thumbnailUrl": [
    "https://{baseUrl}/tc/app/files/thumb?id=oa9D0Rs64xk&fc=REPRESENTATION&projectId=LWOf7rirztM#"
  ],
  "size": 2048,
  "projectId": "LWOf7rirztM",
  "processingNofitySet": false,
  "createdOn": "2015-03-18T17:13:00-0700",
  "modifiedOn": "2015-03-20T17:13:00-0700",
  "checkedOutBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@trimble.com",
    "status": "ACTIVE"
  },
  "checkedOutOn": "2015-03-18T17:13:00-0700",
  "hash": "930f0083b7b5226cd4294e716331c7d6",
  "revision": "2",
  "status": "DONE",
  "path": [
    {
      "id": "Dyfw481fE9U",
      "name": "RootFolder",
      "versionId": "Dyfw481fE9U"
    },
    {
      "id": "Wr7epg5aE1o",
      "name": "Drawings",
      "versionId": "yAqbfBXwcow"
    },
    {
      "id": "DzX0iFRoo8M",
      "name": "MRN",
      "versionId": "DzX0iFRoo8M"
    }
  ],
  "tags": [],
  "trianglesCount": 10674
}
Request  Email notification for file processing complete
HideShow
Headers
Content-Type: application/json
Body
{
  "processingNofitySet": true
}
Response  200
HideShow
Body
{
  "id": "q-XKNAhg3Rk",
  "name": "LA.ifc",
  "type": "FILE",
  "versionId": "woC32em2Fb0",
  "parentId": "DzX0iFRoo8M",
  "parentType": "FOLDER",
  "createdBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@trimble.com",
    "status": "ACTIVE"
  },
  "modifiedBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@trimble.com",
    "status": "ACTIVE"
  },
  "thumbnailUrl": [
    "https://{baseUrl}/tc/app/files/thumb?id=oa9D0Rs64xk&fc=REPRESENTATION&projectId=LWOf7rirztM#"
  ],
  "size": 2048,
  "projectId": "LWOf7rirztM",
  "processingNofitySet": true,
  "createdOn": "2015-03-18T17:13:00-0700",
  "modifiedOn": "2015-03-20T17:13:00-0700",
  "checkedOutBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@trimble.com",
    "status": "ACTIVE"
  },
  "checkedOutOn": "2015-03-18T17:13:00-0700",
  "hash": "930f0083b7b5226cd4294e716331c7d6",
  "revision": "2",
  "status": "DONE",
  "path": [
    {
      "id": "Dyfw481fE9U",
      "name": "RootFolder",
      "versionId": "Dyfw481fE9U"
    },
    {
      "id": "Wr7epg5aE1o",
      "name": "Drawings",
      "versionId": "yAqbfBXwcow"
    },
    {
      "id": "DzX0iFRoo8M",
      "name": "MRN",
      "versionId": "DzX0iFRoo8M"
    }
  ],
  "tags": [],
  "trianglesCount": 10674
}

Delete File
DELETE/files/{fileId}

The API also supports If-Match optional header to provide the versionId, so you can verify you are working on the latest version. (applicable for single file upload, ignored for multiple file upload)

If versionId provided in the If-Match header is not latest, error response wiith Response code 412 will be send back to the caller with Errorcode INVALID_HEADER & Error Message: If-Match header value is not latest versionId.

If the If-Match header value is * or header not provided, actions will be performed on the latest version.

Parameters
HideShow
fileId
string (required) Example: q-XKNAhg3Rk

ID of the file

Response  204

Checkout File

Checkout File
POST/files/{fileId}/checkout

You can checkout (lock) a file using this API

Parameters
HideShow
fileId
string (required) Example: q-XKNAhg3Rk

ID of the file

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": "q-XKNAhg3Rk",
  "name": "LA.ifc",
  "type": "FILE",
  "versionId": "woC32em2Fb0",
  "parentId": "DzX0iFRoo8M",
  "parentType": "FOLDER",
  "createdBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@trimble.com",
    "status": "ACTIVE"
  },
  "modifiedBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@trimble.com",
    "status": "ACTIVE"
  },
  "thumbnailUrl": [
    "https://{baseUrl}/tc/app/files/thumb?id=oa9D0Rs64xk&fc=REPRESENTATION&projectId=LWOf7rirztM#"
  ],
  "size": 2048,
  "projectId": "LWOf7rirztM",
  "processingNofitySet": false,
  "createdOn": "2015-03-18T17:13:00-0700",
  "modifiedOn": "2015-03-20T17:13:00-0700",
  "checkedOutBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@trimble.com",
    "status": "ACTIVE"
  },
  "checkedOutOn": "2015-03-18T17:13:00-0700",
  "hash": "930f0083b7b5226cd4294e716331c7d6",
  "revision": "2",
  "status": "DONE",
  "path": [
    {
      "id": "Dyfw481fE9U",
      "name": "RootFolder",
      "versionId": "Dyfw481fE9U"
    },
    {
      "id": "Wr7epg5aE1o",
      "name": "Drawings",
      "versionId": "yAqbfBXwcow"
    },
    {
      "id": "DzX0iFRoo8M",
      "name": "MRN",
      "versionId": "DzX0iFRoo8M"
    }
  ],
  "tags": [],
  "trianglesCount": 10674
}

Checkin File

Checkin File
POST/files/{fileId}/checkin

You can checkin (release lock) on a file using this API, so its available for others to update

Parameters
HideShow
fileId
string (required) Example: q-XKNAhg3Rk

ID of the file

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": "q-XKNAhg3Rk",
  "name": "LA.ifc",
  "type": "FILE",
  "versionId": "woC32em2Fb0",
  "parentId": "DzX0iFRoo8M",
  "parentType": "FOLDER",
  "createdBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@trimble.com",
    "status": "ACTIVE"
  },
  "modifiedBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@trimble.com",
    "status": "ACTIVE"
  },
  "thumbnailUrl": [
    "https://{baseUrl}/tc/app/files/thumb?id=oa9D0Rs64xk&fc=REPRESENTATION&projectId=LWOf7rirztM#"
  ],
  "size": 2048,
  "projectId": "LWOf7rirztM",
  "createdOn": "2015-03-18T17:13:00-0700",
  "modifiedOn": "2015-03-18T17:13:00-0700",
  "hash": "930f0083b7b5226cd4294e716331c7d6",
  "revision": "2",
  "status": "DONE",
  "path": [
    {
      "id": "Dyfw481fE9U",
      "name": "RootFolder",
      "versionId": "Dyfw481fE9U"
    },
    {
      "id": "Wr7epg5aE1o",
      "name": "Drawings",
      "versionId": "yAqbfBXwcow"
    },
    {
      "id": "DzX0iFRoo8M",
      "name": "MRN",
      "versionId": "DzX0iFRoo8M"
    }
  ],
  "tags": []
}

Upload File

Upload File
POST/files

You can upload multiple files using this action. You can use same API to upload new versions of the file.

The API also supports If-Match optional header to provide the versionId, so you can verify you are working on the latest version. (applicable for single file upload, ignored for multiple file upload)

If versionId provided in the If-Match header is not latest, error response wiith Response code 412 will be send back to the caller with Errorcode INVALID_HEADER & Error Message: If-Match header value is not latest versionId.

If the If-Match header value is * or header not provided, actions will be performed on the latest version.

Parameters
HideShow
parentId
string (required) Example: DzX0iFRoo8M

Id of the parent folder to upload file(s) to or TodoId/CommentId to attach the new file to

parentType
string (optional) Example: FOLDER

Type of the parent. Default value:FOLDER. Supported values : FOLDER, TODO, COMMENT.

  • provide parentType as FOLDER to upload file to the given folder.

  • provide parentType as TODO to attach the file to the Todo.

  • provide parentType as COMMENT to attach the file to the Comment.

tagIds
string (optional) Example: DzX0iFRoo8M,mh4KNDsp3R1

comma seperated Ids of existing tag in project

tagLabels
string (optional) Example: Architecture,Design

comma seperated tag label.

Response  201
HideShow
Body
Response for parentType as FOLDER  
 [
    {
        "id": "mh4KNDsp3R1",
        "name": "LALive.ifc",
        "type": "FILE",
        "versionId": "mh4KNDsp3R1",
        "parentId": "DzX0iFRoo8M",
        "parentType" : "FOLDER",
        "createdBy": {
            "id": "Dyfw481fE9U",
            "firstName": "John",
            "lastName": "Doe",
            "email": "johndoe@trimble.com",
            "status": "ACTIVE"
        },
        "modifiedBy": {
            "id": "Dyfw481fE9U",
            "firstName": "John",
            "lastName": "Doe",
            "email": "johndoe@trimble.com",
            "status": "ACTIVE"
        },
        "thumbnailUrl": ["https://{baseUrl}/tc/app/files/thumb?id=oa9D0Rs64xk&fc=REPRESENTATION&projectId=LWOf7rirztM#"],
        "size": 2048,
        "projectId": "LWOf7rirztM",
        "createdOn": "2015-03-18T17:13:00-0700",
        "modifiedOn": "2015-03-18T17:13:00-0700",
        "hash": "930f0083b7b5226cd4294e716331c7d6",
        "revision": "1",
        "status": "DONE",
        "path": [{
            "id": "Dyfw481fE9U",
            "name": "RootFolder",
            "versionId": "Dyfw481fE9U"
        },
        {
            "id": "Wr7epg5aE1o",
            "name": "Drawings",
            "versionId": "yAqbfBXwcow"
        },
        {
            "id": "DzX0iFRoo8M",
            "name": "MRN",
            "versionId": "DzX0iFRoo8M"
        }],
        "tags": [{
            "id": "DzX0iFRoo8M",
            "projectId": "LWOf7rirztM",
            "label": "Architecture",
            "description": "Architecture"
        },
        {
            "id": "ZOZ5u73DIuA",
            "projectId": "LWOf7rirztM",
            "label": "Design",
            "description": "Design"
        },
        {
            "id": "mh4KNDsp3R1",
            "projectId": "LWOf7rirztM",
            "label": "Drawings",
            "description": "Drawings Design"
        }]
    },
    {
        "id": "q-XKNAhg3Rk",
        "name": "MCG.ifc",
        "type": "FILE",
        "versionId": "q-XKNAhg3Rk",
        "parentId": "DzX0iFRoo8M",
        "parentType" : "FOLDER",
        "createdBy": {
            "id": "Dyfw481fE9U",
            "firstName": "John",
            "lastName": "Doe",
            "email": "johndoe@trimble.com",
            "status": "ACTIVE"
        },
        "thumbnailUrl": ["https://{baseUrl}/tc/app/files/thumb?id=3r9X0as64qk&fc=REPRESENTATION&projectId=LWOf7rirztM#"],
        "modifiedBy": {
            "id": "Dyfw481fE9U",
            "firstName": "John",
            "lastName": "Doe",
            "email": "johndoe@trimble.com",
            "status": "ACTIVE"
        },
        "size": 2048,
        "projectId": "LWOf7rirztM",
        "createdOn": "2015-03-18T17:13:00-0700",
        "modifiedOn": "2015-03-18T17:13:00-0700",
        "hash": "230f0013b7n2126cdv894ee35331cv56",
        "revision": "1",
        "status": "DONE",
        "path": [{
            "id": "Dyfw481fE9U",
            "name": "RootFolder",
            "versionId": "Dyfw481fE9U"
        },
        {
            "id": "Wr7epg5aE1o",
            "name": "Drawings",
            "versionId": "yAqbfBXwcow"
        },
        {
            "id": "DzX0iFRoo8M",
            "name": "MRN",
            "versionId": "DzX0iFRoo8M"
        }],
        "tags": [{
            "id": "DzX0iFRoo8M",
            "projectId": "LWOf7rirztM",
            "label": "Architecture",
            "description": "Architecture"
        },
        {
            "id": "ZOZ5u73DIuA",
            "projectId": "LWOf7rirztM",
            "label": "Design",
            "description": "Design"
        },
        {
            "id": "mh4KNDsp3R1",
            "projectId": "LWOf7rirztM",
            "label": "Drawings",
            "description": "Drawings Design"
        }]
    }
]
Response for parentType as TODO 
  [
    {
        "id": "q-XKNAhg3Rk",
        "name": "LA.ifc",
        "type": "FILE",
        "versionId": "woC32em2Fb0",
        "parentId": "DzX0iFRoo8M",
        "parentType" : "TODO",
        "createdBy": {
            "id": "Dyfw481fE9U",
            "firstName": "John",
            "lastName": "Doe",
            "email": "johndoe@trimble.com",
            "status": "ACTIVE"
        },
        "modifiedBy": {
            "id": "Dyfw481fE9U",
            "firstName": "John",
            "lastName": "Doe",
            "email": "johndoe@trimble.com",
            "status": "ACTIVE"
        },
        "thumbnailUrl": ["https://{baseUrl}/tc/app/files/thumb?id=oa9D0Rs64xk&fc=REPRESENTATION&projectId=LWOf7rirztM#"],
        "size": 2048,
        "projectId": "LWOf7rirztM",
        "createdOn": "2015-03-18T17:13:00-0700",
        "modifiedOn": "2015-03-20T17:13:00-0700",
        "hash": "930f0083b7b5226cd4294e716331c7d6",
        "revision": "2",
        "status": "DONE"
    }
]
Response for parentType as COMMENT 
 [
    {
        "id": "q-XKNAhg3Rk",
        "name": "LA.ifc",
        "type": "FILE",
        "versionId": "q-XKNAhg3Rk",
        "parentId": "DzX0iFRoo8M",
        "parentType" : "COMMENT",
        "createdBy": {
            "id": "Dyfw481fE9U",
            "firstName": "John",
            "lastName": "Doe",
            "email": "johndoe@trimble.com",
            "status": "ACTIVE"
        },
        "modifiedBy": {
            "id": "Dyfw481fE9U",
            "firstName": "John",
            "lastName": "Doe",
            "email": "johndoe@trimble.com",
            "status": "ACTIVE"
        },
        "thumbnailUrl": ["https://{baseUrl}/tc/app/files/thumb?id=oa9D0Rs64xk&fc=REPRESENTATION&projectId=LWOf7rirztM#"],
        "size": 2048,
        "projectId": "LWOf7rirztM",
        "createdOn": "2015-03-18T17:13:00-0700",
        "modifiedOn": "2015-03-20T17:13:00-0700",
        "hash": "930f0083b7b5226cd4294e716331c7d6",
        "revision": "1",
        "status": "DONE"
    }
]

Create File from existing

Create File from existing
POST/files

Creates a copy of the file from existing file.

Parameters
HideShow
fromFileVersionId
string (required) Example: q-XKNAhg3Rk

Version ID of the File which has to be copied.

parentId
string (required) Example: p-XKNAhg3Rk

ID of the parent where the file to be copied.

parentType
string (optional) Example: FOLDER

Type of the parent where the file is to be copied. Default is FOLDER, supported values [FOLDER]

copyMetaData
boolean (optional) Example: false

If true, copies the metadata info [revision no, createdBy, modifiedBy, createdOn, modifiedOn]

mergeExisting
boolean (optional) Example: false

If true, and a file exists with the same name in target folder, will override the existing file as a new revision. Both copyMetaData and mergeExisting cannot be true.

Request
HideShow
Headers
Content-Type: application/json
Body
{        
    "fromFileVersionId" : "q-XKNAhg3Rk",
    "parentId" : "DzX0iFRoo8M",
    "parentType" : "FOLDER",
    "copyMetaData" : true,
    "mergeExisting" : false,
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "id": "q-XKNAhg3Rk",
  "name": "LA.ifc",
  "type": "FILE",
  "versionId": "woC32em2Fb0",
  "parentId": "DzX0iFRoo8M",
  "parentType": "FOLDER",
  "createdBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@trimble.com",
    "status": "ACTIVE"
  },
  "modifiedBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@trimble.com",
    "status": "ACTIVE"
  },
  "thumbnailUrl": [
    "https://{baseUrl}/tc/app/files/thumb?id=oa9D0Rs64xk&fc=REPRESENTATION&projectId=LWOf7rirztM#"
  ],
  "size": 2048,
  "projectId": "LWOf7rirztM",
  "processingNofitySet": false,
  "createdOn": "2015-03-18T17:13:00-0700",
  "modifiedOn": "2015-03-20T17:13:00-0700",
  "checkedOutBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@trimble.com",
    "status": "ACTIVE"
  },
  "checkedOutOn": "2015-03-18T17:13:00-0700",
  "hash": "930f0083b7b5226cd4294e716331c7d6",
  "revision": "2",
  "status": "DONE",
  "path": [
    {
      "id": "Dyfw481fE9U",
      "name": "RootFolder",
      "versionId": "Dyfw481fE9U"
    },
    {
      "id": "Wr7epg5aE1o",
      "name": "Drawings",
      "versionId": "yAqbfBXwcow"
    },
    {
      "id": "DzX0iFRoo8M",
      "name": "MRN",
      "versionId": "DzX0iFRoo8M"
    }
  ],
  "tags": [],
  "trianglesCount": 10674
}

Download File

Download File
GET/files/{fileId}/content

You can download a single file using this action.

The API also supports If-Match optional header to provide the versionId, so you can verify you are working on the latest version.

If versionId provided in the If-Match header is not latest, error response wiith Response code 412 will be send back to the caller with Errorcode INVALID_HEADER & Error Message: If-Match header value is not latest versionId.

If the If-Match header value is * or header not provided, actions will be performed on the latest version.

Parameters
HideShow
fileId
string (required) Example: woC32em2Fb0

ID of the file

versionId
string (optional) Example: sdXH7RAh3Rk

specific version you need to download

format
string (optional) Example: f3d

format generated by TC you need to download. Currently, we support ‘f3d’,‘bsq’,‘xml’,‘property’,‘propertyset’.

part
int (optional) Example: 1

downloads specific part of the file. If part number not specified, and if the file has one or more parts / chunks, then entire file including all parts / chunks will be downloaded as one file.

Response  200

File Versions

Get versions of a File
GET/files/{fileId}/versions

Parameters
HideShow
fileId
string (required) Example: q-XKNAhg3Rk

ID of the file

Response  206
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "id": "q-XKNAhg3Rk",
    "name": "File A",
    "type": "FILE",
    "versionId": "sdXH7RAh3Rk",
    "parentId": "DzX0iFRoo8M",
    "parentType": "FOLDER",
    "createdBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "johndoe@trimble.com",
      "status": "ACTIVE"
    },
    "modifiedBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "johndoe@trimble.com",
      "status": "ACTIVE"
    },
    "thumbnailUrl": [
      "https://{baseUrl}/tc/app/files/thumb?id=sdXH7RAh3Rk&fc=REPRESENTATION&projectId=LWOf7rirztM#"
    ],
    "size": 2048,
    "projectId": "LWOf7rirztM",
    "createdOn": "2015-03-18T17:13:00-0700",
    "modifiedOn": "2015-04-18T17:11:00-0700",
    "hash": "930f0083b7b5226cd4294e716331c7d6",
    "revision": "2",
    "status": "DONE",
    "path": [
      {
        "id": "Dyfw481fE9U",
        "name": "RootFolder",
        "versionId": "Dyfw481fE9U"
      },
      {
        "id": "Wr7epg5aE1o",
        "name": "Drawings",
        "versionId": "yAqbfBXwcow"
      },
      {
        "id": "DzX0iFRoo8M",
        "name": "MRN",
        "versionId": "DzX0iFRoo8M"
      }
    ],
    "tags": []
  },
  {
    "id": "q-XKNAhg3Rk",
    "name": "File A",
    "type": "FILE",
    "versionId": "q-XKNAhg3Rk",
    "parentId": "DzX0iFRoo8M",
    "parentType": "FOLDER",
    "createdBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "johndoe@trimble.com",
      "status": "ACTIVE"
    },
    "modifiedBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "johndoe@trimble.com",
      "status": "ACTIVE"
    },
    "thumbnailUrl": [
      "https://{baseUrl}/tc/app/files/thumb?id=q-XKNAhg3Rk&fc=REPRESENTATION&projectId=LWOf7rirztM#"
    ],
    "size": 1128,
    "projectId": "LWOf7rirztM",
    "createdOn": "2015-03-16T17:13:00-0700",
    "modifiedOn": "2015-03-18T17:13:00-0700",
    "hash": "881x0793b7b14n76cd4294e7163vfg321",
    "revision": "1",
    "status": "DONE",
    "path": [
      {
        "id": "Dyfw481fE9U",
        "name": "RootFolder",
        "versionId": "Dyfw481fE9U"
      },
      {
        "id": "Wr7epg5aE1o",
        "name": "Drawings",
        "versionId": "yAqbfBXwcow"
      },
      {
        "id": "DzX0iFRoo8M",
        "name": "MRN",
        "versionId": "DzX0iFRoo8M"
      }
    ],
    "tags": []
  }
]

File Status

Get processing status of a File
GET/files/{fileId}/status

Returns the format processing status for 2D and 3D files. The valid return values are integer from 0 to 100, negative values indicate processing error.

Supported formats are ifc, ifczip, 3dm, obj, skp, fbx, rvt, dwg, dxf, dgn, 3ds, stp, step, iges, igs, stl, doc, docx, xls, xlsx, rtf, txt, ppt, pptx, pdf, jpg, jpeg, gif, png, bmp, jpg, jpeg, gif, png, tif and tiff.

Parameters
HideShow
fileId
string (required) Example: woC32em2Fb0

ID of the file

versionId
string (optional) Example: sdXH7RAh3Rk

specific version you need status on.

format
string (optional) Example: pdf

processing status of a specific format.

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "status": 100
}

List Supported File Formats

List Supported 2D, 3D & Spatial file formats
GET/files/formats

API to list supported 2D, 3D & spatial file formats.

Parameters
HideShow
fileType
string (optional) Example: 2d

Supported File Types to be returned (Supported Values : 2d, 3d, spatial. By default API will return all supported file formats.)

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "extensions3D": [
    "ifc",
    "ifczip",
    "3dm",
    "obj",
    "skp",
    "fbx",
    "dwg",
    "dxf",
    "dgn",
    "3ds",
    "stp",
    "step",
    "iges",
    "igs",
    "stl",
    "rvt",
    "xml",
    "ifcxml",
    "tczip"
  ],
  "extensions2D": [
    "doc",
    "docx",
    "xls",
    "xlsx",
    "rtf",
    "txt",
    "ppt",
    "pptx",
    "pdf",
    "jpg",
    "jpeg",
    "gif",
    "png",
    "tif",
    "tiff",
    "bmp",
    "bcfzip",
    "jpg",
    "jpeg",
    "gif",
    "png",
    "tif",
    "tiff",
    "bmp",
    "jpg",
    "jpeg",
    "gif",
    "png",
    "tif",
    "tiff",
    "bmp"
  ],
  "extensionsSpatial": [
    "vce",
    "shp",
    "zip",
    "kml",
    "kmz",
    "vca",
    "job",
    "jxl",
    "gdb"
  ]
}

Model BIM objects

List Model BIM objects
GET/files/{fileId}/bim_objects

Returns a list of object ids and source ids for a model. This ids are internal ids that uniquely identify the objects in the server, and the src_ids are identifiers extracted from model file.

Parameters
HideShow
fileId
string (required) Example: woC32em2Fb0

ID of the file

versionId
string (optional) Example: sdXH7RAh3Rk

specific version you want to retrieve ids from

IsInternal
boolean (optional) Example: false

specific the type of ids to retrieve. Default to (false) model file ids.

Response  200
HideShow
Headers
Content-Type: application/json
Body
[
    {
        "fileId": "PdtcatZR260",
        "objects": [
            {id : "{604B0817-4C79-4CAB-BD11-91382DC6A8C0}", src_id : "{2690EDBD-E5B3-481E-A20F-DDC28D3509FB}"},        
            {id : "{348488C9-93A8-4604-936C-DAC9A2EE1B0A}", src_id : "{C1E1152D-EEFA-4212-B1D4-410AEE4FBD5C}"},
            {id : "{6AF306F4-7D1D-4E0F-95A3-394E7E2C81C2}", src_id : "{8281FA42-D56E-4F8C-907A-BAD15EA05F36}"},
            {id : "{0EEE8C3F-E1E8-4464-BF4A-DFE9A1E3E90F}", src_id : "{7B86ADFD-E29C-4BB6-B46C-F7170107EAD0}"},
            {id : "{9ADDCD20-482E-4917-A3E9-FD63B030FE34}", src_id : "{D270D6B7-6B9A-47E3-BBC6-3D3D8A6A8A78}"},
            {id : "{768B8635-1FA5-4799-9154-B675708165F0}", src_id : "{ED00A5EC-27B7-4311-B304-1DD2374252E9}"},
            {id : "{B06029E3-488A-4625-95D6-344E457F5BAD}", src_id : "{49A7007A-8F95-4AB7-90EF-5DB611F2D35C}"},
            {id : "{66290EAA-284A-44DB-802D-7AB7BFE04295}", src_id : "{1C2CD942-EB09-4745-9FA0-CD0F08CD618A}"}
        ]
    }
]

Model Tree

Get Model Tree
GET/files/{fileId}/modeltree

The API returns the model tree structure as a json. If versionId is not provided, it will return the model tree for the latest version.

Parameters
HideShow
fileId
string (required) Example: gyermoi8s09

ID of the file

versionId
string (optional) Example: sdXH7RAh3Rk

specific version you want to retrieve tree for

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
    "fileId": "gyermoi8s09",
    "versionId": "sdXH7RAh3Rk",
    "sourceId": "ef817a47-f77f-4ffb-b371-a4b49e7d14fc",
    "name": "C:\Documents and Settings\timothyp\Desktop\Tierra_on_Ashley_STRUC.ifc",
    "type": "Project",
    "discipline": "",
    "children": [{
        "id": "9d7106e4-9e4e-498c-8730-c5410c5fdedb",
        "sourceId": "9d7106e4-9e4e-498c-8730-c5410c5fdedb",
        "name": "Default",
        "type": "Site",
        "discipline": "",
        "children": [{
            "id": "9806ad41-64de-41fe-afff-5185972d5eed",
            "sourceId": "hngtyhyu78s54h92",
            "name": "",
            "type": "Building",
            "discipline": "",
            "children": [{
                "id": "5dacbb50-aa13-4deb-9405-78b89fe6a2ec",
                "sourceId": "hngtyhyu78s54h92",
                "name": "ROOF",
                "type": "BuildingStorey",
                "discipline": "",
                "children": [{
                    "id": "5f03c9ec-3f83-4384-bb14-d140726ebe9f",
                    "sourceId": "hngtyhyu78s54h92",
                    "name": "Slabs",
                    "type": "SlabSet",
                    "discipline": "AS",
                    "children": [{
                        "id": "e8b99f73-d114-4689-a070-04b86684d9bd",
                        "sourceId": "hngtyhyu78s54h92",
                        "name": "Floor:Floor Slab - 0'' 8\":104424",
                        "type": "Slab",
                        "discipline": "AS"
                    },
                    {
                        "id": "50b24601-8084-479e-ab8e-b0829ea7998e",
                        "sourceId": "hngtyhyu78s54h92",
                        "name": "Floor:Floor Slab - 0'' 8\":104306",
                        "type": "Slab",
                        "discipline": "AS"
                    },
                    {
                        "id": "e134cb38-4c40-4df5-a65d-3aab25db0aca",
                        "sourceId": "hngtyhyu78s54h92",
                        "name": "Floor:Floor Slab - 0'' 8\":104317",
                        "type": "Slab",
                        "discipline": "AS"
                    },
                    {
                        "id": "270b3f8f-9a0e-4bc9-8c30-28ff3c917ff0",
                        "sourceId": "hngtyhyu78s54h92",
                        "name": "WallStandardCases",
                        "type": "WallStandardCaseSet",
                        "discipline": "AS",
                        "children": [{
                            "id": "6b42a695-a257-4736-ad84-be84e525063f",
                            "sourceId": "hngtyhyu78s54h92",
                            "name": "Basic Wall:Concrete Wall - 0'' 10\":111491",
                            "type": "WallStandardCase",
                            "discipline": "AS"
                        },
                        {
                            "id": "9121958a-c94d-44b9-b9d6-0f694380553e",
                            "sourceId": "hngtyhyu78s54h92",
                            "name": "Basic Wall:Concrete Wall - 0'' 10\":111486",
                            "type": "WallStandardCase",
                            "discipline": "AS"
                        },
                        {
                            "id": "9e089a91-ad1d-41c8-9ccc-0589ff30029a",
                            "sourceId": "hngtyhyu78s54h92",
                            "name": "Doors",
                            "type": "DoorSet",
                            "discipline": "AS",
                            "children": [{
                                "id": "d4f7d7c5-7cf4-4cc0-84d8-365cfe762621",
                                "sourceId": "hngtyhyu78s54h92",
                                "name": "Single-Flush:3'':3'':111510",
                                "type": "Door",
                                "discipline": "AS"
                            }]
                        }]
                    }]
                }]
            },
            {
                "id": "76098b67-867e-41fc-8980-001d98a728b2",
                "sourceId": "hngtyhyu78s54h92",
                "name": "FIFTH FLOOR",
                "type": "BuildingStorey",
                "discipline": "",
                "children": [{
                    "id": "11a826d5-4470-4191-bf53-a212ce481ece",
                    "sourceId": "hngtyhyu78s54h92",
                    "name": "Stairs",
                    "type": "StairSet",
                    "discipline": "AS",
                    "children": [{
                        "id": "57dec4e1-84c7-4612-b657-face1f38a51d",
                        "sourceId": "hngtyhyu78s54h92",
                        "name": "Stair:Monolithic Stair 8:103746",
                        "type": "Stair",
                        "discipline": "AS"
                    },
                    {
                        "id": "1fb2e9cc-6961-441c-bfe2-cd50a4c03dd2",
                        "sourceId": "hngtyhyu78s54h92",
                        "name": "Stair:Monolithic Stair 5:103178",
                        "type": "Stair",
                        "discipline": "AS"
                    },
                    {
                        "id": "8b40d698-59c2-4712-bb47-8320ae97c087",
                        "sourceId": "hngtyhyu78s54h92",
                        "name": "Slabs",
                        "type": "SlabSet",
                        "discipline": "AS",
                        "children": [{
                            "id": "893f1073-c118-4d59-bb29-8dc7370904fa",
                            "sourceId": "hngtyhyu78s54h92",
                            "name": "Floor:Floor Slab - 0'' 8\":102836",
                            "type": "Slab",
                            "discipline": "AS"
                        },
                        {
                            "id": "2d15e856-9bf2-404e-9f35-79e5ec78f4ec",
                            "sourceId": "hngtyhyu78s54h92",
                            "name": "WallStandardCases",
                            "type": "WallStandardCaseSet",
                            "discipline": "AS",
                            "children": [{
                                "id": "3228898c-ab7d-434f-ae7d-22af68c2ffec",
                                "sourceId": "hngtyhyu78s54h92",
                                "name": "Basic Wall:Concrete Wall - 0'' 10\":111486",
                                "type": "WallStandardCase",
                                "discipline": "AS"
                            },
                            {
                                "id": "0e7fc58a-fba1-4517-a552-b456e23001e2",
                                "sourceId": "hngtyhyu78s54h92",
                                "name": "Doors",
                                "type": "DoorSet",
                                "discipline": "AS",
                                "children": [{
                                    "id": "f0cbd8bc-61d6-4a24-b150-b15ae1ca2ec2",
                                    "sourceId": "hngtyhyu78s54h92",
                                    "name": "Wooden Door:Metal Door  3'' 4\":Metal Door  3'' 4\":111533",
                                    "type": "Door",
                                    "discipline": "AS"
                                },
                                {
                                    "id": "9f84fe9b-eb06-45fd-a771-f139fd8bfe25",
                                    "sourceId": "hngtyhyu78s54h92",
                                    "name": "Wooden Door:Metal Door  3'' 4\":Metal Door  3'' 4\":109270",
                                    "type": "Door",
                                    "discipline": "AS"
                                }]
                            }]
                        }]
                    }]
                }]
            }
        }]
    }]
}
 API related to Export Files in a project.

Files Export Request Creation

Create a new export request
POST/files/export

This API is used to create export request for files in a project.

Parameters
HideShow
projectId
string (required) Example: woC32em2Fb0

Id of the project.

Request
HideShow
Headers
Content-Type: application/json
Body
[
     “QMinkc0wCvs”,
    “0BLkVRlfA7A”
  ]
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": "tJ2lDVMEiOY",
  "projectId": "MmpytDCiOQM",
  "status": "PENDING"
}

Files Export Actions

View export details
GET/files/export/{exportId}

API to fetch details of the export activities.

Parameters
HideShow
exportId
string (required) 

Export ID for which the details are required.

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
    "id": "tJ2lDVMEiOY",
    "projectId": "MmpytDCiOQM",
    "status": "DONE"
    "downloadUrl": "http://app.connect.trimble.com:8081/tc/api/2.0/excel/tJ2lDVMEiOY",
}

Alignment Actions

Create Alignment
PUT/files/{fileId}/alignment

Create or update an alignment for a given file. It is assumed that the vectors axis and refDirection are orthonormal. Response will be HTTP 200 (updated) or 201 (created)

Parameters
HideShow
fileId
string (required) Example: woC32em2Fb0

ID of the file

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "locationX": 2.099834975747,
  "locationY": 2.099834975747,
  "locationZ": 2.099834975747,
  "axisX": 0,
  "axisY": 0,
  "axisZ": -1,
  "refDirectionX": 0.3333,
  "refDirectionY": 0.3333,
  "refDirectionZ": 0,
  "scale": 1
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
    "id": "zAd4luogV_0",
    "locationX": 2.099834975747,
    "locationY": 2.099834975747,
    "locationZ": 2.099834975747,
    "axisX": 0,
    "axisY": 0,
    "axisZ": -1,
    "refDirectionX": 0.3333,
    "refDirectionY": 0.3333,
    "refDirectionZ": 0.0,
    "scale": 1.0"versionId": "UvhdK46wmYk",
    "fileId": "3fUKKEUtqwA",
    "createdOn": "2015-06-11T16:39:35-0700",
    "modifiedOn": "2015-06-11T16:39:35-0700",
    "createdBy": {
        "id": "OnkRKjL4Q_s",
        "firstName": "John",
        "lastName": "doe",
        "email": "jdoe@gt-global.com",
        "status": "ACTIVE"
    },
    "modifiedBy": {
        "id": "OnkRKjL4Q_s",
        "firstName": "John",
        "lastName": "Doe",
        "email": "jdoe@gt-global.com",
        "status": "ACTIVE"
    }
}

Get alignment
GET/files/{fileId}/alignment

Get the alignment for a given file.

Parameters
HideShow
fileId
string (required) Example: woC32em2Fb0

ID of the file

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
    "id": "zAd4luogV_0",
    "locationX": 2.099834975747,
    "locationY": 2.099834975747,
    "locationZ": 2.099834975747,
    "axisX": 0,
    "axisY": 0,
    "axisZ": -1,
    "refDirectionX": 0.3333,
    "refDirectionY": 0.3333,
    "refDirectionZ": 0.0,
    "scale": 1.0"versionId": "UvhdK46wmYk",
    "fileId": "3fUKKEUtqwA",
    "createdOn": "2015-06-11T16:39:35-0700",
    "modifiedOn": "2015-06-11T16:39:35-0700",
    "createdBy": {
        "id": "OnkRKjL4Q_s",
        "firstName": "John",
        "lastName": "doe",
        "email": "jdoe@gt-global.com",
        "status": "ACTIVE"
    },
    "modifiedBy": {
        "id": "OnkRKjL4Q_s",
        "firstName": "John",
        "lastName": "Doe",
        "email": "jdoe@gt-global.com",
        "status": "ACTIVE"
    }
}

Delete alignment
DELETE/files/{fileId}/alignment

Remove alignment associated with a file. If the If-Match header is presented for a given file version, only alignment associated with that version is removed, otherwise alignments for all version removed.

Parameters
HideShow
fileId
string (required) Example: woC32em2Fb0

ID of the file

Response  204

Alignment Action with Matrix

Create alignment with matrix
POST/files/{fileId}/alignment/matrix

Create or update an alignment for a given file. This api is deprecated.

Parameters
HideShow
fileId
string (required) Example: woC32em2Fb0

ID of the file

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "matrix": [
    1.4142135623730951,
    0.7071067811865476,
    0,
    0,
    0.7071067811865476,
    -1.4142135623730951,
    0,
    0,
    0,
    0,
    -2,
    0,
    10,
    10,
    10,
    1
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": "M4CImf4yexY",
  "matrix": [
    1.4142135623730951,
    0.7071067811865476,
    0,
    0,
    0.7071067811865476,
    -1.4142135623730951,
    0,
    0,
    0,
    0,
    -2,
    0,
    10,
    10,
    10,
    1
  ],
  "fileId": "3fUKKEUtqwA",
  "versionId": "gMEPK3lQSCk",
  "createdOn": "2015-06-18T15:14:44-0700",
  "modifiedOn": "2015-06-18T15:14:44-0700",
  "createdBy": {
    "id": "OnkRKjL4Q_s",
    "firstName": "John",
    "lastName": "Doe",
    "email": "jdoe@gt-global.com",
    "status": "ACTIVE"
  },
  "modifiedBy": {
    "id": "OnkRKjL4Q_s",
    "firstName": "John",
    "lastName": "Doe",
    "email": "jdoe@gt-global.com",
    "status": "ACTIVE"
  }
}

Groups

APIs related to Group object

TC supports max length of 255 characters for group names. Names are validated according to OS supported rules, so ones that contain non-printable ascii or with special meaning will be rejected by the API (Ex: “…”, “PRN”, “/”)

Group Creation

Create a New Group
POST/groups

You can create a new group using this action. You need to provide a project id in which the group should be created and group name

Parameters
HideShow
name
string (required) 

The name of the group

projectId
string (required) 

Project id

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "name": "Architects",
  "projectId": "gpawjqdNjLU"
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "id": "VM3-jryt3hU",
  "name": "Architects",
  "projectId": "gpawjqdNjLU",
  "createdBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "jdoe@trimble.com",
    "status": "ACTIVE"
  },
  "modifiedBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "jdoe@trimble.com",
    "status": "ACTIVE"
  },
  "createdOn": "2016-02-09T17:49:19-0800",
  "modifiedOn": "2016-02-09T17:49:19-0800"
}

Group Actions

View Group Details
GET/groups/{groupId}

Get the details of a group.

Parameters
HideShow
groupId
string (required) Example: VM3-jryt3hU

ID of the group.

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": "VM3-jryt3hU",
  "name": "Architects",
  "projectId": "gpawjqdNjLU",
  "createdBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "jdoe@trimble.com",
    "status": "ACTIVE"
  },
  "modifiedBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "jdoe@trimble.com",
    "status": "ACTIVE"
  },
  "createdOn": "2016-02-09T17:49:19-0800",
  "modifiedOn": "2016-02-09T17:49:49-0800"
}

Rename Group
PATCH/groups/{groupId}

You can use this API to rename the Group.

Parameters
HideShow
groupId
string (required) Example: VM3-jryt3hU

GroupId of the group to be renamed.

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "name": "Architects"
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": "VM3-jryt3hU",
  "name": "Architects",
  "projectId": "gpawjqdNjLU",
  "createdBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "jdoe@trimble.com",
    "status": "ACTIVE"
  },
  "modifiedBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "jdoe@trimble.com",
    "status": "ACTIVE"
  },
  "createdOn": "2016-02-09T17:49:19-0800",
  "modifiedOn": "2016-02-09T17:49:49-0800"
}

Delete Group
DELETE/groups/{groupId}

You can use this API to delete a Group.

Parameters
HideShow
groupId
string (required) Example: VM3-jryt3hU

GroupId of the group to be renamed.

Response  204

List Groups in a project

List Groups in a project
GET/groups

Parameters
HideShow
projectId
string (required) Example: gpawjqdNjLU

ID of the project to get the groups.

Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "id": "wwwwEet4ZuY",
    "name": "Structure Engineers",
    "projectId": "gpawjqdNjLU",
    "createdBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "jdoe@trimble.com",
      "status": "ACTIVE"
    },
    "modifiedBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "jdoe@trimble.com",
      "status": "ACTIVE"
    },
    "createdOn": "2015-11-17T11:39:40-0800",
    "modifiedOn": "2016-02-09T17:34:23-0800"
  },
  {
    "id": "VM3-jryt3hU",
    "name": "Architects",
    "projectId": "gpawjqdNjLU",
    "createdBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "jdoe@trimble.com",
      "status": "ACTIVE"
    },
    "modifiedBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "jdoe@trimble.com",
      "status": "ACTIVE"
    },
    "createdOn": "2016-02-09T17:49:19-0800",
    "modifiedOn": "2016-02-09T17:49:49-0800"
  }
]

Group Membership

List Users in a Group
GET/groups/{groupId}/users

API returns the list of Users in the given groupId. Only Active and Pending users will be displayed. Removed users will not be listed.

Parameters
HideShow
groupId
string (required) Example: VM3-jryt3hU
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "jdoe@trimble.com",
    "status": "ACTIVE",
    "skypeId": "jdoe1419",
    "linkedinId": "jdoe1419"
  },
  {
    "id": "T2P8S-tqF7s",
    "firstName": "mdoe",
    "lastName": "",
    "email": "mdoe@trimble.com",
    "status": "PENDING"
  }
]

Group Membership Actions

Add users to group
POST/groups/{groupId}/users

Use this API to add users to an existing group

Parameters
HideShow
groupId
string (required) Example: VM3-jryt3hU

ID of the group.

Request
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "id": "Dyfw481fE9U"
  },
  {
    "id": "T2P8S-tqF7s"
  }
]
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "jdoe@trimble.com",
    "status": "ACTIVE",
    "skypeId": "jdoe1419",
    "linkedinId": "jdoe1419"
  },
  {
    "id": "T2P8S-tqF7s",
    "firstName": "mdoe",
    "lastName": "",
    "email": "mdoe@trimble.com",
    "status": "PENDING"
  }
]

Delete users from group
DELETE/groups/{groupId}/users

Use this API to remove users from an existing group

Parameters
HideShow
groupId
string (required) Example: VM3-jryt3hU

ID of the group.

Request
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "id": "Dyfw481fE9U"
  },
  {
    "id": "T2P8S-tqF7s"
  }
]
Response  204

Users

APIs related to Users are described in this section

Users Actions

View User Details
GET/users/{userId}

Parameters
HideShow
userId
string (required) Example: me, EP3u8N4KfJk

me or ID of the user.

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
    "id": "EP3u8N4KfJk",
    "firstName": "test",
    "lastName": "user",
    "email": "testuser@trimble.com",
    "status": "ACTIVE",
    "timeZone": "(UTC-09:00) Alaska",
    "language": "en-us",
    "title": "software Engineer",
    "skypeId": "test",
    "linkedinId": "test",
    "phone": "+0019890567865",
    "podLocation": "northAmerica",
    "viewerBackground": {
        "r": 20,
        "g": 40,
        "b": 50,
        "a": 10
    },
    "company": {
        "id": "Xzh3AJfmcZY",
        "name": "Trimble",
        "website": "www.trimble.com",
        "domains": ["gehrytech.com",
        "trimble.com"],
        "image": "/tc/app/files/thumb?id=Xzh3AJfmcZY&fc=COMPANYIMG#?1440510954000",
        "createdOn": "2016-03-31T10:06:10+0000"
    },
    "companies": [{
        "id": "1rNbvWZv3pk",
        "name": "FreeAccount",
        "website": "mailinator.com",
        "domains": ["trimble.com"],
        "image": "/tc/ng-static/styles/img/trimbleconnect_header.svg",
        "createdOn": "2016-07-22T06:26:27+0000",
        "role": "USER",
        "modifiedOn": "2017-02-07T13:46:18+0000",
        "createdBy": {
            "id": "fy1je8BvLQw",
            "firstName": "ConnectEcom",
            "lastName": "AutoTest",
            "email": "connectecomtest_tivfh@mailinator.com",
            "status": "ACTIVE"
        },
        "modifiedBy": {
            "id": "fy1je8BvLQw",
            "firstName": "ConnectEcom",
            "lastName": "AutoTest",
            "email": "connectecomtest_tivfh@mailinator.com",
            "status": "ACTIVE"
        }
    },
    {
        "id": "e3oI5Xjlb1U",
        "name": "Another_Test_Company",
        "website": "testcompany.com",
        "image": "/tc/ng-static/styles/img/trimbleconnect_header.svg",
        "createdOn": "2017-01-24T08:12:59+0000",
        "role": "ADMIN",
        "modifiedOn": "2017-02-07T13:46:18+0000",
        "createdBy": {
            "id": "vGxx_WPD1G0",
            "firstName": "David",
            "lastName": "Joe",
            "email": "djoe@trimble.com",
            "status": "ACTIVE"
        },
        "modifiedBy": {
            "id": "vGxx_WPD1G0",
            "firstName": "David",
            "lastName": "Joe",
            "email": "djoe@trimble.com",
            "status": "ACTIVE"
        }
    }
}

Update User Details
PATCH/users/{userId}

This API allows you to update the following properties of the User Details:

  • timeZone

  • language

  • phone

  • podLocation

  • viewerBackground

Supported values for language : [en-us,da-dk,de-de,es-es,fi-fi,fr-fr,it-it,ja-jp,ko-kr,nb-bo,nl-nl,pt-br,ru-ru,sv-se,zh-hans,zh-hant]

Refer to object representation for details on these fields

Parameters
HideShow
userId
string (required) Example: me, EP3u8N4KfJk

id of the user.

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "language": "en-us"
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
    "id": "EP3u8N4KfJk",
    "firstName": "test",
    "lastName": "user",
    "email": "testuser@trimble.com",
    "status": "ACTIVE",
    "timeZone": "(UTC-09:00) Alaska",
    "language": "en-us",
    "title": "software Engineer",
    "skypeId": "test",
    "linkedinId": "test",
    "phone": "+0019890567865",
    "podLocation": "northAmerica",
    "viewerBackground": {
        "r": 20,
        "g": 40,
        "b": 50,
        "a": 10
    },
    "company": {
        "id": "Xzh3AJfmcZY",
        "name": "Trimble",
        "website": "www.trimble.com",
        "domains": ["gehrytech.com",
        "trimble.com"],
        "image": "/tc/app/files/thumb?id=Xzh3AJfmcZY&fc=COMPANYIMG#?1440510954000",
        "createdOn": "2016-03-31T10:06:10+0000"
    },
    "companies": [{
        "id": "1rNbvWZv3pk",
        "name": "FreeAccount",
        "website": "mailinator.com",
        "domains": ["trimble.com"],
        "image": "/tc/ng-static/styles/img/trimbleconnect_header.svg",
        "createdOn": "2016-07-22T06:26:27+0000",
        "role": "USER",
        "modifiedOn": "2017-02-07T13:46:18+0000",
        "createdBy": {
            "id": "fy1je8BvLQw",
            "firstName": "ConnectEcom",
            "lastName": "AutoTest",
            "email": "connectecomtest_tivfh@mailinator.com",
            "status": "ACTIVE"
        },
        "modifiedBy": {
            "id": "fy1je8BvLQw",
            "firstName": "ConnectEcom",
            "lastName": "AutoTest",
            "email": "connectecomtest_tivfh@mailinator.com",
            "status": "ACTIVE"
        }
    },
    {
        "id": "e3oI5Xjlb1U",
        "name": "Another_Test_Company",
        "website": "testcompany.com",
        "image": "/tc/ng-static/styles/img/trimbleconnect_header.svg",
        "createdOn": "2017-01-24T08:12:59+0000",
        "role": "ADMIN",
        "modifiedOn": "2017-02-07T13:46:18+0000",
        "createdBy": {
            "id": "vGxx_WPD1G0",
            "firstName": "David",
            "lastName": "Joe",
            "email": "djoe@trimble.com",
            "status": "ACTIVE"
        },
        "modifiedBy": {
            "id": "vGxx_WPD1G0",
            "firstName": "David",
            "lastName": "Joe",
            "email": "djoe@trimble.com",
            "status": "ACTIVE"
        }
    }
}

Languages

List All Supported Languages
GET/users/languages

Response is an array of all available Languages supported by Trimble Connect.

Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  "English",
  "German"
]

Timezones

List All Available Timezones
GET/users/timezones

Response is an array of all available Timezones supported by Trimble Connect.

Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  "(UTC-09:00) Alaska",
  "(UTC-08:00) Pacific Time(US & Canada)"
]

User Licenses

List User Licenses
GET/users/licenses

API to fetch licenses for a user

Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "id": "fcbc7382-97f7-497c-a3ef-cfdc3aa502f0",
    "orgName": "Trimble",
    "maxProjects": 10,
    "maxStorage": 99999,
    "maxInvites": 99999,
    "mrp": true,
    "maxUsers": 99999,
    "maxForms": 99999,
    "usedProjects": 5,
    "usedStorage": 499
  }
]

Releases

APIs related to Releases are described in this section

TC supports max length of 255 characters for release names. Names are validated according to OS supported rules, so ones that contain non-printable ascii or with special meaning will be rejected by the API (Ex: “…”, “PRN”, “/”)

Release Actions

View Release Details
GET/releases/{releaseId}

Parameters
HideShow
releaseId
string (required) Example: JsPh2jD3PFo

ID of the Release

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": "JsPh2jD3PFo",
  "name": "MEPRelease",
  "status": "OPEN",
  "projectId": "Dyfw481fE9U",
  "dueDate": "2015-07-30T00:00:00+0000",
  "notes": "Added notes",
  "createdOn": "2015-07-25T18:30:00-0000",
  "createdBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@trimble.com",
    "status": "ACTIVE"
  },
  "modifiedOn": "2015-07-20T18:30:00-0000",
  "modifiedBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@trimble.com",
    "status": "ACTIVE"
  }
}

Edit Release
PATCH/releases/{releaseId}

This API allows you to update the following properties of the Release:

  • name

  • dueDate

  • notes

  • recipients

  • status

To send the release to recipients, the status property has to be set as “SENT” in the request body.

Refer to object representation for details on these fields

Parameters
HideShow
releaseId
string (required) Example: JsPh2jD3PFo

ID of the Release

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "recipients": [
    {
      "id": "eX9gwJqSe8I",
      "type": "USER"
    }
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": "JsPh2jD3PFo",
  "name": "MEPRelease",
  "status": "OPEN",
  "projectId": "Dyfw481fE9U",
  "dueDate": "2015-07-30T00:00:00+0000",
  "notes": "Added notes",
  "createdOn": "2015-07-25T18:30:00-0000",
  "createdBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@trimble.com",
    "status": "ACTIVE"
  },
  "modifiedOn": "2015-07-20T18:30:00-0000",
  "modifiedBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@trimble.com",
    "status": "ACTIVE"
  }
}

Delete Release
DELETE/releases/{releaseId}

API to delete a release

Parameters
HideShow
releaseId
string (required) Example: JsPh2jD3PFo

ID of the Release.

Response  204

Release Creation

Create a New Release
POST/releases

API to create a new Release.

  • name (string) - Name of the release

  • dueDate (timestamp) - Due date for the release

  • projectId (string) - Project Identifier

Following fields can be optionally specified while creating the release:

  • notes (string) - notes for the release

  • recipients (array of users/groups) - recipients of the release

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "name": "MEPRelease",
  "dueDate": "2015-07-30T23:20:39+0000",
  "projectId": "Dyfw481fE9U",
  "notes": "Added notes"
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "id": "JsPh2jD3PFo",
  "name": "MEPRelease",
  "status": "OPEN",
  "projectId": "Dyfw481fE9U",
  "dueDate": "2015-07-30T00:00:00+0000",
  "notes": "Added notes",
  "createdOn": "2015-07-25T18:30:00-0000",
  "createdBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@trimble.com",
    "status": "ACTIVE"
  },
  "modifiedOn": "2015-07-20T18:30:00-0000",
  "modifiedBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@trimble.com",
    "status": "ACTIVE"
  }
}

List Releases

List all Releases
GET/releases

This API will fetch all the releases for the project. To fetch specific release status the optional status query parameter can be used.

Parameters
HideShow
projectId
string (required) Example: Dyfw481fE9U

ID of the Project

status
string (optional) Example: open

status of the release

Response  206
HideShow
Headers
Content-Type: application/json
Body
[
    {
        "id":"JsPh2jD3PFo",
        "name":"MEPRelease",
        "status":"OPEN",
        "projectId":"Dyfw481fE9U",
        "dueDate":"2015-07-30T00:00:00+0000",
        "notes":"Added notes",
        "createdBy":{
            "id": "Dyfw481fE9U",
            "firstName": "John",
            "lastName": "Doe",
            "email": "johndoe@trimble.com",
            "status": "ACTIVE"
        },
        "modifiedOn":"2015-07-20T18:30:00-0000",
        "modifiedBy": {
            "id": "Dyfw481fE9U",
            "firstName": "John",
            "lastName": "Doe",
            "email": "johndoe@trimble.com",
            "status": "ACTIVE"
        }
        "createdOn":"2015-07-25T18:30:00-0000"
    }
]

Release Files

List all files
GET/releases/{releaseId}/files

This API returns a list of files for the Release

Parameters
HideShow
releaseId
string (required) Example: JsPh2jD3PFo

ID of the Release

Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "id": "gu97ClRewyE",
    "name": "ChatLog TC Sprint Meeting 2015_04_10 11_24.rtf",
    "type": "FILE",
    "modifiedOn": "2015-07-08T21:39:44+0530",
    "modifiedBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "johndoe@trimble.com",
      "status": "ACTIVE"
    },
    "revision": "1"
  }
]

Add files
POST/releases/{releaseId}/files

You can add files using this API to Release.

Parameters
HideShow
releaseId
string (required) Example: JsPh2jD3PFo

ID of the Release

id
string (required) Example: woC32em2Fb0

ID of the attachment

type
string (required) Example: FILE

Type of attachment

Request
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "id": "gu97ClRewyE",
    "type": "FILE"
  }
]
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "id": "gu97ClRewyE",
    "name": "ChatLog TC Sprint Meeting 2015_04_10 11_24.rtf",
    "type": "FILE",
    "versionId": "gu97ClRewyE",
    "modifiedOn": "2015-07-08T21:39:44+0530",
    "modifiedBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "johndoe@trimble.com",
      "status": "ACTIVE"
    },
    "thumbnailUrl": "https://{{baseUrl}}/tc/app/files/thumb?id=gu97ClRewyE&fc=REPRESENTATION&projectId=Dyfw481fE9U#",
    "revision": "1"
  }
]

Remove files
DELETE/releases/{releaseId}/files

You can remove files from release using this API.

Parameters
HideShow
releaseId
string (required) Example: JsPh2jD3PFo

ID of the Release

id
string (required) Example: woC32em2Fb0

ID of the attachment

type
string (required) Example: FILE

Type of attachment

Request
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "id": "woC32em2Fb0",
    "type": "FILE"
  }
]
Response  204

Download files in release

Download files in release
POST/releases/downloadFiles

You can download the file versions associated to a release. List of versionIds should be passed in the request. If multiple file versions passed in the request body, the output will be zip file format. If no versions passed in the request body (i.e empty array), all file versions associated to the release will be downloaded

Parameters
HideShow
releaseId
string (required) 
Request
HideShow
Headers
Content-Type: application/json
Body
[
  "0BLkVRlfA7A",
  "MGeRiPYn-QI"
]
Response  200
HideShow
Headers
Content-Type: application/octet-stream

Shares

APIs related to Sharing Data are described in this section

Share Actions

View Share Details
GET/shares/{shareId}

Parameters
HideShow
shareId
string (required) Example: JsPh2jD3PFo

ID of the Share

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
    "id":"JsPh2jD3PFo",
    "mode":"PROJECT_USERS",
    "expiryDate":"2015-07-25T18:30:00-0000",
    "projectId":"Dyfw481fE9U",
    "notify" : [
         {
          "id": "MACVE9C2IIw",
          "type": "USER"
        },
        {
          "id": "GU_oo192R5M",
          "type": "GROUP"
        }
        ],
    "message" : "Check these files please",
    "objects" : [
                {
                    "id": "woC32em2Fb0",
                    "type": "FILE",
                    "useLatestVersion" : true,
                  },
                {
                    "id": "coCfr1evFbs",
                    "type": "FILE"
                  }
            ],
    "permission" : "DOWNLOAD",            
    "createdOn":"2015-07-25T18:30:00-0000",         
    "createdBy":{
           "id": "Dyfw481fE9U",
         "firstName": "John",
         "lastName": "Doe",
         "email": "johndoe@gt-global.com",
         "status": "ACTIVE"
    },
    "modifiedOn":"2015-07-20T18:30:00-0000",
    "modifiedBy": {
         "id": "Dyfw481fE9U",
         "firstName": "John",
         "lastName": "Doe",
         "email": "johndoe@gt-global.com",
         "status": "ACTIVE"
   }                                
}

Edit Share
PATCH/shares/{shareId}

Depending on mode, for “PROJECT_USERS”, valid values for “notify” object’s “type” field are [‘USER’, ‘GROUP’], and for other two modes, valid type is “EMAIL” (with “id” being the actual email address)

For Objects array, in case of FILE object type, user can specify optional “useLatestVersion” boolean field. Defaults to “true”.

For “PROJECT_USERS” mode, “expiryDate”, “permission”, and “useLatestVersion” are defaulted and cannot be specified in the API. The defaults are:

  • expiryDate : never

  • permission : DOWNLOAD

  • useLatestVersion : TRUE

This API allows you to update the following properties of the Share:

  • mode (optional, string, PUBLIC) … Sharing mode [Valid values : ‘PROJECT_USERS’, ‘REGISTERED_USERS’, ‘PUBLIC’]

  • expiryDate (optional, timestamp, 2017-01-26T16:33:49-0800) … Expiry date for the Shared link

  • permission (optional, string, VIEW) … Sharing permission [Valid values are ‘VIEW’, ‘DOWNLOAD’]

  • notify (optional, array of objects, [{ "id" : "7zpaQqEEiR8", "type" : "USER" }]) … Users/Groups to share with [Valid values : ‘USER’, ‘GROUP’, ‘EMAIL’]

  • message (optional, string, sample note) … Message to be sent as part of email notification (Limit - 1024 characters)

  • objects (optional, array of objects, [{ "id" : "CXSNUuANPZA", "type" : "FILE", "useLatestVersion" : "true" }]) … Objects to Share, with fields “id” and “type” [Valid values : ‘FILE’]

Refer to object representation for details on these fields

Parameters
HideShow
shareId
string (required) Example: JsPh2jD3PFo

ID of the Share

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "mode": "PUBLIC",
  "expiryDate": "2017-02-18T11:42:14-0800",
  "permission": "VIEW",
  "notify": [
    {
      "id": "az2@mailinator.com",
      "type": "EMAIL"
    }
  ],
  "message": "Updated msg",
  "objects": [
    {
      "id": "EdLprWxy9Xw",
      "type": "FILE",
      "useLatestVersion": true
    },
    {
      "id": "p3t50J8_jY8",
      "type": "FILE",
      "useLatestVersion": true
    }
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
    "id":"JsPh2jD3PFo",
    "mode":"PROJECT_USERS",
    "expiryDate":"2015-07-25T18:30:00-0000",
    "projectId":"Dyfw481fE9U",
    "notify" : [
         {
          "id": "MACVE9C2IIw",
          "type": "USER"
        },
        {
          "id": "GU_oo192R5M",
          "type": "GROUP"
        }
        ],
    "message" : "Check these files please",
    "objects" : [
                {
                    "id": "woC32em2Fb0",
                    "type": "FILE",
                    "useLatestVersion" : true,
                  },
                {
                    "id": "coCfr1evFbs",
                    "type": "FILE"
                  }
            ],
    "permission" : "DOWNLOAD",            
    "createdOn":"2015-07-25T18:30:00-0000",         
    "createdBy":{
           "id": "Dyfw481fE9U",
         "firstName": "John",
         "lastName": "Doe",
         "email": "johndoe@gt-global.com",
         "status": "ACTIVE"
    },
    "modifiedOn":"2015-07-20T18:30:00-0000",
    "modifiedBy": {
         "id": "Dyfw481fE9U",
         "firstName": "John",
         "lastName": "Doe",
         "email": "johndoe@gt-global.com",
         "status": "ACTIVE"
   }                                
}

Delete Share
DELETE/shares/{shareId}

This API will allow you to revoke the share. Shared URLs will be invalidated.

Parameters
HideShow
shareId
string (required) Example: JsPh2jD3PFo

ID of the Share.

Response  204

Share Creation

Create a New Share
POST/shares

You may create a new Share using this action.

Depending on mode, for “PROJECT_USERS”, valid values for “notify” object’s “type” field are [‘USER’, ‘GROUP’], and for other two modes, valid type is “EMAIL” (with “id” being the actual email address)

For Objects array, in case of FILE object type, user can specify optional “useLatestVersion” boolean field. Defaults to “true”.

For “PROJECT_USERS” mode, “expiryDate”, “permission”, and “useLatestVersion” are defaulted and cannot be specified in the API. The defaults are:

  • expiryDate : never

  • permission : DOWNLOAD

  • useLatestVersion : TRUE

Parameters
HideShow
mode
string (required) Example: PUBLIC

Sharing mode [Valid values : ‘PROJECT_USERS’, ‘REGISTERED_USERS’, ‘PUBLIC’]

projectId
string (required) Example: 4hblYp-uhAk

Project Identifier

objects
array of objects (required) Example: [{ "id" : "CXSNUuANPZA", "type" : "FILE" }]

Objects to Share, with fields “id” and “type” [Valid values : ‘FILE’]

expiryDate
timestamp (optional) Example: 2017-01-26T16:33:49-0800

Expiry date for the Shared link

permission
string (optional) Example: VIEW

Sharing permission [Valid values are ‘VIEW’, ‘DOWNLOAD’]

notify
array of objects (optional) Example: [{ "id" : "7zpaQqEEiR8", "type" : "USER" }]

Users/Groups to share with [Valid values : ‘USER’, ‘GROUP’, ‘EMAIL’]

message
string (optional) Example: sample note

Message to be sent as part of email notification (Limit - 1024 characters)

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "mode": "PUBLIC",
  "projectId": "qGTOoxEOXFE",
  "objects": [
    {
      "id": "qGTOoxEOXFE",
      "type": "FILE"
    }
  ]
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
    "id":"JsPh2jD3PFo",
    "mode":"PROJECT_USERS",
    "expiryDate":"2015-07-25T18:30:00-0000",
    "projectId":"Dyfw481fE9U",
    "notify" : [
         {
          "id": "MACVE9C2IIw",
          "type": "USER"
        },
        {
          "id": "GU_oo192R5M",
          "type": "GROUP"
        }
        ],
    "message" : "Check these files please",
    "objects" : [
                {
                    "id": "woC32em2Fb0",
                    "type": "FILE",
                    "useLatestVersion" : true,
                  },
                {
                    "id": "coCfr1evFbs",
                    "type": "FILE"
                  }
            ],
    "permission" : "DOWNLOAD",            
    "createdOn":"2015-07-25T18:30:00-0000",         
    "createdBy":{
           "id": "Dyfw481fE9U",
         "firstName": "John",
         "lastName": "Doe",
         "email": "johndoe@gt-global.com",
         "status": "ACTIVE"
    },
    "modifiedOn":"2015-07-20T18:30:00-0000",
    "modifiedBy": {
         "id": "Dyfw481fE9U",
         "firstName": "John",
         "lastName": "Doe",
         "email": "johndoe@gt-global.com",
         "status": "ACTIVE"
   }                                
}

List Shares

List all Shares
GET/shares

This API will fetch all the shares by the user.

Parameters
HideShow
projectId
string (required) Example: Dyfw481fE9U

ID of the Project

Response  206

ToDos

APIs related to ToDos are described in this section

ToDo Actions

View ToDo Details
GET/todos/{todoId}

Parameters
HideShow
todoId
string (required) Example: woC32em2Fb0

ID of the ToDo

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": "woC32em2Fb0",
  "type": "Comment",
  "title": "PROJ-21-Title",
  "label": "PROJ-21",
  "description": "Fix the fire rating issue",
  "dueDate": "2015-05-21T00:00:00+0000",
  "percentComplete": 11,
  "status": "NEW",
  "priority": "NORMAL",
  "projectId": "woC32em2Fb0",
  "createdOn": "2015-01-21T16:06:09-0800",
  "createdBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@trimble.com",
    "status": "ACTIVE"
  },
  "modifiedOn": "2015-01-21T16:06:09-0800",
  "modifiedBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@trimble.com",
    "status": "ACTIVE"
  }
}

Update ToDo
PATCH/todos/{todoId}

This API allows you to update the following properties of the ToDo:

Note : Custom ToDo Label would not be updated from here.

  • type

  • title

  • label

  • description

  • dueDate

  • percentComplete

  • status

  • priority

  • assignees

Refer to object representation for details on these fields

Parameters
HideShow
todoId
string (required) Example: woC32em2Fb0

ID of the ToDo

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "description": "Fix thermal rating to be 6+ hour"
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": "woC32em2Fb0",
  "type": "Comment",
  "title": "PROJ-21-Title",
  "label": "PROJ-21",
  "description": "Fix the fire rating issue",
  "dueDate": "2015-05-21T00:00:00+0000",
  "percentComplete": 11,
  "status": "NEW",
  "priority": "NORMAL",
  "projectId": "woC32em2Fb0",
  "createdOn": "2015-01-21T16:06:09-0800",
  "createdBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@trimble.com",
    "status": "ACTIVE"
  },
  "modifiedOn": "2015-01-21T16:06:09-0800",
  "modifiedBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@trimble.com",
    "status": "ACTIVE"
  }
}

Delete ToDo
DELETE/todos/{todoId}

Parameters
HideShow
todoId
string (required) Example: woC32em2Fb0

ID of the ToDo

Response  204

ToDo Creation

Create a New ToDo
POST/todos

You may create a new ToDo using this action.

  • description (string) - The details of the ToDo

  • projectId (string) - Project Identifier

Optional parameters you can define on creation:

  • type (follow BCF 2.0 spec)

  • title

  • label

  • dueDate

  • percentComplete

  • status

  • priority

  • assignees

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "description": "Fix thermal rating to be 6+ hour",
  "projectId": "p8C921wm2Fb3"
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "id": "woC32em2Fb0",
  "type": "Comment",
  "title": "PROJ-21-Title",
  "label": "PROJ-21",
  "description": "Fix the fire rating issue",
  "dueDate": "2015-05-21T00:00:00+0000",
  "percentComplete": 11,
  "status": "NEW",
  "priority": "NORMAL",
  "projectId": "woC32em2Fb0",
  "createdOn": "2015-01-21T16:06:09-0800",
  "createdBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@trimble.com",
    "status": "ACTIVE"
  },
  "modifiedOn": "2015-01-21T16:06:09-0800",
  "modifiedBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@trimble.com",
    "status": "ACTIVE"
  }
}

List ToDos

List all ToDos
GET/todos

This API returns the list of views in a project based on either project Id or file Id using which views are created.

Parameters
HideShow
projectId
string (required) Example: v1Cx5gm2F7h

ID of the Project

fileId
string (optional) Example: PdtcatZR260

ID of the file linked to the view. This is optional if projectId is provided, else required if versionId is specified. If fileId alone is passed, latest version of file is considered for listing ToDos.

versionId
string (optional) Example: PdtcatZR260

ID of specific version of the file passed.

Response  206
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "id": "woC32em2Fb0",
    "label": "PROJ-21",
    "type": "Comment",
    "title": "PROJ-21-Title",
    "description": "Fix the fire rating issue",
    "dueDate": "2015-05-21",
    "percentComplete": 11,
    "status": "NEW",
    "priority": "NORMAL",
    "projectId": "woC32em2Fb0",
    "createdOn": "2015-01-21T16:06:09-0800",
    "createdBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "johndoe@trimble.com",
      "status": "ACTIVE"
    },
    "modifiedOn": "2015-01-21T16:06:09-0800",
    "modifiedBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "johndoe@trimble.com",
      "status": "ACTIVE"
    }
  },
  {
    "id": "woC32em2Fb0",
    "label": "PROJ-22",
    "type": "Issue",
    "title": "PROJ-22-Title",
    "description": "Fix the thermal rating issue",
    "dueDate": "2015-05-21T16:06:09-0800",
    "percentComplete": 11,
    "status": "CLOSED",
    "priority": "NORMAL",
    "projectId": "woC32em2Fb0",
    "restricted": true,
    "createdOn": "2015-01-21T16:06:09-0800",
    "createdBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "johndoe@trimble.com",
      "status": "ACTIVE"
    },
    "modifiedOn": "2015-01-21T16:06:09-0800",
    "modifiedBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "johndoe@trimble.com",
      "status": "ACTIVE"
    }
  }
]

ToDo Attachments

List all attachments
GET/todos/{todoId}/attachments

This API returns a list of attachments for the ToDo

Parameters
HideShow
todoId
string (required) Example: v1Cx5gm2F7h

ID of the ToDo

Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "id": "woC32em2Fb0",
    "name": "Model.ifc",
    "type": "FILE",
    "versionId": "i3tSoF9Xgus",
    "modifiedOn": "2015-01-21T16:06:09-0800",
    "modifiedBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "johndoe@trimble.com",
      "status": "ACTIVE"
    },
    "revision": "1"
  }
]

Add attachments
POST/todos/{todoId}/attachments

Parameters
HideShow
todoId
string (required) Example: v1Cx5gm2F7h

ID of the ToDo

id
string (required) Example: woC32em2Fb0

VersionID of the attachment

type
string (required) Example: FILE

Type of attachment

embedded
boolean (optional) Example: true

Flag to indicate embedded object attached, currently only apply to views.

Request
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "id": "woC32em2Fb0",
    "type": "FILE"
  }
]
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": "woC32em2Fb0",
  "name": "Model.ifc",
  "type": "FILE",
  "versionId": "i3tSoF9Xgus",
  "modifiedOn": "2015-01-21T16:06:09-0800",
  "modifiedBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@trimble.com",
    "status": "ACTIVE"
  },
  "revision": "1"
}

Remove attachments
DELETE/todos/{todoId}/attachments

Parameters
HideShow
todoId
string (required) Example: v1Cx5gm2F7h

ID of the ToDo

id
string (required) Example: woC32em2Fb0

ID of the attachment

type
string (required) Example: FILE

Type of attachment

Request
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "id": "woC32em2Fb0",
    "type": "FILE"
  }
]
Response  204

List ToDo Types

List all Todo Types of a Project
GET/todos/types

Parameters
HideShow
projectId
string (required) Example: Dyfw481fE9U

ID of the Project

Response  200
HideShow
Headers
Content-Type: application/json
Body
[
    "Comment",
    "Issue",
    "Request",
    "Solution",            
    "Fault"            
    "Clash",
    "Inquiry",
    "Remark",
    "Undefined"            
    "Engineering",
    "Architecture",
]

ViewGroups

ViewGroup Actions

Get ViewGroup Details
GET/viewGroups

Get the details of a ViewGroup.

Parameters
HideShow
viewgroupId
string (required) Example: xG1cWkD_eWI

ID of the ViewGroup.

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": "xG1cWkD_eWI",
  "views": [
    "y-Jx1TnKqPY",
    "_cVMi6AO26c",
    "aBy8aG1CQ5Q"
  ],
  "createdOn": "2015-05-27T16:20:08-0700",
  "modifiedOn": "2015-05-27T16:20:08-0700",
  "createdBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@trimble.com",
    "status": "ACTIVE"
  },
  "modifiedBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@trimble.com",
    "status": "ACTIVE"
  },
  "name": "another group",
  "projectId": "qFB0jS2oBnI"
}

Update ViewGroup Details
PATCH/viewGroups

Update the name and views in the ViewGroup. The views list provided in the PATCH request is applied.

Parameters
HideShow
viewgroupId
string (required) Example: xG1cWkD_eWI

ID of the viewgroup.

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "name": "renamed group",
  "views": [
    "A_cVMi6AO26c",
    "aBy8aG1CQ5Q"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": "xG1cWkD_eWI",
  "views": [
    "A_cVMi6AO26c",
    "aBy8aG1CQ5Q"
  ],
  "createdOn": "2015-05-27T16:20:08-0700",
  "modifiedOn": "2015-05-27T16:20:08-0700",
  "createdBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@trimble.com",
    "status": "ACTIVE"
  },
  "modifiedBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@trimble.com",
    "status": "ACTIVE"
  },
  "name": "renamed group",
  "projectId": "qFB0jS2oBnI"
}

Delete ViewGroup
DELETE/viewGroups

You can use this API to delete a ViewGroup.

Parameters
HideShow
viewgroupId
string (required) Example: S4OxePlSiHo

viewGroupId of the group to be deleted.

Response  204

ViewGroup Creation

Create a ViewGroup
POST/viewGroups

Parameters
HideShow
name
string (required) Example: View Group A

name of the view group.

projectId
string (required) Example: tdshVcaF8Gc

ID of the project.

views
array of viewIds (optional) Example: ["y-Jx1TnKqPY","_cVMi6AO26c"]
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "projectId": "qFB0jS2oBnI",
  "name": "another group",
  "views": [
    "y-Jx1TnKqPY",
    "_cVMi6AO26c",
    "aBy8aG1CQ5Q"
  ]
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "id": "xG1cWkD_eWI",
  "views": [
    "y-Jx1TnKqPY",
    "_cVMi6AO26c",
    "aBy8aG1CQ5Q"
  ],
  "createdOn": "2015-05-27T16:20:08-0700",
  "modifiedOn": "2015-05-27T16:20:08-0700",
  "createdBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@trimble.com",
    "status": "ACTIVE"
  },
  "modifiedBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@trimble.com",
    "status": "ACTIVE"
  },
  "name": "another group",
  "projectId": "qFB0jS2oBnI"
}

List ViewGroups

List all ViewGroups
GET/viewGroups

Get the list of all ViewGroups in a given project.

Parameters
HideShow
projectId
string (required) Example: cFhCbaRN4t1

project Identifier

Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "id": "ZI5ok9YONOQ",
    "views": [
      "h42PJ7o7mhA"
    ],
    "createdOn": "2015-05-04T11:05:24-0700",
    "modifiedOn": "2015-05-04T11:05:24-0700",
    "createdBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "johndoe@trimble.com",
      "status": "ACTIVE"
    },
    "modifiedBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "johndoe@trimble.com",
      "status": "ACTIVE"
    },
    "name": "another group"
  },
  {
    "id": "JYgY_W5z_R0",
    "views": [
      "h42PJ7o7mhA",
      "KlmUKu5eNzk",
      "st6vbh_UyjY",
      "5MGKJIYY_Oc",
      "EBKqauuyLQ0"
    ],
    "createdOn": "2015-05-04T11:05:24-0700",
    "modifiedOn": "2015-05-04T11:05:24-0700",
    "createdBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "johndoe@trimble.com",
      "status": "ACTIVE"
    },
    "modifiedBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "johndoe@trimble.com",
      "status": "ACTIVE"
    },
    "name": "new group"
  }
]

Views

APIs related to Views are described in this section.

TC supports max length of 255 characters for views names. Names are validated according to OS supported rules, so ones that contain non-printable ascii or with special meaning will be rejected by the API (Ex: “…”, “PRN”, “/”)

List Views

List all Views in a project
GET/views

This API returns the list of views in a project based on either project Id or file Id using which views are created.

Parameters
HideShow
projectId
string (required) Example: cFhCbaRN4t1

Project Identifier

fileId
string (optional) Example: 4MUJs5SXO64

ID of the file linked to the view. This is optional if projectId is provided, else required if versionId is specified. If fileId alone is passed, latest version of file is considered for listing views.

versionId
string (optional) Example: PdtcatZR260

Id of specific version of the file. Optional only if fileId is passed.

Response  200
HideShow
Body
[
  {
    "id": "6eQUp6ozXQg",
    "name": "Create from API",
    "description": "Create from API",
    "projectId": "4MUJs5SXO64",
    "models": [
      "PdtcatZR260"
    ],
    "files": [
      "PdtcatZR260"
    ],
    "thumbnail": "/gteam/static/img/icons/file_60.png",
    "createdOn": "2015-05-27T13:51:37-0700",
    "modifiedOn": "2015-05-27T13:51:37-0700",
    "modifiedBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "johndoe@trimble.com",
      "status": "ACTIVE"
    },
    "createdBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "johndoe@trimble.com",
      "status": "ACTIVE"
    }
  },
  {
    "id": "FTU07g_MjS4",
    "name": "create from TCW",
    "description": "create from TCW",
    "projectId": "4MUJs5SXO64",
    "models": [
      "PdtcatZR260"
    ],
    "files": [
      "PdtcatZR260"
    ],
    "thumbnail": "https://{baseUrl}/gteam/app/files/thumb?id=FTU07g_MjS4&fc=REPRESENTATION&projectId=4MUJs5SXO64",
    "createdOn": "2015-05-27T13:51:37-0700",
    "modifiedOn": "2015-05-27T13:51:37-0700",
    "modifiedBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "johndoe@trimble.com",
      "status": "ACTIVE"
    },
    "createdBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "johndoe@trimble.com",
      "status": "ACTIVE"
    }
  }
]

View Actions

Get View Details
GET/views/{viewId}

Parameters
HideShow
viewId
string (required) Example: GAw2S6K65dM

ID of the View

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
    "id": "GAw2S6K65dM",
    "name": "Trimble.Connect.Test:76445dbe-7f5c-4355-aaa9-3b54d23b3fb0",
    "description": "test api",
    "projectId": "qFB0jS2oBnI",
    "models": ["l3mlFuTIQ6U"],
    "files": ["l3mlFuTIQ6U"],
    "assignees": [{
        "id": "Dyfw481fE9U",
        "firstName": "John",
        "lastName": "Doe",
        "email": "JDoe@trimble.com"
    }],
    "thumbnail": "https://{baseUrl}/tc/app/files/thumb?id=GAw2S6K65dM&fc=REPRESENTATION&projectId=qFB0jS2oBnI",
    "createdOn": "2015-05-27T13:51:37-0700",
    "modifiedOn": "2015-05-27T13:51:37-0700",
    "modifiedBy": {
        "id": "Dyfw481fE9U",
        "firstName": "John",
        "lastName": "Doe",
        "email": "johndoe@trimble.com",
        "status": "ACTIVE"
    },
    "backgroundColor": {
        "r": 0,
        "g": 0,
        "b": 0,
        "a": 0
    },
    "createdBy": {
        "id": "Dyfw481fE9U",
        "firstName": "John",
        "lastName": "Doe",
        "email": "johndoe@trimble.com",
        "status": "ACTIVE"
    },
    "camera": {
        "cameraId": "SU3Z_3dSJwY",
        "targetX": 5906.641099938377,
        "targetY": 28367.20764109994,
        "targetZ": 27909.584641099937,
        "upX": 0,
        "upY": 0,
        "upZ": 1,
        "distance": 450991.34641099937,
        "pitch": 1.0656410999383772,
        "yaw": 5.808185641099938,
        "projectionType": "ortho",
        "viewId": "GAw2S6K65dM"
    },
    "sectionPlanes": [{
        "sectionPlaneId": "e8OLagWLlw8",
        "directionX": 1.1,
        "directionY": 2.34,
        "directionZ": 3.456,
        "positionX": 9.8,
        "positionY": 8.76,
        "positionZ": 7.654,
        "viewId": "GAw2S6K65dM",
        "createdOn": "2015-05-27T13:51:38-0700",
        "modifiedOn": "2015-05-27T13:51:38-0700",
        "createdBy": {
            "id": "OnkRKjL4Q_s",
            "firstName": "Jon",
            "lastName": "Doe",
            "email": "JDoe@trimble.com"
        },
        "modifiedBy": {
            "id": "OnkRKjL4Q_s",
            "firstName": "Jon",
            "lastName": "Doe",
            "email": "JDoe@trimble.com"
        }
    }],
    "markups": [{
        "type": "line",
        "markupId": "ufTgQ969VfM",
        "positionX": 1.01,
        "positionY": 2.33,
        "positionZ": 3.456,
        "projectId": "qFB0jS2oBnI",
        "mashupId": "LIChjaM5xgI",
        "createdOn": "2015-05-27T13:51:38-0700",
        "modifiedOn": "2015-05-27T13:51:38-0700",
        "createdBy": {
            "id": "OnkRKjL4Q_s",
            "firstName": "Jon",
            "lastName": "Doe",
            "email": "JDoe@trimble.com"
        },
        "modifiedBy": {
            "id": "OnkRKjL4Q_s",
            "firstName": "Jon",
            "lastName": "Doe",
            "email": "JDoe@trimble.com"
        },
        "position2X": 1.01,
        "position2Y": 2.33,
        "position2Z": 3.456
    },
    {
        "type": "redlines",
        "markupId": "Qnn7hxAz6PA",
        "color": {
            "r": 255,
            "g": 0,
            "b": 0,
            "a": 255
        },
        "projectId": "qFB0jS2oBnI",
        "mashupId": "LIChjaM5xgI",
        "createdBy": {
            "id": "OnkRKjL4Q_s",
            "firstName": "Jon",
            "lastName": "Doe",
            "email": "JDoe@trimble.com"
        },
        "camera": {
            "cameraId": "ezC0td2WWbc",
            "targetX": 5906.641,
            "targetY": 28367.207,
            "targetZ": 27909.584,
            "upX": 0,
            "upY": 0,
            "upZ": 1,
            "distance": 450991.34,
            "pitch": 1.065,
            "yaw": 5.808185,
            "projectionType": "ortho",
            "viewId": "QQrLmjOjRoY"
        },
        "lines": [{
            "id": "Nl7oc7dTv-o",
            "positionX": 1.01,
            "positionY": 2.33,
            "positionZ": 3.456,
            "position2X": 1.01,
            "position2Y": 2.33,
            "position2Z": 3.456,
            "deleted": false
        },
        {
            "id": "aEHDKh2X8ps",
            "positionX": 1.01,
            "positionY": 2.33,
            "positionZ": 3.456,
            "position2X": 1.01,
            "position2Y": 2.33,
            "position2Z": 3.456,
            "deleted": false
        },
        {
            "id": "8MbebU8OhZg",
            "positionX": 1.01,
            "positionY": 2.33,
            "positionZ": 3.456,
            "position2X": 1.01,
            "position2Y": 2.33,
            "position2Z": 3.456,
            "deleted": false
        }]
    }],
    "presentation": {
        "ghost": true,
        "transparent": true,
        "wireframe": false,
        "isNewEnabled": true,
        "isPendingEnabled": true,
        "isCriticalEnabled": true,
        "isResolvedEnabled": true,
        "isIgnoredEnabled": true,
        "isNotesEnabled": true,
        "isDocumentsEnabled": true,
        "transparencyLevel": 50,
        "elementTypes": [{
            "type": "Slab",
            "visibility": false,
            "priority": 1
        }],
        "elements": [{
            "sourceId": "2lt9JAm_r44uLZ7bhWHGny",
            "storageObjectId": "l3mlFuTIQ6U",
            "state": 6,
            "isRecursive": true,
            "priority": 0,
            "color": {
                "r": 255,
                "g": 0,
                "b": 0,
                "a": 255
            },
        }]
    }
}

Update View
PATCH/views/{viewId}

Parameters
HideShow
viewId
string (required) Example: GAw2S6K65dM

ID of the View

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "name": "API patch",
  "description": "patch update",
  "camera": {
    "cameraId": "JI50KRJj-Ws",
    "upX": 0,
    "upY": 0,
    "upZ": 1
  },
  "sectionplanes": [
    {
      "sectionPlaneId": "sFFe6grjq2c",
      "directionX": 0,
      "directionY": 0,
      "directionZ": 1
    }
  ],
  "markups": [
    {
      "type": "measure_with_pick",
      "color": {
        "r": 213,
        "g": 18,
        "a": 255
      },
      "start": {
        "type": "point",
        "positionX": 20677.795,
        "positionY": 9410.371,
        "positionZ": 41937.99,
        "referenceObject": "TFhCbSRN4tg"
      },
      "end": {
        "type": "plane",
        "directionX": 0,
        "directionY": 0,
        "directionZ": 1,
        "positionX": 20677.795,
        "positionY": 9410.371,
        "positionZ": 41937.99,
        "referenceObject": "8-5kIbInze4"
      },
      "unitType": "Metric",
      "quantityUnit": "millimeter",
      "quantityUnitFormat": "mm"
    },
    {
      "type": "redlines",
      "color": {
        "r": 213,
        "g": 21,
        "b": 18,
        "a": 255
      },
      "camera": {
        "targetX": 45864.562,
        "targetY": 77066,
        "targetZ": 12028.504,
        "distance": 450991.34,
        "pitch": 1.205,
        "yaw": 0.23,
        "upX": 0,
        "upY": 0,
        "upZ": "1.0",
        "viewAngle": 45,
        "viewScale": 1
      },
      "lines": [
        {
          "positionX": 62735.812,
          "positionY": -3110.1318,
          "positionZ": -730.29407,
          "position2X": -25673.875,
          "position2Y": 69123.734,
          "position2Z": 90917.8
        },
        {
          "positionX": 62735.812,
          "positionY": -3110.1318,
          "positionZ": -730.29407,
          "position2X": 0,
          "position2Y": 0,
          "position2Z": 0
        }
      ]
    },
    {
      "type": "text",
      "positionX": 9596.572,
      "positionY": 16324.15,
      "positionZ": 10573.327,
      "color": {
        "r": 65,
        "g": 105,
        "b": 224,
        "a": 255
      },
      "position2X": 12665.941,
      "position2Y": 13540.109,
      "position2Z": 6951.484,
      "screenSpaceDistance": 0.552044,
      "text": "hello text markup"
    }
  ],
  "presentation": {
    "ghost": true,
    "transparent": true,
    "wireframe": true,
    "transparencyLevel": 10,
    "isNewEnabled": true,
    "isPendingEnabled": true
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": "xVC3ZTkfpms",
  "name": "API patch",
  "description": "patch update",
  "projectId": "qFB0jS2oBnI",
  "models": [
    "baYVC8V3ag8"
  ],
  "files": [
    "PdtcatZR260"
  ],
  "thumbnail": "https://{baseUrl}/tc/app/files/thumb?id=xVC3ZTkfpms&fc=REPRESENTATION&projectId=qFB0jS2oBnI",
  "createdOn": "2015-05-27T15:07:53-0700",
  "modifiedOn": "2015-05-27T15:17:30-0700",
  "modifiedBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@trimble.com",
    "status": "ACTIVE"
  },
  "backgroundColor": {
    "r": 20,
    "g": 40,
    "b": 50,
    "a": 10
  },
  "createdBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@trimble.com",
    "status": "ACTIVE"
  },
  "camera": {
    "cameraId": "JI50KRJj-Ws",
    "targetX": 5906.641099938377,
    "targetY": 28367.20764109994,
    "targetZ": 27909.584641099937,
    "upX": 0,
    "upY": 0,
    "upZ": 1,
    "distance": 450991.34641099937,
    "pitch": 1.0656410999383772,
    "yaw": 5.808185641099938,
    "projectionType": "perspective",
    "viewId": "xVC3ZTkfpms"
  },
  "sectionPlanes": [
    {
      "sectionPlaneId": "sFFe6grjq2c",
      "directionX": 1.1,
      "directionY": 2.34,
      "directionZ": 3.456,
      "positionX": 9.8,
      "positionY": 8.76,
      "positionZ": 7.654,
      "viewId": "xVC3ZTkfpms",
      "createdOn": "2015-05-27T15:07:54-0700",
      "modifiedOn": "2015-05-27T15:07:54-0700",
      "createdBy": {
        "id": "OnkRKjL4Q_s",
        "firstName": "Jon",
        "lastName": "Doe",
        "email": "JDoe@trimble.com"
      },
      "modifiedBy": {
        "id": "OnkRKjL4Q_s",
        "firstName": "Jon",
        "lastName": "Doe",
        "email": "JDoe@trimble.com"
      }
    }
  ],
  "markups": [
    {
      "type": "measure_with_pick",
      "markupId": "GNovNe2elr8",
      "projectId": "qFB0jS2oBnI",
      "mashupId": "5uiXhzr0i7A",
      "referenceObject": "TFhCbSRN4tg",
      "createdBy": {
        "id": "OnkRKjL4Q_s",
        "firstName": "Jon",
        "lastName": "Doe",
        "email": "JDoe@trimble.com"
      },
      "start": {
        "type": "point",
        "positionX": 20677.795,
        "positionY": 9410.371,
        "positionZ": 41937.99
      },
      "end": {
        "type": "plane",
        "positionX": 20677.795,
        "positionY": 9410.371,
        "positionZ": 41937.99,
        "directionX": 0,
        "directionY": 0,
        "directionZ": 1
      },
      "unitType": "Metric",
      "quantityUnit": "millimeter",
      "quantityUnitFormat": "mm"
    },
    {
      "type": "redlines",
      "markupId": "gzGfErrR_qw",
      "color": {
        "r": 255,
        "g": 0,
        "b": 0,
        "a": 255
      },
      "projectId": "qFB0jS2oBnI",
      "mashupId": "5uiXhzr0i7A",
      "createdBy": {
        "id": "OnkRKjL4Q_s",
        "firstName": "Jon",
        "lastName": "Doe",
        "email": "JDoe@trimble.com"
      },
      "camera": {
        "cameraId": "Jzls8rF32xI",
        "targetX": 45864.562,
        "targetY": 77066,
        "targetZ": 12028.504,
        "upX": 0,
        "upY": 0,
        "upZ": 1,
        "distance": 450991.34,
        "pitch": 1.205,
        "yaw": 0.23,
        "viewAngle": 45,
        "viewScale": 1,
        "projectionType": "perspective",
        "viewId": "QQrLmjOjRoY"
      },
      "lines": [
        {
          "id": "GqjOxtgXE1Q",
          "positionX": 62735.812,
          "positionY": -3110.1318,
          "positionZ": -730.29407,
          "position2X": -25673.875,
          "position2Y": 69123.734,
          "position2Z": 90917.8,
          "deleted": false
        },
        {
          "id": "26J_MHB8240",
          "positionX": 62735.812,
          "positionY": -3110.1318,
          "positionZ": -730.29407,
          "position2X": 0,
          "position2Y": 0,
          "position2Z": 0,
          "deleted": false
        }
      ]
    },
    {
      "type": "text",
      "markupId": "RCtPfFM3xuU",
      "positionX": 9596.572,
      "positionY": 16324.15,
      "positionZ": 10573.327,
      "color": {
        "r": 65,
        "g": 105,
        "b": 224,
        "a": 255
      },
      "projectId": "qFB0jS2oBnI",
      "mashupId": "5uiXhzr0i7A",
      "createdOn": "2015-05-27T15:17:30-0700",
      "modifiedOn": "2015-05-27T15:17:30-0700",
      "createdBy": {
        "id": "Dyfw481fE9U",
        "firstName": "John",
        "lastName": "Doe",
        "email": "johndoe@trimble.com",
        "status": "ACTIVE"
      },
      "modifiedBy": {
        "id": "Dyfw481fE9U",
        "firstName": "John",
        "lastName": "Doe",
        "email": "johndoe@trimble.com",
        "status": "ACTIVE"
      },
      "position2X": 12665.941,
      "position2Y": 13540.109,
      "position2Z": 6951.484,
      "screenSpaceDistance": 0.552044,
      "text": "hello text markup"
    }
  ],
  "presentation": {
    "ghost": true,
    "transparent": true,
    "wireframe": true,
    "isNewEnabled": true,
    "isPendingEnabled": true,
    "isCriticalEnabled": true,
    "isResolvedEnabled": true,
    "isIgnoredEnabled": true,
    "isNotesEnabled": true,
    "isDocumentsEnabled": true,
    "transparencyLevel": 10
  }
}

Delete View
DELETE/views/{viewId}

Parameters
HideShow
viewId
string (required) Example: GAw2S6K65dM

ID of the View

force
boolean (optional) Example: false

Flag to delete explicit view even if it is attached to ToDos. Default is false.

Response  204

Create View

Create View
POST/views

API to create a view. Note that imageData has been truncated in the example below.

Request
HideShow
Headers
Content-Type: application/json
Body
{
    "name": "Trimble.Connect.Test:76445dbe-7f5c-4355-aaa9-3b54d23b3fb0",
    "description": "test api",
    "projectId": "qFB0jS2oBnI",
    "backgroundColor": {
        "r": 20,
        "g": 40,
        "b": 50,
        "a": 10
    },
    "models": ["l3mlFuTIQ6U"],    
    "files": [
            "l3mlFuTIQ6U"
        ],
    "camera": {
        "targetX": 5906.6410999383773,
        "targetY": 28367.2076410999383773,
        "targetZ": 27909.5846410999383773,
        "distance": 450991.346410999383773,
        "pitch": 1.0656410999383773,
        "yaw": 5.8081856410999383773,
        "upX": 0,
        "upY": 0,
        "upZ": 1,
        "projectionType": "ortho"
    },
    "sectionPlanes": [{
        "directionX": 1.1,
        "directionY": 2.34,
        "directionZ": 3.456,
        "positionX": 9.8,
        "positionY": 8.76,
        "positionZ": 7.654
    }],
    "markups": [{
        "position2X": 1.01,
        "position2Y": 2.33,
        "position2Z": 3.456,
        "positionX": 1.01,
        "positionY": 2.33,
        "positionZ": 3.456,
        "color": null,
        "type": "line"
    },
    {
        "camera": {
            "targetX": 5906.641,
            "targetY": 28367.207,
            "targetZ": 27909.584,
            "distance": 450991.34,
            "pitch": 1.065,
            "yaw": 5.808185,
            "upX": 0,
            "upY": 0,
            "upZ": 1,
            "projectionType": "ortho"
        },
        "lines": [{
            "positionX": 1.01,
            "positionY": 2.33,
            "positionZ": 3.456,
            "position2X": 1.01,
            "position2Y": 2.33,
            "position2Z": 3.456
        },
        {
            "positionX": 1.01,
            "positionY": 2.33,
            "positionZ": 3.456,
            "position2X": 1.01,
            "position2Y": 2.33,
            "position2Z": 3.456
        },
        {
            "positionX": 1.01,
            "positionY": 2.33,
            "positionZ": 3.456,
            "position2X": 1.01,
            "position2Y": 2.33,
            "position2Z": 3.456
        }],
        "positionX": 0,
        "positionY": 0,
        "positionZ": 0,
        "color": null,
        "type": "redlines"
    }],
    "presentation": {
        "ghost": true,
        "transparent": true,
        "wireframe": false,
        "isNewEnabled": true,
        "isResolvedEnabled": true,
        "isPendingEnabled": true,
        "isCriticalEnabled": true,
        "isIgnoredEnabled": true,
        "isNotesEnabled": true,
        "isDocumentsEnabled": true,
        "transparencyLevel": 50,
        "elementTypes": [
          {
            "type": "Slab",
            "visibility": false
          }
        ],
        "elements": [{
            "sourceId": "2lt9JAm_r44uLZ7bhWHGny",
            "storageObjectId": "l3mlFuTIQ6U",
            "state": 6,
            "isRecursive": true,
            "priority": 0,
            "color": {
                "r": 255,
                "g": 0,
                "b": 0,
                "a": 255
            },
        }]
    },
    "imageData": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABAAAAAQACAYAAAB/HSuDAAAgAElEQVR4XuzdP4tm6Xkn4HKgDQYWyYFhW2zkpGl2QcmCJRs2HKSsQck4c7L7AfQFTH8Nb7LOJjF0psEfwHjMwCDkYahkYZdBvTAwWCiTgl09PfN2V1e/Vec55zz/72sioTrn+XPd99tVz6/e99Sf/L8//nfjPwIECBAgQIAAAQIECBAgQGBpgT8RACxdX5sjQIAAAQIECBAgQIAAAQKvBQQAGoEAAQIECBAgQIAAAQIECAQQEAAEKLItEiBAgAABAgQIECBAgAABAYAeIECAAAECBAgQIECAAAECAQQEAAGKbIsECBAgQIAAAQIECBAgQEAAoAcIECBAgAABAgQIECBAgEAAAQFAgCLbIgECBAgQIECAAAECBAgQEADoAQIECBAgQI....g=="
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
    "id": "xVC3ZTkfpms",
    "name": "Trimble.Connect.Test:76445dbe-7f5c-4355-aaa9-3b54d23b3fb0",
    "description": "test api",
    "projectId": "qFB0jS2oBnI",
    "models": ["l3mlFuTIQ6U"],
    "files": ["l3mlFuTIQ6U"],
    "thumbnail": "https://{baseUrl}/tc/app/files/thumb?id=xVC3ZTkfpms&fc=REPRESENTATION&projectId=qFB0jS2oBnI",
    "createdOn": "2015-05-27T15:07:53-0700",
    "modifiedOn": "2015-05-27T15:07:53-0700",
    "modifiedBy": {
        "id": "Dyfw481fE9U",
        "firstName": "John",
        "lastName": "Doe",
        "email": "johndoe@trimble.com",
        "status": "ACTIVE"
    },
    "backgroundColor": {
        "r": 20,
        "g": 40,
        "b": 50,
        "a": 10
    },
    "createdBy": {
        "id": "Dyfw481fE9U",
        "firstName": "John",
        "lastName": "Doe",
        "email": "johndoe@trimble.com",
        "status": "ACTIVE"
    },
    "camera": {
        "cameraId": "JI50KRJj-Ws",
        "targetX": 5906.641099938377,
        "targetY": 28367.20764109994,
        "targetZ": 27909.584641099937,
        "upX": 0,
        "upY": 0,
        "upZ": 1,
        "distance": 450991.34641099937,
        "pitch": 1.0656410999383772,
        "yaw": 5.808185641099938,
        "projectionType": "ortho",
        "viewId": "xVC3ZTkfpms"
    },
    "sectionPlanes": [{
        "sectionPlaneId": "sFFe6grjq2c",
        "directionX": 1.1,
        "directionY": 2.34,
        "directionZ": 3.456,
        "positionX": 9.8,
        "positionY": 8.76,
        "positionZ": 7.654,
        "viewId": "xVC3ZTkfpms",
        "createdOn": "2015-05-27T15:07:54-0700",
        "modifiedOn": "2015-05-27T15:07:54-0700",
        "createdBy": {
            "id": "OnkRKjL4Q_s",
            "firstName": "Jon",
            "lastName": "Doe",
            "email": "JDoe@trimble.com"
        },
        "modifiedBy": {
            "id": "OnkRKjL4Q_s",
            "firstName": "Jon",
            "lastName": "Doe",
            "email": "JDoe@trimble.com"
        }
    }],
    "markups": [{
        "type": "line",
        "markupId": "0wABJx7mIOI",
        "positionX": 1.01,
        "positionY": 2.33,
        "positionZ": 3.456,
        "projectId": "qFB0jS2oBnI",
        "mashupId": "5uiXhzr0i7A",
        "createdOn": "2015-05-27T15:07:54-0700",
        "modifiedOn": "2015-05-27T15:07:54-0700",
        "createdBy": {
            "id": "OnkRKjL4Q_s",
            "firstName": "Jon",
            "lastName": "Doe",
            "email": "JDoe@trimble.com"
        },
        "modifiedBy": {
            "id": "OnkRKjL4Q_s",
            "firstName": "Jon",
            "lastName": "Doe",
            "email": "JDoe@trimble.com"
        },
        "position2X": 1.01,
        "position2Y": 2.33,
        "position2Z": 3.456
    },
    {
        "type": "redlines",
        "markupId": "BOLb3YUqU5M",
        "color": {
            "r": 255,
            "g": 0,
            "b": 0,
            "a": 255
        },
        "projectId": "qFB0jS2oBnI",
        "mashupId": "5uiXhzr0i7A",
        "createdBy": {
            "id": "OnkRKjL4Q_s",
            "firstName": "Jon",
            "lastName": "Doe",
            "email": "JDoe@trimble.com"
        },
        "camera": {
            "cameraId": "NFzh0rLN4Cg",
            "targetX": 5906.641,
            "targetY": 28367.207,
            "targetZ": 27909.584,
            "upX": 0,
            "upY": 0,
            "upZ": 1,
            "distance": 450991.34,
            "pitch": 1.065,
            "yaw": 5.808185,
            "projectionType": "ortho",
            "viewId": "QQrLmjOjRoY"
        },
        "lines": [{
            "id": "Ho-QbTmuNDg",
            "positionX": 1.01,
            "positionY": 2.33,
            "positionZ": 3.456,
            "position2X": 1.01,
            "position2Y": 2.33,
            "position2Z": 3.456,
            "deleted": false
        },
        {
            "id": "wVuVcG3Q0WE",
            "positionX": 1.01,
            "positionY": 2.33,
            "positionZ": 3.456,
            "position2X": 1.01,
            "position2Y": 2.33,
            "position2Z": 3.456,
            "deleted": false
        },
        {
            "id": "SeCws59HZF4",
            "positionX": 1.01,
            "positionY": 2.33,
            "positionZ": 3.456,
            "position2X": 1.01,
            "position2Y": 2.33,
            "position2Z": 3.456,
            "deleted": false
        }]
    }],
    "presentation": {
        "ghost": true,
        "transparent": true,
        "wireframe": false,
        "isNewEnabled": true,
        "isPendingEnabled": true,
        "isCriticalEnabled": true,
        "isResolvedEnabled": true,
        "isIgnoredEnabled": true,
        "isNotesEnabled": true,
        "isDocumentsEnabled": true,
        "transparencyLevel": 50,
        "elementTypes": [{
            "type": "Slab",
            "visibility": false
        }],
        "elements": [{
            "sourceId": "2lt9JAm_r44uLZ7bhWHGny",
            "storageObjectId": "l3mlFuTIQ6U",
            "state": 6,
            "isRecursive": true,
            "priority": 0,
            "color": {
                "r": 255,
                "g": 0,
                "b": 0,
                "a": 255
            },
        }]
    }
}

Camera Actions

Get Camera Details
GET/views/{viewId}/camera

Parameters
HideShow
viewId
string (required) Example: GAw2S6K65dM

ID of the View

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "cameraId": "cUOw130Wh3E",
  "targetX": 5906.641,
  "targetY": 28367.207,
  "targetZ": 27909.584,
  "distance": 450991.34,
  "pitch": 1.065,
  "yaw": 5.808185,
  "upX": 0,
  "upY": 0,
  "upZ": "1.0",
  "projectionType": "perspective",
  "viewAngle": 45,
  "viewScale": 1,
  "viewId": "yiocDbNCAwo"
}

Update Camera
PATCH/views/{viewId}/camera

Use this API to update a view’s camera. With the exception of the read-only fields: cameraId and viewId, all property could be updated. For example, to update the up vector, just specify the necessary information the update:

Parameters
HideShow
viewId
string (required) Example: GAw2S6K65dM

ID of the View

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "upX": 0,
  "upY": 0,
  "upZ": "-1.0"
}
Response  200

Section Planes

Use this API to update, add or delete a view section plane. To add a view section plane, supply the full object in the request body.

List Section Planes
GET/views/{viewId}/sectionplanes

Parameters
HideShow
viewId
string (required) Example: GAw2S6K65dM

ID of the View

Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "sectionPlaneId": "YuvRlt9wL00",
    "directionX": -0.0123187,
    "directionY": 0.000151774,
    "directionZ": 0.999924,
    "positionX": 15131.8,
    "positionY": 9447.48,
    "positionZ": 6360.65,
    "viewId": "Yko96msVGZc",
    "createdOn": "2015-05-04T11:05:24-0700",
    "modifiedOn": "2015-05-04T11:05:24-0700",
    "createdBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "johndoe@trimble.com",
      "status": "ACTIVE"
    },
    "modifiedBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "johndoe@trimble.com",
      "status": "ACTIVE"
    }
  },
  {
    "sectionPlaneId": "zUNBc6yjlzo",
    "directionX": 0,
    "directionY": 0,
    "directionZ": -1,
    "positionX": 15131.8,
    "positionY": 9447.48,
    "positionZ": 6360.65,
    "viewId": "Yko96msVGZc",
    "createdOn": "2015-05-04T11:05:24-0700",
    "modifiedOn": "2015-05-04T11:05:24-0700",
    "createdBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "johndoe@trimble.com",
      "status": "ACTIVE"
    },
    "modifiedBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "johndoe@trimble.com",
      "status": "ACTIVE"
    }
  }
]

Create Section Plane
POST/views/{viewId}/sectionplanes

Parameters
HideShow
viewId
string (required) Example: GAw2S6K65dM

ID of the View

Request
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "directionX": 0.999905,
    "directionY": -0.0123194,
    "directionZ": 0.00615995,
    "positionX": 16483.8,
    "positionY": 13885.5,
    "positionZ": 4396.99
  }
]
Response  201
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "sectionPlaneId": "DvSJ07NRsKg",
    "directionX": 0.999905,
    "directionY": -0.0123194,
    "directionZ": 0.00615995,
    "positionX": 16483.8,
    "positionY": 13885.5,
    "positionZ": 4396.99,
    "viewId": "Yko96msVGZc",
    "createdOn": "2015-05-04T11:05:24-0700",
    "modifiedOn": "2015-05-04T11:05:24-0700",
    "createdBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "johndoe@trimble.com",
      "status": "ACTIVE"
    },
    "modifiedBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "johndoe@trimble.com",
      "status": "ACTIVE"
    }
  }
]

Update Section Plane
PATCH/views/{viewId}/sectionplanes

Parameters
HideShow
viewId
string (required) Example: GAw2S6K65dM

ID of the View

Request
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "sectionPlaneId": "DvSJ07NRsKg",
    "directionX": 1,
    "directionY": 0,
    "directionZ": 0,
    "positionX": 16483.8,
    "positionY": 13885.5,
    "positionZ": 4396.99
  }
]
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
    {
        "sectionPlaneId": "DvSJ07NRsKg",
        "directionX": 1,
        "directionY": 0,
        "directionZ": 0,
        "positionX": 16483.8,
        "positionY": 13885.5,
        "positionZ": 4396.99,
        "viewId": "Yko96msVGZc",
        "createdOn": "2015-05-04T11:05:24-0700",
        "modifiedOn": "2015-05-04T11:05:24-0700",
    }
]

Section Plane Actions

Delete Section Plane
DELETE/views/{viewId}/sectionplanes/{sectionplaneId}

Parameters
HideShow
viewId
string (required) Example: GAw2S6K65dM

ID of the View

sectionplaneId
string (required) Example: YuvRlt9wL00

ID of the Section Plane

Response  204

Markups

List Markups
GET/views/{viewId}/markups

Parameters
HideShow
viewId
string (required) Example: GAw2S6K65dM

ID of the View

Response  200
HideShow
Headers
Content-Type: application/json
Body
[
    {
        "markupId": "FlPghBwyP-c",
        "positionX": 17075.6,
        "positionY": 8995.9,
        "positionZ": 6276.52,
        "color": {
            "r": 213"g": 21,
            "b": 18,
            "a": 255
        },
        "projectId": "4MUJs5SXO64",
        "mashupId": "FlPghBwyP-c",
        "type": "measure",
        "createdOn": "2015-05-04T11:05:24-0700",
        "modifiedOn": "2015-05-04T11:05:24-0700",
        "createdBy": {
            "id": "Dyfw481fE9U",
            "firstName": "John",
            "lastName": "Doe",
            "email": "johndoe@trimble.com",
            "status": "ACTIVE"
        },
        "modifiedBy": {
            "id": "Dyfw481fE9U",
            "firstName": "John",
            "lastName": "Doe",
            "email": "johndoe@trimble.com",
            "status": "ACTIVE"
        },
        "position2X": 16205.6,
        "position2Y": 22708.7,
        "position2Z": 6364.64
    },
    {
        "markupId": "gKtQYOllp9Q",
        "positionX": 17080.5,
        "positionY": 13468.3,
        "positionZ": 5963.07,
        "color": {
            "r": 213"g": 21,
            "b": 18,
            "a": 255
        },
        "projectId": "4MUJs5SXO64",
        "mashupId": "FlPghBwyP-c",
        "type": "cloud",
        "createdOn": "2015-05-04T11:05:24-0700",
        "modifiedOn": "2015-05-04T11:05:24-0700",
        "createdBy": {
            "id": "Dyfw481fE9U",
            "firstName": "John",
            "lastName": "Doe",
            "email": "johndoe@trimble.com",
            "status": "ACTIVE"
        },
        "modifiedBy": {
            "id": "Dyfw481fE9U",
            "firstName": "John",
            "lastName": "Doe",
            "email": "johndoe@trimble.com",
            "status": "ACTIVE"
        },
        "planeA": 0.999905,
        "planeB": -0.0123194,
        "planeC": 0.00615995,
        "planeD": -16949.7,
        "width": 1799.49,
        "height": 1128.66
    },
    {
        "markupId": "QaUAyoHLcA0",
        "positionX": 19136.6,
        "positionY": 17917.4,
        "positionZ": 11441.2,
        "color": {
            "r": 213"g": 21,
            "b": 18,
            "a": 255
        },
        "projectId": "4MUJs5SXO64",
        "mashupId": "FlPghBwyP-c",
        "type": "text",
        "createdOn": "2015-05-04T11:05:24-0700",
        "modifiedOn": "2015-05-04T11:05:24-0700",
        "createdBy": {
            "id": "Dyfw481fE9U",
            "firstName": "John",
            "lastName": "Doe",
            "email": "johndoe@trimble.com",
            "status": "ACTIVE"
        },
        "modifiedBy": {
            "id": "Dyfw481fE9U",
            "firstName": "John",
            "lastName": "Doe",
            "email": "johndoe@trimble.com",
            "status": "ACTIVE"
        },
        "position2X": 18426.9,
        "position2Y": 15548,
        "position2Z": 3384.22,
        "screenSpaceDistance": 0.877053,
        "text": "text api"
    },
    {
        "markupId": "q_xwp07-1_o",
        "positionX": 18612,
        "positionY": 15286.9,
        "positionZ": 3379.58,
        "color": {
            "r": 213"g": 21,
            "b": 18,
            "a": 255
        },
        "projectId": "4MUJs5SXO64",
        "mashupId": "FlPghBwyP-c",
        "type": "arrow",
        "createdOn": "2015-05-04T11:05:24-0700",
        "modifiedOn": "2015-05-04T11:05:24-0700",
        "createdBy": {
            "id": "Dyfw481fE9U",
            "firstName": "John",
            "lastName": "Doe",
            "email": "johndoe@trimble.com",
            "status": "ACTIVE"
        },
        "modifiedBy": {
            "id": "Dyfw481fE9U",
            "firstName": "John",
            "lastName": "Doe",
            "email": "johndoe@trimble.com",
            "status": "ACTIVE"
        },
        "position2X": 19895.5,
        "position2Y": 20070.8,
        "position2Z": 10875.5
    },
    {
        "markupId": "3d9LXbVDCqs",
        "positionX": 12012,
        "positionY": 13011.3,
        "positionZ": 6970.9,
        "color": {
            "r": 213,
            "g": 21,
            "b": 18,
            "a": 255
        },
        "projectId": "4MUJs5SXO64",
        "mashupId": "FlPghBwyP-c",
        "type": "line",
        "createdOn": "2015-05-04T11:05:24-0700",
        "modifiedOn": "2015-05-04T11:05:24-0700",
        "createdBy": {
            "id": "Dyfw481fE9U",
            "firstName": "John",
            "lastName": "Doe",
            "email": "johndoe@trimble.com",
            "status": "ACTIVE"
        },
        "modifiedBy": {
            "id": "Dyfw481fE9U",
            "firstName": "John",
            "lastName": "Doe",
            "email": "johndoe@trimble.com",
            "status": "ACTIVE"
        },
        "position2X": 13971.5,
        "position2Y": 17558.5,
        "position2Z": 6971.2
    }
]

Create Markups
POST/views/{viewId}/markups

API to create markups.

Parameters
HideShow
viewId
string (required) Example: GAw2S6K65dM

ID of the View

Request
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "type": "measure_with_pick",
    "color": {
      "r": 213,
      "g": 21,
      "b": 18,
      "a": 255
    },
    "start": {
      "type": "point",
      "positionX": 20677.795,
      "positionY": 9410.371,
      "positionZ": 41937.99,
      "referenceObject": "TFhCbSRN4tg"
    },
    "end": {
      "type": "plane",
      "directionX": 0,
      "directionY": 0,
      "directionZ": 1,
      "positionX": 20677.795,
      "positionY": 9410.371,
      "positionZ": 41937.99,
      "referenceObject": "8-5kIbInze4"
    },
    "unitType": "Metric",
    "quantityUnit": "millimeter",
    "quantityUnitFormat": "mm"
  },
  {
    "type": "redlines",
    "color": {
      "r": 213,
      "g": 21,
      "b": 18,
      "a": 255
    },
    "camera": {
      "targetX": 45864.562,
      "targetY": 77066,
      "targetZ": 12028.504,
      "distance": 450991.34,
      "pitch": 1.205,
      "yaw": 0.23,
      "upX": 0,
      "upY": 0,
      "upZ": "1.0",
      "viewAngle": 45,
      "viewScale": 1
    },
    "lines": [
      {
        "positionX": 62735.812,
        "positionY": -3110.1318,
        "positionZ": -730.29407,
        "position2X": -25673.875,
        "position2Y": 69123.734,
        "position2Z": 90917.8
      },
      {
        "positionX": 62735.812,
        "positionY": -3110.1318,
        "positionZ": -730.29407,
        "position2X": 0,
        "position2Y": 0,
        "position2Z": 0
      }
    ]
  }
]
Response  201
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "markupId": "c1R0cM4CP5E",
    "color": {
      "r": 213,
      "g": 21,
      "b": 18,
      "a": 255
    },
    "projectId": "4MUJs5SXO64",
    "mashupId": "FlPghBwyP-c",
    "type": "measure_with_pick",
    "createdBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "johndoe@trimble.com",
      "status": "ACTIVE"
    },
    "modifiedBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "johndoe@trimble.com",
      "status": "ACTIVE"
    },
    "start": {
      "type": "point",
      "positionX": 20677.795,
      "positionY": 9410.371,
      "positionZ": 41937.99,
      "referenceObject": "TFhCbSRN4tg"
    },
    "end": {
      "type": "plane",
      "positionX": 20677.795,
      "positionY": 9410.371,
      "positionZ": 41937.99,
      "referenceObject": "8-5kIbInze4",
      "directionX": 0,
      "directionY": 0,
      "directionZ": 1
    },
    "unitType": "Metric",
    "quantityUnit": "millimeter",
    "quantityUnitFormat": "mm"
  },
  {
    "markupId": "-9mPs_940o4",
    "color": {
      "r": 213,
      "g": 21,
      "b": 18,
      "a": 255
    },
    "projectId": "4MUJs5SXO64",
    "mashupId": "FlPghBwyP-c",
    "type": "redlines",
    "createdBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "johndoe@trimble.com",
      "status": "ACTIVE"
    },
    "modifiedBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "johndoe@trimble.com",
      "status": "ACTIVE"
    },
    "camera": {
      "cameraId": "o_uGSnHDMwU",
      "targetX": 45864.562,
      "targetY": 77066,
      "targetZ": 12028.504,
      "upX": 0,
      "upY": 0,
      "upZ": 1,
      "distance": 450991.34,
      "pitch": 1.205,
      "yaw": 0.23
    },
    "lines": [
      {
        "id": "MACVE9C2IIw",
        "positionX": 62735.812,
        "positionY": -3110.1318,
        "positionZ": -730.29407,
        "position2X": -25673.875,
        "position2Y": 69123.734,
        "position2Z": 90917.8,
        "deleted": false
      },
      {
        "id": "8PpFfWkb6MU",
        "positionX": 62735.812,
        "positionY": -3110.1318,
        "positionZ": -730.29407,
        "position2X": 0,
        "position2Y": 0,
        "position2Z": 0,
        "deleted": false
      }
    ]
  }
]

Update Markup
PATCH/views/{viewId}/markups

Parameters
HideShow
viewId
string (required) Example: GAw2S6K65dM

ID of the View

Request
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "markupId": "FlPghBwyP-c",
    "positionX": 0,
    "positionY": 0,
    "positionZ": 0,
    "color": {
      "r": 213,
      "g": 21,
      "b": 18,
      "a": 255
    },
    "type": "measure"
  },
  {
    "markupId": "QaUAyoHLcA0",
    "type": "text",
    "position2X": 0,
    "position2Y": 0,
    "position2Z": 0,
    "text": "new text for text api"
  }
]
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "markupId": "FlPghBwyP-c",
    "positionX": 0,
    "positionY": 0,
    "positionZ": 0,
    "color": {
      "r": 213,
      "g": 21,
      "b": 18,
      "a": 255
    },
    "projectId": "4MUJs5SXO64",
    "mashupId": "FlPghBwyP-c",
    "type": "measure",
    "createdOn": "2015-05-04T11:05:24-0700",
    "modifiedOn": "2015-05-04T11:05:24-0700",
    "createdBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "johndoe@trimble.com",
      "status": "ACTIVE"
    },
    "modifiedBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "johndoe@trimble.com",
      "status": "ACTIVE"
    },
    "position2X": 16205.6,
    "position2Y": 22708.7,
    "position2Z": 6364.64
  },
  {
    "markupId": "QaUAyoHLcA0",
    "positionX": 19136.6,
    "positionY": 17917.4,
    "positionZ": 11441.2,
    "color": {
      "r": 255,
      "g": 0,
      "b": 0,
      "a": 255
    },
    "projectId": "4MUJs5SXO64",
    "mashupId": "FlPghBwyP-c",
    "type": "text",
    "createdOn": "2015-05-04T11:05:24-0700",
    "modifiedOn": "2015-05-04T11:05:24-0700",
    "createdBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "johndoe@trimble.com",
      "status": "ACTIVE"
    },
    "modifiedBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "johndoe@trimble.com",
      "status": "ACTIVE"
    },
    "position2X": 18426.9,
    "position2Y": 15548,
    "position2Z": 3384.22,
    "screenSpaceDistance": 0.877053,
    "text": "text api"
  }
]

Markup Actions

Delete Markup
DELETE/views/{viewId}/markups/{markupId}

Parameters
HideShow
viewId
string (required) Example: GAw2S6K65dM

ID of the View

markupId
string (required) Example: FlPghBwyP-c

ID of the Mark Up

Response  204

Presentation

Get Presentation
GET/views/{viewId}/presentation

Parameters
HideShow
viewId
string (required) Example: GAw2S6K65dM

ID of the View

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "ghost": true,
  "transparent": true,
  "wireframe": true,
  "isNewEnabled": true,
  "isPendingEnabled": true,
  "isCriticalEnabled": true,
  "isResolvedEnabled": true,
  "isIgnoredEnabled": true,
  "isNotesEnabled": true,
  "isDocumentsEnabled": true,
  "transparencyLevel": 10
}

Update Presentation
PATCH/views/{viewId}/presentation

Parameters
HideShow
viewId
string (required) Example: GAw2S6K65dM

ID of the View

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "isPendingEnabled": true,
  "isDocumentsEnabled": true,
  "wireframe": true,
  "elementTypes": [
    {
      "type": "Slab",
      "visibility": false
    }
  ],
  "elements": [
    {
      "sourceId": "{7B86ADFD-E29C-4BB6-B46C-F7170107EAD0}",
      "storageObjectId": "l3mlFuTIQ6U",
      "state": 4,
      "isRecursive": true
    }
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "ghost": true,
  "transparent": true,
  "wireframe": true,
  "isNewEnabled": true,
  "isPendingEnabled": true,
  "isCriticalEnabled": true,
  "isResolvedEnabled": true,
  "isIgnoredEnabled": true,
  "isNotesEnabled": true,
  "isDocumentsEnabled": true,
  "transparencyLevel": 10,
  "elementTypes": [
    {
      "type": "Slab",
      "visibility": false
    }
  ],
  "elements": [
    {
      "sourceId": "{7B86ADFD-E29C-4BB6-B46C-F7170107EAD0}",
      "storageObjectId": "l3mlFuTIQ6U",
      "state": 4,
      "isRecursive": true
    }
  ]
}

Image

Upload View Thumbnail Image
POST/views/{viewId}/image

Parameters
HideShow
viewId
string (required) Example: GAw2S6K65dM

ID of the View

Request
HideShow
Headers
Content-Type: multipart/formdata
Body
imageData : thumbnail file
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": "NszacP0Asic",
  "name": "testing with jmeter uploading file",
  "description": "",
  "projectId": "Ph1SHktuBRw",
  "models": [
    "BcwJVHS8M24"
  ],
  "thumbnail": "https://{baseUrl}/tc/app/files/thumb?id=NszacP0Asic&fc=REPRESENTATION&projectId=Ph1SHktuBRw"
}

2D Views

A 2D View can be created, viewed, updated, and deleted for any 2D file. APIs related to 2D Views are described in this section.

For better understanding, details of 2D View properties are given below:

  • versionId - Specific versionID of the input file

  • rotation - This property refers the rotation angle of the 2D view, while creating / updating the view. The possible rotation values are 0, 90, 180, 270 degrees. The default rotation value is 0.

  • zoomLevel - This property refers the zoom level of the 2dview, while creating / updating the view. The zoomLevel value can be valid float value. The default zoomLevel value is 100

  • pageNumber - Refers current page number while creatig the 2dview. The pageNumber value can be valid integer value. The default value for pageNumber is 1.

  • markup - The markup property contains the markup data properties.

  • xfdfData - This xfdfData property value contains the various types (Line, arrow, text) of markups represented in XFDF XML format and it is one of the Adobe standard format. The XFDF stands for XML Forms Data Format XFDF is an XML-based file format for representing form data and markups (annotations) that are contained in a PDF form. The xfdfData is a string value. In the xfdfData string the double quote " values are escaping sequenced by back slash or reverse solidus \


2D View Creation

Create a New 2D View
POST/views2d

API to create a new 2D View. Thumbnail data can be attached as base64 encoded format in the request.

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "name": "Sample 2D View",
  "description": "Description for the sample 2D View",
  "projectId": "oLZYUISHJ9c",
  "versionId": "9hWf2VhabtM",
  "rotation": "90",
  "zoomLevel": "100",
  "pageNumber": "8",
  "assignees": [
    {
      "id": "_1-dY7nGmoM",
      "type": "USER"
    }
  ],
  "markup": {
    "xfdfData": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?><xfdf xmlns=\"http://ns.adobe.com/xfdf/\" xml:space=\"preserve\"><pdf-info xmlns=\"http://www.pdftron.com/pdfinfo\" version=\"2\" /><fields /><annots><line subject=\"Line\" page=\"0\" rect=\"100.38,752.16,324.69,815.11\" flags=\"print\" name=\"25612014-544b-1874-d7d9-71a7c420c443\" title=\"Guest\" date=\"D:20170123230923+05'30'\" color=\"#FF0000\" width=\"1\" opacity=\"1\" creationdate=\"D:20170123230923+05'30'\" start=\"101.38,753.16\" end=\"323.69,814.11\" head=\"None\" tail=\"None\"><popup flags=\"print,nozoom,norotate\" page=\"0\" rect=\"0,742,150,842\" open=\"no\"/></line><line subject=\"Line\" page=\"0\" rect=\"375.68,579.65,401.19,654.55\" flags=\"print\" name=\"b13cd4d3-e296-9805-77ed-a48d0d7b1aef\" title=\"Guest\" date=\"D:20170123230928+05'30'\" color=\"#FF0000\" width=\"1\" opacity=\"1\" creationdate=\"D:20170123230928+05'30'\" start=\"376.68,580.65\" end=\"400.19,653.55\" head=\"OpenArrow\" tail=\"None\"><popup flags=\"print,nozoom,norotate\" page=\"0\" rect=\"0,742,150,842\" open=\"no\"/></line><freetext subject=\"FreeText\" page=\"0\" rect=\"283.851262,736.023904,391.420983,757.936255\" flags=\"print\" name=\"8a2c9b73-6c50-de9b-6adf-10385da2ba1e\" title=\"Guest\" date=\"D:20170123230940+05'30'\" width=\"1\" opacity=\"1\" fringe=\"0,0,0,0\" creationdate=\"D:20170123230931+05'30'\" TextColor=\"#FF0000\" FontSize=\"11\" rotation=\"0\"><contents-richtext><body xmlns=\"http://www.w3.org/1999/xhtml\" xmlns:xfa=\"http://www.xfa.org/schema/xfa-data/1.0/\" xfa:spec=\"2.0.2\" xfa:APIVersion=\"Acrobat:10.1.3\"><p dir=\"ltr\"><span dir=\"ltr\" style=\"font-family: Verdana; font-size: 11pt; text-align: left; color: #FF0000;font-weight:normal;font-style:normal\">lkki</span></p></body></contents-richtext><contents>lkki</contents><popup flags=\"print,nozoom,norotate\" page=\"0\" rect=\"0,742,150,842\" open=\"no\"/><defaultappearance>1 0 0 rg /Verdana 11 Tf</defaultappearance><defaultstyle>font: Verdana 11pt; text-align: left; color: #FF0000</defaultstyle></freetext></annots><pages><defmtx matrix=\"1,0,0,-1,0,842\" /></pages></xfdf>"
  },
  "imageData": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAkGBxISEhUQEBAVFhUXFRcYFxYXFxUXHRcaFhUXFiAYGBkYHSkjGBslGxcVITEhJSkrLi4uFx8zODMwNygtLisBCgoKDg0OGhAQGy0lHyUtLS0tKzctKy0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSwrLTc3K//AABEIAI0AvAMBIgACEQEDEQH/xAAbAAABBQEBAAAAAAAAAAAAAAAAAQMEBQYCB//EAEAQAAEDAgQDBQQHBgUFAAAAAAEAAgMEEQUSITEGQXETIlFhgTJSkbEUI0JykqHRBzNDweHwJFNiovEWY4Ky0v/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf/EACMRAAMAAgIDAAIDAQAAAAAAAAABAgMRITEEElETQRUykRT/2gAMAwEAAhEDEQA/ANYhCF6x44IQhACEIQAhCEAIQhACEW0J0AAu5xIAaPFzjoB1TFFWsleGwsklZs6Ztmxt0Psl/wC91to2wsTqoXlmO2TjHV9IfQn5KUi5b3gN7bj7zdwmFKaVLaOVLl6YIQhdIghCEAIQhACEIQAhCEAIQhACEIQAhJdF0AqEi7iic42aCT5cvM+HqjeuzqW+jhJ2gzNYXAOcbNBIFyBe2vlr6Ks4nxN9G+nywtnEokOUPyA5GZhaQ6an47C5sm5I6fF4YDK4Rdk92dmS7C7IA5u4IAvv+azZPJS4k04/Gdc0TqbHaZ0zqWGobJKGFzwwB7A0EAhztnG5Ggvsn6/i2KKlNS2MSAWa3s3BrSSQ2x07tjvYeiyGEUMNBO+OVzWylxZGQ6MjsgAWlwaTlJI+1qp3FlE91E+KnhuS+NwawaHvgki3ksN17vbN0T6LSMxW8fSzSiSYgQscCYY7tb5AndxBsdb7LeYNjEVUztInXGxvyPhfa/kszh/AEVDTsrcRPal1nGmFxlB94j2yOYOUac1axYjU1zfo9FFHDTWtfRjMvO1hd/8A4DfcqUZ3j4RG8E5NNmgBQqSaphoacRNn+kStJLnWAab7hpvpbzLrnlqpuCYi2pjMjB7Ng+2uUkX+Wq24vIm3rpmHL49Qt9onoSIWgzioSIQCoQhACEIQAkKEiAEISIBbpLpEl0A5HuNOYUXjDAH18YihrHU7bWdBoIn+Ze0B1z4OJCkRnvDqqbGsbngrGsDbwuji9pptmdI9pyvHO2XTXksXlb9kjd4iXq2aWkmkp2sikFrNABOrXWFrg+nIrzTFcbMFTJFSxtYxsr3Fhc94e5xu4kk92/K1rea9MOJsjeIHyMu8EiN9rOAIBIB56jbVRMQwGnka50EELJjr9YLtJ594ag9brEbWeVR0clRO6SSSNhcS45jYHS3hrpYK8wJmSS5qAyw7t2lzT8SA1RcdjkpndjLTSZ3G4aGkNdbm2Qd23PQqFPQuka0yPeNs0TSBfn+83PTTqp+pW6Lziykq6gxu7TtWNLC6OwaXNuM2XWxuL/HdPftD41jeG08TTG2K2UWLbEDa1gdtPDXZUsGMOhywwMfI6wyxBrj/AMemqvsfoYXwR/T3imfo4whrJZxp9jX6sHxcFGl+iU0edVWKSymzRYHrc9AFYUWDGNwmklNOSLgDWRw+5yHXRWM+ORQt7OjhZAzbtHWknf5ukO3RoAWfxKqeDpq51ySdSdUOnpnC2MGcvZY5WBti43c65Iu4jQDTYbeJWhusR+z496X7rPmVtLr0/HbeNHl+Qkreju6FzdKrik6QubpUAqVIhAIhCRABXN0ErklALdclyN9AuMSmhpWdpWzthafZadZH/djGpUKuZ7JxjquhyJ3eHUJqvx2FlR9FmadWseHEXbd7nNAI5G7N/MLPYdxdU1k7I8LonCmEje2qJBdxZmGYXPdZ3b6C7lpsTwGGZ4lcCJBlAeDrZhLg0g6Ean4rz82RXR6OHG4nRD4n4eNSWPbJZzGuABGhuQb35HRc8R41JSGDK1rmuDswN/shtsruR1PVNcWSVUckc1PmyNY8PsMzblzbZm89AdfzCssTxOBgjZU2tKDqRdulr38N1UWk9tax0bGy5CyUC0cliHG2awB5geCy/FHC9EG9u+pqIYQQHQsAkzEnQMce8L+DrgKw4jwX6TFE2JzR2bszb3sRkLQARtvvqq7iqJ7MMayT2wYg7W+odbfmudDsz83FpiYKegjFNFsHXzSu6vOjejQLeKyVVWu7TLuSQXOOpN/5rn6M4y9oToDpz5fknZJmNcAfaNh5oDiopC54dewFuuhuu6moazUjXkmapzy8Nbe2hNuvMp6oga4hz9gOi6DY8AnvS/dZ8ytmHLzDCsQkhLjEbXAvoDoOqs2cT1PvN/AFtwZUo0zDnxt3s3wKW6wreKaj/t/h/Qp1vFc/ux/hd/8ASu/LJT+KjbApVjWcWS31jjI8sw/mr7Dschl0Dsrvddp8DsVJZJZFxSLVKmo5Wu9lwPQgpxTICLkpSnKSJr3ZXPyjmbXUaaS2yUy29IYXVcYqZnaVszYGnYHV7/JjBqSoPHOJ1tE3/A0v1VtasWmd6N/hdSCvG6yufM4ySPdI87ucS4n1PJY78lviTZHjJc0brHv2llt48Ni7Ic5pAHSH7o2j/P0Xnrq9z52z1GabvsdJnOYva1wJaSeRFxbbVdtpid1ZYfgUsv7tmnNx0aPVU+rp8l/tM9Ht2DcR00n+HYWMc0D6oANLQWgizRoRYjUKykiB1C8spsOj+kyTvBc6OVgbY6AshiN+upWp/wCoXR5HN7zT2mYbEdnH2mnX+ajWNpbJzkTejRPYQqnHMEjqQM5c1zb5SOWa24Oh2CdwDiylrAOzk75F8jhld1yn2h5turl0AOo/JV9EzJ8SSVEEUBpy45HWfZuYFojI7w5C4CicV1Jlw1srgAXGJxttcu5LYOiIWY4+FqIi1vrI/wD2XdjR5K6Z5lyj2QdbDyvqU6+lBfnJ8LDog1QziMDUnU7cr+qamhe6QH7Isdf0XSJ3U1eUhtrk26alc11M55Fttfn4J57G3zEXKZmqraBEBrEql0ZYWOINzt0HxU6lxVj9JRlPvt/m39FGhwt04zEgDlz+Wyj1eFyxa2uP9Ov5bqCyxvSfIc77ND2RtmaQ5vvN1+PgkaVnaKtew3Y4tP8Ae4V5T4pG/SVuU++3b1CvWT6UvH8JIK6CV0BtmaQ5vvN1+PguGlWpplTTXY9BK5hzMJB8QbLQUnEsuWzzGT4uDwT+EWWbXSmqa6IuU+z01y4inDHXdoLWv4JwpqSO61XKpaZmivV7LamqiO9G/Q+GoPXxVLjXB9DVkvLPo8x3kiHdcfF8e3qNU2GOYbsNj8/TmpcGJ8pBbzG39F59+PUf1PQjyJv+xn4uAPo/flHbDk5vseo3+OinFgAsALeGg+S01NVEaxu08tQUlRSwS6uHZP8AeaO6ereXop486XFIhkwN8yzCVeDxuc55aczjckOeLmwF9COQHwVVitExkbG2ky9q9zsrpXHWLL9kkgeS3Nfg8sXeIzM5PbqPXmPVVj4rrQ1NrgoVVD5MRXyROphTszMLCDHJ2U2ZlnFxs7LfW/jzV3BxjVU07YbfSI8kAAsRJd8TCSCRY3cSbON9VZTUqqKwStmkc2F7gezIc0sHsxMadHOB3aVTeFbLsebg19dx/AynMwjcXh2QseDGWuIJ7wI1Gn2b3XmmK8VVFbJaR1mC5DGjK0eGm56kkq9xCczQtbUU8jh2pGW7A531T7EFruRsd+SzTcCfFA2pcQNS18Z9ppzEA6aEGwPldZXjaNKtMi9g0OL7a/LS2i6fImTJfZIIyd11S2cdpHL3k7KNL3dSL6qe2JL2IKn6cFbsj007R345C3xCYkr3XDmEk7Z9ealnD2b2UWvp3C2QaDkqP+fXL5LZyJvRy5rTqTrzJTWe2xRS009Q8QwQvkedmtaXH8tupWtpOCoKaz8WqSH7ikpyHydJJB3Y/j6rutF91DXCKbA31D5AylY98mncYC6/3gOXmvUOJ2Yc2FpqWNgq8ovFTFrrG20gByDXne6ytTxO9rDBQxtpIebYvbf5ySnvOKzxf6n+911N74KGlrksmuT8cL3C7WOI8QCfkokH6LZ4bW1vZi1MCOR9i/oCtkrfZjt6NIUhC6QthjGy1NPiupBC5sgIbWuYbsNvkfRTIMTG0gsfEaj+iQtTT4gVVeGb7LozVHRc0tUW6sdofDUH02KSopIJdSOyf7zRdp6t5eioWtcw3YSPkeoUyDExtILHxG3r4LJWG8b3JsnNGRaobrsHli7xbmZye3Uevh6qvMF1qKaqc3VjtD6g9RslmpoJdx2T/ebq0nzby9FOPJ/VohfjPuWY6rw3OG2eWlrswIDTrlLftDwJTYw2Qfx79Y2LR1uGSRauF28nt1H9PVQ1pXq+UZW6XDM/W8P9qO+9t+ThGAfiHKsfwc+/dlbbzBB/JbOyepqfO4MBAJ5k2A6lcqJ7Z2brpGcw3hmGOxeM7v8AVsOjf1VicLhO8Mf4WrjHsXfTvMMNM7OP41Q2zOscYP1nU6KxwbEYqvuOiMUoF3PYCYj5uH8NVLNjX64+lrxX95+EA4RAf4Ef4Qmn4HTf5DPgVNq8To2vbEytjkebgtYHG2Xc3AOnLz5Jh1U8gPsIgL5u0DXEjYWANm+Pev0ViuGuCH47T0ytxMsoqWU057B8pY0FhLS+xuQDz0usE6T1J/vVbKqractdEIzI29nFxdqSc1rnzF7Cw8lX00tGJGsliYATbu59CTYE97QahYKqKya2eovFzRh99cL61v8AwzzYnHfRX+E8MyyWJbkb7zufQblbOkwWnjOZkTQfO7rdLnRWIC2RgS7PLvO30VmGYFDDqG5ne87X4DYK1QAlWhLRQ3sEIQunASWSoQHKSy6QgOCE0+G6fsksh3ZDYHMN2G3lyPopkGJjaQZT4jb9QuS1NPhBVOTDNF0Zqku6arc3VjtDy3B6jYpZqaCXW3ZP8Rqw9RyWeYHsN2Ot5cvUKZBiY2kGU+O4/oslYbx8yalljJxQ5VYVMwgZMwJ7rmd4H4beqiYjNT0gzVs2V3KGPvyHrbRo6peKsRlho5XwSuYTkGZhto6RoNj42J1XkM8tyS4kknUk3J6/1R+RdLR1ePEvZuaP9oAmqPo0lOz6M4Wa2VxeQeWY8r7XGoWUxfiSond2BOSEXtFGMjG+g9o+brlU3YOLs2yvsO4eqJ9QMrfedoPTS5Vax0ydZJRX08jmymWH6s62ynUA2uAfAn5q5pa58l46ipeGOFjoHX8ifsjzUs8ITtHdLHeQJB/3BTMP4TedZiGj3Qbk+uwWicdLjRnrKt72UUuH1ELS82lhDmuBYb3sd3N8bW8VmayYOJDNQ4k2t4k6ea9ppMMjibkjYAOfn5nxQ7CYCczoIyfEsbf42R+Gt7T0X/ydOdUtmI4dxStIY0OdIQNiAfz5fFb+mLi0F7Q11tQDcD1XcEDWDKxoaPAAAfknLLVEev7PPyX7PehEqEqmVnCLpEIBUJEIDpIkQgFQkQgCyLIQgOS1NugBTyVAQanDmPY6N4JY6123IvYgjbzAVcOE6X/K/wBzv1V+hR9J+E/evpUUvD1Ow5mx3PLMS63QFWgYu0q6kl0RdN9nOVLZKhdOCWSoQgFSpEIBUJEID//Z"
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "id": "crMPGUr-O_c",
  "createdOn": "2017-01-22T16:58:03+0530",
  "modifiedOn": "2017-01-22T16:58:03+0530",
  "modifiedBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@trimble.com",
    "status": "ACTIVE"
  },
  "createdBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@trimble.com",
    "status": "ACTIVE"
  },
  "name": "Sample 2D View",
  "description": "Description for the sample 2D View",
  "versionId": "9hWf2VhabtM",
  "projectId": "oLZYUISHJ9c",
  "fileId": "xDLFIvIWPCI",
  "thumbnail": "https://{baseUrl}/tc/app/files/thumb?id=4IX20hyMT6g&fc=REPRESENTATION&projectId=w5dLoAqMk9c&1485594921536",
  "rotation": "90",
  "zoomLevel": "100",
  "pageNumber": "8",
  "assignees": [
    {
      "id": "_1-dY7nGmoM",
      "type": "USER",
      "email": "mdoe@trimble.com",
      "firstName": "Michael",
      "lastName": "Doe"
    }
  ],
  "markup": {
    "xfdfData": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?><xfdf xmlns=\"http://ns.adobe.com/xfdf/\" xml:space=\"preserve\"><pdf-info xmlns=\"http://www.pdftron.com/pdfinfo\" version=\"2\" /><fields /><annots><line subject=\"Line\" page=\"0\" rect=\"100.38,752.16,324.69,815.11\" flags=\"print\" name=\"25612014-544b-1874-d7d9-71a7c420c443\" title=\"Guest\" date=\"D:20170123230923+05'30'\" color=\"#FF0000\" width=\"1\" opacity=\"1\" creationdate=\"D:20170123230923+05'30'\" start=\"101.38,753.16\" end=\"323.69,814.11\" head=\"None\" tail=\"None\"><popup flags=\"print,nozoom,norotate\" page=\"0\" rect=\"0,742,150,842\" open=\"no\"/></line><line subject=\"Line\" page=\"0\" rect=\"375.68,579.65,401.19,654.55\" flags=\"print\" name=\"b13cd4d3-e296-9805-77ed-a48d0d7b1aef\" title=\"Guest\" date=\"D:20170123230928+05'30'\" color=\"#FF0000\" width=\"1\" opacity=\"1\" creationdate=\"D:20170123230928+05'30'\" start=\"376.68,580.65\" end=\"400.19,653.55\" head=\"OpenArrow\" tail=\"None\"><popup flags=\"print,nozoom,norotate\" page=\"0\" rect=\"0,742,150,842\" open=\"no\"/></line><freetext subject=\"FreeText\" page=\"0\" rect=\"283.851262,736.023904,391.420983,757.936255\" flags=\"print\" name=\"8a2c9b73-6c50-de9b-6adf-10385da2ba1e\" title=\"Guest\" date=\"D:20170123230940+05'30'\" width=\"1\" opacity=\"1\" fringe=\"0,0,0,0\" creationdate=\"D:20170123230931+05'30'\" TextColor=\"#FF0000\" FontSize=\"11\" rotation=\"0\"><contents-richtext><body xmlns=\"http://www.w3.org/1999/xhtml\" xmlns:xfa=\"http://www.xfa.org/schema/xfa-data/1.0/\" xfa:spec=\"2.0.2\" xfa:APIVersion=\"Acrobat:10.1.3\"><p dir=\"ltr\"><span dir=\"ltr\" style=\"font-family: Verdana; font-size: 11pt; text-align: left; color: #FF0000;font-weight:normal;font-style:normal\">lkki</span></p></body></contents-richtext><contents>lkki</contents><popup flags=\"print,nozoom,norotate\" page=\"0\" rect=\"0,742,150,842\" open=\"no\"/><defaultappearance>1 0 0 rg /Verdana 11 Tf</defaultappearance><defaultstyle>font: Verdana 11pt; text-align: left; color: #FF0000</defaultstyle></freetext></annots><pages><defmtx matrix=\"1,0,0,-1,0,842\" /></pages></xfdf>"
  }
}

List 2D Views

List all 2D Views
GET/views2d

API to list 2D Views in a project based on either project Id or file Id using which views are created.

Parameters
HideShow
projectId
string (optional) Example: oLZYUISHJ9c

ID of the project. This is mandatory if fileId is not provided.

fileId
string (optional) Example: syiOnI8pFig

ID of the file linked to the view. This is optional if projectId is provided, else required if versionId is specified. If fileId alone is passed, latest version of file is considered for listing views.

versionId
string (optional) Example: EFyJmVsGeP8

ID of specific version of the file. Optional only if fileId is passed.

detail
boolean (optional) Example: true

If detail parameter value passed as true, the response payload will contains detailed information including markup properties like xfdfData, markupId. The default value of detail parameter is false. By default, the markup properties like xfdfData, markupId excluded from the response payload.

Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "id": "pgUZvI3TERI",
    "createdOn": "2017-01-20T15:17:50+0530",
    "modifiedOn": "2017-01-20T15:17:50+0530",
    "modifiedBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "johndoe@trimble.com",
      "status": "ACTIVE"
    },
    "createdBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "johndoe@trimble.com",
      "status": "ACTIVE"
    },
    "name": "View3-from-2ndRevision",
    "description": "View3-from-2ndRevision",
    "versionId": "EFyJmVsGeP8",
    "projectId": "oLZYUISHJ9c",
    "fileId": "syiOnI8pFig",
    "thumbnail": "https://{baseUrl}/tc/app/files/thumb?id=4IX20hyMT6g&fc=REPRESENTATION&projectId=w5dLoAqMk9c&1485594921536",
    "rotation": "90",
    "zoomLevel": "100",
    "pageNumber": "10",
    "assignees": []
  },
  {
    "id": "O62p38CfqSU",
    "createdOn": "2017-01-20T15:17:31+0530",
    "modifiedOn": "2017-01-20T15:17:31+0530",
    "modifiedBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "johndoe@trimble.com",
      "status": "ACTIVE"
    },
    "createdBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "johndoe@trimble.com",
      "status": "ACTIVE"
    },
    "name": "View2-from-2ndRevision",
    "description": "View2-from-2ndRevision",
    "versionId": "EFyJmVsGeP8",
    "projectId": "oLZYUISHJ9c",
    "fileId": "syiOnI8pFig",
    "thumbnail": "https://{baseUrl}/tc/app/files/thumb?id=4IX20hyMT6g&fc=REPRESENTATION&projectId=w5dLoAqMk9c&1485594921536",
    "rotation": "100",
    "zoomLevel": "110",
    "pageNumber": "20",
    "assignees": []
  }
]

2D View Actions

Update 2D View
PATCH/views2d/{viewId}

API to update 2D View.

Parameters
HideShow
viewId
string (required) Example: crMPGUr-O_c

ID of the View

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "name": "Sample 2D View",
  "description": "Description for the sample 2D View",
  "projectId": "oLZYUISHJ9c",
  "versionId": "9hWf2VhabtM",
  "rotation": "90",
  "zoomLevel": "100",
  "pageNumber": "8",
  "assignees": [
    {
      "id": "_1-dY7nGmoM",
      "type": "USER"
    }
  ],
  "markup": {
    "xfdfData": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?><xfdf xmlns=\"http://ns.adobe.com/xfdf/\" xml:space=\"preserve\"><pdf-info xmlns=\"http://www.pdftron.com/pdfinfo\" version=\"2\" /><fields /><annots><line subject=\"Line\" page=\"0\" rect=\"100.38,752.16,324.69,815.11\" flags=\"print\" name=\"25612014-544b-1874-d7d9-71a7c420c443\" title=\"Guest\" date=\"D:20170123230923+05'30'\" color=\"#FF0000\" width=\"1\" opacity=\"1\" creationdate=\"D:20170123230923+05'30'\" start=\"101.38,753.16\" end=\"323.69,814.11\" head=\"None\" tail=\"None\"><popup flags=\"print,nozoom,norotate\" page=\"0\" rect=\"0,742,150,842\" open=\"no\"/></line><line subject=\"Line\" page=\"0\" rect=\"375.68,579.65,401.19,654.55\" flags=\"print\" name=\"b13cd4d3-e296-9805-77ed-a48d0d7b1aef\" title=\"Guest\" date=\"D:20170123230928+05'30'\" color=\"#FF0000\" width=\"1\" opacity=\"1\" creationdate=\"D:20170123230928+05'30'\" start=\"376.68,580.65\" end=\"400.19,653.55\" head=\"OpenArrow\" tail=\"None\"><popup flags=\"print,nozoom,norotate\" page=\"0\" rect=\"0,742,150,842\" open=\"no\"/></line><freetext subject=\"FreeText\" page=\"0\" rect=\"283.851262,736.023904,391.420983,757.936255\" flags=\"print\" name=\"8a2c9b73-6c50-de9b-6adf-10385da2ba1e\" title=\"Guest\" date=\"D:20170123230940+05'30'\" width=\"1\" opacity=\"1\" fringe=\"0,0,0,0\" creationdate=\"D:20170123230931+05'30'\" TextColor=\"#FF0000\" FontSize=\"11\" rotation=\"0\"><contents-richtext><body xmlns=\"http://www.w3.org/1999/xhtml\" xmlns:xfa=\"http://www.xfa.org/schema/xfa-data/1.0/\" xfa:spec=\"2.0.2\" xfa:APIVersion=\"Acrobat:10.1.3\"><p dir=\"ltr\"><span dir=\"ltr\" style=\"font-family: Verdana; font-size: 11pt; text-align: left; color: #FF0000;font-weight:normal;font-style:normal\">lkki</span></p></body></contents-richtext><contents>lkki</contents><popup flags=\"print,nozoom,norotate\" page=\"0\" rect=\"0,742,150,842\" open=\"no\"/><defaultappearance>1 0 0 rg /Verdana 11 Tf</defaultappearance><defaultstyle>font: Verdana 11pt; text-align: left; color: #FF0000</defaultstyle></freetext></annots><pages><defmtx matrix=\"1,0,0,-1,0,842\" /></pages></xfdf>"
  },
  "imageData": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAkGBxISEhUQEBAVFhUXFRcYFxYXFxUXHRcaFhUXFiAYGBkYHSkjGBslGxcVITEhJSkrLi4uFx8zODMwNygtLisBCgoKDg0OGhAQGy0lHyUtLS0tKzctKy0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSwrLTc3K//AABEIAI0AvAMBIgACEQEDEQH/xAAbAAABBQEBAAAAAAAAAAAAAAAAAQMEBQYCB//EAEAQAAEDAgQDBQQHBgUFAAAAAAEAAgMEEQUSITEGQXETIlFhgTJSkbEUI0JykqHRBzNDweHwJFNiovEWY4Ky0v/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf/EACMRAAMAAgIDAAIDAQAAAAAAAAABAgMRITEEElETQRUykRT/2gAMAwEAAhEDEQA/ANYhCF6x44IQhACEIQAhCEAIQhACEW0J0AAu5xIAaPFzjoB1TFFWsleGwsklZs6Ztmxt0Psl/wC91to2wsTqoXlmO2TjHV9IfQn5KUi5b3gN7bj7zdwmFKaVLaOVLl6YIQhdIghCEAIQhACEIQAhCEAIQhACEIQAhJdF0AqEi7iic42aCT5cvM+HqjeuzqW+jhJ2gzNYXAOcbNBIFyBe2vlr6Ks4nxN9G+nywtnEokOUPyA5GZhaQ6an47C5sm5I6fF4YDK4Rdk92dmS7C7IA5u4IAvv+azZPJS4k04/Gdc0TqbHaZ0zqWGobJKGFzwwB7A0EAhztnG5Ggvsn6/i2KKlNS2MSAWa3s3BrSSQ2x07tjvYeiyGEUMNBO+OVzWylxZGQ6MjsgAWlwaTlJI+1qp3FlE91E+KnhuS+NwawaHvgki3ksN17vbN0T6LSMxW8fSzSiSYgQscCYY7tb5AndxBsdb7LeYNjEVUztInXGxvyPhfa/kszh/AEVDTsrcRPal1nGmFxlB94j2yOYOUac1axYjU1zfo9FFHDTWtfRjMvO1hd/8A4DfcqUZ3j4RG8E5NNmgBQqSaphoacRNn+kStJLnWAab7hpvpbzLrnlqpuCYi2pjMjB7Ng+2uUkX+Wq24vIm3rpmHL49Qt9onoSIWgzioSIQCoQhACEIQAkKEiAEISIBbpLpEl0A5HuNOYUXjDAH18YihrHU7bWdBoIn+Ze0B1z4OJCkRnvDqqbGsbngrGsDbwuji9pptmdI9pyvHO2XTXksXlb9kjd4iXq2aWkmkp2sikFrNABOrXWFrg+nIrzTFcbMFTJFSxtYxsr3Fhc94e5xu4kk92/K1rea9MOJsjeIHyMu8EiN9rOAIBIB56jbVRMQwGnka50EELJjr9YLtJ594ag9brEbWeVR0clRO6SSSNhcS45jYHS3hrpYK8wJmSS5qAyw7t2lzT8SA1RcdjkpndjLTSZ3G4aGkNdbm2Qd23PQqFPQuka0yPeNs0TSBfn+83PTTqp+pW6Lziykq6gxu7TtWNLC6OwaXNuM2XWxuL/HdPftD41jeG08TTG2K2UWLbEDa1gdtPDXZUsGMOhywwMfI6wyxBrj/AMemqvsfoYXwR/T3imfo4whrJZxp9jX6sHxcFGl+iU0edVWKSymzRYHrc9AFYUWDGNwmklNOSLgDWRw+5yHXRWM+ORQt7OjhZAzbtHWknf5ukO3RoAWfxKqeDpq51ySdSdUOnpnC2MGcvZY5WBti43c65Iu4jQDTYbeJWhusR+z496X7rPmVtLr0/HbeNHl+Qkreju6FzdKrik6QubpUAqVIhAIhCRABXN0ErklALdclyN9AuMSmhpWdpWzthafZadZH/djGpUKuZ7JxjquhyJ3eHUJqvx2FlR9FmadWseHEXbd7nNAI5G7N/MLPYdxdU1k7I8LonCmEje2qJBdxZmGYXPdZ3b6C7lpsTwGGZ4lcCJBlAeDrZhLg0g6Ean4rz82RXR6OHG4nRD4n4eNSWPbJZzGuABGhuQb35HRc8R41JSGDK1rmuDswN/shtsruR1PVNcWSVUckc1PmyNY8PsMzblzbZm89AdfzCssTxOBgjZU2tKDqRdulr38N1UWk9tax0bGy5CyUC0cliHG2awB5geCy/FHC9EG9u+pqIYQQHQsAkzEnQMce8L+DrgKw4jwX6TFE2JzR2bszb3sRkLQARtvvqq7iqJ7MMayT2wYg7W+odbfmudDsz83FpiYKegjFNFsHXzSu6vOjejQLeKyVVWu7TLuSQXOOpN/5rn6M4y9oToDpz5fknZJmNcAfaNh5oDiopC54dewFuuhuu6moazUjXkmapzy8Nbe2hNuvMp6oga4hz9gOi6DY8AnvS/dZ8ytmHLzDCsQkhLjEbXAvoDoOqs2cT1PvN/AFtwZUo0zDnxt3s3wKW6wreKaj/t/h/Qp1vFc/ux/hd/8ASu/LJT+KjbApVjWcWS31jjI8sw/mr7Dschl0Dsrvddp8DsVJZJZFxSLVKmo5Wu9lwPQgpxTICLkpSnKSJr3ZXPyjmbXUaaS2yUy29IYXVcYqZnaVszYGnYHV7/JjBqSoPHOJ1tE3/A0v1VtasWmd6N/hdSCvG6yufM4ySPdI87ucS4n1PJY78lviTZHjJc0brHv2llt48Ni7Ic5pAHSH7o2j/P0Xnrq9z52z1GabvsdJnOYva1wJaSeRFxbbVdtpid1ZYfgUsv7tmnNx0aPVU+rp8l/tM9Ht2DcR00n+HYWMc0D6oANLQWgizRoRYjUKykiB1C8spsOj+kyTvBc6OVgbY6AshiN+upWp/wCoXR5HN7zT2mYbEdnH2mnX+ajWNpbJzkTejRPYQqnHMEjqQM5c1zb5SOWa24Oh2CdwDiylrAOzk75F8jhld1yn2h5turl0AOo/JV9EzJ8SSVEEUBpy45HWfZuYFojI7w5C4CicV1Jlw1srgAXGJxttcu5LYOiIWY4+FqIi1vrI/wD2XdjR5K6Z5lyj2QdbDyvqU6+lBfnJ8LDog1QziMDUnU7cr+qamhe6QH7Isdf0XSJ3U1eUhtrk26alc11M55Fttfn4J57G3zEXKZmqraBEBrEql0ZYWOINzt0HxU6lxVj9JRlPvt/m39FGhwt04zEgDlz+Wyj1eFyxa2uP9Ov5bqCyxvSfIc77ND2RtmaQ5vvN1+PgkaVnaKtew3Y4tP8Ae4V5T4pG/SVuU++3b1CvWT6UvH8JIK6CV0BtmaQ5vvN1+PguGlWpplTTXY9BK5hzMJB8QbLQUnEsuWzzGT4uDwT+EWWbXSmqa6IuU+z01y4inDHXdoLWv4JwpqSO61XKpaZmivV7LamqiO9G/Q+GoPXxVLjXB9DVkvLPo8x3kiHdcfF8e3qNU2GOYbsNj8/TmpcGJ8pBbzG39F59+PUf1PQjyJv+xn4uAPo/flHbDk5vseo3+OinFgAsALeGg+S01NVEaxu08tQUlRSwS6uHZP8AeaO6ereXop486XFIhkwN8yzCVeDxuc55aczjckOeLmwF9COQHwVVitExkbG2ky9q9zsrpXHWLL9kkgeS3Nfg8sXeIzM5PbqPXmPVVj4rrQ1NrgoVVD5MRXyROphTszMLCDHJ2U2ZlnFxs7LfW/jzV3BxjVU07YbfSI8kAAsRJd8TCSCRY3cSbON9VZTUqqKwStmkc2F7gezIc0sHsxMadHOB3aVTeFbLsebg19dx/AynMwjcXh2QseDGWuIJ7wI1Gn2b3XmmK8VVFbJaR1mC5DGjK0eGm56kkq9xCczQtbUU8jh2pGW7A531T7EFruRsd+SzTcCfFA2pcQNS18Z9ppzEA6aEGwPldZXjaNKtMi9g0OL7a/LS2i6fImTJfZIIyd11S2cdpHL3k7KNL3dSL6qe2JL2IKn6cFbsj007R345C3xCYkr3XDmEk7Z9ealnD2b2UWvp3C2QaDkqP+fXL5LZyJvRy5rTqTrzJTWe2xRS009Q8QwQvkedmtaXH8tupWtpOCoKaz8WqSH7ikpyHydJJB3Y/j6rutF91DXCKbA31D5AylY98mncYC6/3gOXmvUOJ2Yc2FpqWNgq8ovFTFrrG20gByDXne6ytTxO9rDBQxtpIebYvbf5ySnvOKzxf6n+911N74KGlrksmuT8cL3C7WOI8QCfkokH6LZ4bW1vZi1MCOR9i/oCtkrfZjt6NIUhC6QthjGy1NPiupBC5sgIbWuYbsNvkfRTIMTG0gsfEaj+iQtTT4gVVeGb7LozVHRc0tUW6sdofDUH02KSopIJdSOyf7zRdp6t5eioWtcw3YSPkeoUyDExtILHxG3r4LJWG8b3JsnNGRaobrsHli7xbmZye3Uevh6qvMF1qKaqc3VjtD6g9RslmpoJdx2T/ebq0nzby9FOPJ/VohfjPuWY6rw3OG2eWlrswIDTrlLftDwJTYw2Qfx79Y2LR1uGSRauF28nt1H9PVQ1pXq+UZW6XDM/W8P9qO+9t+ThGAfiHKsfwc+/dlbbzBB/JbOyepqfO4MBAJ5k2A6lcqJ7Z2brpGcw3hmGOxeM7v8AVsOjf1VicLhO8Mf4WrjHsXfTvMMNM7OP41Q2zOscYP1nU6KxwbEYqvuOiMUoF3PYCYj5uH8NVLNjX64+lrxX95+EA4RAf4Ef4Qmn4HTf5DPgVNq8To2vbEytjkebgtYHG2Xc3AOnLz5Jh1U8gPsIgL5u0DXEjYWANm+Pev0ViuGuCH47T0ytxMsoqWU057B8pY0FhLS+xuQDz0usE6T1J/vVbKqractdEIzI29nFxdqSc1rnzF7Cw8lX00tGJGsliYATbu59CTYE97QahYKqKya2eovFzRh99cL61v8AwzzYnHfRX+E8MyyWJbkb7zufQblbOkwWnjOZkTQfO7rdLnRWIC2RgS7PLvO30VmGYFDDqG5ne87X4DYK1QAlWhLRQ3sEIQunASWSoQHKSy6QgOCE0+G6fsksh3ZDYHMN2G3lyPopkGJjaQZT4jb9QuS1NPhBVOTDNF0Zqku6arc3VjtDy3B6jYpZqaCXW3ZP8Rqw9RyWeYHsN2Ot5cvUKZBiY2kGU+O4/oslYbx8yalljJxQ5VYVMwgZMwJ7rmd4H4beqiYjNT0gzVs2V3KGPvyHrbRo6peKsRlho5XwSuYTkGZhto6RoNj42J1XkM8tyS4kknUk3J6/1R+RdLR1ePEvZuaP9oAmqPo0lOz6M4Wa2VxeQeWY8r7XGoWUxfiSond2BOSEXtFGMjG+g9o+brlU3YOLs2yvsO4eqJ9QMrfedoPTS5Vax0ydZJRX08jmymWH6s62ynUA2uAfAn5q5pa58l46ipeGOFjoHX8ifsjzUs8ITtHdLHeQJB/3BTMP4TedZiGj3Qbk+uwWicdLjRnrKt72UUuH1ELS82lhDmuBYb3sd3N8bW8VmayYOJDNQ4k2t4k6ea9ppMMjibkjYAOfn5nxQ7CYCczoIyfEsbf42R+Gt7T0X/ydOdUtmI4dxStIY0OdIQNiAfz5fFb+mLi0F7Q11tQDcD1XcEDWDKxoaPAAAfknLLVEev7PPyX7PehEqEqmVnCLpEIBUJEIDpIkQgFQkQgCyLIQgOS1NugBTyVAQanDmPY6N4JY6123IvYgjbzAVcOE6X/K/wBzv1V+hR9J+E/evpUUvD1Ow5mx3PLMS63QFWgYu0q6kl0RdN9nOVLZKhdOCWSoQgFSpEIBUJEID//Z"
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": "crMPGUr-O_c",
  "createdOn": "2017-01-22T16:58:03+0530",
  "modifiedOn": "2017-01-22T16:58:03+0530",
  "modifiedBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@trimble.com",
    "status": "ACTIVE"
  },
  "createdBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@trimble.com",
    "status": "ACTIVE"
  },
  "name": "Sample 2D View",
  "description": "Description for the sample 2D View",
  "versionId": "9hWf2VhabtM",
  "projectId": "oLZYUISHJ9c",
  "fileId": "xDLFIvIWPCI",
  "thumbnail": "https://{baseUrl}/tc/app/files/thumb?id=4IX20hyMT6g&fc=REPRESENTATION&projectId=w5dLoAqMk9c&1485594921536",
  "rotation": "90",
  "zoomLevel": "100",
  "pageNumber": "8",
  "assignees": [
    {
      "id": "_1-dY7nGmoM",
      "type": "USER",
      "email": "mdoe@trimble.com",
      "firstName": "Michael",
      "lastName": "Doe"
    }
  ],
  "markup": {
    "xfdfData": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?><xfdf xmlns=\"http://ns.adobe.com/xfdf/\" xml:space=\"preserve\"><pdf-info xmlns=\"http://www.pdftron.com/pdfinfo\" version=\"2\" /><fields /><annots><line subject=\"Line\" page=\"0\" rect=\"100.38,752.16,324.69,815.11\" flags=\"print\" name=\"25612014-544b-1874-d7d9-71a7c420c443\" title=\"Guest\" date=\"D:20170123230923+05'30'\" color=\"#FF0000\" width=\"1\" opacity=\"1\" creationdate=\"D:20170123230923+05'30'\" start=\"101.38,753.16\" end=\"323.69,814.11\" head=\"None\" tail=\"None\"><popup flags=\"print,nozoom,norotate\" page=\"0\" rect=\"0,742,150,842\" open=\"no\"/></line><line subject=\"Line\" page=\"0\" rect=\"375.68,579.65,401.19,654.55\" flags=\"print\" name=\"b13cd4d3-e296-9805-77ed-a48d0d7b1aef\" title=\"Guest\" date=\"D:20170123230928+05'30'\" color=\"#FF0000\" width=\"1\" opacity=\"1\" creationdate=\"D:20170123230928+05'30'\" start=\"376.68,580.65\" end=\"400.19,653.55\" head=\"OpenArrow\" tail=\"None\"><popup flags=\"print,nozoom,norotate\" page=\"0\" rect=\"0,742,150,842\" open=\"no\"/></line><freetext subject=\"FreeText\" page=\"0\" rect=\"283.851262,736.023904,391.420983,757.936255\" flags=\"print\" name=\"8a2c9b73-6c50-de9b-6adf-10385da2ba1e\" title=\"Guest\" date=\"D:20170123230940+05'30'\" width=\"1\" opacity=\"1\" fringe=\"0,0,0,0\" creationdate=\"D:20170123230931+05'30'\" TextColor=\"#FF0000\" FontSize=\"11\" rotation=\"0\"><contents-richtext><body xmlns=\"http://www.w3.org/1999/xhtml\" xmlns:xfa=\"http://www.xfa.org/schema/xfa-data/1.0/\" xfa:spec=\"2.0.2\" xfa:APIVersion=\"Acrobat:10.1.3\"><p dir=\"ltr\"><span dir=\"ltr\" style=\"font-family: Verdana; font-size: 11pt; text-align: left; color: #FF0000;font-weight:normal;font-style:normal\">lkki</span></p></body></contents-richtext><contents>lkki</contents><popup flags=\"print,nozoom,norotate\" page=\"0\" rect=\"0,742,150,842\" open=\"no\"/><defaultappearance>1 0 0 rg /Verdana 11 Tf</defaultappearance><defaultstyle>font: Verdana 11pt; text-align: left; color: #FF0000</defaultstyle></freetext></annots><pages><defmtx matrix=\"1,0,0,-1,0,842\" /></pages></xfdf>"
  }
}

Get 2D View details
GET/views2d/{viewId}

API to get details of a 2D View by it’s Id.

Parameters
HideShow
viewId
string (required) Example: crMPGUr-O_c

ID of the View

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": "crMPGUr-O_c",
  "createdOn": "2017-01-22T16:58:03+0530",
  "modifiedOn": "2017-01-22T16:58:03+0530",
  "modifiedBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@trimble.com",
    "status": "ACTIVE"
  },
  "createdBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@trimble.com",
    "status": "ACTIVE"
  },
  "name": "Sample 2D View",
  "description": "Description for the sample 2D View",
  "versionId": "9hWf2VhabtM",
  "projectId": "oLZYUISHJ9c",
  "fileId": "xDLFIvIWPCI",
  "thumbnail": "https://{baseUrl}/tc/app/files/thumb?id=4IX20hyMT6g&fc=REPRESENTATION&projectId=w5dLoAqMk9c&1485594921536",
  "rotation": "90",
  "zoomLevel": "100",
  "pageNumber": "8",
  "assignees": [
    {
      "id": "_1-dY7nGmoM",
      "type": "USER",
      "email": "mdoe@trimble.com",
      "firstName": "Michael",
      "lastName": "Doe"
    }
  ],
  "markup": {
    "xfdfData": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?><xfdf xmlns=\"http://ns.adobe.com/xfdf/\" xml:space=\"preserve\"><pdf-info xmlns=\"http://www.pdftron.com/pdfinfo\" version=\"2\" /><fields /><annots><line subject=\"Line\" page=\"0\" rect=\"100.38,752.16,324.69,815.11\" flags=\"print\" name=\"25612014-544b-1874-d7d9-71a7c420c443\" title=\"Guest\" date=\"D:20170123230923+05'30'\" color=\"#FF0000\" width=\"1\" opacity=\"1\" creationdate=\"D:20170123230923+05'30'\" start=\"101.38,753.16\" end=\"323.69,814.11\" head=\"None\" tail=\"None\"><popup flags=\"print,nozoom,norotate\" page=\"0\" rect=\"0,742,150,842\" open=\"no\"/></line><line subject=\"Line\" page=\"0\" rect=\"375.68,579.65,401.19,654.55\" flags=\"print\" name=\"b13cd4d3-e296-9805-77ed-a48d0d7b1aef\" title=\"Guest\" date=\"D:20170123230928+05'30'\" color=\"#FF0000\" width=\"1\" opacity=\"1\" creationdate=\"D:20170123230928+05'30'\" start=\"376.68,580.65\" end=\"400.19,653.55\" head=\"OpenArrow\" tail=\"None\"><popup flags=\"print,nozoom,norotate\" page=\"0\" rect=\"0,742,150,842\" open=\"no\"/></line><freetext subject=\"FreeText\" page=\"0\" rect=\"283.851262,736.023904,391.420983,757.936255\" flags=\"print\" name=\"8a2c9b73-6c50-de9b-6adf-10385da2ba1e\" title=\"Guest\" date=\"D:20170123230940+05'30'\" width=\"1\" opacity=\"1\" fringe=\"0,0,0,0\" creationdate=\"D:20170123230931+05'30'\" TextColor=\"#FF0000\" FontSize=\"11\" rotation=\"0\"><contents-richtext><body xmlns=\"http://www.w3.org/1999/xhtml\" xmlns:xfa=\"http://www.xfa.org/schema/xfa-data/1.0/\" xfa:spec=\"2.0.2\" xfa:APIVersion=\"Acrobat:10.1.3\"><p dir=\"ltr\"><span dir=\"ltr\" style=\"font-family: Verdana; font-size: 11pt; text-align: left; color: #FF0000;font-weight:normal;font-style:normal\">lkki</span></p></body></contents-richtext><contents>lkki</contents><popup flags=\"print,nozoom,norotate\" page=\"0\" rect=\"0,742,150,842\" open=\"no\"/><defaultappearance>1 0 0 rg /Verdana 11 Tf</defaultappearance><defaultstyle>font: Verdana 11pt; text-align: left; color: #FF0000</defaultstyle></freetext></annots><pages><defmtx matrix=\"1,0,0,-1,0,842\" /></pages></xfdf>"
  }
}

Delete 2D View
DELETE/views2d/{viewId}

API to delete 2D View by it’s id.

Parameters
HideShow
viewId
string (required) Example: GAw2S6K65dM

ID of the View

force
boolean (optional) Example: false

Flag to delete explicit view even if it is attached to ToDos. Default is false

Response  204

BIM Data

This section describes the APIs related to BIM objects

BIM Object Types

Get all available BIM Object Types
GET/bimdata/object-types

Response is an array of all available BIM Object Types supported by Trimble Connect.

Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  "IfcProject",
  "IfcBeam"
]

Query BIM Objects

Query BIM Objects using filters
POST/bimdata/objects-query

BIM Objects can be filtered by the following criteria, to be provided in the Request Body:

  • fileIds (optional, array, ["bCiE0H8vE38", "cCiQ0S2eE45"]) A list of IDs of the files.

  • versionIds (optional, array, ["woC32em2Fb0", "q-XKNAhg3Rk"]) A list of Version IDs of the files.

  • objectTypes (optional, array, ["IfcBeam", "IfcCurtainWall"]) A list of the BIM Object Types.

  • objectIds (optional, array, ["bCiE0H8vE38", "cCiQ0S2eE45"]) A list of BIM Object IDs.

  • properties (optional, array, see sample request) Array of objects with Property Set Names, Property Names, and Property Values to filter on.

    • Property Filter can be specified as either of:
      • Property Set Name
      • Property Set Name and Property Name
      • Property Set Name, Property Name and Property value
      • One or more Property Set Names
      • One or more Property Names within a Property Set
      • Zero or one Property Value for any Property Name
    • If only setName is specified, all objects having properties belonging to that property set are returned.
    • If both setName and propertyName are specified, objects with valid values for those properties are returned.
    • If a Property Value is specified, the BIM Objects having the Property Value exactly matching the one specified in the filter, are returned.

It is manadatory for a BIM Objects Query to identify the source files for which the BIM Objects are to be queried/filtered. The source files can be identifed by providing a list of fileIds or versionIds.

  • If no source files can be located for the given combination of fileIds and versionIds, Response Code 404 Not Found is returned.

  • For a given source file in the ‘fileIds’ list, the BIM Objects belonging to the latest version of that file are returned.

  • If versionsIds are provided, a BIM Object is returned for each versionId in the list.

The BIM Objects Query can further be restricted by providing one or more of the following Filter Criteria, which are evaluated in the order listed below:

  • objectTypes

  • objectIds

  • properties

At every filter level, only those BIM Objects are returned, which satisfy all the preceding filter criteria: If any Filter Criteria is not provided or is empty, that Filter Criteria is ignored, and the next Filter Criteria in the Filters Precedence Order is evaluated.

The BIM Objects returned in the Response Body can be configured by specifying the following Result Set properties (all of them optional) in the Request Body:

  • objectIdsOnly (optional, boolean, true) Flag to get BIM Object IDs only. Default is false.

  • includeBoundingBox (optional, boolean, true): Flag to include the BIM Objects’ Bounding Box. Default is true.

    • If objectIdsOnly is provided a value of true, includeBoundingBox flag is ignored.
  • includeProperties (optional, string, none): Flag for including the BIM Objects’ Properties in the Result Set.

    • Valid values are all, none, queried:
      • none - No properties are returned in the Response BIM Objects.
      • all - All properties available for the BIM Objects in the Response are returned.
      • queried - Only those properties (with property values) are included in the returned BIM Object Details, which were in the original Request object’s properties filter.
    • Default is none.

If no Range Header is specified, all the result objects are returned up to a maximum of 500. If a Range Header is specified, all the result objects within the specified range are returned up to a maximum of 1000.

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "filters": {
    "fileIds": [
      "bCiE0H8vE38",
      "cCiQ0S2eE45"
    ],
    "versionIds": [
      "woC32em2Fb0",
      "acIKX4f6WM8"
    ],
    "objectTypes": [
      "IfcBeam",
      "IfcCurtainWall"
    ],
    "objectIds": [
      "42344868-5374-459C-A808-D6F47B978E1A",
      "bd6da0c0-f202-4514-9a5b-bdf36903d705"
    ],
    "properties": [
      {
        "setName": "GTeam_Quantity_Data",
        "setItems": [
          {
            "name": "NetSurfaceArea"
          },
          {
            "name": "NetVolume"
          }
        ]
      },
      {
        "setName": "GTCCGIProfiles",
        "setItems": [
          {
            "name": "Part_Number",
            "value": "Unset"
          },
          {
            "name": "IntID"
          }
        ]
      }
    ]
  },
  "resultSetConfiguration": {
    "objectIdsOnly": false,
    "includeBoundingBox": true,
    "includeProperties": "all"
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "name": "Level 03 - T.O. Basement Slab",
    "type": "IfcBuildingStorey",
    "objectId": "eabed363-0187-429d-91a7-2d7d264a0fe4",
    "fileId": "acIKX4f6WM8",
    "versionId": "nk_d341SbSc",
    "boundingBox": {
      "min": [
        0,
        0,
        0
      ],
      "max": [
        0,
        0,
        0
      ]
    }
  },
  {
    "name": "Default",
    "type": "IfcBuildingElementProxy",
    "objectId": "850f4571-facc-4f2b-a9bf-3388ee48e9fb",
    "fileId": "acIKX4f6WM8",
    "versionId": "nk_d341SbSc",
    "boundingBox": {
      "min": [
        4.76851416015625,
        -3.1367045898437502,
        2.6590625
      ],
      "max": [
        6.62075537109375,
        -2.617723388671875,
        2.82733740234375
      ]
    },
    "properties": [
      {
        "setName": "Phasing",
        "setItems": [
          {
            "name": "Phase Created",
            "type": "STRING",
            "value": "Project Completion",
            "rank": 1
          },
          {
            "name": "Phase Demolished",
            "type": "STRING",
            "value": "None",
            "rank": 2
          }
        ]
      },
      {
        "setName": "GTeam_Quantity_Data",
        "setItems": [
          {
            "name": "NetVolume",
            "type": "VOLUMEUNIT",
            "value": 0.041234799777128,
            "rank": 1
          },
          {
            "name": "NetSurfaceArea",
            "type": "AREAUNIT",
            "value": 1.02469834657479,
            "rank": 2
          }
        ]
      }
    ]
  }
]

Object Link to Entity

API related to 3d model object linkage to entity are described in this section.

Object link is a relationship between a 3d model (source) and a Trimble Connect entity or some external reference (target). The linked entity (target) could be a file, a TODO, a view, a clash item, or some external reference url. Moreover, the source object may contain additional information regarding the semantic of the link; for example, various 3d model object could be included in the source to provide linking of 3d model objects to target.

Object links

List linked entities for objects
GET/objectlink

This API returns the list of links based on the version Id of the 3d model and the object Id (or object source Id).

Parameters
HideShow
id
string (optional) Example: Dyfw481fE9U

source identifier. Currently could only be file id. If id alone is passed then every linkage for that file (all versions) is returned.

versionId
string (optional) Example: cFhCbaRN4t1

file version identifier. If versionId alone is passed then every linkage for the model identified by the versionId is returned.

objectId
string (optional) Example: 4MUJs5SXO64

Object identifier of interest.

sourceId
string (optional) Example: PdtcatZR260

Source identifier of the object of interest. An alternative form identifier to objectId.

modifiedAfter
date (optional) Example: 2017-01-20T13:51:37-0700

filter: only links modified after the given time are returned.

includeDeleted
boolean (optional) Example: false

flag to indicate whether deleted objects link should be included.

full
boolean (optional) Example: false

flag to indicate whether a full or mini version of the listing should be returned. Default is false.

Response  200
HideShow
Body
[
    {
        "id": "6eQUp6ozXQg",
        "createdOn": "2015-05-27T13:51:37-0700",
        "createdBy": {
              "id": "Dyfw481fE9U",
             "firstName": "John",
             "lastName": "Doe",
             "email": "johndoe@gt-global.com",
             "status": "ACTIVE"
        },
        "modifiedOn": "2015-05-27T13:51:37-0700",
        "modifiedBy": {
             "id": "Dyfw481fE9U",
             "firstName": "John",
             "lastName": "Doe",
             "email": "johndoe@gt-global.com",
             "status": "ACTIVE"
        },
        "source" : {
            "id" : "PdtcatZR260",
            "versionId":"PdtcatZR260",
            "data" : [
                {
                    "type": "BIMOBJECT",
                    "objectId": "4MUJs5SXO64",
                    "sourceId" : "0mIQCEgIDCAf2Ue8DWdALk"
                },
                {
                    "type": "BIMOBJECT",
                    "objectId": "4MUJs5SXuxz",
                    "sourceId" : "1IBjXv001Ehp4pDpWuC38t"
                }
            ]
        }, 
        "target" : {
            "type" : "URL",
            "id" : "https://jira.prod.gteam.com/browse/GTEAM-9470"
        }
    },
    {
        "id": "u1zgCYZyHko",
        "createdOn": "2015-05-27T13:51:37-0700",
        "createdBy": {
              "id": "Dyfw481fE9U",
             "firstName": "John",
             "lastName": "Doe",
             "email": "johndoe@gt-global.com",
             "status": "ACTIVE"
        },
        "modifiedOn": "2015-05-27T13:51:37-0700",
        "modifiedBy": {
             "id": "Dyfw481fE9U",
             "firstName": "John",
             "lastName": "Doe",
             "email": "johndoe@gt-global.com",
             "status": "ACTIVE"
        },
        "source" : {
            "PdtcatZR260",
            "versionId":"PdtcatZR260",
            "data" : [
                {
                    "type": "BIMOBJECT"
                    "objectId": "4MUJs5SXO64",
                    "sourceId" : "0mIQCEgIDCAf2Ue8DWdALk"
                }
            ]
        }, 
        "target" : {
            "type" : "FILE",
            "id" : "ofIhLUcKZxQ",
            "versionId" : "ofIhLUcKZxQ"
        }
    }
]
Response  200
HideShow
Body
[
  {
    "id": "6eQUp6ozXQg",
    "createdOn": "2015-05-27T13:51:37-0700",
    "createdBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "johndoe@gt-global.com",
      "status": "ACTIVE"
    },
    "modifiedOn": "2015-05-27T13:51:37-0700",
    "modifiedBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "johndoe@gt-global.com",
      "status": "ACTIVE"
    },
    "target": {
      "type": "URL",
      "id": "https://jira.prod.gteam.com/browse/GTEAM-9470"
    }
  },
  {
    "id": "u1zgCYZyHko",
    "createdOn": "2015-05-27T13:51:37-0700",
    "createdBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "johndoe@gt-global.com",
      "status": "ACTIVE"
    },
    "modifiedOn": "2015-05-27T13:51:37-0700",
    "modifiedBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "johndoe@gt-global.com",
      "status": "ACTIVE"
    },
    "target": {
      "type": "FILE",
      "id": "ofIhLUcKZxQ"
    }
  }
]

Delete an object link

Delete a object link
DELETE/objectlink/{linkId}

Parameters
HideShow
linkId
string (required) Example: 6eQUp6ozXQg

id of the link

Response  204

Create object link

Create object link
POST/objectlink

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "source": {
    "versionId": "PdtcatZR260",
    "data": [
      {
        "type": "BIMOBJECT",
        "sourceId": "0mIQCEgIDCAf2Ue8DWdALk"
      },
      {
        "type": "BIMOBJECT",
        "sourceId": "1IBjXv001Ehp4pDpWuC38t"
      }
    ]
  },
  "target": {
    "type": "URL",
    "id": "https://jira.prod.gteam.com/browse/GTEAM-9470"
  }
}
Response  201
HideShow
Body
{
  "id": "6eQUp6ozXQg",
  "createdOn": "2015-05-27T13:51:37-0700",
  "createdBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@gt-global.com",
    "status": "ACTIVE"
  },
  "modifiedOn": "2015-05-27T13:51:37-0700",
  "modifiedBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@gt-global.com",
    "status": "ACTIVE"
  },
  "source": {
    "id": "PdtcatZR260",
    "versionId": "PdtcatZR260",
    "data": [
      {
        "type": "BIMOBJECT",
        "objectId": "4MUJs5SXO64",
        "sourceId": "0mIQCEgIDCAf2Ue8DWdALk"
      },
      {
        "type": "BIMOBJECT",
        "objectId": "4MUJs5SXuxz",
        "sourceId": "1IBjXv001Ehp4pDpWuC38t"
      }
    ]
  },
  "target": {
    "type": "URL",
    "id": "https://jira.prod.gteam.com/browse/GTEAM-9470"
  }
}

Bulk create object links

Bulk create object links
POST/objectlink/objectlinks

This api bulk creates a collection of object links.

Request
HideShow
Headers
Content-Type: application/json
Body
[ {
        "source" : {
            "id" : "PdtcatZR260",
            "data" : [
                {
                    "type": "BIMOBJECT",
                    "sourceId" : "0mIQCEgIDCAf2Ue8DWdALk"
                },
                {
                    "type": "BIMOBJECT",
                    "sourceId" : "1IBjXv001Ehp4pDpWuC38t"
                }
            ]
        }, 
        "target" : {
            "type" : "URL",
            "id" : "https://jira.prod.gteam.com/browse/GTEAM-9470"
        }
    },
    {
        "source": {
            "versionId":"PdtcatZR260",
            "data" : [
                {
                    "type": "BIMOBJECT",
                    "objectId": "GAw2S6K65dM"
                }
            ]
        },
        "target" : {
                "type" : "FILE",
                "id" : "aBy8aG1CQ5Q",
        }
    }
]
Response  200
HideShow
Body
[
  {
    "id": "6eQUp6ozXQg",
    "createdOn": "2015-05-27T13:51:37-0700",
    "createdBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "johndoe@gt-global.com",
      "status": "ACTIVE"
    },
    "modifiedOn": "2015-05-27T13:51:37-0700",
    "modifiedBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "johndoe@gt-global.com",
      "status": "ACTIVE"
    },
    "source": {
      "id": "PdtcatZR260",
      "versionId": "PdtcatZR260",
      "data": [
        {
          "type": "BIMOBJECT",
          "objectId": "4MUJs5SXO64",
          "sourceId": "0mIQCEgIDCAf2Ue8DWdALk"
        },
        {
          "type": "BIMOBJECT",
          "objectId": "4MUJs5SXuxz",
          "sourceId": "1IBjXv001Ehp4pDpWuC38t"
        }
      ]
    },
    "target": {
      "type": "URL",
      "id": "https://jira.prod.gteam.com/browse/GTEAM-9470"
    },
    "status": 201
  },
  {
    "id": "e8OLagWLlw8",
    "createdOn": "2015-05-27T13:51:37-0700",
    "createdBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "johndoe@gt-global.com",
      "status": "ACTIVE"
    },
    "modifiedOn": "2015-05-27T13:51:37-0700",
    "modifiedBy": {
      "id": "Dyfw481fE9U",
      "firstName": "John",
      "lastName": "Doe",
      "email": "johndoe@gt-global.com",
      "status": "ACTIVE"
    },
    "source": {
      "id": "PdtcatZR260",
      "versionId": "PdtcatZR260",
      "data": [
        {
          "type": "BIMOBJECT",
          "objectId": "GAw2S6K65dM",
          "sourceId": "3DqSjXROfCKOfAMT5r24Iw"
        }
      ]
    },
    "target": {
      "type": "FILE",
      "id": "aBy8aG1CQ5Q",
      "versionId": "aBy8aG1CQ5Q"
    },
    "status": 201
  }
]

Update link

Update object links
PATCH/objectlink/{linkId}

Parameters
HideShow
linkId
string (required) Example: 6eQUp6ozXQg

id of the link

Request
HideShow
Body
{
  "target": {
    "type": "URL",
    "id": "https://app.connect.trimble.com/tc/app#/projects"
  }
}
Response  200
HideShow
Body
{
  "id": "e8OLagWLlw8",
  "createdOn": "2015-05-27T13:51:37-0700",
  "createdBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@gt-global.com",
    "status": "ACTIVE"
  },
  "modifiedOn": "2015-05-27T13:51:37-0700",
  "modifiedBy": {
    "id": "Dyfw481fE9U",
    "firstName": "John",
    "lastName": "Doe",
    "email": "johndoe@gt-global.com",
    "status": "ACTIVE"
  },
  "source": {
    "id": "PdtcatZR260",
    "versionId": "PdtcatZR260",
    "data": [
      {
        "type": "BIMOBJECT",
        "objectId": "GAw2S6K65dM",
        "sourceId": "3DqSjXROfCKOfAMT5r24Iw"
      }
    ]
  },
  "target": {
    "type": "URL",
    "id": "https://app.connect.trimble.com/tc/app#/projects"
  }
}

List Object links by target

List links for the given target entity
GET/objectlink/target

This API returns the set of object links for a given target. For versioned target, either id or versionId must be provided.

Parameters
HideShow
projectId
string (required) Example: 4MUJs5SXO64

project id.

type
string (required) Example: FILE

target type.

id
string (required) Example: FlPghBwyP-c

target id identifier.

versionId
string (required) Example: QaUAyoHLcA0

target versionId, applicable to versioned target.

modifiedAfter
date (optional) Example: 2017-01-20T13:51:37-0700

filter: only links modified after the given time are returned.

includeDeleted
string (required) 

include deleted links.

Response  200
HideShow
Body
[
    {
        "id": "e8OLagWLlw8",
        "createdOn": "2015-05-27T13:51:37-0700",
        "createdBy": {
              "id": "Dyfw481fE9U",
             "firstName": "John",
             "lastName": "Doe",
             "email": "johndoe@gt-global.com",
             "status": "ACTIVE"
        },
        "modifiedOn": "2015-05-27T13:51:37-0700",
        "modifiedBy": {
             "id": "Dyfw481fE9U",
             "firstName": "John",
             "lastName": "Doe",
             "email": "johndoe@gt-global.com",
             "status": "ACTIVE"
        },
        "source": { 
            "id" : "PdtcatZR260"
            "versionId":"PdtcatZR260",
            "data" : [
                {
                    "type": "BIMOBJECT",
                    "objectId": "GAw2S6K65dM",
                    "sourceId" : "3DqSjXROfCKOfAMT5r24Iw"
                }
            ]
        },
        "target" : {
            "type" : "FILE",
            "id" : "aBy8aG1CQ5Q",
            "versionId" : "aBy8aG1CQ5Q"
        }
    }
]

3D Viewer

3D viewer javascript API can be used to embed and manipulate the TConnect web viewer. The web viewer could be embedded into any web based application.

Instantiating the Embedded Viewer

  • Include the following javascript file:

    • https://{baseUrl}/tc/static/gteam/viewer/embed.js
  • Specify a DOM node to embed the Trimble Connect viewer.

    var ViewerNode = document.getElementById("GTeamViewer");
  • Specify the embedded viewer’s configuration. This can be done by using a javascript object as described below:

    var options = {
            hideLeftPanel : false,
            leftPanel : {
                hideView : false,
                view : {
                    hideCreateView : false,
                    hideUpdateView : false,
                    hideDeleteView : false
                },
               hideModelTree : false,
               hideClash : false,
               clash : {
                    hideCreateClash : false,
                    hideDeleteClash : false
               },
              hideReport : false,    
              report : {
                   hideCustomReport : false
              }    
            },
            hideToolbar : false,
            toolbar : {
                hideDownload : false,
                hideNavigation : false,
                hidePresetView : false,
                hideZoomSelect : false,
                hideTool : false,
                hideMarkup : false,
                hideReset : false
            },
           hideProperty : false 
        }
    
        var viewer_data = {  "domNode": node
            , "title": "Viewer Title to Display on Web Page"
            , "noProperties": false
            , "noLeft": false
            , "debug": true
            , "options" : options
            , "height": 850
            , "width": 1500
            , "gteamOrigin" : encodeURIComponent("https://{baseUrl}")
            , "projId" : "Dyfw481fE9U"
            , "objects" : "M-dWujJNQXA"
            , "accessToken" : accessTokenString
            , "class" : "embeddedViewFrame"
            , "onInitialized": function() { optional: place code here }  //callback function to run code on viewer load
        };
  • viewer parameters

    • viewer_data
      • domNode (dom element) dom node where the embed viewer’s iframe is attached to.
      • title (string) document title.
      • noLeft (boolean) hide left panel. This is deprecated and replace by hideLeftPanel in the options object.
      • debug (boolean) enable viewer debug logging.
      • options (object) option for viewer UI.
        • hidLeftPanel (boolean) flag for hiding the left panel
        • leftPanel (object) options for the left panel children widgets.
          • hideView (boolean) flag to hide view pane
          • view (object) options for view pane children
            • hideCreateView (boolean) flag to hide create view button
            • hideUpdateView (boolean) flag to hide update view button
            • hideDeleteView (boolean) flag to hide delete view button
          • hideModelTree (boolean) flag to hide model tree
          • hideClash (boolean) flag to hide clash pane
          • clash (object) options for clash pane children
            • hideCreateClash (boolean) flag to hide create clash button
            • hideDeleteClash (boolean) flag to hide delete clash button
          • hideReport (boolean) flage to hide report pane
          • report (object) option for report pane children
            • hideCustomReport (boolean) flag to hide custom report button
        • hideToolbar (boolean) flag to hide central toolbar
        • toolbar (object) options for toolbar children
          • hideDownload (boolean) flag to hide file download menu bar
          • hideNavigation (boolean) flag to hide navigation mode menu bar
          • hidePresetView (boolean) flag to hide preset view menu bar
          • hideZoomSelect (boolean) flag to hide zoom select menu bar
          • hideTool (boolean) flag to hide section tool menu bar
          • hideMarkup (boolean) flag to hide markup menu bar
          • hideReset (boolean) flag to hide reset menu bar
        • hideProperty (boolean) false
      • height (integer or string) the height of the viewer
      • width (integer or string) the width of the veiewer
      • gteamOrigin (url) trimble connect pod url.
      • projId (string) project id
      • objects (string) comma separated list of version ids.
      • viewId (string) the initial view to display (optional)
      • accessToken (string) access token
      • class (string) dom class for the 3d viewer
      • onInitialized (function) call back function to be called from the viewer to notify host application that viewer is ready.
  • Retrieving the Project ID

    • Log into Trimble Connect, and within the project display the file within the Trimble Connect viewer. Then extract the Project ID from the page URL. For example:
      • https://{baseUrl}/tc/app#/project/AdEU87H7q5I/viewer/lmoTIwd2jYI/model?objIds=vxA6n8373AE&props=1
      • Project ID = AdEU87H7q5I.
  • Retrieving the Objects ID

    • Extract object ID from URL, from the above example:
      • https://{baseUrl}/tc/app#/project/AdEU87H7q5I/viewer/lmoTIwd2jYI/model?objIds=vxA6n8373AE&props=1
      • Object Id = X6Uw9Wd7kz8.
  • Retrieving the view ID

    • In case view ID is needed, extract view ID from URL, from the above example:
      • https://{baseUrl}/tc/app#/project/AdEU87H7q5I/viewer/lmoTIwd2jYI/views?objIds=vxA6n8373AE&mashup=e8OLagWLlw8&viewId=lmoTIwd2jYI&props=1&projectId=AdEU87H7q5I
      • View Id = lmoTIwd2jYI.
  • Create an instance of the Trimble Connect embedded viewer. ‘’’ var viewer = new EmbeddedViewer(viewer_data); ‘’’

  • Full example for embed viewer

    <html>
        <head>
            <title>Trimble Connect</title>
        </head>
        <body>
            <div id="TrimbleConnectViewer"></div>          
            <script type="text/javascript" src="https://{baseUrl}/tc/static/gteam/viewer/embed.js"></script>
            <script>
                        var ViewerNode = document.getElementById("TrimbleConnectViewer");
                        var options = {
                            hideProperty : true
                        };
                        var viewer_data = {  "domNode": ViewerNode
                        , "title": "Trimble Connect Embedded Viewer"
                        , "height": 850
                        , "width": 1500
                        ,"options" : options
                        , "gteamOrigin" : encodeURIComponent("https://{baseUrl}")
                        , "projId" : "Dyfw481fE9U"
                        , "objects" : "M-dWujJNQXA"                     
                        , "accessToken" : accessTokenString
                        , "class" : "embeddedViewFrame"
                        , "onInitialized": function() {if (window.output) { output.write("API ready"); }}  //callback function to run code on viewer load
                        };
                        var viewer = new EmbeddedViewer(viewer_data);
            </script>
        </body>
    </html>

API functions

Functions available for the embedded viewer are listed below. Functions that return data will receive it using a callback function. All parameters listed must be supplied.

For examples that follow, assume we have defined:

var viewer = new EmbeddedViewer(viewer_data)

addToSelection

addToSelection(vids,recursive): append objects to the current selection.

  • Parameters:

    • vids (array of strings) list of internal ids.
    • recursive (boolean) flag to determine how objects are added. If true, in addition to the listed objects, children of listed objects will also be appended to the current selection.
  • Example:

    • viewer.addToSelection(['1/1ItkrGV49EmBbb5jgKYVdn','1/00rAN_4En8DA3k17lgYUwZ'],true);

createView

createView(viewData,callback): create a View with the given data and returns the newly create view information.

  • Parameters:

    • viewData (object):
      • name (string) name of the view.
      • description (string) description of the view.
    • callback (function) function to process the newly created view.
  • Return

    • object
      • id (string) the newly created view id.
      • createDate (date) view creation date.
      • view (object) view information
        • name (string) name of the view (what we just inputed)
        • description (string) description of the view
        • projectId (string) project id
        • userName (string) creator name
      • camera (object) the camera object in spherical coordinate
        • cameraId (string)
        • targetX (float) view target x-coordinate
        • targetY (float) view target y-coordinate
        • targetZ (float) view target z-coordinate
        • distance (float) distance between camera location and target
        • pitch (float) camera pitch angle in radian
        • yaw (float) camera yaw angle in radian
  • Example

    • viewer.createView({name : 'view name', description : 'my view'},function(view){ 
          console.log(view);
      })
    • console output : 
          {
              "id": "6DofLo1ia0I",
              "creationDate": 1438095041062,
              "view": {
                  "oldValue": null,
                  "newValue": null,
                  "id": null,
                  "name": "my view",
                  "description": "created from embedded viewer",
                  "creationDate": 1438095041062,
                  "storageObjectId": "6DofLo1ia0I",
                  "bg_color": null,
                  "assignees": [],
                  "mashupId": "ufTgQ969VfM",
                  "projectId": "BYRvifmFaUk",
                  "userName": "John Doe",
                  "thumbnailUrl": "https://app.connect.trimble.com/tc/app/files/thumb?id=6DofLo1ia0I&fc=REPRESENTATION&projectId=BYRvifmFaUk#"
              },
              "modified": null,
              "camera": {
                  "cameraId": "jXa0GQMGvu4",
                  "targetX": 11223.5712890625,
                  "targetY": 15284.0712890625,
                  "targetZ": 3518.01806640625,
                  "distance": 28348.919115331188,
                  "pitch": 1.27,
                  "yaw": 0.82,
                  "viewId": "6DofLo1ia0I"
              },
              "viewelements": [],
              "markupIds": [],
              "markups": [],
              "elementTypes": [{
                  "elementTypeName": "IfcSpace",
                  "visibility": false
              }],
              "revisionOf": null,
              "clashItems": null,
              "bg_color": null,
              "projectId": "BYRvifmFaUk"
          }

createTodo

createTodo(todoData,callback): create a todo with todoData and return the newly created todo object.

  • Parameters:

    • todoData (object):
      • name (string) the name of the todo.
      • dueDate (date) due date.
      • assignees (string array) array of user ids.
      • description (string) todo description.
      • label (string) todo display string.
    • callback (function) function to process the new todo.
  • Return

    • object
      • id (string) the id of the newly created todo.
      • label (string) todo display string.
      • decription (string) todo description.
      • dueDate (date) due date.
      • views (array of object) list of view object associated to the todo.
      • createdBy (object) todo creator.
  • Example:

    • viewer.createTodo({name : 'a todo', 
              description : 'embedded todo', 
              dueDate : new Date('December 17, 2015 03:24:00'),
              label : 'a very important todo'
          },function(todo){
          })
    • console output: 
          {
              "id": "AoEI7pAOdW4",
              "creationDate": 1438195028300,
              "view": {
                  "oldValue": null,
                  "newValue": null,
                  "id": null,
                  "name": "View for My Ifc project",
                  "description": "",
                  "creationDate": 1438195028300,
                  "storageObjectId": "AoEI7pAOdW4",
                  "bg_color": null,
                  "assignees": [],
                  "mashupId": "ufTgQ969VfM",
                  "projectId": "BYRvifmFaUk",
                  "userName": "John Doe",
                  "thumbnailUrl": "https://app.connect.trimble.com/tc/app/files/thumb?id=AoEI7pAOdW4&fc=REPRESENTATION&projectId=BYRvifmFaUk#",
                  "todoId": "NwB8ICuu1aA"
              },
              "modified": null,
              "camera": {
                  "cameraId": "sjYZ72f07Ik",
                  "targetX": 11253.62890625,
                  "targetY": 15249.9541015625,
                  "targetZ": 3550,
                  "distance": 28348.919115331188,
                  "pitch": 1.27,
                  "yaw": 0.82,
                  "viewId": "AoEI7pAOdW4"
              },
              "viewelements": [],