> This page is for version v1.
> For other versions, use one of these documentation indexes:
> - v2 (default): https://autodesk-poc.ferndocs.com/v2/llms.txt
> - v1: https://autodesk-poc.ferndocs.com/v1/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://autodesk-poc.ferndocs.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://autodesk-poc.ferndocs.com/_mcp/server.

# Get a user's projects

GET https://developer.api.autodesk.com/construction/admin/v1/accounts/{accountId}/users/{userId}/projects

Returns a list of projects for a specified user within a Forma or BIM 360 account. Only projects the user participates in will be returned. The calling user must be an account or hub administrator.

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

Reference: https://autodesk-poc.ferndocs.com/v1/acc-admin/hub-users/get-user-projects

## Authentication

- OAuth2 — send the obtained token as `Authorization: Bearer <token>`
- OAuth2 — send the obtained token as `Authorization: Bearer <token>`
- `Authorization` header (bearer token, required) — **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](https://developer.api.autodesk.com/authentication/v2/authorize) Token URL: [https://developer.api.autodesk.com/authentication/v2/token](https://developer.api.autodesk.com/authentication/v2/token) Refresh URL: [https://developer.api.autodesk.com/authentication/v2/token](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

## Request

### Path parameters

- `accountId` (string, required) — The ID of the hub that contains the projects. This corresponds to the hub ID used in the [Data Management API](https://aps.autodesk.com/en/docs/data/v2/), with the "**b.**\" prefix removed. For example, `b.c8b0c73d-3ae9` becomes `c8b0c73d-3ae9`.
- `userId` (string, required) — The ID of the user. To find the ID call [GET users](https://aps.autodesk.com/en/docs/acc/v1/reference/http/admin-projectsprojectId-users-GET/). You can use either the Forma ID (`id`) or the Autodesk ID (`autodeskId`).

### Query parameters

- `filter[id]` (list of string, optional) — A list of project IDs to filter by.
- `fields` (list of enum, optional) — 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`, `personalWorkspaceDetails`, `platform`, `postalCode`, `projectValue`, `sheetCount`, `startDate`, `stateOrProvince`, `status`, `thumbnailImageUrl`, `timezone`, `type`, `updatedAt`, `contractType` and `currentPhase`.
  - Allowed 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`, `currentPhase`, `personalWorkspaceDetails`
- `filter[classification]` (list of enum, optional, default: ["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: `component`, `production`, `sample`, `template`
- `filter[designation]` (list of enum, optional, default: ["standard"]) — Filters projects by designation. Possible values: `standard` (non-personal projects, default) and `personal` (personal workspaces).
  - Allowed values: `personal`, `standard`
- `filter[name]` (string, optional) — 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[platform]` (list of enum, optional) — Filters by platform. Possible values: `acc` (Forma) and `bim360` (BIM 360).
  - Allowed values: `acc`, `bim360`
- `filter[status]` (list of enum, optional) — Filters projects by status. Possible values: `active`, `pending`, `archived`, `suspended`.
  - Allowed values: `active`, `pending`, `archived`, `suspended`
- `filter[type]` (list of string, optional) — 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[jobNumber]` (string, optional) — 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]` (string, optional) — 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](https://jsonapi.org/format/#fetching-filtering).
- `filter[accessLevels]` (list of enum, optional) — Filters projects by user access level. Possible values: `projectAdmin`, `projectMember`.
  - Allowed values: `projectAdmin`, `projectMember`
- `filterTextMatch` (enum, optional, default: 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: `contains`, `startsWith`, `endsWith`, `equals`
- `sort` (list of enum, optional, default: name) — 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`.
  - Allowed values: `name`, `name asc`, `name desc`, `startDate`, `startDate asc`, `startDate desc`, `endDate`, `endDate asc`, `endDate desc`, `type`, `type asc`, `type desc`, `status`, `status asc`, `status desc`, `jobNumber`, `jobNumber asc`, `jobNumber desc`, `constructionType`, `constructionType asc`, `constructionType desc`, `deliveryMethod`, `deliveryMethod asc`, `deliveryMethod desc`, `contractType`, `contractType asc`, `contractType desc`, `currentPhase`, `currentPhase asc`, `currentPhase desc`, `createdAt`, `createdAt asc`, `createdAt desc`, `updatedAt`, `updatedAt asc`, `updatedAt desc`, `platform`, `platform asc`, `platform desc`
- `limit` (integer, optional, default: 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)
- `offset` (integer, optional, default: 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.

### Headers

- `Accept-Language` (string, optional, default: en) — This header is not currently supported in the hub Admin API.
- `Region` (string, optional) — 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](https://aps.autodesk.com/en/docs/acc/v1/overview/acc-regions/) page.
- `User-Id` (string, optional) — 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.

## Response

### 200

A list of requested user projects.

- `pagination` (pagination, optional) — Contains pagination details for the records returned by the endpoint.
- `results` (list of userProjectResponse, optional) — A list of user projects matching the request criteria.

## Errors

### 400 Bad Request Error

The request could not be understood by the server due to malformed syntax.

- `status` (integer, optional) — The status code for the error.
- `type` (string, optional) — HQ defined error code for the type of error.
- `title` (string, optional) — The title of the error. ex: Bad Request.
- `detail` (string, optional) — A detailed description of the error with possible suggestions for fixing them.
- `id` (string, optional) — A unique id for the request.
- `errors` (list of fieldError, optional) — List of field validation errors.

### 401 Unauthorized Error

Request has not been applied because it lacks valid authentication credentials for the target resource.

- `authenticationUrl` (string, optional) — The url used for authenticating the user.
- `status` (integer, optional) — The status code for the error.
- `type` (string, optional) — HQ defined error code for the type of error.
- `title` (string, optional) — The title of the error. ex: Bad Request.
- `detail` (string, optional) — A detailed description of the error with possible suggestions for fixing them.
- `id` (string, optional) — A unique id for the request.

### 403 Forbidden Error

The server understood the request but refuses to authorize it.

- `status` (integer, optional) — The status code for the error.
- `type` (string, optional) — HQ defined error code for the type of error.
- `title` (string, optional) — The title of the error. ex: Bad Request.
- `detail` (string, optional) — A detailed description of the error with possible suggestions for fixing them.
- `id` (string, optional) — A unique id for the request.

### 404 Not Found Error

The resource could not be found.

- `status` (integer, optional) — The status code for the error.
- `type` (string, optional) — HQ defined error code for the type of error.
- `title` (string, optional) — The title of the error. ex: Bad Request.
- `detail` (string, optional) — A detailed description of the error with possible suggestions for fixing them.
- `id` (string, optional) — A unique id for the request.

### 406 Not Acceptable Error

The server cannot produce a response matching the list of acceptable values defined in the request.

- `status` (integer, optional) — The status code for the error.
- `type` (string, optional) — HQ defined error code for the type of error.
- `title` (string, optional) — The title of the error. ex: Bad Request.
- `detail` (string, optional) — A detailed description of the error with possible suggestions for fixing them.
- `id` (string, optional) — A unique id for the request.

### 410 Gone Error

Access to the target resource is no longer available.

- `status` (integer, optional) — The status code for the error.
- `type` (string, optional) — HQ defined error code for the type of error.
- `title` (string, optional) — The title of the error. ex: Bad Request.
- `detail` (string, optional) — A detailed description of the error with possible suggestions for fixing them.
- `id` (string, optional) — A unique id for the request.

### 429 Too Many Requests Error

User has sent too many requests in a given amount of time.

- `any`

### 500 Internal Server Error

An unexpected error occurred on the server.

- `status` (integer, optional) — The status code for the error.
- `type` (string, optional) — HQ defined error code for the type of error.
- `title` (string, optional) — The title of the error. ex: Bad Request.
- `detail` (string, optional) — A detailed description of the error with possible suggestions for fixing them.
- `id` (string, optional) — A unique id for the request.

### 503 Service Unavailable Error

Server is not ready to handle the request.

- `status` (integer, optional) — The status code for the error.
- `type` (string, optional) — HQ defined error code for the type of error.
- `title` (string, optional) — The title of the error. ex: Bad Request.
- `detail` (string, optional) — A detailed description of the error with possible suggestions for fixing them.
- `id` (string, optional) — A unique id for the request.

## Types

### pagination

Contains pagination details for the records returned by the endpoint.

- `limit` (integer, optional, default: 20) — The maximum number of records returned per page. The last page may contain fewer records than the specified limit.
- `offset` (integer, optional, default: 0) — The index of the first record in the returned page. Used for pagination.
- `totalResults` (integer, optional) — The total number of records matching the request.
- `nextUrl` (string, optional) — The URL for the next page of records, if more results are available. Max length: 2000 characters.
- `previousUrl` (string, optional) — The URL for the previous page of records, if applicable. Max length: 2000 characters.

### userProjectResponse

Information about the user project.

- `id` (string, optional) — The internally generated ID for the project.
- `name` (string, optional) — The name of the project.
- `startDate` (date, optional, nullable) — The estimated start date for the project, in ISO 8601 format.
- `endDate` (date, optional, nullable) — The estimated end date for the project, in ISO 8601 format.
- `type` (string, optional) — The type of the project. Any value is accepted, but the following are recommended: Possible values: `Convention Center`, `Data Center`, `Hotel / Motel`, `Office`, `Parking Structure / Garage`, `Performing Arts`, `Restaurant`, `Retail`, `Stadium / Arena`, `Theme Park`, `Warehouse (non-manufacturing)`, `Assisted Living / Nursing Home`, `Hospital`, `Medical Laboratory`, `Medical Office`, `OutPatient Surgery Center`, `Court House`, `Dormitory`, `Education Facility`, `Government Building`, `Library`, `Military Facility`, `Museum`, `Prison / Correctional Facility`, `Recreation Building`, `Religious Building`, `Research Facility / Laboratory`, `Multi-Family Housing`, `Single-Family Housing`, `Airport`, `Bridge`, `Canal / Waterway`, `Dams / Flood Control / Reservoirs`, `Harbor / River Development`, `Rail`, `Seaport`, `Streets / Roads / Highways`, `Transportation Building`, `Tunnel`, `Waste Water / Sewers`, `Water Supply`, `Manufacturing / Factory`, `Mining Facility`, `Oil & Gas`, `Plant`, `Power Plant`, `Solar Farm`, `Utilities`, `Wind Farm`, `Demonstration Project`, `Template Project` and `Training Project`.
- `classification` (enum, optional, default: production) — The classification of the project. Possible values: - `production` – Standard project. - `template` – A project that serves as a template for creating new projects. - `component` – A placeholder project containing reusable components (e.g., forms). Only one component project is allowed per hub. Known as a library in the Forma UI. - `sample` – A single sample project automatically created for Forma trials (limited to one per hub).
  - Allowed values: `component`, `production`, `sample`, `template`
- `projectValue` (UserProjectResponseProjectValue, optional) — Contains details about the estimated cost of the project, including the amount (`value`) and the currency (`currency`).
- `status` (enum, optional, default: active) — The status of the project. Possible values: `active`, `pending`, `archived` and `suspended`.
  - Allowed values: `active`, `pending`, `archived`, `suspended`
- `jobNumber` (string, optional) — A user-defined identifier for the project. This value is assigned when the project is created and can be used to filter projects. It supports partial matches when used with `filterTextMatch`.
- `addressLine1` (string, optional, nullable) — The first line of the project’s address.
- `addressLine2` (string, optional, nullable) — Additional address details for the project location.
- `city` (string, optional, nullable) — The city wher the project is located.
- `stateOrProvince` (string, optional, nullable) — The state or province where the project is located. It must be a valid name or an ISO 3166-2 code. The provided state or province must exist in the country of the project.
- `postalCode` (string, optional, nullable) — The postal or ZIP code of the project location.
- `country` (string, optional, nullable) — The country where the project is located, using an ISO 3166-1 alpha-2 code.
- `latitude` (string, optional, nullable) — The latitude coordinate of the project location.
- `longitude` (string, optional, nullable) — The longitude coordinate of the project location.
- `timezone` (enum, optional, nullable) — The time zone where the project is located. It must be a valid IANA time zone name from the [IANA Time Zone Database](https://www.iana.org/time-zones) (e.g., `America/New_York`). If no time zone is set, this field may be `null`.
  - Allowed values: `Pacific/Honolulu`, `America/Juneau`, `America/Los_Angeles`, `America/Phoenix`, `America/Denver`, `America/Chicago`, `America/New_York`, `America/Indiana/Indianapolis`, `Pacific/Pago_Pago`, `Pacific/Midway`, `America/Tijuana`, `America/Chihuahua`, `America/Mazatlan`, `America/Guatemala`, `America/Mexico_City`, `America/Monterrey`, `America/Regina`, `America/Bogota`, `America/Lima`, `America/Caracas`, `America/Halifax`, `America/Guyana`, `America/La_Paz`, `America/Santiago`, `America/St_Johns`, `America/Sao_Paulo`, `America/Argentina/Buenos_Aires`, `America/Godthab`, `Atlantic/South_Georgia`, `Atlantic/Azores`, `Atlantic/Cape_Verde`, `Africa/Casablanca`, `Europe/Dublin`, `Europe/Lisbon`, `Europe/London`, `Africa/Monrovia`, `Etc/UTC`, `Europe/Amsterdam`, `Europe/Belgrade`, `Europe/Berlin`, `Europe/Bratislava`, `Europe/Brussels`, `Europe/Budapest`, `Europe/Copenhagen`, `Europe/Ljubljana`, `Europe/Madrid`, `Europe/Paris`, `Europe/Prague`, `Europe/Rome`, `Europe/Sarajevo`, `Europe/Skopje`, `Europe/Stockholm`, `Europe/Vienna`, `Europe/Warsaw`, `Africa/Algiers`, `Europe/Zagreb`, `Europe/Athens`, `Europe/Bucharest`, `Africa/Cairo`, `Africa/Harare`, `Europe/Helsinki`, `Europe/Istanbul`, `Asia/Jerusalem`, `Europe/Kiev`, `Africa/Johannesburg`, `Europe/Riga`, `Europe/Sofia`, `Europe/Tallinn`, `Europe/Vilnius`, `Asia/Baghdad`, `Asia/Kuwait`, `Europe/Minsk`, `Africa/Nairobi`, `Asia/Riyadh`, `Asia/Tehran`, `Asia/Muscat`, `Asia/Baku`, `Europe/Moscow`, `Asia/Tbilisi`, `Asia/Yerevan`, `Asia/Kabul`, `Asia/Karachi`, `Asia/Tashkent`, `Asia/Kolkata`, `Asia/Colombo`, `Asia/Kathmandu`, `Asia/Almaty`, `Asia/Dhaka`, `Asia/Yekaterinburg`, `Asia/Rangoon`, `Asia/Bangkok`, `Asia/Jakarta`, `Asia/Novosibirsk`, `Asia/Shanghai`, `Asia/Chongqing`, `Asia/Hong_Kong`, `Asia/Krasnoyarsk`, `Asia/Kuala_Lumpur`, `Australia/Perth`, `Asia/Singapore`, `Asia/Taipei`, `Asia/Ulaanbaatar`, `Asia/Urumqi`, `Asia/Irkutsk`, `Asia/Tokyo`, `Asia/Seoul`, `Australia/Adelaide`, `Australia/Darwin`, `Australia/Brisbane`, `Australia/Melbourne`, `Pacific/Guam`, `Australia/Hobart`, `Pacific/Port_Moresby`, `Australia/Sydney`, `Asia/Yakutsk`, `Pacific/Noumea`, `Asia/Vladivostok`, `Pacific/Auckland`, `Pacific/Fiji`, `Asia/Kamchatka`, `Asia/Magadan`, `Pacific/Majuro`, `Pacific/Guadalcanal`, `Pacific/Tongatapu`, `Pacific/Apia`, `Pacific/Fakaofo`
- `constructionType` (string, optional) — The type of construction for the project. Recommended values: `New Construction`, `Renovation`. Any value is accepted.
- `deliveryMethod` (string, optional) — The method used to deliver the project. Recommended values include `Design-Bid-Build`, `Construction Management (CM) at Risk`, and `Integrated Project Delivery (IPD)`. Any value is accepted.
- `contractType` (string, optional) — The type of contract for the project. For example, `Lump Sum`, `Cost Plus`, `Guaranteed Maximum Price`, `Unit Price`. Any value is accepted.
- `currentPhase` (string, optional) — The current phase of the project. Recommended values include, `Concept`, `Design`, `Bidding`, `Planning`, `Preconstruction`, `Construction`, `Commissioning`, `Warranty`, `Complete`, `Facility Management`, `Operation`, `Strategic Definition`, `Preparation and Brief`, `Concept Design`, `Developed Design`, `Technical Design`, `Construction`, `Handover and Close Out` and `In Use`. Any value is accepted.
- `imageUrl` (string, optional) — The URL of the main image associated with the project. This field can be `null`.
- `thumbnailImageUrl` (string, optional) — The URL of the project’s thumbnail image. This field can be `null`.
- `createdAt` (datetime, optional) — The timestamp when the project was created, in ISO 8601 format. This value is set at creation and does not change.
- `updatedAt` (datetime, optional) — The timestamp when the project was last updated, in ISO 8601 format. This reflects changes to project fields but not updates to resources within the project.
- `accountId` (string, optional) — The hub ID associated with the project.
- `sheetCount` (integer, optional, nullable) — The total number of sheets associated with the project. Note that this field is relevant only in responses. It is ignored in requests.
- `platform` (enum, optional, default: acc) — The APS platform where the project is stored. Possible values: `acc`, `bim360`. Note that this field is relevant only in responses. It is ignored in requests.
  - Allowed values: `acc`, `bim360`
- `accessLevels` (UserProjectResponseAccessLevels, optional) — Information about the user’s access roles in the project.
- `personalWorkspaceDetails` (UserProjectResponsePersonalWorkspaceDetails, optional) — Details about the personal workspace designation. Present only on personal workspace projects; the property is absent on standard projects.

### fieldError

Error description for a field validation error.

- `type` (string, optional) — HQ defined error code for the type of error.
- `field` (string, optional) — Name of the field associated to the error.
- `title` (string, optional) — Title for the error.
- `detail` (string, optional) — A detailed description of the error so the user knows how to fix it.

### UserProjectResponseProjectValue

Contains details about the estimated cost of the project, including the amount (`value`) and the currency (`currency`).

- `value` (float, required) — The estimated cost of the project, based on the `currency` specified in the currency field. Default: `0`.
- `currency` (enum, required, default: USD) — The currency of the project value. Default: `USD`.
  - Allowed values: `AED`, `AFN`, `ALL`, `AMD`, `ANG`, `AOA`, `ARS`, `AUD`, `AWG`, `AZN`, `BAM`, `BBD`, `BDT`, `BGN`, `BHD`, `BIF`, `BMD`, `BND`, `BOB`, `BOV`, `BRL`, `BSD`, `BTN`, `BWP`, `BYN`, `BYR`, `BZD`, `CAD`, `CDF`, `CHE`, `CHF`, `CHW`, `CLF`, `CLP`, `CNY`, `COP`, `COU`, `CRC`, `CUC`, `CUP`, `CVE`, `CZK`, `DJF`, `DKK`, `DOP`, `DZD`, `EEK`, `EGP`, `ERN`, `ETB`, `EUR`, `FJD`, `FKP`, `GBP`, `GEL`, `GHS`, `GIP`, `GMD`, `GNF`, `GTQ`, `GYD`, `HKD`, `HNL`, `HRK`, `HTG`, `HUF`, `IDR`, `ILS`, `INR`, `IQD`, `IRR`, `ISK`, `JMD`, `JOD`, `JPY`, `KES`, `KGS`, `KHR`, `KMF`, `KPW`, `KRW`, `KWD`, `KYD`, `KZT`, `LAK`, `LBP`, `LKR`, `LRD`, `LSL`, `LTL`, `LVL`, `LYD`, `MAD`, `MDL`, `MGA`, `MKD`, `MMK`, `MNT`, `MOP`, `MRU`, `MUR`, `MVR`, `MWK`, `MXN`, `MXV`, `MYR`, `MZN`, `NAD`, `NGN`, `NIO`, `NOK`, `NPR`, `NZD`, `OMR`, `PAB`, `PEN`, `PGK`, `PHP`, `PKR`, `PLN`, `PYG`, `QAR`, `RON`, `RSD`, `RUB`, `RWF`, `SAR`, `SBD`, `SCR`, `SDG`, `SEK`, `SGD`, `SHP`, `SLE`, `SLL`, `SOS`, `SRD`, `SSP`, `STN`, `SVC`, `SYP`, `SZL`, `THB`, `TJS`, `TMT`, `TND`, `TOP`, `TRL`, `TRY`, `TTD`, `TWD`, `TZS`, `UAH`, `UGX`, `USD`, `USN`, `UYI`, `UYU`, `UYW`, `UZS`, `VED`, `VES`, `VND`, `VUV`, `WST`, `XAF`, `XAG`, `XAU`, `XBA`, `XBB`, `XBC`, `XBD`, `XCD`, `XDR`, `XOF`, `XPD`, `XPF`, `XPT`, `XSU`, `XTS`, `XUA`, `XXX`, `YER`, `ZAR`, `ZMW`, `ZWL`

### UserProjectResponseAccessLevels

Information about the user’s access roles in the project.

- `projectAdmin` (boolean, optional) — Indicates whether the user is a project administrator for the project. Possible values: - `true`: The user is a project administrator. - `false`: The user is not a project administrator.
- `projectMember` (boolean, optional) — Indicates whether the user is a project member but not a project administrator. Possible values: - `true`: The user is a project member but not an administrator. - `false`: The user is not a project member.

### UserProjectResponsePersonalWorkspaceDetails

Details about the personal workspace designation. Present only on personal workspace projects; the property is absent on standard projects.

- `assigneeUserId` (string, optional) — The Oxygen user ID of the user this personal workspace is assigned to.

## Examples

**Response**

```json
{
  "pagination": {
    "limit": 20,
    "offset": 10,
    "totalResults": 121,
    "nextUrl": "https://resource?limit=20&offset=30",
    "previousUrl": "https://resource?limit=20&offset=0"
  },
  "results": [
    {
      "id": "3e354e66-ac8b-41dd-9bc1-93fc182c25dd",
      "name": "Sample Project",
      "startDate": "2010-01-01",
      "endDate": "2015-12-31",
      "type": "Hospital",
      "classification": "production",
      "projectValue": {
        "value": 1650000,
        "currency": "USD"
      },
      "status": "active",
      "jobNumber": "HP-0002",
      "addressLine1": "123 Main Street",
      "addressLine2": "Suite 2",
      "city": "San Francisco",
      "stateOrProvince": "California",
      "postalCode": "94001",
      "country": "US",
      "latitude": "37.773972",
      "longitude": "-122.431297",
      "timezone": "America/Los_Angeles",
      "constructionType": "New Construction",
      "deliveryMethod": "Design-Bid",
      "contractType": "Unit Price",
      "currentPhase": "Design",
      "imageUrl": "https://s3.us-east-1.amazonaws.com/project_image.png",
      "thumbnailImageUrl": "https://s3.us-east-1.amazonaws.com/project_thumbnail_image.png",
      "createdAt": "2018-01-01T12:45:00.000Z",
      "updatedAt": "2019-01-01T12:45:00.000Z",
      "accountId": "d73fc742-4538-401c-8d0f-853b49b750b2",
      "sheetCount": 512,
      "platform": "acc",
      "accessLevels": {
        "projectAdmin": true,
        "projectMember": true
      },
      "personalWorkspaceDetails": {
        "assigneeUserId": "BVTJZEKHKAGQTGUJ"
      }
    }
  ]
}
```

**SDK Code**

```python
import requests

url = "https://developer.api.autodesk.com/construction/admin/v1/accounts/d73fc742-4538-401c-8d0f-853b49b750b2/users/6cc15635-2fbd-4f73-afbe-abd833408a1d/projects"

querystring = {"fields":"name,platform","filterTextMatch":"contains","filter[accessLevels]":"projectAdmin","filter[classification]":"production,sample","filter[designation]":"standard","filter[id]":"39712a51-bd64-446a-9c72-48c4e43d0a0d,d1163421-e7eb-4862-ac15-b33777ba42de","filter[jobNumber]":"HP-0002","filter[name]":"Sample Project","filter[platform]":"acc,bim360","filter[status]":"active,pending","filter[type]":"Convention Center,-Bridge","filter[updatedAt]":"2019-06-01T00:00:00.000Z..","limit":"20","offset":"0","sort":"name desc"}

headers = {
    "Accept-Language": "en",
    "Region": "US",
    "User-Id": "6cc15635-2fbd-4f73-afbe-abd833408a1d",
    "Authorization": "<token>."
}

response = requests.get(url, headers=headers, params=querystring)

print(response.json())
```

```javascript
const url = 'https://developer.api.autodesk.com/construction/admin/v1/accounts/d73fc742-4538-401c-8d0f-853b49b750b2/users/6cc15635-2fbd-4f73-afbe-abd833408a1d/projects?fields=name%2Cplatform&filterTextMatch=contains&filter%5BaccessLevels%5D=projectAdmin&filter%5Bclassification%5D=production%2Csample&filter%5Bdesignation%5D=standard&filter%5Bid%5D=39712a51-bd64-446a-9c72-48c4e43d0a0d%2Cd1163421-e7eb-4862-ac15-b33777ba42de&filter%5BjobNumber%5D=HP-0002&filter%5Bname%5D=Sample+Project&filter%5Bplatform%5D=acc%2Cbim360&filter%5Bstatus%5D=active%2Cpending&filter%5Btype%5D=Convention+Center%2C-Bridge&filter%5BupdatedAt%5D=2019-06-01T00%3A00%3A00.000Z..&limit=20&offset=0&sort=name+desc';
const options = {
  method: 'GET',
  headers: {
    'Accept-Language': 'en',
    Region: 'US',
    'User-Id': '6cc15635-2fbd-4f73-afbe-abd833408a1d',
    Authorization: '<token>.'
  }
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://developer.api.autodesk.com/construction/admin/v1/accounts/d73fc742-4538-401c-8d0f-853b49b750b2/users/6cc15635-2fbd-4f73-afbe-abd833408a1d/projects?fields=name%2Cplatform&filterTextMatch=contains&filter%5BaccessLevels%5D=projectAdmin&filter%5Bclassification%5D=production%2Csample&filter%5Bdesignation%5D=standard&filter%5Bid%5D=39712a51-bd64-446a-9c72-48c4e43d0a0d%2Cd1163421-e7eb-4862-ac15-b33777ba42de&filter%5BjobNumber%5D=HP-0002&filter%5Bname%5D=Sample+Project&filter%5Bplatform%5D=acc%2Cbim360&filter%5Bstatus%5D=active%2Cpending&filter%5Btype%5D=Convention+Center%2C-Bridge&filter%5BupdatedAt%5D=2019-06-01T00%3A00%3A00.000Z..&limit=20&offset=0&sort=name+desc"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("Accept-Language", "en")
	req.Header.Add("Region", "US")
	req.Header.Add("User-Id", "6cc15635-2fbd-4f73-afbe-abd833408a1d")
	req.Header.Add("Authorization", "<token>.")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("https://developer.api.autodesk.com/construction/admin/v1/accounts/d73fc742-4538-401c-8d0f-853b49b750b2/users/6cc15635-2fbd-4f73-afbe-abd833408a1d/projects?fields=name%2Cplatform&filterTextMatch=contains&filter%5BaccessLevels%5D=projectAdmin&filter%5Bclassification%5D=production%2Csample&filter%5Bdesignation%5D=standard&filter%5Bid%5D=39712a51-bd64-446a-9c72-48c4e43d0a0d%2Cd1163421-e7eb-4862-ac15-b33777ba42de&filter%5BjobNumber%5D=HP-0002&filter%5Bname%5D=Sample+Project&filter%5Bplatform%5D=acc%2Cbim360&filter%5Bstatus%5D=active%2Cpending&filter%5Btype%5D=Convention+Center%2C-Bridge&filter%5BupdatedAt%5D=2019-06-01T00%3A00%3A00.000Z..&limit=20&offset=0&sort=name+desc")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Accept-Language"] = 'en'
request["Region"] = 'US'
request["User-Id"] = '6cc15635-2fbd-4f73-afbe-abd833408a1d'
request["Authorization"] = '<token>.'

response = http.request(request)
puts response.read_body
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://developer.api.autodesk.com/construction/admin/v1/accounts/d73fc742-4538-401c-8d0f-853b49b750b2/users/6cc15635-2fbd-4f73-afbe-abd833408a1d/projects?fields=name%2Cplatform&filterTextMatch=contains&filter%5BaccessLevels%5D=projectAdmin&filter%5Bclassification%5D=production%2Csample&filter%5Bdesignation%5D=standard&filter%5Bid%5D=39712a51-bd64-446a-9c72-48c4e43d0a0d%2Cd1163421-e7eb-4862-ac15-b33777ba42de&filter%5BjobNumber%5D=HP-0002&filter%5Bname%5D=Sample+Project&filter%5Bplatform%5D=acc%2Cbim360&filter%5Bstatus%5D=active%2Cpending&filter%5Btype%5D=Convention+Center%2C-Bridge&filter%5BupdatedAt%5D=2019-06-01T00%3A00%3A00.000Z..&limit=20&offset=0&sort=name+desc")
  .header("Accept-Language", "en")
  .header("Region", "US")
  .header("User-Id", "6cc15635-2fbd-4f73-afbe-abd833408a1d")
  .header("Authorization", "<token>.")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://developer.api.autodesk.com/construction/admin/v1/accounts/d73fc742-4538-401c-8d0f-853b49b750b2/users/6cc15635-2fbd-4f73-afbe-abd833408a1d/projects?fields=name%2Cplatform&filterTextMatch=contains&filter%5BaccessLevels%5D=projectAdmin&filter%5Bclassification%5D=production%2Csample&filter%5Bdesignation%5D=standard&filter%5Bid%5D=39712a51-bd64-446a-9c72-48c4e43d0a0d%2Cd1163421-e7eb-4862-ac15-b33777ba42de&filter%5BjobNumber%5D=HP-0002&filter%5Bname%5D=Sample+Project&filter%5Bplatform%5D=acc%2Cbim360&filter%5Bstatus%5D=active%2Cpending&filter%5Btype%5D=Convention+Center%2C-Bridge&filter%5BupdatedAt%5D=2019-06-01T00%3A00%3A00.000Z..&limit=20&offset=0&sort=name+desc', [
  'headers' => [
    'Accept-Language' => 'en',
    'Authorization' => '<token>.',
    'Region' => 'US',
    'User-Id' => '6cc15635-2fbd-4f73-afbe-abd833408a1d',
  ],
]);

echo $response->getBody();
```

```csharp
using RestSharp;

var client = new RestClient("https://developer.api.autodesk.com/construction/admin/v1/accounts/d73fc742-4538-401c-8d0f-853b49b750b2/users/6cc15635-2fbd-4f73-afbe-abd833408a1d/projects?fields=name%2Cplatform&filterTextMatch=contains&filter%5BaccessLevels%5D=projectAdmin&filter%5Bclassification%5D=production%2Csample&filter%5Bdesignation%5D=standard&filter%5Bid%5D=39712a51-bd64-446a-9c72-48c4e43d0a0d%2Cd1163421-e7eb-4862-ac15-b33777ba42de&filter%5BjobNumber%5D=HP-0002&filter%5Bname%5D=Sample+Project&filter%5Bplatform%5D=acc%2Cbim360&filter%5Bstatus%5D=active%2Cpending&filter%5Btype%5D=Convention+Center%2C-Bridge&filter%5BupdatedAt%5D=2019-06-01T00%3A00%3A00.000Z..&limit=20&offset=0&sort=name+desc");
var request = new RestRequest(Method.GET);
request.AddHeader("Accept-Language", "en");
request.AddHeader("Region", "US");
request.AddHeader("User-Id", "6cc15635-2fbd-4f73-afbe-abd833408a1d");
request.AddHeader("Authorization", "<token>.");
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let headers = [
  "Accept-Language": "en",
  "Region": "US",
  "User-Id": "6cc15635-2fbd-4f73-afbe-abd833408a1d",
  "Authorization": "<token>."
]

let request = NSMutableURLRequest(url: NSURL(string: "https://developer.api.autodesk.com/construction/admin/v1/accounts/d73fc742-4538-401c-8d0f-853b49b750b2/users/6cc15635-2fbd-4f73-afbe-abd833408a1d/projects?fields=name%2Cplatform&filterTextMatch=contains&filter%5BaccessLevels%5D=projectAdmin&filter%5Bclassification%5D=production%2Csample&filter%5Bdesignation%5D=standard&filter%5Bid%5D=39712a51-bd64-446a-9c72-48c4e43d0a0d%2Cd1163421-e7eb-4862-ac15-b33777ba42de&filter%5BjobNumber%5D=HP-0002&filter%5Bname%5D=Sample+Project&filter%5Bplatform%5D=acc%2Cbim360&filter%5Bstatus%5D=active%2Cpending&filter%5Btype%5D=Convention+Center%2C-Bridge&filter%5BupdatedAt%5D=2019-06-01T00%3A00%3A00.000Z..&limit=20&offset=0&sort=name+desc")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```