Autodesk BIM 360 Issues API
The Issues API from Autodesk BIM 360 — 2 operation(s) for issues.
The Issues API from Autodesk BIM 360 — 2 operation(s) for issues.
openapi: 3.0.0
info:
title: Construction.Account.Admin Account Users Issues API
version: '1.0'
contact:
name: Autodesk Plaform Services
url: https://aps.autodesk.com/
email: aps.help@autodesk.com
termsOfService: https://www.autodesk.com/company/legal-notices-trademarks/terms-of-service-autodesk360-web-services/forge-platform-web-services-api-terms-of-service
x-support: https://stackoverflow.com/questions/tagged/autodesk-platform-services
description: 'The Account Admin API automates creating and managing projects, assigning and managing project users, and managing member and partner company directories. You can also synchronize data with external systems.
'
servers:
- url: https://developer.api.autodesk.com
security:
- 2-legged: []
- 3-legged: []
tags:
- name: Issues
paths:
/construction/issues/v1/projects/{projectId}/issues:
parameters:
- schema:
type: string
name: projectId
in: path
required: true
description: The ID of the project.
get:
summary: Your GET endpoint
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/IssuesPage'
'400':
description: Bad Request
'403':
description: Forbidden
'404':
description: Not Found
operationId: getIssues
parameters:
- in: query
name: filter[id]
description: Filter issues by the unique issue ID. Separate multiple values with commas.
schema:
$ref: '#/components/schemas/filterid'
- in: query
name: filter[issueTypeId]
description: Filter issues by the unique identifier of the category of the issue. Note that the API name for category is type. Separate multiple values with commas.
schema:
$ref: '#/components/schemas/filterissueTypeId'
- in: query
name: filter[issueSubtypeId]
description: Filter issues by the unique identifier of the type of the issue. Note that the API name for type is subtype. Separate multiple values with commas.
schema:
$ref: '#/components/schemas/filterissueSubtypeId'
- schema:
type: string
in: query
name: filter[status]
description: Filter issues by their status. Separate multiple values with commas.
- in: query
name: filter[linkedDocumentUrn]
description: Retrieves pushpin issues associated with the specified files. We support all file types that are compatible with the Files tool. You need to specify the URL-encoded file item IDs.
schema:
$ref: '#/components/schemas/filterlinkedDocumentUrn'
- $ref: '#/components/parameters/x-ads-region'
- schema:
type: string
in: query
name: filter[dueDate]
description: 'Filter issues by due date, in one of the following URL-encoded format: YYYY-MM-DD. Separate multiple values with commas.'
- schema:
type: string
in: query
name: filter[startDate]
description: 'Filter issues by start date, in one of the following URL-encoded format: YYYY-MM-DD. Separate multiple values with commas.'
- schema:
type: boolean
in: query
name: filter[deleted]
description: 'Filter deleted issues. For example, filter[deleted]=true. If set to true it only returns deleted issues. If set to false it only returns undeleted issues. Note that we do not currently support returning both deleted and undeleted issues. Default value: false.'
- schema:
type: string
in: query
name: filter[createdAt]
description: 'Filter issues created at the specified date and time, in one of the following URL-encoded formats: YYYY-MM-DDThh:mm:ss.sz or YYYY-MM-DD. Separate multiple values with commas'
- in: query
name: filter[createdBy]
description: Filter issues by the unique identifier of the user who created the issue. Separate multiple values with commas.
schema:
$ref: '#/components/schemas/filtercreatedBy'
- schema:
type: string
in: query
name: filter[updatedAt]
description: 'Filter issues updated at the specified date and time, in one of the following URL-encoded formats: YYYY-MM-DDThh:mm:ss.sz or YYYY-MM-DD. Separate multiple values with commas. '
- in: query
name: filter[updatedBy]
description: Filter issues by the unique identifier of the user who updated the issue. Separate multiple values with commas.
schema:
$ref: '#/components/schemas/filterupdatedBy'
- in: query
name: filter[assignedTo]
description: Filter issues by the unique Autodesk ID of the User/Company/Role identifier of the current assignee of this issue. Separate multiple values with commas.
schema:
$ref: '#/components/schemas/filterassignedTo'
- in: query
name: filter[rootCauseId]
description: Filter issues by the unique identifier of the type of root cause for the issue. Separate multiple values with commas.
schema:
$ref: '#/components/schemas/filterrootCauseId'
- in: query
name: filter[locationId]
description: Retrieves issues associated with the specified location but not the location’s sublocations. To also retrieve issues that relate to the locations’s sublocations use the sublocationId filter. Separate multiple values with commas.
schema:
$ref: '#/components/schemas/filterlocationId'
- in: query
name: filter[subLocationId]
description: Retrieves issues associated with the specified unique LBS (Location Breakdown Structure) identifier, as well as issues associated with the sub locations of the LBS identifier. Separate multiple values with commas.
schema:
$ref: '#/components/schemas/filtersubLocationId'
- in: query
name: filter[closedBy]
description: 'Filter issues by the unique identifier of the user who closed the issue. Separate multiple values with commas. For Example: A3RGM375QTZ7.'
schema:
$ref: '#/components/schemas/filterclosedBy'
- schema:
type: string
in: query
name: filter[closedAt]
description: 'Filter issues closed at the specified date and time, in one of the following URL-encoded formats: YYYY-MM-DDThh:mm:ss.sz or YYYY-MM-DD. Separate multiple values with commas.'
- schema:
type: string
in: query
name: filter[search]
description: Filter issues using ‘search’ criteria. this will filter both title and issues display ID. For example, use filter[search]=300
- schema:
type: integer
in: query
name: filter[displayId]
description: Filter issues by the chronological user-friendly identifier. Separate multiple values with commas.
- schema:
type: string
in: query
name: filter[assignedToType]
description: 'Filter issues by the type of the current assignee of this issue. Separate multiple values with commas. Possible values: Possible values: user, company, role, null. For Example: user.'
- in: query
name: filter[customAttributes]
description: 'Filter issues by the custom attributes. Each custom attribute filter should be defined by it’s uuid. For example: filter[customAttributes][f227d940-ae9b-4722-9297-389f4411f010]=1,2,3. Separate multiple values with commas.'
schema:
$ref: '#/components/schemas/filtercustomAttributes'
- schema:
type: boolean
in: query
name: filter[valid]
description: 'Only return valid issues (=no empty type/subtype). Default value: undefined (meaning will return both valid & invalid issues).'
- schema:
type: integer
in: query
name: limit
description: 'Return specified number of issues. Acceptable values are 1-100. Default value: 100.'
- schema:
type: integer
in: query
name: offset
description: 'Return issues starting from the specified offset number. Default value: 0.'
- in: query
name: sortBy
description: Sort issue comments by specified fields. Separate multiple values with commas. To sort in descending order add a - (minus sign) before the sort criteria
schema:
$ref: '#/components/schemas/sortBy_internal'
- in: query
name: fields
description: Return only specific fields in issue object. Separate multiple values with commas.
schema:
$ref: '#/components/schemas/fields_internal'
security:
- 2-legged: []
- 3-legged: []
- 3-legged-implicit: []
description: Retrieves information about all the issues in a project, including details about their associated comments and attachments.
tags:
- Issues
post:
summary: ''
operationId: createIssue
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Issue'
'400':
description: Bad Request
'403':
description: Forbidden
'409':
description: Conflict
description: Adds an issue to a project.
security:
- 2-legged: []
- 3-legged: []
- 3-legged-implicit: []
parameters:
- $ref: '#/components/parameters/x-ads-region'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/IssuePayload'
tags:
- Issues
/construction/issues/v1/projects/{projectId}/issues/{issueId}:
parameters:
- schema:
type: string
name: projectId
in: path
required: true
description: The ID of the project.
- schema:
type: string
name: issueId
in: path
required: true
description: The unique identifier of the issue.
get:
summary: Your GET endpoint
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Issue'
'400':
description: Bad Request
'403':
description: Forbidden
'404':
description: Not Found
operationId: getIssueDetails
description: Retrieves detailed information about a single issue. For general information about all the issues in a project.
security:
- 2-legged: []
- 3-legged: []
- 3-legged-implicit: []
parameters:
- $ref: '#/components/parameters/x-ads-region'
tags:
- Issues
patch:
summary: ''
operationId: patchIssueDetails
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Issue'
'400':
description: Bad Request
'403':
description: Forbidden
'404':
description: Not Found
content: {}
description: 'Updates an issue.
To verify whether a user can update issues for a specific project, call GET users/me.
To verify which attributes the user can update, call GET issues/:id and check the permittedAttributes and permittedStatuses lists.'
parameters:
- $ref: '#/components/parameters/x-ads-region'
security:
- 2-legged: []
- 3-legged: []
- 3-legged-implicit: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/IssuePayload'
description: ''
tags:
- Issues
components:
schemas:
filterissueSubtypeId:
title: filterissueSubtypeId
x-stoplight:
id: kbtr780g1ioa3
type: array
items:
x-stoplight:
id: zmn50bfqs15li
type: string
Pagination:
type: object
description: The pagination object.
properties:
limit:
type: integer
description: The number of items per page.
offset:
type: integer
description: The page number that the results begin from.
totalResults:
type: integer
description: The number of items in the response.
region:
title: region
x-stoplight:
id: pvg574irwjt8w
type: string
enum:
- US
- EMEA
- AUS
- CAN
- DEU
- IND
- JPN
- GBR
description: "Specifies where the bucket containing the object is stored. Possible values are:\n - ``US`` - (Default) Data center for the US region.\n - ``EMEA`` - Data center for the European Union, Middle East, and Africa.\n - ``AUS`` - Data center for Australia.\n - ``CAN`` - Data center for the Canada region.\n - ``DEU`` - Data center for the Germany region.\n - ``IND`` - Data center for the India region.\n - ``JPN`` - Data center for the Japan region.\n - ``GBR`` - Data center for the United Kingdom region.\n**Note:** Beta features are subject to change. Please do not use in production environments."
status:
type: string
x-stoplight:
id: w3v9ah58nfw7e
description: The current status of the issue. To check the available statuses for the project, call GET users/me and check the permitted statuses list (issue.new.permittedStatuses). For more information about statuses, see the Help documentation.
enum:
- draft
- open
- pending
- in_progress
- in_review
- completed
- not_approved
- in_dispute
- closed
filterassignedTo:
title: filterassignedTo
x-stoplight:
id: chrtdtj1ebfb3
type: array
items:
x-stoplight:
id: x44vzy9svtq9p
type: string
filtercustomAttributes:
title: filtercustomAttributes
x-stoplight:
id: ja16zkxz19t3s
type: array
items:
x-stoplight:
id: nq5ihyumsc9l3
type: string
filterupdatedBy:
title: filterupdatedBy
x-stoplight:
id: ejp0bn4ejooyj
type: array
items:
x-stoplight:
id: 64w55gwhiyl87
type: string
description: Filter issues by the unique identifier of the user who updated the issue. Separate multiple values with commas.
filtersubLocationId:
title: filterrootCauseId
x-stoplight:
id: srhxvujb00n6a
type: array
items:
x-stoplight:
id: isppzqxf1r4c9
type: string
fields_internal:
title: fields_internal
x-stoplight:
id: 8s1gy4e6hc4pr
type: array
items:
$ref: '#/components/schemas/fields'
sortBy:
title: sortBy
x-stoplight:
id: j8v94gty0f6up
type: string
enum:
- createdAt
- updatedAt
- createdBy
- displayId
- title
- description
- status
- assignedTo
- assignedToType
- dueDate
- locationDetails
- published
- closedBy
- closedAt
- issueSubType
- issueType
- customAttributes
- startDate
filterissueTypeId:
title: filterissueTypeId
x-stoplight:
id: wiudkmxcv9nbu
type: array
items:
x-stoplight:
id: oes0op5k8yucv
type: string
IssuesPage:
title: issues
x-stoplight:
id: ea3111d9b097d
type: object
properties:
pagination:
$ref: '#/components/schemas/Pagination'
results:
type: array
description: The list of issues in the current page
items:
$ref: '#/components/schemas/Issue'
IssuePayload:
title: issue_payload
x-stoplight:
id: 8g2lbqjamv0x0
type: object
properties:
title:
type: string
x-stoplight:
id: 6doa4cbrd92a0
description: 'The description and purpose of the issue.
Max length: 10000'
description:
type: string
x-stoplight:
id: bjyfvqctzsmdg
description: 'The description and purpose of the issue.
Max length: 10000'
snapshotUrn:
type: string
x-stoplight:
id: klltd0816d9h0
description: Not relevant
issueSubtypeId:
type: string
x-stoplight:
id: w9cpekfm64k1q
description: The unique identifier of the subtype of the issue.
status:
$ref: '#/components/schemas/status'
assignedTo:
type: string
x-stoplight:
id: z2d8nyn4rrf12
description: The Autodesk ID of the member, role, or company you want to assign to the issue. Note that if you select an assignee ID, you also need to select a type (assignedToType).
assignedToType:
$ref: '#/components/schemas/assignedToType'
dueDate:
type: string
x-stoplight:
id: ie75gbeeuzb3b
description: The due date of the issue, in ISO8601 format.
startDate:
type: string
x-stoplight:
id: coswfmw4g9fup
description: The start date of the issue, in ISO8601 format.
locationId:
type: string
x-stoplight:
id: 4jai4n9ddyd6b
description: The unique LBS (Location Breakdown Structure) identifier that relates to the issue.
locationDetails:
type: string
x-stoplight:
id: z1gddbsieowy9
description: 'The location as plain text that relates to the issue.
Max length: 8300'
rootCauseId:
type: string
x-stoplight:
id: 17ecnk4d83fz0
description: The unique identifier of the type of root cause for the issue.
issueTemplateId:
type: string
x-stoplight:
id: 17ecnk4d83fz0
description: The unique identifier of the type of root cause for the issue.
published:
type: boolean
x-stoplight:
id: t4sq9mucm305q
description: 'States whether the issue is published. Default value: false (e.g. unpublished).'
permittedActions:
type: object
x-stoplight:
id: uih5ia7jit7hb
description: 'The list of actions permitted for the user for this issue in its current state.
Note that if a user with Create for my company permissions attempts to assign a user from a another company to the issue, it will return an error.
Possible Values: assign_all (can assign another user from another company to the issue), assign_same_company (can only assign another user from the same company to the issue), clear_assignee, delete, add_comment, add_attachment, remove_attachment.
The following values are not relevant: add_attachment, remove_attachment.'
watchers:
type: array
x-stoplight:
id: f62fnyar5mau5
description: The Autodesk ID of the member you want to assign as a watcher for the issue.
items:
x-stoplight:
id: sz01bet5mi110
type: string
customAttributes:
type: array
x-stoplight:
id: vblrg1nyyahq4
description: A list of custom attributes of the specific issue.
items:
x-stoplight:
id: 62j6v5j9s0ncc
type: object
properties:
attributeDefinitionId:
type: string
x-stoplight:
id: 5b8h1b9n7jone
description: The unique identifier of the custom attribute.
value:
type: object
x-stoplight:
id: 4fupsuku6bg1a
description: 'Custom attribute value. Possible value types: string, number, null.'
required:
- attributeDefinitionId
- value
gpsCoordinates:
type: object
x-stoplight:
id: 5cq95b24ifbl8
description: A GPS Coordinate which represents the geo location of the issue.
properties:
latitude:
type: number
x-stoplight:
id: 6f6pm9hf3oldd
longitude:
type: number
x-stoplight:
id: y0dndwiddez8y
required:
- title
- issueSubtypeId
- status
filtercreatedBy:
title: filtercreatedBy
x-stoplight:
id: 2drtvpglpzdg5
type: array
items:
type: string
filterlinkedDocumentUrn:
title: filterlinkedDocumentUrn
x-stoplight:
id: e4lcm68omr5g2
type: array
items:
x-stoplight:
id: ex53iql10n0of
type: string
description: 'Retrieves pushpin issues associated with the specified files. We support all file types that are compatible with the Files tool. You need to specify the URL-encoded file item IDs. To find the file item IDs, use the Data Management API.
Note that you need to specify the 3D model item ID, which retrieves all pushpins associated with all 2D sheets and views associated with the 3D model. Similarly, if you specify a specific PDF file it retrieves all the pushpin issues associated with all the PDF file pages. We do not currently support retrieving pushpin issues associated with a specific 2D sheet or view.'
filterid:
title: filterid
x-stoplight:
id: az48o4u31pbvt
type: array
items:
x-stoplight:
id: 9dnhirox70yde
type: string
filterrootCauseId:
title: filterrootCauseId
x-stoplight:
id: yij9lduzyuzd1
type: array
items:
x-stoplight:
id: isppzqxf1r4c9
type: string
filterclosedBy:
title: filterrootCauseId
x-stoplight:
id: jiz1hji0gp0o5
type: array
items:
x-stoplight:
id: isppzqxf1r4c9
type: string
assignedToType:
title: assignedToType
x-stoplight:
id: b4ak99p50pp97
type: string
enum:
- user
- company
- role
fields:
title: fields
x-stoplight:
id: hf9u470q32dn5
type: string
enum:
- id
- displayId
- title
- description
- issueTypeId
- issueSubtypeId
- status
- assignedTo
- assignedToType
- dueDate
- startDate
- locationId
- locationDetails
- rootCauseTitle
- rootCauseId
- permittedStatuses
- permittedAttributes
- permittedActions
- published
- commentCount
- openedBy
- openedAt
- closedBy
- closedAt
- createdBy
- createdAt
- updatedBy
- updatedAt
- customAttributes
sortBy_internal:
title: sortBy_internal
x-stoplight:
id: jf3fxohnckp1q
type: array
items:
$ref: '#/components/schemas/sortBy'
Issue:
title: issue
type: object
x-stoplight:
id: cnf5o9uc9i6ul
properties:
id:
type: string
description: The unique identifier of the issue.
containerId:
type: string
description: Not relevant
deleted:
type: boolean
description: 'States whether the issue was deleted. Default value: false.'
deletedAt:
type: string
description: The date and time the issue was deleted, in ISO8601 format. This is only relevant for deleted issues.
deletedBy:
type: string
description: The Autodesk ID of the user who deleted the issue. This is only relevant for deleted issues.
displayId:
type: integer
description: The chronological user-friendly identifier of the issue.
title:
type: string
description: 'The description and purpose of the issue.
Max length: 10000'
description:
type: string
description: 'The description and purpose of the issue.
Max length: 10000'
snapshotUrn:
type: string
description: Not relevant
issueTypeId:
type: string
description: The unique identifier of the type of the issue.
issueSubtypeId:
type: string
description: The unique identifier of the subtype of the issue.
status:
type: string
assignedTo:
type: string
description: The Autodesk ID of the member, role, or company you want to assign to the issue. Note that if you select an assignee ID, you also need to select a type (assignedToType).
assignedToType:
type: string
description: 'The type of the current assignee of this issue. Possible values: user, company, role, null. Note that if you select a type, you also need to select the assignee ID (assignedTo).'
dueDate:
type: string
description: The due date of the issue, in ISO8601 format.
startDate:
type: string
description: The start date of the issue, in ISO8601 format.
locationId:
type: string
description: The unique LBS (Location Breakdown Structure) identifier that relates to the issue.
locationDetails:
type: string
description: 'The location as plain text that relates to the issue.
Max length: 8300'
linkedDocuments:
type: array
description: Information about the files associated with issues (pushpins).
items:
type: object
properties:
type:
type: string
description: 'The type of file. Possible values:
TwoDVectorPushpin (3D models) TwoDRasterPushpin (2D sheets and views)'
urn:
type: string
description: The ID of the file associated with the issue (pushpin). Note the we do not currently support data associated with the ACC Build Sheet tool.
createdBy:
type: string
description: The Autodesk ID of the user who created the pushpin issue.
createdAt:
type: string
description: The date and time the pushpin was created, in ISO8601 format.
createdAtVersion:
type: integer
description: The version of the file the pushin issue was added to. For information about file versions, see the Data Management API.
closedBy:
type: string
description: The Autodesk ID of the user who closed the pushpin issue.
closedAt:
type: string
description: The date and time the pushpin issue was closed, in ISO8601 format.
closedAtVersion:
type: integer
description: The version of the file when the pushpin issue was closed.
details:
type: object
description: Information about the individual viewable.
properties:
viewable:
type: object
description: The individual viewable associated with the issue (pushpin). This is relevant for both individual 2D sheets and views within a 3D model, and individual PDF sheets within a multi-sheet PDF file. It is only relevant if the issue is associated with a file.
properties:
id:
type: string
description: Not relevant
guid:
type: string
description: The ID of the viewable (guid).
viewableId:
type: string
description: Not relevant
name:
type: string
description: 'The name of the viewable.
Max length: 1000'
is3D:
type: boolean
description: True if it is a 3D viewable false if it is a 2D viewable
position:
type: object
description: The position of the pushpin in the viewable.
properties:
x:
type: number
description: The x-value of the position in the viewable.
format: double
y:
type: number
description: The y-value of the position in the viewable.
format: double
z:
type: number
description: The z-value of the position in the viewable.
format: double
objectId:
type: integer
description: The ID of the element the pushpin is associated with in the viewable.
externalId:
type: string
description: An external identifier of the element the pushpin is associated with in the viewable.
viewerState:
type: object
description: 'The viewer state at the time the pushpin was created. Maximum length: 2,500,000 characters. You can get the viewer state object by calling ViewerState.getState(). To restore the viewer instance use ViewerState.restoreState(). See the `Viewer API documentation https://developer.autodesk.com/en/docs/viewer/v2/reference/javascript/viewerstate/`_ for more details.'
links:
type: array
description: Not relevant
items:
type: object
ownerId:
type: string
description: Not relevant
rootCauseId:
type: string
description: The unique identifier of the type of root cause for the issue.
officialResponse:
type: object
description: Not relevant
issueTemplateId:
type: string
description: Not relevant
permittedStatuses:
type: array
description: 'A list of statuses accessible to the current user, this is based on the current status of the issue and the user permissions.
Possible Values: open, pending, in_review, closed.'
items:
type: string
permittedAttributes:
type: array
description: A list of attributes the current user can manipulate in the current context. issueTypeId, linkedDocument, links, ownerId, officialResponse, rootCauseId, snapshotUrn are not applicable.
items:
type: string
published:
type: boolean
description: 'States whether the issue is published. Default value: false (e.g. unpublished).'
permittedActions:
type: object
description: 'The list of actions permitted for the user for this issue in its current state.
Note that if a user with Create for my company permissions attempts to assign a user from a another company to the issue, it will return an error.
Possible Values: assign_all (can assign another user from another company to the issue), assign_same_company (can only assign another user from the same company to the issue), clear_assignee, delete, add_comment, add_attachment, remove_attachment.
The following values are not relevant: add_attachment, remove_attachment.'
commentCount:
type: integer
description: The number of comments in this issue.
attachmentCount:
type: integer
description: Not relevant
openedBy:
type: string
description: Not relevant
openedAt:
type: string
description: Not relevant
closedBy:
type: string
description: The unique identifier of the user who closed the issue.
closedAt:
# --- truncated at 32 KB (34 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/autodesk-bim360/refs/heads/main/openapi/autodesk-bim360-issues-api-openapi.yml