openapi: 3.1.0 info: title: Autodesk Construction Cloud Admin Companies Issues API description: The Autodesk Construction Cloud (ACC) Admin API provides programmatic management of ACC accounts, projects, users, and company settings. REST APIs enable automation of project provisioning, user access control, and account-level administration across ACC and BIM 360 deployments. version: 1.0.0 contact: name: Autodesk Platform Services url: https://aps.autodesk.com/en/docs/acc/v1/overview/ servers: - url: https://developer.api.autodesk.com description: Autodesk Platform Services API security: - oauth2ThreeLegged: [] - oauth2TwoLegged: [] tags: - name: Issues description: Construction issue management paths: /issues/v2/containers/{containerId}/issues: get: operationId: listIssues summary: List issues description: Retrieve all issues in the project with optional filtering by status, type, and assignee. tags: - Issues parameters: - name: containerId in: path required: true description: The ACC project container ID schema: type: string - name: filter[status] in: query description: Filter by issue status schema: type: string enum: - draft - open - pending - in_review - closed - name: filter[issueTypeId] in: query schema: type: string - name: filter[assignedToId] in: query schema: type: string - name: filter[dueDate] in: query description: Filter by due date (ISO 8601) schema: type: string format: date - name: limit in: query schema: type: integer default: 20 maximum: 200 - name: offset in: query schema: type: integer default: 0 responses: '200': description: List of issues content: application/json: schema: $ref: '#/components/schemas/IssuesResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' post: operationId: createIssue summary: Create a new issue description: Create a new construction issue, observation, or punch list item. tags: - Issues parameters: - name: containerId in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/IssueRequest' responses: '201': description: Issue created content: application/json: schema: $ref: '#/components/schemas/Issue' '400': $ref: '#/components/responses/BadRequest' /issues/v2/containers/{containerId}/issues/{issueId}: get: operationId: getIssue summary: Get issue by ID description: Retrieve full details for a specific issue including comments and attachments. tags: - Issues parameters: - name: containerId in: path required: true schema: type: string - name: issueId in: path required: true schema: type: string responses: '200': description: Issue details content: application/json: schema: $ref: '#/components/schemas/Issue' '404': $ref: '#/components/responses/NotFound' patch: operationId: updateIssue summary: Update issue description: Update issue status, assignment, due date, or other fields. tags: - Issues parameters: - name: containerId in: path required: true schema: type: string - name: issueId in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/IssueUpdateRequest' responses: '200': description: Issue updated content: application/json: schema: $ref: '#/components/schemas/Issue' components: responses: NotFound: description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' Forbidden: description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' Unauthorized: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' BadRequest: description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' schemas: IssueUpdateRequest: type: object properties: title: type: string description: type: string status: type: string enum: - draft - open - pending - in_review - closed dueDate: type: string format: date assignedToId: type: string rootCauseId: type: string IssueRequest: type: object required: - title - issueTypeId - issueSubtypeId properties: title: type: string description: type: string issueTypeId: type: string issueSubtypeId: type: string status: type: string enum: - draft - open default: open dueDate: type: string format: date assignedToId: type: string locationId: type: string locationDescription: type: string IssuesResponse: type: object properties: results: type: array items: $ref: '#/components/schemas/Issue' pagination: type: object properties: limit: type: integer offset: type: integer totalResults: type: integer Issue: type: object properties: id: type: string containerId: type: string displayId: type: integer description: Human-readable sequential issue number title: type: string description: type: string status: type: string enum: - draft - open - pending - in_review - closed issueTypeId: type: string issueSubtypeId: type: string dueDate: type: string format: date startDate: type: string format: date locationId: type: string locationDescription: type: string assignedToId: type: string assignedToType: type: string enum: - user - company createdBy: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time closedBy: type: string closedAt: type: string format: date-time linkedDocuments: type: array items: type: object properties: urn: type: string details: type: object rootCauseId: type: string commentCount: type: integer attachmentCount: type: integer Error: type: object properties: code: type: string message: type: string securitySchemes: oauth2ThreeLegged: type: oauth2 flows: authorizationCode: authorizationUrl: https://developer.api.autodesk.com/authentication/v2/authorize tokenUrl: https://developer.api.autodesk.com/authentication/v2/token scopes: account:read: Read account data account:write: Modify account data data:read: Read project data data:write: Write project data oauth2TwoLegged: type: oauth2 flows: clientCredentials: tokenUrl: https://developer.api.autodesk.com/authentication/v2/token scopes: account:read: Read account data data:read: Read project data