Request

Response

    RFIs
    POST

    rfis

    Deprecated

    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.

    Note that this endpoint is not compatible with BIM 360 projects.
    For developers who are using both BIM 360 and ACC projects, we recommend using the BIM 360 RFIs API, which supports both BIM 360 and ACC projects.
    Note that we do not currently support ACC RFI attachments.

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

    Request

    URI Parameters

    projectId
    string
    The ID of the project.

    Request

    Body Structure

    Expand all
    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 (US), you can potentially use the following statuses: draft, submitted, open. For a workflow with an additional reviewer (EMEA), you can potentially use the following statuses: draft, submitted, openRev1.

    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 workflow.type.

    To check which statuses the user can potentially open the RFI with, call GET users/me (BIM 360 or ACC) Possible values: draft, submitted, open, openRev1, openRev2, rejected, rejectedRev1, rejectedManager, answered, answeredRev1, answeredManager, closed, void.

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

    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)

    Expand all
    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 (US), you can potentially use the following statuses: draft, submitted, open, answered, rejected, closed, void. For a workflow with an additional reviewer (EMEA), you can potentially use the following statuses: draft, submitted, openRev1, openRev2, rejectedRev1, rejectedManager, answeredRev1, answeredManager, closed, void.

    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 workflow.type.

    To check which statuses the user can potentially open the RFI with, call GET rfis/:id (BIM 360 or ACC). Possible values: draft, submitted, open, openRev1, openRev2, rejected, rejectedRev1, rejectedManager, answered, answeredRev1, answeredManager, closed, void.

    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 (US), you can potentially use the following statuses: draft, submitted, open, answered, rejected, closed, void. For a workflow with an additional reviewer (EMEA), you can potentially use the following statuses: draft, submitted, openRev1, openRev2, rejectedRev1, rejectedManager, answeredRev1, answeredManager, closed, void.

    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 workflow.type.

    To check which statuses the user can potentially open the RFI with, call GET rfis/:id (BIM 360 or ACC). Possible values: draft, submitted, open, openRev1, openRev2, rejected, rejectedRev1, rejectedManager, answered, answeredRev1, answeredManager, closed, void.

    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
            }
          }'
    
    Show More

    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
      }
    }
    
    Show More