Autodesk BIM 360 User Projects API

The User Projects API from Autodesk BIM 360 — 1 operation(s) for user projects.

OpenAPI Specification

autodesk-bim360-user-projects-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Construction.Account.Admin Account Users User Projects API
  version: '1.0'
  contact:
    name: Autodesk Plaform Services
    url: https://aps.autodesk.com/
    email: aps.help@autodesk.com
  termsOfService: https://www.autodesk.com/company/legal-notices-trademarks/terms-of-service-autodesk360-web-services/forge-platform-web-services-api-terms-of-service
  x-support: https://stackoverflow.com/questions/tagged/autodesk-platform-services
  description: 'The Account Admin API automates creating and managing projects, assigning and managing project users, and managing member and partner company directories. You can also synchronize data with external systems.

    '
servers:
- url: https://developer.api.autodesk.com
security:
- 2-legged: []
- 3-legged: []
tags:
- name: User Projects
paths:
  /construction/admin/v1/accounts/{accountId}/users/{userId}/projects:
    parameters:
    - schema:
        type: string
      name: accountId
      in: path
      required: true
      description: The ID of the ACC account that contains the project being created or the projects being retrieved. This corresponds to the hub ID in the Data Management API. To convert a hub ID into an account ID, remove the “b." prefix. For example, a hub ID of b.c8b0c73d-3ae9 translates to an account ID of c8b0c73d-3ae9.
    - schema:
        type: string
      name: userId
      in: path
      required: true
      description: The ID of the user. You can use either the ACC ID (id) or the Autodesk ID (autodeskId).
    get:
      summary: Get user projects
      tags:
      - User Projects
      responses:
        '200':
          description: A list of requested user projects.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserProjectsPage'
        '400':
          description: The request could not be understood by the server due to malformed syntax.
        '401':
          description: Request has not been applied because it lacks valid authentication credentials for the target resource.
        '403':
          description: The server understood the request but refuses to authorize it.
        '404':
          description: The resource cannot be found.
        '406':
          description: The server cannot produce a response matching the list of acceptable values defined in the request.
        '410':
          description: Access to the target resource is no longer available.
        '429':
          description: User has sent too many requests in a given amount of time.
        '500':
          description: An unexpected error occurred on the server.
        '503':
          description: Server is not ready to handle the request.
      operationId: getUserProjects
      x-stoplight:
        id: f6km4vaercy9d
      description: Returns a list of projects for a specified user within an Autodesk Construction Cloud (ACC) or BIM 360 account. Only projects the user participates in will be returned. The calling user must be an account administrator.
      security: []
      parameters:
      - schema:
          $ref: '#/components/schemas/Region'
        in: header
        name: Region
        description: 'Specifies the region where your request should be routed. If not set, the request is routed automatically, which may result in a slight increase in latency. Possible values: US, EMEA, AUS, CAN, DEU, IND, JPN, GBR. For a complete list of supported regions, see the Regions page.'
      - schema:
          type: string
        in: header
        name: User-Id
        description: The ID of a user on whose behalf your request is acting. Your app has access to all users specified by the administrator in the SaaS integrations UI. Provide this header value to identify the user to be affected by the request.  You can use either the user’s ACC ID (id), or their Autodesk ID (autodeskId).  Note that this header is required for Account Admin POST, PATCH, and DELETE endpoints if you want to use a 2-legged authentication context. This header is optional for Account Admin GET endpoints.
      - schema:
          $ref: '#/components/schemas/filterID'
        in: query
        name: filter[id]
        description: A list of project IDs to filter by.
      - schema:
          $ref: '#/components/schemas/userProjectFields_internal'
        in: query
        name: fields
        description: 'A comma-separated list of user project fields to include in the response. If not specified, all available fields are included by default. Possible values: accessLevels, accountId, addressLine1, addressLine2, city, constructionType, country, createdAt, classification, deliveryMethod, endDate, imageUrl, jobNumber, latitude, longitude, name, platform, postalCode, projectValue, sheetCount, startDate, stateOrProvince, status, thumbnailImageUrl, timezone, type, updatedAt, contractType and currentPhase.'
      - schema:
          $ref: '#/components/schemas/filterClassification_internal'
        in: query
        name: filter[classification]
        description: 'Filters projects by classification. Possible values: production – Standard production projects. template – Project templates that can be cloned to create production projects. component – Placeholder projects that contain standardized components (e.g., forms) for use across projects. Only one component project is permitted per account. Known as a library in the ACC unified products UI. sample – The single sample project automatically created upon ACC trial setup. Only one sample project is permitted per account.  Max length: 255'
      - schema:
          type: string
        in: query
        name: filter[name]
        description: 'Filters projects by name. Supports partial matches when used with filterTextMatch. For example filter[name]=ABCco&filterTextMatch=startsWith returns projects whose names start with “ABCco”. Max length: 255'
      - schema:
          $ref: '#/components/schemas/filterPlatform_internal'
        in: query
        name: filter[platform]
        description: 'Filters by platform. Possible values: acc (Autodesk Construction Cloud) and bim360 (BIM 360). Max length: 255'
      - schema:
          $ref: '#/components/schemas/status_internal'
        in: query
        name: filter[status]
        description: 'Filters projects by status. Possible values: active, pending, archived, suspended.'
      - schema:
          $ref: '#/components/schemas/filterType'
        in: query
        name: filter[type]
        description: 'Filters by project type. To exclude a type, prefix it with - (e.g., -Bridge excludes bridge projects). Possible values: Airport, Assisted Living / Nursing Home, Bridge, Canal / Waterway, Convention Center, Court House, Data Center, Dams / Flood Control / Reservoirs, Demonstration Project, Dormitory, Education Facility, Government Building, Harbor / River Development, Hospital, Hotel / Motel, Library, Manufacturing / Factory, Medical Laboratory, Medical Office, Military Facility, Mining Facility, Multi-Family Housing, Museum, Oil & Gas,``Plant``, Office, OutPatient Surgery Center, Parking Structure / Garage, Performing Arts, Power Plant, Prison / Correctional Facility, Rail, Recreation Building, Religious Building, Research Facility / Laboratory, Restaurant, Retail, Seaport, Single-Family Housing, Solar Farm, Stadium/Arena, Streets / Roads / Highways, Template Project, Theme Park, Training Project, Transportation Building, Tunnel, Utilities, Warehouse (non-manufacturing), Waste Water / Sewers, Water Supply, Wind Farm.'
      - schema:
          type: string
        in: query
        name: filter[jobNumber]
        description: 'Filters by a user-defined project identifier. Supports partial matches when used with filterTextMatch. For example, filter[jobNumber]=HP-0002&filterTextMatch=equals returns projects where the job number is exactly “HP-0002”. Max length: 255'
      - schema:
          type: string
        in: query
        name: filter[updatedAt]
        description: 'Filters projects updated within a specific date range in ISO 8601 format. For example: Date range: 2023-03-02T00:00:00.000Z..2023-03-03T23:59:59 .999Z Specific start date: 2023-03-02T00:00:00.000Z.. Specific end date: ..2023-03-02T23:59:59.999Z  For more details, see JSON API Filtering.  Max length: 100'
      - schema:
          $ref: '#/components/schemas/userProjectAccessLevels_internal'
        in: query
        name: filter[accessLevels]
        description: 'Filters projects by user access level. Possible values: projectAdmin, projectMember. Max length: 255'
      - schema:
          $ref: '#/components/schemas/filterTextMatch'
        in: query
        name: filterTextMatch
        description: 'Defines how text-based filters should match results. Possible values: contains (default) – Returns results where the text appears anywhere in the field. startsWith – Matches only if the field starts with the given value. endsWith – Matches only if the field ends with the given value. equals – Matches only if the field is an exact match.'
      - schema:
          $ref: '#/components/schemas/userProjectSortBy_internal'
        in: query
        name: sort
        description: 'A list of fields to sort the returned user projects by. Multiple sort fields are applied in sequence order — each sort field produces groupings of projects with the same values of that field; the next sort field applies within the groupings produced by the previous sort field. Each property can be followed by a direction modifier of either asc (ascending) or desc (descending). The default is asc.  Possible values: name (the default), startDate, endDate, type, status, jobNumber, constructionType, deliveryMethod, contractType, currentPhase, createdAt, updatedAt and platform.'
      - schema:
          type: integer
        in: query
        name: limit
        description: 'The maximum number of records per request. Default: 20. Minimum: 1, Maximum: 200. If a value greater than 200 is provided, only 200 records are returned.'
      - schema:
          type: integer
        in: query
        name: offset
        description: The record number to start returning results from, used for pagination. For example, if limit=20 and offset=20, the request retrieves the second page of results.
