Get account projects
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
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 dataaccount:write— modify account and project datadata:read— read data the application can access
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 dataaccount:write— modify account and project data
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 dataaccount:read— read account and project dataaccount:write— modify account and project data
Path parameters
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
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.
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
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.
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.
Filters projects by designation. Possible values: standard (non-personal projects, default) and personal (personal workspaces).
Filters by platform. Possible values: acc (Forma) and bim360 (BIM 360).
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.
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”.
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.
Filters projects by status. Possible values: active, archived, pending, pending_delete, suspended.
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.
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”.
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.
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.
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.
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)
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
The number of requests remaining in the current rate-limit window.