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