Trimble Releases API

APIs related to Releases 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", "/")

GitHub OpenAPI

Operations 9

GET /releases List all Releases #
POST /releases Create a New Release #
POST /releases/downloadFiles Download files in release #
GET /releases/{releaseId} Get Release Details #
PATCH /releases/{releaseId} Edit Release #
DELETE /releases/{releaseId} Delete Release #
GET /releases/{releaseId}/files List all files #
POST /releases/{releaseId}/files Add files #
DELETE /releases/{releaseId}/files Remove files #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/trimble:trimble-releases-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

trimble-releases-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Trimble Connect Releases API
  description: '# Overview

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


    Documentation for this service is available on the Trimble Developer site.


    # Getting started

    **You must agree to the Terms of Service to use Connect services.**


    You need to complete the steps in the Getting started guide to be able to call the API.


    # Concepts

    Please see Common Concepts in the Connect Platform documentation.


    ## Paginated Responses

    All collections/lists support a Range header to fetch partial lists (HTTP 206) - the positions are zero-indexed & inclusive


    + Request Header

    ```

    Range: items=25-34

    ```


    + Response Header


    ```

    Content-Range: items 25-34/40

    ```


    ## If-Match Header

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


    The APIs that support this header are:


    + **PATCH /folders**

    + **PATCH /files**


    ## Limits

    + There is a maximum length of 255 characters for project, company, folder, file, group, release, views, and clash names.

    + There is a maximum length of 40 characters for tag labels.'
  version: '2.0'
  contact:
    name: Trimble Connect Support
    url: https://connect.trimble.com
    email: connect-support@trimble.com
  license:
    name: Trimble Connect SDK Internal Use License
    url: https://developer.trimble.com/docs/connect/terms/SDK-IU-license-agreement
  termsOfService: https://developer.trimble.com/docs/connect/terms
servers:
- url: https://app.connect.trimble.com/tc/api/2.0
  description: PROD US master region
- url: https://app21.connect.trimble.com/tc/api/2.0
  description: PROD EU region
- url: https://app22.connect.trimble.com/tc/api/2.0
  description: PROD UK region
- url: https://app31.connect.trimble.com/tc/api/2.0
  description: PROD AP region
- url: https://app32.connect.trimble.com/tc/api/2.0
  description: PROD AP2 region
- url: https://app.stage.connect.trimble.com/tc/api/2.0
  description: STAGE US master region
- url: https://app31.stage.connect.trimble.com/tc/api/2.0
  description: STAGE AP region
- url: https://app21.stage.connect.trimble.com/tc/api/2.0
  description: STAGE EU region
- url: https://app.connect.trimble.com/tc/api
  description: PROD US master region (v2.1)
- url: https://app21.connect.trimble.com/tc/api
  description: PROD EU region (v2.1)
- url: https://app22.connect.trimble.com/tc/api
  description: PROD UK region (v2.1)
- url: https://app31.connect.trimble.com/tc/api
  description: PROD AP region (v2.1)
- url: https://app32.connect.trimble.com/tc/api
  description: PROD AP2 region (v2.1)
- url: https://app.stage.connect.trimble.com/tc/api
  description: STAGE US master region (v2.1)
- url: https://app31.stage.connect.trimble.com/tc/api
  description: STAGE AP region (v2.1)
- url: https://app21.stage.connect.trimble.com/tc/api
  description: STAGE EU region (v2.1)
security:
- Bearer: []
tags:
- name: Releases
  description: 'APIs related to Releases

    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", "/")'
