rfis
Adds a BIM 360 RFI (request for information) to a project. You can create both document-related (pushpin) RFIs, and project-related RFIs.
BIM 360 RFIs are managed in the BIM 360 Project Management module.
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 workflow roles, open the BIM 360 Project Admin module, select the Services tab, and select the Project Management section.
To verify whether a user can create an RFI, call GET users/me. If the createRfi object appears in the permittedActions response, it indicates that the user can create RFIs.
We strongly recommend calling GET users/me 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/bim360/rfis/v2/containers/:containerId/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 |
Request
URI Parameters
containerId string | The ID of the container. Each project is assigned a container that stores all the RFIs for the project. To find the ID, see the Retrieve a Container ID tutorial. |
Request
Body Structure
status* enum:string | The status of the RFI.
Note that the possible statuses of the RFI depends 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 RFI help documentation. To check the workflow type of an RFI, call GET users/me and check To check which statuses the user can potentially open the RFI with, call GET users/me
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 user.
Max length: 255 |
linkedDocument string | The ID (item ID) of the document associated with the RFI. For more details, see the Upload Attachment tutorial.
Max length: 400 |
linkedDocumentVersion int | The version number of the document associated with the RFI. Only relevant for pushpin RFIs. |
location object | The location object. |
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. |
category array: string | The categories of the RFI. |
reference string | An external ID; typically used when the RFI was created in another system.
Max length: 20 |
sheetMetadata object | Data about the document associated with the RFI. Only relevant for pushpin RFIs. For more information, see the RFI pushpin tutorials. |
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 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. |
pushpinAttributes object | Data about the RFI pushpin. Only relevant for pushpin RFIs. For more details, see the pushpin tutorials. |
externalId string | An external ID; typically used when the RFI was created in another system.
Max length: 1000 |
location* object | The coordinates of the puhspin RFI in the document. Only relevant for pushpin RFIs. For more details, see the RFI pushpin tutorials. |
objectId string | The object ID associated with the pushpin RFI. For more details, see the RFI pushpin tutorials. |
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 depends 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 RFI help documentation. To check the workflow type of an RFI, call GET users/me and check To check which statuses the user can potentially open the RFI with, call GET rfis/:id.
Possible values: |
assignedTo string | The Autodesk ID of the user.
Max length: 255 |
managerId string | The Autodesk ID of the user.
Max length: 255 |
constructionManagerId string | The Autodesk ID of the user.
Max length: 255 |
architectId string | The Autodesk ID of the user.
Max length: 255 |
reviewerId string | The Autodesk ID of the user.
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 | 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. |
linkedDocumentVersion int | The document’s version ID associated with the RFI. Only relevant for pushpin RFIs. |
linkedDocumentCloseVersion int | The version of the document when the RFI is closed. |
attachmentsCount int | The number of attachments associated with the RFI. |
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 projects/users. |
createdBy string | The Autodesk ID of the user who created the RFI. To check the name of the user, call GET projects/users. |
createdAt datetime: ISO 8601 | The date and time 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 projects/users. |
updatedAt datetime: ISO 8601 | The date and time the RFI was updated, in the following format: YYYY-MM-DDThh:mm:ss.sz. |
closedAt datetime: ISO 8601 | The date and time 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 projects/users. |
containerId string | The ID of the container. |
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 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 projects/users. |
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. |
category array: string | The categories of the RFI. |
reference string | An external ID; typically used when the RFI was created in another system.
Max length: 20 |
sheetMetadata object,null | Data about the document associated with the RFI. Only relevant for pushpin RFIs. |
pushpinAttributes object,null | Data about the pushpin RFI. Only relevant for pushpin RFIs. For more details, see the RFI pushpin tutorials. |
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 depends 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 RFI help documentation. To check the workflow type of an RFI, call GET users/me and check To check which statuses the user can potentially open the RFI with, call GET rfis/:id.
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 | true if the user can hide the pushpin RFI.
false if the user cannot hide the pushpin RFI. |
Example
RFI Created
Request
curl -v 'https://developer.api.autodesk.com/bim360/rfis/v2/containers/:containerId/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": "TwoDRasterPushpin",
"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": "",
"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": "2018-01-12T13:06:39.216Z",
"linkedDocumentVersion": "urn:adsk.wipprod:fs.file:7_5NcbL1Q1GSjRLJe9ffvw",
"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": "",
"createAttachment": "",
"linkPCO": "",
"createDocumentReference": "",
"removeDocumentReference": "",
"togglePushpinVisibility": ""
}
}