rfis
This endpoint is deprecated. We will continue supporting it until September 1, 2022. We recommend migrating to the BIM 360 API endpoints, which are compatible with ACC projects.
Adds an RFI (Request for Information) to a project.
Users can create RFIs if they have been assigned either creator (projectSC
) or manager (projectGC
) workflow roles. Project admins are automatically assigned the creator workflow role.
Note that you cannot currently use the RFIs API to assign workflow roles to users. To assign users to workflow roles, click Settings on the top right, and select Permissions. A list of users is displayed. Select the appropriate role from the Workflow role dropdown on the right. Note that in order to allocate workflow roles, you must have Admin User status.
To verify whether a user can create an RFI, call GET users/me (BIM 360 or ACC). If the createRfi object appears in the permittedActions response, it indicates that the user can create RFIs.
We strongly recommend calling GET users/me (BIM 360 or ACC) before creating RFIs in order to verify the most up-to-date permissions and actions.
Note that you can use either of the following scopes when calling this endpoint: data:write
data:create
.
Resource Information
Method and URI | POST https://developer.api.autodesk.com/construction/rfis/v2/projects/:projectId/rfis |
Authentication Context | user context required |
Required OAuth Scopes | data:write data:create |
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 |
x-ads-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: US , EMEA . |
Request
URI Parameters
projectId string | The ID of the project. |
Request
Body Structure
id string: UUID | Used where the API client needs to set the RFI ID in advance. |
status* enum:string | The status of the RFI.
Note that the possible statuses of the RFI depend on the workflow type assigned to the RFI. For a default workflow with a single reviewer ( For more information about different workflows and statuses, see the RFIs help documentation (BIM 360 or ACC). To check the workflow type of an RFI, call GET users/me (BIM 360 or ACC) and check To check which statuses the user can potentially open the RFI with, call GET users/me (BIM 360 or ACC)
Possible values: |
title* string | The title of the RFI. |
question string,null | The RFI question. |
suggestedAnswer string | The suggested answer for the RFI. |
assignedTo string | The Autodesk ID of the Assignee.
Max length: 255 |
linkedDocument string | BIM 360: The ID (item ID) of the document associated with the RFI. For more details, see the Upload Attachment tutorial.
Max length: 400 ACC: Not relevant |
linkedDocumentVersion int | BIM 360: The version number of the document associated with the RFI. Only relevant for pushpin RFIs. |
location object | The location object.
ACC: Not relevant |
description* string | A description of the location of the RFI in the construction project. |
dueDate string,null | The timestamp of the due date for the RFI, in the following format: YYYY-MM-DDThh:mm:ss.sz. |
costImpact string,null | The cost impact status of the RFI. Possible values: null , Yes , No , Unknown . |
scheduleImpact string,null | The schedule impact status of the RFI. Possible values: null , Yes , No , Unknown . |
priority string,null | The priority status of the RFI. Possible values: null , High , Normal , Low . |
discipline array: string | The disciplines of the RFI. Possible values: Architectural , Civil/Site , Concrete , Electrical , Exterior Envelope , Fire Protection , Interior/Finishes , Landscaping , Masonry , Mechanical , Plumbing , Structural , Other , Unspecified . |
category array: string | The categories of the RFI. Possible values: Code Compliance , Constructability , Design Coordination , Documentation Conflict , Documentation Incomplete , Field condition , Other , Unspecified . |
reference string | An external ID; typically used when the RFI was created in another system.
Max length: 20 |
sheetMetadata object | BIM 360: Data about the document associated with the RFI. Only relevant for pushpin RFIs. For more information, see the RFI pushpin tutorials.
ACC: Not relevant. |
coReviewers array: string | Add members who can contribute to the RFI response. For more information about who can add co-reviewers and the type of permission level they are assigned, see the RFIs help (BIM 360 or ACC) documentation.
Note that although you can only add co-reviewers in the UI when the RFI is in open status, you can use the endpoint to also set up co-reviewers in other statuses. |
distributionList array: string | Add members to receive email notifications when the RFI is updated. These members will also be able to contribute to the RFI response.
For more information about who can add members to the distribution list and the type of permission level they are assigned, see the RFIs help documentation (BIM 360 or ACC). |
pushpinAttributes object | BIM 360: Data about the RFI pushpin. Only relevant for pushpin RFIs. For more details, see the RFI pushpin tutorials.
ACC: Not relevant. |
externalId string | An external ID; typically used when the RFI was created in another system.
Max length: 1000 |
location* object | BIM 360: The coordinates of the puhspin RFI in the document. Only relevant for pushpin RFIs. For more details, see the RFI pushpin tutorials.
ACC: Not relevant. |
objectId string | BIM 360: The object ID associated with the pushpin RFI. For more details, see the RFI pushpin tutorials.
ACC: Not relevant. |
type* enum:string | The type of pushpin.
Possible values: TwoDRasterPushpin , TwoDVectorPushpin |
viewerState object | The viewer state object. |
attributesVersion int | The version of the attributes. |
Response
HTTP Status Code Summary
201 Created | RFI Created |
400 Bad Request | The parameters are invalid |
401 Unauthorized | The provided bearer token is not valid |
403 Forbidden | The user or service represented by the bearer token does not have permission to perform this operation |
500 Internal Server Error | An unknown error occurred on the server |
Response
Body Structure (201)
id string | The ID of the RFI. |
customIdentifier string | The identifier of the RFI given by user. |
title string | The name of the RFI. |
question string,null | The RFI question. |
virtualFolderUrn string,null | Not relevant. |
status enum:string | The status of the RFI. Note that the possible statuses of the RFI depend on the workflow type assigned to the RFI.
For a default workflow with a single reviewer ( For more information about different workflows and statuses, see the RFIs help documentation (BIM 360 or ACC). To check the workflow type of an RFI, call GET users/me (BIM 360 or ACC) and check To check which statuses the user can potentially open the RFI with, call GET rfis/:id (BIM 360 or ACC).
Possible values: |
assignedTo string | The Autodesk ID of the Assignee.
Max length: 255 |
managerId string | The Autodesk ID of the Manager.
Max length: 255 |
constructionManagerId string | The Autodesk ID of the Construction Manager.
Max length: 255 |
architectId string | The Autodesk ID of the Architect.
Max length: 255 |
reviewerId string | The Autodesk ID of the Reviewer.
Max length: 255 |
assignedToType enum:string | The type of assignee. Will always be user . |
dueDate string,null | The timestamp of the due date for the RFI, in the following format: YYYY-MM-DDThh:mm:ss.sz. |
location object | The location object. |
description string | A description of the location of the RFI in the construction project. |
linkedDocument string | BIM 360: The document ID associated with the RFI. Identifies whether this RFI is a pushpin RFI or a project-related RFI. A pushpin is a visual marker that denotes the location of an RFI in a document. A project-related RFI is assigned a null value, and a pushpin RFI is assigned the item ID of the document associated with the pushpin.
ACC: Not relevant |
linkedDocumentVersion int | BIM 360: The document version ID associated with the RFI. Only relevant for pushpin RFIs.
ACC: Not relevant |
linkedDocumentCloseVersion int | BIM 360: The version of the document when the RFI is closed.
ACC: Not relevant |
attachmentsCount int | BIM 360: The number of attachments associated with the RFI.
ACC: Not relevant |
commentsCount int | The number of comments associated with the RFI. |
officialResponse string | An official response for the RFI. |
respondedAt datetime: ISO 8601 | The date and time when the RFI was responded to, in the following format: YYYY-MM-DDThh:mm:ss.sz. |
respondedBy string | The Autodesk ID of the user who responded to the RFI. To check the name of the user, call GET users/:user_id (BIM 360 or ACC). |
createdBy string | The Autodesk ID of the user who created the RFI. To check the name of the user, call GET users/:user_id (BIM 360 or ACC). |
createdAt datetime: ISO 8601 | The date and time when the RFI was created, in the following format: YYYY-MM-DDThh:mm:ss.sz. |
updatedBy string | The Autodesk ID of the user who updated the RFI. To check the name of the user, call GET users/:user_id (BIM 360 or ACC). |
updatedAt datetime: ISO 8601 | The date and time when the RFI was updated, in the following format: YYYY-MM-DDThh:mm:ss.sz. |
closedAt datetime: ISO 8601 | The date and time when the RFI was closed, in the following format: YYYY-MM-DDThh:mm:ss.sz. |
closedBy string | The Autodesk ID of the user who closed the RFI. To check the name of the user, call GET users/:user_id (BIM 360 or ACC). |
containerId string | BIM 360: The ID of the container.
ACC: Not relevant |
projectId string | The ID of the project. |
suggestedAnswer string | The suggested answer for the RFI. |
coReviewers array: string | A list of alternative reviewers. |
distributionList array: string | The list of users who will be notified of changes to the RFI. |
answeredAt datetime: ISO 8601 | The date and time when the RFI was answered, in the following format: YYYY-MM-DDThh:mm:ss.sz. |
answeredBy string | The Autodesk ID of the user who answered the RFI. To check the name of the user, call GET users/:user_id (BIM 360 or ACC). |
costImpact string,null | The cost impact status of the RFI. Possible values: null , Yes , No , Unknown . |
scheduleImpact string,null | The schedule impact status of the RFI. Possible values: null , Yes , No , Unknown . |
priority string,null | The priority status of the RFI. Possible values: null , High , Normal , Low . |
discipline array: string | The disciplines of the RFI. Possible values: Architectural , Civil/Site , Concrete , Electrical , Exterior Envelope , Fire Protection , Interior/Finishes , Landscaping , Masonry , Mechanical , Plumbing , Structural , Other , Unspecified . |
category array: string | The categories of the RFI. Possible values: Code Compliance , Constructability , Design Coordination , Documentation Conflict , Documentation Incomplete , Field condition , Other , Unspecified . |
reference string | An external ID; typically used when the RFI was created in another system.
Max length: 20 |
sheetMetadata object,null | BIM 360: Data about the document associated with the RFI. Only relevant for pushpin RFIs.
ACC: Not relevant |
pushpinAttributes object,null | BIM 360: Data about the pushpin RFI. Only relevant for pushpin RFIs. For more details, see the RFI pushpin tutorials.
ACC: Not relevant. |
permittedActions object | The list of actions that are permitted for the user. |
updateRfi object | The list of attributes and statuses available for the user. |
permittedStatuses array: object | The list of statuses the user is permitted to transition the RFI to. |
status enum:string | The status of the RFI. Note that the possible statuses of the RFI depend on the workflow type assigned to the RFI.
For a default workflow with a single reviewer ( For more information about different workflows and statuses, see the RFIs help documentation (BIM 360 or ACC). To check the workflow type of an RFI, call GET users/me (BIM 360 or ACC) and check To check which statuses the user can potentially open the RFI with, call GET rfis/:id (BIM 360 or ACC).
Possible values: |
requiredAttributes array: object | The list of attributes that are required when creating an RFI. |
name string | The name of the RFI attribute. |
values array: object | The list of possible values for the attribute. |
value string | The value of the RFI attribute. |
type string | The type of RFI attribute. |
permittedAttributes array: object | The list of attributes that are required when creating an RFI. |
name string | The name of the RFI attribute. |
values array: object | The list of possible values for the attribute. |
value string | The value of the RFI attribute. |
type string | The type of RFI attribute. |
createComment boolean | true if the user can create a comment for the RFI.
false if the user cannot create a comment for the RFI. |
createAttachment boolean | true if the user can create an attachment for the RFI.
false if the user cannot create an attachment for the RFI. |
linkPCO boolean | true if the user can link a PCO to the RFI.
false if the user cannot link a PCO to the RFI. |
createDocumentReference boolean | true if the user can add a document reference to the RFI.
false if the user cannot add a document reference to the RFI. |
removeDocumentReference boolean | true if the user can remove a document reference from the RFI.
false if the user cannot remove a document reference from the RFI. |
togglePushpinVisibility boolean | BIM 360:
true if the user can hide the pushpin RFI.
false if the user cannot hide the pushpin RFI.
ACC: Not relevant. |
Example
RFI Created
Request
curl -v 'https://developer.api.autodesk.com/construction/rfis/v2/projects/21a3f98d-34a8-4d4c-a362-3cc9de44f8aa/rfis' \
-X 'POST' \
-H 'Authorization: Bearer AuIPTf4KYLTYGVnOHQ0cuolwCW2a' \
-H 'Content-Type: application/json' \
-d '{
"id": "",
"status": "open",
"title": "wall color",
"question": "what should be the color of the outer wall?",
"suggestedAnswer": "blue",
"assignedTo": "PER8KQPK2JRT",
"linkedDocument": "urn:adsk.wipprod:dm.lineage:1t7QY9-JSxCB0TLh1qMvFQ",
"linkedDocumentVersion": 3,
"location": {
"description": "In the middle of the room"
},
"dueDate": "2018-01-12T13:06:39.216Z",
"costImpact": "Yes",
"scheduleImpact": "Yes",
"priority": "High",
"discipline": [
"Architectural"
],
"category": [
"Constructability"
],
"reference": "ID-1234",
"sheetMetadata": {},
"coReviewers": [
"PER8KQPK2JRT"
],
"distributionList": [
"PER8KQPK2JRT"
],
"pushpinAttributes": {
"externalId": "",
"location": {},
"objectId": "",
"type": "",
"viewerState": {},
"attributesVersion": 1
}
}'
Response
{
"id": "31a3f98d-34a8-4d4c-a362-3cc9de44f89c",
"customIdentifier": "ID-1234",
"title": "RFI - pipe is not in right place",
"question": "Where should we put the pipe?",
"virtualFolderUrn": "urn:adsk.wipqa:fs.folder:co.EXiaPiBDQfK1LFCwXb4LTQ",
"status": "open",
"assignedTo": "PER8KQPK2JRT",
"managerId": "PER8KQPK2JRT",
"constructionManagerId": "PER8KQPK2JRT",
"architectId": "PER8KQPK2JRT",
"reviewerId": "PER8KQPK2JRT",
"assignedToType": "user",
"dueDate": "2018-01-12T13:06:39.216Z",
"location": {
"description": "In the middle of the room"
},
"linkedDocument": "urn:adsk.wipprod:dm.lineage:1t7QY9-JSxCB0TLh1qMvFQ",
"linkedDocumentVersion": 1,
"linkedDocumentCloseVersion": 1,
"attachmentsCount": 12,
"commentsCount": 15,
"officialResponse": "The measurements are correct.",
"respondedAt": "2018-01-12T13:06:39.216Z",
"respondedBy": "PER8KQPK2JRT",
"createdBy": "PER8KQPK2JRT",
"createdAt": "2018-07-22T15:05:58.033Z",
"updatedBy": "PER8KQPK2JRT",
"updatedAt": "2018-07-22T15:05:58.033Z",
"closedAt": "2018-07-22T15:05:58.033Z",
"closedBy": "PER8KQPK2JRT",
"containerId": "31a3f98d-34a8-4d4c-a362-3cc9de44f89c",
"projectId": "31a3f98d-34a8-4d4c-a362-3cc9de44f89c",
"suggestedAnswer": "The measurements are correct.",
"coReviewers": [
"PER8KQPK2JRT"
],
"distributionList": [
"PER8KQPK2JRT"
],
"answeredAt": "2018-07-22T15:05:58.033Z",
"answeredBy": "PER8KQPK2JRT",
"costImpact": "Yes",
"scheduleImpact": "Yes",
"priority": "High",
"discipline": [
"Architectural"
],
"category": [
"Constructability"
],
"reference": "ID-1234",
"sheetMetadata": "",
"pushpinAttributes": "",
"permittedActions": {
"updateRfi": {
"permittedStatuses": [
{
"status": "open",
"requiredAttributes": [
{
"name": "assignedTo",
"values": [
{
"value": "PER8KQPK2JRT",
"type": "user"
}
]
}
]
}
],
"permittedAttributes": [
{
"name": "assignedTo",
"values": [
{
"value": "PER8KQPK2JRT",
"type": "user"
}
]
}
]
},
"createComment": true,
"createAttachment": true,
"linkPCO": true,
"createDocumentReference": true,
"removeDocumentReference": true,
"togglePushpinVisibility": true
}
}