paths:
  /releases:
    get:
      tags:
      - Releases
      summary: List all Releases
      description: This API will fetch all the releases for the project. To fetch specific release status the optional __status__ query parameter can be used.
      operationId: ListallReleases
      parameters:
      - name: projectId
        in: query
        description: ID of the Project
        required: true
        schema:
          type: string
          example: Dyfw481f300
      - name: status
        in: query
        description: status of the release
        schema:
          type: string
          example: open
      responses:
        '206':
          description: ''
          headers: {}
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ReleaseDetailsResponse'
    post:
      tags:
      - Releases
      summary: Create a New Release
      description: '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'
      operationId: CreateaNewRelease
      parameters: []
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateaNewReleaseRequest'
        required: true
      responses:
        '201':
          description: ''
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReleaseDetailsResponse'
  /releases/downloadFiles:
    post:
      tags:
      - Releases
      summary: Download files in release
      description: 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
      operationId: Downloadfilesinrelease
      parameters:
      - name: releaseId
        in: query
        description: ''
        required: true
        schema:
          type: string
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              type: array
              items:
                type: string
              description: ''
              example:
              - 0BLkVRlfA7A
              - MGeRiPYn-QI
            example:
            - 0BLkVRlfA7A
            - MGeRiPYn-QI
        required: true
      responses:
        '200':
          description: ''
          headers: {}
  /releases/{releaseId}:
    get:
      tags:
      - Releases
      summary: Get Release Details
      operationId: GetReleaseDetails
      parameters:
      - name: releaseId
        in: path
        description: ID of the Release.
        required: true
        schema:
          type: string
          example: JsPh2jD3PFo
      responses:
        '200':
          description: ''
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReleaseDetailsResponse'
    patch:
      tags:
      - Releases
      summary: Edit Release
      description: '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.'
      operationId: EditRelease
      parameters:
      - name: releaseId
        in: path
        description: ID of the Release.
        required: true
        schema:
          type: string
          example: JsPh2jD3PFo
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EditReleaseRequest'
        required: true
      responses:
        '200':
          description: ''
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReleaseDetailsResponse'
    delete:
      tags:
      - Releases
      summary: Delete Release
      description: API to delete a release
      operationId: DeleteRelease
      parameters:
      - name: releaseId
        in: path
        description: ID of the Release.
        required: true
        schema:
          type: string
          example: JsPh2jD3PFo
      responses:
        '204':
          description: ''
          headers: {}
  /releases/{releaseId}/files:
    get:
      tags:
      - Releases
      summary: List all files
      description: This API returns a list of files for the Release
      operationId: Listallfiles
      parameters:
      - name: releaseId
        in: path
        description: ID of the Release
        required: true
        schema:
          type: string
          example: JsPh2jD3PFo
      responses:
        '200':
          description: ''
          headers: {}
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ReleaseFileResponse'
                description: ''
    post:
      tags:
      - Releases
      summary: Add files
      description: You can add files using this API to Release.
      operationId: Addfiles
      parameters:
      - name: releaseId
        in: path
        description: ID of the Release
        required: true
        schema:
          type: string
          example: JsPh2jD3PFo
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/AddReleaseFilesRequest'
              description: ''
        required: true
      responses:
        '201':
          description: ''
          headers: {}
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ReleaseFileResponse'
                description: ''
    delete:
      tags:
      - Releases
      summary: Remove files
      description: 'You can remove files from release using this API. This api takes below json as request body


        [


        {


        "id": "woC32em2Fb0",


        "type": "FILE"


        }


        ]'
      operationId: Removefiles
      parameters:
      - name: releaseId
        in: path
        description: ID of the Release
        required: true
        schema:
          type: string
          example: JsPh2jD3PFo
      - name: id
        in: query
        description: ID of the attachment
        required: true
        schema:
          type: string
          example: woC32em2Fb0
      - name: type
        in: query
        description: Type of attachment
        required: true
        schema:
          type: string
          example: FILE
      responses:
        '204':
          description: ''
          headers: {}