components:
  schemas:
    Pagination:
      title: Pagination
      x-stoplight:
        id: q1bi13503pl18
      type: object
      properties:
        limit:
          type: integer
          x-stoplight:
            id: 8izi1f176ek68
        offset:
          type: integer
          x-stoplight:
            id: v1vdhhbk5vhtj
        totalResults:
          type: integer
          x-stoplight:
            id: o7y9s28pvovds
        nextUrl:
          type: string
          x-stoplight:
            id: egebyg74p2y51
        previousUrl:
          type: string
          x-stoplight:
            id: rhoc949ms1w0p
      description: "\tContains pagination details for the records returned by the endpoint."
    status:
      title: status
      x-stoplight:
        id: 7imcqgahx8744
      type: string
      enum:
      - active
      - pending
      - archived
      - suspended
    UserProject:
      title: UserProjects
      x-stoplight:
        id: plmcgnhp47xzj
      type: object
      properties:
        id:
          type: string
          x-stoplight:
            id: 1c5qx7gynn1xb
        name:
          type: string
          x-stoplight:
            id: ksf91csdi2bww
        startDate:
          type: string
          x-stoplight:
            id: fvtfj8lc1z9zo
        endDate:
          type: string
          x-stoplight:
            id: h43bjx5szmsqe
        type:
          type: string
          x-stoplight:
            id: 8yoy6veksnyha
        classification:
          type: string
          x-stoplight:
            id: wpyl2maqv1tfw
        projectValue:
          type: object
          x-stoplight:
            id: 4azod9lx00sdp
          properties:
            value:
              type: number
              x-stoplight:
                id: 2u8hoxbsk0y3j
            currency:
              type: string
              x-stoplight:
                id: om037w3a0htka
        status:
          type: string
          x-stoplight:
            id: dcz1h6o6olnfv
        jobNumber:
          type: string
          x-stoplight:
            id: vo6fawen0jm7i
        addressLine1:
          type: string
          x-stoplight:
            id: i007upy8nhu2r
        addressLine2:
          type: string
          x-stoplight:
            id: co6e1yvqifdn2
        city:
          type: string
          x-stoplight:
            id: tyvtrji3sdnbq
        stateOrProvince:
          type: string
          x-stoplight:
            id: ne8i2oguwq7w1
        postalCode:
          type: string
          x-stoplight:
            id: us6vbwa65sgdt
        country:
          type: string
          x-stoplight:
            id: blhaa4hafsk7m
        latitude:
          type: string
          x-stoplight:
            id: hcnrvm61cvtir
        longitude:
          type: string
          x-stoplight:
            id: wavhek4j0ji86
        timezone:
          type: string
          x-stoplight:
            id: r652g4e5s8iiz
        constructiontype:
          type: string
          x-stoplight:
            id: 72ssr45v7vf7r
        deliveryMethod:
          type: string
          x-stoplight:
            id: r9347swo3kufg
        contractType:
          type: string
          x-stoplight:
            id: n57ef17waubcc
        currentPhase:
          type: string
          x-stoplight:
            id: swkada61qtkp5
        imageUrl:
          type: string
          x-stoplight:
            id: s13853c7sqfxj
        thumbnailImageUrl:
          type: string
          x-stoplight:
            id: pt070foltwzzm
        createdAt:
          type: string
          x-stoplight:
            id: eor56akwbojpr
        updatedAt:
          type: string
          x-stoplight:
            id: 7f2h4747y0g3d
        accountId:
          type: string
          x-stoplight:
            id: imb1079oceczz
        sheetCount:
          type: integer
          x-stoplight:
            id: k12b5jfgzcv3k
        platform:
          type: string
          x-stoplight:
            id: 34qz3ermzcqll
        accessLevels:
          x-stoplight:
            id: g6dygis0tn93s
          type: object
          properties:
            projectAdmin:
              type: boolean
              x-stoplight:
                id: 5mk3sjbuzvwbr
            projectMember:
              type: boolean
              x-stoplight:
                id: mpbt2fkkr3l82
    classification:
      title: classification
      x-stoplight:
        id: kiltb9wsm9iye
      type: string
      enum:
      - production
      - template
      - component
      - sample
    UserProjectsPage:
      title: UserProjectsPage
      x-stoplight:
        id: 21k3qjv4voxsj
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        results:
          type: array
          x-stoplight:
            id: gfyprxttv09sa
          items:
            $ref: '#/components/schemas/UserProject'
    Region:
      title: Region
      x-stoplight:
        id: 5rz8jxdpgo4zq
      type: string
      enum:
      - US
      - EMEA
      - AUS
      - CAN
      - DEU
      - IND
      - JPN
      - GBR
      description: 'Specifies the region where your request should be routed. Possible values are:

        - ``US`` - Data center for the US region.

        - ``EMEA`` - Data center for the European Union, Middle East, and Africa regions.

        - ``AUS`` - Data center for the Australia region.

        - ``CAN`` - Data center for the Canada region.

        - ``DEU`` - Data center for the Germany region.

        - ``IND`` - Data center for the India region.

        - ``JPN`` - Data center for the Japan region.

        - ``GBR`` - Data center for the United Kingdom region.'
    filterPlatform_internal:
      title: filterPlatform_internal
      x-stoplight:
        id: 07osm8uexhmzc
      type: array
      items:
        $ref: '#/components/schemas/platform'
        x-stoplight:
          id: blbjael8tal1d
    userProjectAccessLevels_internal:
      title: userProjectAccessLevels_internal
      x-stoplight:
        id: 6k9hozeod0uw9
      type: array
      items:
        $ref: '#/components/schemas/filterUserProjectsAccessLevels'
    userProjectFields:
      title: userProjectFields
      x-stoplight:
        id: fy1b5tna99hlx
      enum:
      - accessLevels
      - accountId
      - addressLine1
      - addressLine2
      - city
      - constructionType
      - country
      - createdAt
      - classification
      - deliveryMethod
      - endDate
      - imageUrl
      - jobNumber
      - latitude
      - longitude
      - name
      - platform
      - postalCode
      - projectValue
      - sheetCount
      - startDate
      - stateOrProvince
      - status
      - thumbnailImageUrl
      - timezone
      - type
      - updatedAt
      - contractType
      - currentPhase
      description: 'Possible values: accessLevels, accountId, addressLine1, addressLine2, city, constructionType, country, createdAt, classification, deliveryMethod, endDate, imageUrl, jobNumber, latitude, longitude, name, platform, postalCode, projectValue, sheetCount, startDate, stateOrProvince, status, thumbnailImageUrl, timezone, type, updatedAt, contractType and currentPhase.'
    userProjectFields_internal:
      title: userProjectFields_Internal
      x-stoplight:
        id: 05hzynqgt6ohg
      type: array
      items:
        $ref: '#/components/schemas/userProjectFields'
    filterType:
      title: filterType
      type: array
      items:
        type: string
    filterUserProjectsAccessLevels:
      title: filterUserProjectsAccessLevels
      x-stoplight:
        id: puy9b77q6msat
      enum:
      - projectMember
      - projectAdmin
      description: ' Possible values: projectAdmin, projectMember.'
    filterClassification_internal:
      title: filterClassification_internal
      type: array
      items:
        $ref: '#/components/schemas/classification'
    filterTextMatch:
      title: filterTextMatch
      x-stoplight:
        id: l613i9qr8h8a6
      type: string
      enum:
      - contains
      - startsWith
      - endsWith
      - equals
    platform:
      title: platform
      x-stoplight:
        id: w4j4h1zy6fji2
      type: string
      enum:
      - acc
      - bim360
    userProjectSortBy:
      title: userProjectSortBy
      x-stoplight:
        id: daw62gto3pxxm
      description: 'Possible values: name, email, firstName, lastName, addressLine1, addressLine2, city, companyName, stateOrProvince, status, phone, postalCode, country and addedOn. Default value: name.'
      enum:
      - name asc
      - startDate asc
      - endDate asc
      - type asc
      - status asc
      - jobNumber asc
      - constructionType asc
      - deliveryMethod asc
      - contractType asc
      - currentPhase asc
      - createdAt asc
      - updatedAt asc
      - platform asc
      - name desc
      - startDate desc
      - endDate desc
      - type desc
      - status desc
      - jobNumber desc
      - constructionType desc
      - deliveryMethod desc
      - contractType desc
      - currentPhase desc
      - createdAt desc
      - updatedAt desc
      - platform desc
    filterID:
      title: filterID
      type: array
      items:
        type: string
    userProjectSortBy_internal:
      title: userProjectSortBy_internal
      x-stoplight:
        id: lcab8shnq3bqn
      type: array
      items:
        $ref: '#/components/schemas/userProjectSortBy'
    status_internal:
      title: status_internal
      type: array
      items:
        $ref: '#/components/schemas/status'
        x-stoplight:
          id: 3sxoqp01jo0t2
  securitySchemes:
    2-legged:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: ''
          refreshUrl: ''
          scopes: {}
    3-legged-implicit:
      type: oauth2
      flows:
        implicit:
          authorizationUrl: ''
          refreshUrl: ''
          scopes: {}
    3-legged:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: ''
          tokenUrl: ''
          refreshUrl: ''
          scopes: {}
x-stoplight:
  id: zm6m3b30rcbon