projects/{projectId}/users
Assigns a user to the specified project.
Note that the Authorization
header token can be obtained either via a three-legged OAuth flow, or via a two-legged Oauth flow with user impersonation, for which the User-Id
header is required.
Note that if you want to add multiple users at once, you can call POST projects/:projectId/users:import.
Resource Information
Method and URI | POST https://developer.api.autodesk.com/construction/admin/v1/projects/:projectId/users |
Authentication Context | user context required |
Required OAuth Scopes | account:write |
Data Format | JSON |
Request
Headers
Authorization* string | Must be Bearer <token> , where <token> is obtained via a three-legged OAuth flow. |
Content-Type* string | Must be application/json |
Accept-Language string | This header is not currently supported in the Account Admin API. |
Region string | The region to which your request should be routed. If not set, the request is routed automatically but may incur a small latency increase.
Possible values: |
User-Id string | 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 ( 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. |
Request
URI Parameters
projectId string: 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 ACC 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 . |
Request
Body Structure
User fields to add to the project. Required fields are email
and products
.
email* string | The email address of the user.
Max length: 255 |
companyId null,string | The ID of the company that the user is representing in the project. To obtain a list of all company IDs associated with a project, call GET projects/:projectId/companies. |
roleIds array: string | A list of IDs of the roles that the user belongs to in the project. |
products* array: object | Information about the products activated in the specified project for this user. |
key* enum:string | A keyword that identifies the product.
All Account Admin project endpoints and project user endpoints can return ACC projects, which use ACC products. ACC Products Possible values: Note that the GET projects and GET projects/:projectId endpoints can also return BIM 360 projects, which use BIM 360 products. BIM 360 Products Possible values: |
access* enum:string | The user’s type of access to the product identified by key . Possible values:
Note that when you’re using a POST or PATCH endpoint to set this value, you must adhere to the following guidelines:
|
Response
HTTP Status Code Summary
201 Created | Successfully added the user to the project. |
400 Bad Request | The request could not be understood by the server due to malformed syntax. |
401 Unauthorized | Request has not been applied because it lacks valid authentication credentials for the target resource. |
403 Forbidden | The server understood the request but refuses to authorize it. |
404 Not Found | The resource cannot be found. |
409 Conflict | The request could not be completed due to a conflict with the current state of the resource. |
410 | Access to the target resource is no longer available. |
412 | The server refuses to accept the request because a pre-condition failed. |
415 | The server refuses to accept the request because the payload format is in an unsupported format. |
429 Too Many Requests | User has sent too many requests in a given amount of time. |
500 Internal Server Error | An unexpected error occurred on the server. |
503 Service Unavailable | Server is not ready to handle the request. |
Response
Body Structure (201)
email string | The email of the user.
Max length: 255 |
id string: UUID | The ACC ID of the user. |
name string | The full name of the user.
Max length: 255 |
firstName string | The user’s first name. This data syncs from the user’s Autodesk profile.
Max length: 255 |
lastName string | The user’s last name. This data syncs from the user’s Autodesk profile.
Max length: 255 |
autodeskId string | The ID of the user’s Autodesk profile.
Max length: 255 |
analyticsId string | Not relevant |
addressLine1 string | The user’s address line 1. This data syncs from the user’s Autodesk profile.
Max length: 255 |
addressLine2 string | The user’s address line 2. This data syncs from the user’s Autodesk profile.
Max length: 255 |
city string | The User’s city. This data syncs from the user’s Autodesk profile.
Max length: 255 |
stateOrProvince string | The state or province of the user. The accepted values here change depending on which country is provided. This data syncs from the user’s Autodesk profile.
Max length: 255 |
postalCode string | The zip or postal code of the user. This data syncs from the user’s Autodesk profile.
Max length: 255 |
country string | The user’s country. This data syncs from the user’s Autodesk profile.
Max length: 255 |
imageUrl string | The URL of the user’s avatar. This data syncs from the user’s Autodesk profile.
Max length: 255 |
phone object | The user’s phone number. This data syncs from the user’s Autodesk profile. |
number string | User’s phone number |
phoneType enum:string | The user’s phone type.
Possible values: |
extension string | User’s phone extension. |
jobTitle string | The user’s job title. This data syncs from the user’s Autodesk profile.
Max length: 255 |
industry string | The industry the user works in. This data syncs from the user’s Autodesk profile.
Max length: 255 |
aboutMe string | A short bio about the user. This data syncs from the user’s Autodesk profile.
Max length: 255 |
accessLevels object | Flags that identify a returned user’s access levels in the account or project. |
accountAdmin boolean | Indicates whether the user is an account administrator for the account. Possible values:
|
projectAdmin boolean | Indicates whether the user is a project administrator for the project. Possible values:
|
executive boolean | Indicates whether the user is an executive in the account. Possible values:
|
addedOn datetime: ISO 8601 | The timestamp when the user was first given access to any product on the project. |
updatedAt datetime: ISO 8601 | The timestamp when the project user was last updated, in ISO 8601 format. |
companyId null,string | The ID of the company that the user is representing in the project. To obtain a list of all company IDs associated with a project, call GET projects/:projectId/companies. |
companyName null,string | The name of the company to which the user belongs.
Max length: 255 |
roleIds array: string | A list of IDs of the roles that the user belongs to in the project. |
roles array: object | A list of the role IDs and names that are associated with the user in the project. |
id string: UUID | The ID of a role that the user belongs to in the project. |
name string | The name of a role that the user belongs to in the project. |
status string | The status of the user in the project. A pending user could be waiting for their products to activate, or the user hasn’t accepted an email to create an account with Autodesk.
Possible values:
|
products array: object | Information about the products activated in the specified project for this user. |
key enum:string | A keyword that identifies the product.
All Account Admin project endpoints and project user endpoints can return ACC projects, which use ACC products. ACC Products Possible values: Note that the GET projects and GET projects/:projectId endpoints can also return BIM 360 projects, which use BIM 360 products. BIM 360 Products Possible values: |
access enum:string | The user’s type of access to the product identified by key . Possible values:
Note that when you’re using a POST or PATCH endpoint to set this value, you must adhere to the following guidelines:
|
jobId string: UUID | Not relevant - we don’t currently support this field. |
Example
Successfully added the user to the project.
Request
curl -v 'https://developer.api.autodesk.com/construction/admin/v1/projects/367d5cc2-9008-462c-96e5-c9491db85d93/users' \
-X 'POST' \
-H 'Authorization: Bearer AuIPTf4KYLTYGVnOHQ0cuolwCW2a' \
-H 'Content-Type: application/json' \
-d '{
"email": "sampleUser1@autodesk.com",
"companyId": "c32ffb13-83f8-43fb-bddf-3e5c0c2dda24",
"roleIds": [
"cda845af-05f0-4c46-9108-71b993946c35",
"b8e84a73-7506-4d3f-b221-93691df2a359"
],
"products": [
{
"key": "projectAdministration",
"access": "administrator"
},
{
"key": "designCollaboration",
"access": "administrator"
},
{
"key": "build",
"access": "administrator"
},
{
"key": "cost",
"access": "administrator"
},
{
"key": "modelCoordination",
"access": "administrator"
},
{
"key": "docs",
"access": "administrator"
},
{
"key": "insight",
"access": "administrator"
},
{
"key": "takeoff",
"access": "administrator"
}
]
}'
Response
{
"email": "sampleUser1@autodesk.com",
"id": "39712a51-bd64-446a-9c72-48c4e43d0a0d",
"name": "Bob Smith",
"firstName": "Bob",
"lastName": "Smith",
"autodeskId": "USER123A",
"analyticsId": "SOMEID123",
"addressLine1": "123 Main Street",
"addressLine2": "Suite 2",
"city": "San Francisco",
"stateOrProvince": "California",
"postalCode": "94001",
"country": "United States",
"imageUrl": "https://s3.amazonaws.com:443/com.autodesk.storage.public.dev/oxygen/USER123A/profilepictures/x20.jpg",
"phone": {
"number": "123-345-1234",
"phoneType": "mobile",
"extension": "10"
},
"jobTitle": "Owner",
"industry": "Architecture & Construction Service Providers",
"aboutMe": "Bob has been in construction for 25 years.",
"accessLevels": {
"accountAdmin": true,
"projectAdmin": true,
"executive": true
},
"addedOn": "2018-01-01T12:45:00.000Z",
"updatedAt": "2018-01-01T12:45:00.000Z",
"companyId": "c32ffb13-83f8-43fb-bddf-3e5c0c2dda24",
"companyName": "Sample Company",
"roleIds": [
"cda845af-05f0-4c46-9108-71b993946c35",
"b8e84a73-7506-4d3f-b221-93691df2a359"
],
"roles": [
{
"id": "cda845af-05f0-4c46-9108-71b993946c35",
"name": "Architect"
},
{
"id": "b8e84a73-7506-4d3f-b221-93691df2a359",
"name": "Engineer"
}
],
"status": "active",
"products": [
{
"key": "projectAdministration",
"access": "administrator"
},
{
"key": "designCollaboration",
"access": "administrator"
},
{
"key": "build",
"access": "administrator"
},
{
"key": "cost",
"access": "administrator"
},
{
"key": "modelCoordination",
"access": "administrator"
},
{
"key": "docs",
"access": "administrator"
},
{
"key": "insight",
"access": "administrator"
},
{
"key": "takeoff",
"access": "administrator"
}
],
"jobId": "5d3bc131-c0dc-4222-9a2a-351363f437fa"
}