components:
  schemas:
    EditReleaseRequest:
      title: EditReleaseRequest
      required:
      - recipients
      type: object
      properties:
        recipients:
          type: array
          items:
            $ref: '#/components/schemas/Recipient'
          description: ''
      example:
        recipients:
        - id: eX9gwJqSe8I
          type: USER
    Recipient:
      title: Recipient
      required:
      - id
      - type
      type: object
      properties:
        id:
          type: string
          description: recipient identifier
        type:
          type: string
          enum:
          - USER
          - GROUP
          description: recipient type
        label:
          type: string
      example:
        id: eX9gwJqSe8I
        type: USER
    Company:
      title: Company
      required:
      - name
      - website
      - image
      - role
      - createdOn
      - modifiedOn
      - createdBy
      - modifiedBy
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        website:
          type: string
        image:
          type: string
        role:
          type: string
        createdOn:
          type: string
        modifiedOn:
          type: string
        createdBy:
          $ref: '#/components/schemas/CreatedBy'
        modifiedBy:
          $ref: '#/components/schemas/ModifiedBy'
      example:
        name: Trimble.com
        website: gmail.com
        image: https://{baseURL}/tc/app/files/thumb?id=k-PEcTYK265&fc=COMPANYIMG#?1487053557000
        role: ADMIN
        createdOn: 2017-01-18T12:48:38+0000
        modifiedOn: 2017-02-14T06:25:57+0000
        createdBy:
          firstName: John
          lastName: Doe
          email: jdoe@trimble.com
          status: ACTIVE
        modifiedBy:
          firstName: John
          lastName: Doe
          email: jdoe@trimble.com
          status: ACTIVE
    CreateaNewReleaseRequest:
      title: CreateaNewReleaseRequest
      required:
      - name
      - dueDate
      - projectId
      type: object
      properties:
        name:
          type: string
        dueDate:
          type: string
          description: (timestamp) - An ISO8601 Due date for the release
        projectId:
          type: string
        notes:
          type: string
        recipients:
          $ref: '#/components/schemas/Recipient'
      example:
        name: MEPRelease
        dueDate: 2015-07-30T23:20:39+0000
        projectId: Dyfw481f415
        notes: Added notes
    ReleaseFileResponse:
      title: ListreleasefilesResponse
      required:
      - id
      - name
      - type
      - modifiedOn
      - modifiedBy
      - revision
      - versionId
      type: object
      properties:
        id:
          type: string
          description: File identifier
        name:
          type: string
          description: File name
        type:
          type: string
        versionId:
          type: string
          description: versionID of the file
        modifiedOn:
          type: string
        modifiedBy:
          $ref: '#/components/schemas/ModifiedBy'
        thumbnailUrl:
          type: string
          description: Thumbnail URL of the file
        revision:
          type: integer
          format: int32
          description: Revision Number for file
      example:
        id: gu97ClRewyE
        name: ChatLog TC Sprint Meeting 2015_04_10 11_24.rtf
        type: FILE
        modifiedOn: 2015-07-08T21:39:44+0530
        modifiedBy:
          id: Dyfw481f416
          firstName: John
          lastName: Doe
          email: johndoe@trimble.com
          status: ACTIVE
        revision: 1
        versionId: gu97ClRewyE
    ReleaseDetailsResponse:
      title: ReleaseDetailsResponse
      required:
      - id
      - name
      - status
      - projectId
      - dueDate
      - notes
      - createdOn
      - createdBy
      - modifiedOn
      - modifiedBy
      - filesCount
      type: object
      properties:
        id:
          type: string
          description: Release identifier
        name:
          type: string
          description: Name of the release
        status:
          type: string
          description: Release Status
          enum:
          - OPEN
          - SENT
        projectId:
          type: string
          description: Project Identifier
        dueDate:
          type: string
          description: (timestamp) - An ISO8601 Due date for the Release
        notes:
          type: string
          description: Additional notes for Release
        createdOn:
          type: string
          description: timestamp) - An ISO8601 date when the Release was created
        createdBy:
          $ref: '#/components/schemas/CreatedBy'
        modifiedOn:
          type: string
          description: (timestamp) - An ISO8601 date when the Release was modified
        modifiedBy:
          $ref: '#/components/schemas/ModifiedBy'
        filesCount:
          type: number
          description: Number of release files attached
      example:
        id: JsPh2jD3PFo
        name: MEPRelease
        status: OPEN
        projectId: Dyfw481f412
        dueDate: 2015-07-30T00:00:00+0000
        notes: Added notes
        createdOn: 2015-07-25T18:30:00-0000
        createdBy:
          id: Dyfw481f413
          firstName: John
          lastName: Doe
          email: johndoe@trimble.com
          status: ACTIVE
        modifiedOn: 2015-07-20T18:30:00-0000
        modifiedBy:
          id: Dyfw481f414
          firstName: John
          lastName: Doe
          email: johndoe@trimble.com
          status: ACTIVE
        filesCount: 0
    AddReleaseFilesRequest:
      title: AddreleasefilesRequest
      required:
      - id
      - type
      type: object
      properties:
        id:
          type: string
        type:
          type: string
      example:
        id: gu97ClRewyE
        type: FILE
    CreatedBy:
      title: CreatedBy
      required:
      - id
      - firstName
      - lastName
      - email
      - status
      type: object
      description: User details of who created this object
      properties:
        id:
          type: string
          description: User identifier
        tiduuid:
          type: string
          description: Trimble ID of the user
        firstName:
          type: string
        lastName:
          type: string
        email:
          type: string
        status:
          type: string
          description: User status. User's status is PENDING when a new user has been invited to a project and has not access Connect yet. Once the user has accessed Connect, the status becomes ACTIVE. REMOVED is a project specific status that is shown for users that have been removed from a project.
          enum:
          - ACTIVE
          - PENDING
          - REMOVED
        company:
          $ref: '#/components/schemas/Company'
        companies:
          type: array
          items:
            $ref: '#/components/schemas/Company'
        companyAdmin:
          type: boolean
      example:
        id: LWOf7rirztM
        tiduuid: b75d4e5c-e4c0-4a92-9963-fcc5d36dd6a6
        firstName: John
        lastName: Doe
        email: jdoe@trimble.com
        status: ACTIVE
    ModifiedBy:
      title: ModifiedBy
      required:
      - id
      - firstName
      - lastName
      - email
      - status
      type: object
      description: User details of who modified this object recently
      properties:
        id:
          type: string
          description: User identifier
        tiduuid:
          type: string
          description: Trimble ID of the user
        firstName:
          type: string
        lastName:
          type: string
        email:
          type: string
        status:
          type: string
          description: User status. User's status is PENDING when a new user has been invited to a project and has not access Connect yet. Once the user has accessed Connect, the status becomes ACTIVE. REMOVED is a project specific status that is shown for users that have been removed from a project.
          enum:
          - ACTIVE
          - PENDING
          - REMOVED
      example:
        id: LWOf7rirztM
        tiduuid: b75d4e5c-e4c0-4a92-9963-fcc5d36dd6a6
        firstName: John
        lastName: Doe
        email: jdoe@trimble.com
        status: ACTIVE
  securitySchemes:
    Bearer:
      type: http
      description: The Trimble ID access token.
      scheme: bearer
      bearerFormat: JWT