rfis/:id
Updates a BIM 360 Project Management RFI.
If the RFI is in Draft status, it can only be updated by the user who created the RFI. For all other statuses, it can only be updated by the user who was assigned to the RFI.
To verify the statuses that the user can transition the RFI to, the attributes that you are required to specify when transitioning the RFI to the new status, and the potential assignees for each status, call GET rfis/:id and check the permittedActions
section. Note that you need to select an assignee when you transition the RFI to another status.
The list of permitted transitions that appear in the response payload is dependent on the workflow roles that were assigned to the user and the RFI workflow that was selected for the project.
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.
Note that you cannot currently use the RFIs API to select an RFI workflow type for a project. To assign an RFI workflow to a project, see the RFIs help documentation.
For details about statuses and workflow roles, see the RFIs help documentation.
We strongly recommend calling GET rfis/:id before updating RFIs in order to verify the most up-to-date permissions and actions.
To reassign the RFI to another user in its current status, call GET rfis/:id, and check the list of users in the permittedActions
section to see the list of potential assignees.
For more details about adding attachments, see the Transitions tutorial.
Resource Information
Method and URI | PATCH https://developer.api.autodesk.com/bim360/rfis/v2/containers/:containerId/rfis/:rfiId |
Authentication Context | user context required |
Required OAuth Scopes | data: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 |
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. |
rfiId string | The ID of the RFI. |
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 rfis/:id.
Possible values: |
title string | The title of the RFI. |
question string,null | The RFI question. |
officialResponse string | The official response to the RFI. |
suggestedAnswer string | The suggested answer for the RFI. |
assignedTo string | The Autodesk ID of the user.
Max length: 255 |
linkedDocument string,null | The ID (item ID) of the document associated with the RFI.
Max length: 400 |
linkedDocumentVersion integer,null | The version number of the document associated with the RFI. Only relevant for pushpin RFIs. |
linkedDocumentCloseVersion int | The version of the document when the RFI is closed. |
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,null | 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,null | Data about the pushpin RFI. Only relevant for pushpin RFIs. For more details, see the RFI pushpin tutorials. |
Response
HTTP Status Code Summary
200 OK | Success |
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 |
404 Not Found | RFI not found |
500 Internal Server Error | An unknown error occurred on the server |
Response
Body Structure (200)
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
Success
Request
curl -v 'https://developer.api.autodesk.com/bim360/rfis/v2/containers/:containerId/rfis/:rfiId' \
-X 'PATCH' \
-H 'Authorization: Bearer AuIPTf4KYLTYGVnOHQ0cuolwCW2a' \
-H 'Content-Type: application/json' \
-d '{
"status": "open",
"title": "wall color",
"question": "what should be the color of the outer wall?",
"officialResponse": "blue",
"suggestedAnswer": "blue",
"assignedTo": "PER8KQPK2JRT",
"linkedDocument": "urn:adsk.wipprod:dm.lineage:1t7QY9-JSxCB0TLh1qMvFQ",
"linkedDocumentVersion": 3,
"linkedDocumentCloseVersion": 5,
"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": ""
}'
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": ""
}
}