Skip to navigation

Get account projects

View as Markdown

Retrieves a list of the projects in the specified hub. If the user is a hub admin or executive then all projects are returned; otherwise only projects that the user is assigned to are returned.

You can also use this endpoint to retrieve a list of project templates by setting the filter[classification] parameter to template or the filter[type] parameter to Template Project.

Note: This operation is forward compatible. Autodesk may add attributes to the response without prior notice, so your app should ignore any attribute it does not recognize.

Authentication

AuthorizationBearer

OAuth 2.0 (2-legged) — application context required.

Client Credentials Flow

Token URL: https://developer.api.autodesk.com/authentication/v2/token

Scopes:

  • account:read — read account and project data
  • account:write — modify account and project data
  • data:read — read data the application can access
OR
AuthorizationBearer

OAuth 2.0 (2-legged with impersonation) — application context with user impersonation required. Send a User-Id header identifying the member to act on behalf of; the token authorizes the application, while the operation is evaluated against that member’s project permissions.

Client Credentials Flow

Token URL: https://developer.api.autodesk.com/authentication/v2/token

Scopes:

  • account:read — read account and project data
  • account:write — modify account and project data
OR
AuthorizationBearer

OAuth 2.0 (3-legged) — user context required. Also accepts a Secure Service Account (SSA) token, which is headless like a two-legged flow but classified as three-legged because it preserves user context.

Authorization Code Flow

Authorization URL: https://developer.api.autodesk.com/authentication/v2/authorize

Token URL: https://developer.api.autodesk.com/authentication/v2/token

Refresh URL: https://developer.api.autodesk.com/authentication/v2/token

Scopes:

  • data:read — read your data
  • account:read — read account and project data
  • account:write — modify account and project data

Path parameters

accountIdstringRequiredformat: "uuid"

The ID of the hub that contains the projects. This corresponds to the hub ID used in the Data Management API, with the “b.” prefix removed. For example, b.c8b0c73d-3ae9 becomes c8b0c73d-3ae9.

Headers

Accept-LanguagestringOptionalDefaults to en
This header is not currently supported in the hub Admin API.
RegionstringOptional

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. For a complete list of supported regions, see the Regions page.

User-IdstringOptionalformat: "uuidOrAutodeskId"

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 Forma ID (id), or their Autodesk ID (autodeskId).

Note that this header is required for hub Admin POST, PATCH, and DELETE endpoints if you want to use a 2-legged authentication context. This header is optional for hub Admin GET endpoints.

Query parameters

fieldslist of enumsOptional

A comma-separated list of the project fields to include in the response. Default value: all fields.

Possible values: accountId, addressLine1, addressLine2, businessUnitId, city, companyCount, constructionType, country, createdAt, deliveryMethod, endDate, imageUrl, jobNumber, lastSignIn, latitude, longitude, memberCount, name, personalWorkspaceDetails, platform, postalCode, products, projectValue, sheetCount, startDate, stateOrProvince, status, thumbnailImageUrl, timezone, type and updatedAt.

filter[classification]list of enumsOptionalDefaults to ["production","sample"]

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 hub. Known as a library in the Forma unified products UI. sample – The single sample project automatically created upon Forma trial setup. Only one sample project is permitted per hub.

Allowed values:
filter[designation]list of enumsOptionalDefaults to ["standard"]

Filters projects by designation. Possible values: standard (non-personal projects, default) and personal (personal workspaces).

Allowed values:
filter[platform]list of enumsOptional

Filters by platform. Possible values: acc (Forma) and bim360 (BIM 360).

Allowed values:
filter[products]list of stringsOptional

A comma-separated list of the products that the returned projects must use. Only projects that use one or more of the listed products are returned.

Note that every product that can be used in a project on the same platform (Forma or BIM 360) is activated for the project. All products associated with the project are returned in the response.

Some products are exclusive to Forma or to BIM 360, others are available on both platforms. Specify only the products on the appropriate platform for the projects you want to retrieve.

Possible Forma values: accountAdministration, autoSpecs, build, buildingConnected, capitalPlanning, cloudWorksharing, cost, designCollaboration, docs, financials, insight, modelCoordination, projectAdministration, takeoff, and workshopxr.

Possible BIM 360 values: accountAdministration, assets, cloudWorksharing, costManagement, designCollaboration, documentManagement, field, fieldManagement, glue, insight, modelCoordination, plan, projectAdministration, projectHome, projectManagement, and quantification.

filter[name]stringOptional<=255 characters

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

filter[type]list of stringsOptional

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.

filter[status]list of enumsOptional

Filters projects by status. Possible values: active, archived, pending, pending_delete, suspended.

Allowed values:
filter[businessUnitId]stringOptionalformat: "uuid"<=255 characters

The ID of the business unit that returned projects must be associated with.

Note that you can obtain this ID value by calling the GET business_units_structure endpoint to retrieve a list of business units. Use the id field of the returned business unit that you want to filter by.

filter[dataServiceId]stringOptionalformat: "uuid"<=255 characters
The ID of the data service with which the returned projects must be associated.
filter[jobNumber]stringOptional<=255 characters

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

filter[updatedAt]stringOptionalformat: "dateRange"<=100 characters

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.

filterTextMatchenumOptionalDefaults to contains

Specifies how text-based filters should match values in supported fields.

This parameter can be used in any endpoint that supports text-based filtering (e.g., filter[name], filter[jobNumber], filter[companyName], etc.).

Possible values:

contains (default) – Matches if the field contains the specified text anywhere

startsWith – Matches if the field starts with the specified text

endsWith – Matches if the field ends with the specified text

equals – Matches only if the field exactly matches the specified text

Matching is case-insensitive.

Wildcards and regular expressions are not supported.

Allowed values:
sortlist of enumsOptionalDefaults to name

Sorts results by specified fields. Multiple fields can be used in order of priority. Each field can be followed by asc (ascending) or desc (descending). Default: asc.

For example, sort=name,createdAt desc sorts projects by name, then by creation date (newest first).

Possible values: name (the default), startDate, endDate, type, status, jobNumber, constructionType, deliveryMethod, contractType, currentPhase, companyCount, memberCount, createdAt and updatedAt.

limitintegerOptional>=1Defaults to 20

The maximum number of records to return in the response.

Default: 20

Minimum: 1

Maximum: 200 (If a larger value is provided, only 200 records are returned)

offsetintegerOptional>=0Defaults to 0

The index of the first record to return.

Used for pagination in combination with the limit parameter.

Example: limit=20 and offset=40 returns records 41–60.

Response headers

RateLimit-Remaininginteger

The number of requests remaining in the current rate-limit window.

RateLimit-Valueinteger
The maximum number of requests that the server is willing to accept during the current full minute
Request-IdstringOptional
The unique ID of the request, which can be provided when reporting issues with this endpoint.
Response-TimestringOptional
The time taken to generate the response.

Response

A list of requested projects.
paginationobjectOptional
Contains pagination details for the records returned by the endpoint.
resultslist of objectsOptional
The requested page of projects.

Errors

400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error
404
Not Found Error
406
Not Acceptable Error
410
Gone Error
429
Too Many Requests Error
500
Internal Server Error
503
Service Unavailable Error