Skip to navigation

Get project users

View as Markdown

Retrieves information about a filtered subset of users in the specified project.

There are two primary reasons to do this:

  • To verify that all users assigned to the project have been activated as members of the project.
  • To check other information about users, such as their project user ID, roles, and products.

Note that if you want to retrieve information about users associated with a particular Autodesk hub, call the GET users endpoint.

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

projectIdstringRequiredformat: "uuid"

The ID of the project. This corresponds to project ID in the Data Management API. To convert a project ID in the Data Management API into a project ID in the Forma API you need to remove the “b.” prefix. For example, a project ID of b.a4be0c34a-4ab7 translates to a project ID of a4be0c34a-4ab7.

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

filter[products]list of stringsOptional

A comma-separated list of the products that the returned users must have access to in the specified project. Only users that have access to one or more of the specified products are returned.

Note that every product in the same hub as the project is activated for the project, and a separate subset of these products is active for each user. This endpoint can retrieve users from Forma or BIM 360 projects.

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 users 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

A user name or name pattern that the returned users must have. Can be a partial match based on the value of filterTextMatch that you provide.

For example:

filter[name]=Sample filterTextMatch=startsWith

filter[email]stringOptional<=255 characters

A user email address or address pattern that the returned users must have. This can be a partial match based on the value of filterTextMatch that you provide.

For example:

filter[email]=sample filterTextMatch=startsWith

filter[accessLevels]list of enumsOptional

A list of user access levels that the returned users must have.

Possible values: accountAdmin, projectAdmin, executive.

Allowed values:
filter[addedOn]dateOptional

Filters users by the date they were added to the project (YYYY-MM-DD). Only users that were added on this date are returned.

filter[companyId]stringOptionalformat: "uuidOrEmptyString"<=255 characters
The ID of a company that the returned users must represent.
filter[companyName]stringOptional<=255 characters

The name of a company that returned users must be associated with. Can be a partial match based on the value of filterTextMatch that you provide.

For example: filter[companyName]=Sample filterTextMatch=startsWith

filter[autodeskId]list of stringsOptional
A list of the Autodesk IDs of users to retrieve.
filter[id]list of stringsOptional
A list of the Forma IDs of users to retrieve.
filter[roleId]stringOptionalformat: "uuid"<=255 characters

The ID of a user role that the returned users must have.

To obtain a role ID for this filter, you can inspect the roleId field in previous responses to this endpoint or to the GET projects/:projectId/users/:userId endpoint.

filter[roleIds]list of stringsOptional

A list of the IDs of user roles that the returned users must have.

To obtain a role ID for this filter, you can inspect the roleId field in previous responses to this endpoint or to the GET projects/:projectId/users/:userId endpoint.

filter[status]list of enumsOptionalDefaults to ["active","pending"]

A list of statuses that the returned project users must be in. The default values are active and pending.

Possible values: active, pending, and deleted.

Allowed values:
filter[memberGroupId]list of stringsOptional
A list of the IDs of groups that the returned users must be members of.
sortlist of enumsOptionalDefaults to name

A list of fields to sort the returned users 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, email, firstName, lastName, addressLine1, addressLine2, city, companyName, stateOrProvince, status, phone, postalCode, country and addedOn. Default value: name.

fieldslist of enumsOptional

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

Possible values: name, email, firstName, lastName, autodeskId, analyticsId, addressLine1, addressLine2, city, stateOrProvince, postalCode, country, imageUrl, phone, jobTitle, industry, aboutMe, companyId, accessLevels, roleIds, roles, status, addedOn and products.

orFilterslist of enumsOptional

A list of user fields to combine with the SQL OR operator for filtering the returned project users. The OR is automatically incorporated between the fields; any one of them can produce a valid match.

Possible values: id, name, email, autodeskId, status and accessLevels.

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:
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 to assist in facilitating improved research.
Response-TimestringOptional
The time taken to generate the response.

Response

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

Errors

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