Autodesk · Capability

Autodesk ACC Account Admin API

The ACC Account Admin API automates the creation and management of projects, assignment and management of project users, and management of member and partner company directories within Autodesk Construction Cloud. It supports bulk operations for enterprise-scale administration.

Run with Naftiko AutodeskAPI

What You Can Do

GET
Getprojects — Autodesk List Projects
/construction/admin/v1/accounts/{accountId}/projects
POST
Createproject — Autodesk Create Project
/construction/admin/v1/accounts/{accountId}/projects
GET
Getproject — Autodesk Get Project
/construction/admin/v1/accounts/{accountId}/projects/{projectId}
PATCH
Updateproject — Autodesk Update Project
/construction/admin/v1/accounts/{accountId}/projects/{projectId}
GET
Getprojectusers — Autodesk List Project Users
/construction/admin/v1/accounts/{accountId}/projects/{projectId}/users
POST
Addprojectuser — Autodesk Add Project User
/construction/admin/v1/accounts/{accountId}/projects/{projectId}/users
PATCH
Updateprojectuser — Autodesk Update Project User
/construction/admin/v1/accounts/{accountId}/projects/{projectId}/users/{userId}
DELETE
Removeprojectuser — Autodesk Remove Project User
/construction/admin/v1/accounts/{accountId}/projects/{projectId}/users/{userId}
GET
Getaccountusers — Autodesk List Account Users
/construction/admin/v1/accounts/{accountId}/users
GET
Getcompanies — Autodesk List Companies
/construction/admin/v1/accounts/{accountId}/companies
POST
Createcompany — Autodesk Create Company
/construction/admin/v1/accounts/{accountId}/companies
GET
Getindustryroles — Autodesk List Industry Roles
/construction/admin/v1/projects/{projectId}/industryRoles

MCP Tools

getprojects

Autodesk List Projects

read-only idempotent
createproject

Autodesk Create Project

getproject

Autodesk Get Project

read-only idempotent
updateproject

Autodesk Update Project

getprojectusers

Autodesk List Project Users

read-only idempotent
addprojectuser

Autodesk Add Project User

updateprojectuser

Autodesk Update Project User

removeprojectuser

Autodesk Remove Project User

idempotent
getaccountusers

Autodesk List Account Users

read-only idempotent
getcompanies

Autodesk List Companies

read-only idempotent
createcompany

Autodesk Create Company

getindustryroles

Autodesk List Industry Roles

read-only idempotent

Capability Spec

autodesk-capability.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Autodesk ACC Account Admin API
  description: The ACC Account Admin API automates the creation and management of projects, assignment and management of project
    users, and management of member and partner company directories within Autodesk Construction Cloud. It supports bulk operations
    for enterprise-scale administration.
  tags:
  - Autodesk
  - API
  created: '2026-05-06'
  modified: '2026-05-06'
capability:
  consumes:
  - type: http
    namespace: autodesk
    baseUri: https://developer.api.autodesk.com
    description: Autodesk ACC Account Admin API HTTP API.
    authentication:
      type: bearer
      token: '{{AUTODESK_TOKEN}}'
    resources:
    - name: construction-admin-v1-accounts-accountid-project
      path: /construction/admin/v1/accounts/{accountId}/projects
      operations:
      - name: getprojects
        method: GET
        description: Autodesk List Projects
        inputParameters:
        - name: accountId
          in: path
          type: string
          required: true
        - name: filter[status]
          in: query
          type: string
        - name: filter[name]
          in: query
          type: string
        - name: filter[platform]
          in: query
          type: string
        - name: sort
          in: query
          type: string
          description: Sort field and direction (e.g., name asc, startDate desc).
        - name: limit
          in: query
          type: integer
        - name: offset
          in: query
          type: integer
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createproject
        method: POST
        description: Autodesk Create Project
        inputParameters:
        - name: accountId
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: construction-admin-v1-accounts-accountid-project
      path: /construction/admin/v1/accounts/{accountId}/projects/{projectId}
      operations:
      - name: getproject
        method: GET
        description: Autodesk Get Project
        inputParameters:
        - name: accountId
          in: path
          type: string
          required: true
        - name: projectId
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updateproject
        method: PATCH
        description: Autodesk Update Project
        inputParameters:
        - name: accountId
          in: path
          type: string
          required: true
        - name: projectId
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: construction-admin-v1-accounts-accountid-project
      path: /construction/admin/v1/accounts/{accountId}/projects/{projectId}/users
      operations:
      - name: getprojectusers
        method: GET
        description: Autodesk List Project Users
        inputParameters:
        - name: accountId
          in: path
          type: string
          required: true
        - name: projectId
          in: path
          type: string
          required: true
        - name: filter[email]
          in: query
          type: string
        - name: filter[name]
          in: query
          type: string
        - name: limit
          in: query
          type: integer
        - name: offset
          in: query
          type: integer
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: addprojectuser
        method: POST
        description: Autodesk Add Project User
        inputParameters:
        - name: accountId
          in: path
          type: string
          required: true
        - name: projectId
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: construction-admin-v1-accounts-accountid-project
      path: /construction/admin/v1/accounts/{accountId}/projects/{projectId}/users/{userId}
      operations:
      - name: updateprojectuser
        method: PATCH
        description: Autodesk Update Project User
        inputParameters:
        - name: accountId
          in: path
          type: string
          required: true
        - name: projectId
          in: path
          type: string
          required: true
        - name: userId
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: removeprojectuser
        method: DELETE
        description: Autodesk Remove Project User
        inputParameters:
        - name: accountId
          in: path
          type: string
          required: true
        - name: projectId
          in: path
          type: string
          required: true
        - name: userId
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: construction-admin-v1-accounts-accountid-users
      path: /construction/admin/v1/accounts/{accountId}/users
      operations:
      - name: getaccountusers
        method: GET
        description: Autodesk List Account Users
        inputParameters:
        - name: accountId
          in: path
          type: string
          required: true
        - name: filter[email]
          in: query
          type: string
        - name: filter[name]
          in: query
          type: string
        - name: filter[status]
          in: query
          type: string
        - name: limit
          in: query
          type: integer
        - name: offset
          in: query
          type: integer
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: construction-admin-v1-accounts-accountid-compani
      path: /construction/admin/v1/accounts/{accountId}/companies
      operations:
      - name: getcompanies
        method: GET
        description: Autodesk List Companies
        inputParameters:
        - name: accountId
          in: path
          type: string
          required: true
        - name: filter[name]
          in: query
          type: string
        - name: filter[trade]
          in: query
          type: string
        - name: limit
          in: query
          type: integer
        - name: offset
          in: query
          type: integer
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createcompany
        method: POST
        description: Autodesk Create Company
        inputParameters:
        - name: accountId
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: construction-admin-v1-projects-projectid-industr
      path: /construction/admin/v1/projects/{projectId}/industryRoles
      operations:
      - name: getindustryroles
        method: GET
        description: Autodesk List Industry Roles
        inputParameters:
        - name: projectId
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    port: 8080
    namespace: autodesk-rest
    description: REST adapter for Autodesk ACC Account Admin API.
    resources:
    - path: /construction/admin/v1/accounts/{accountId}/projects
      name: getprojects
      operations:
      - method: GET
        name: getprojects
        description: Autodesk List Projects
        call: autodesk.getprojects
        with:
          accountId: rest.accountId
        outputParameters:
        - type: object
          mapping: $.
    - path: /construction/admin/v1/accounts/{accountId}/projects
      name: createproject
      operations:
      - method: POST
        name: createproject
        description: Autodesk Create Project
        call: autodesk.createproject
        with:
          accountId: rest.accountId
        outputParameters:
        - type: object
          mapping: $.
    - path: /construction/admin/v1/accounts/{accountId}/projects/{projectId}
      name: getproject
      operations:
      - method: GET
        name: getproject
        description: Autodesk Get Project
        call: autodesk.getproject
        with:
          accountId: rest.accountId
          projectId: rest.projectId
        outputParameters:
        - type: object
          mapping: $.
    - path: /construction/admin/v1/accounts/{accountId}/projects/{projectId}
      name: updateproject
      operations:
      - method: PATCH
        name: updateproject
        description: Autodesk Update Project
        call: autodesk.updateproject
        with:
          accountId: rest.accountId
          projectId: rest.projectId
        outputParameters:
        - type: object
          mapping: $.
    - path: /construction/admin/v1/accounts/{accountId}/projects/{projectId}/users
      name: getprojectusers
      operations:
      - method: GET
        name: getprojectusers
        description: Autodesk List Project Users
        call: autodesk.getprojectusers
        with:
          accountId: rest.accountId
          projectId: rest.projectId
        outputParameters:
        - type: object
          mapping: $.
    - path: /construction/admin/v1/accounts/{accountId}/projects/{projectId}/users
      name: addprojectuser
      operations:
      - method: POST
        name: addprojectuser
        description: Autodesk Add Project User
        call: autodesk.addprojectuser
        with:
          accountId: rest.accountId
          projectId: rest.projectId
        outputParameters:
        - type: object
          mapping: $.
    - path: /construction/admin/v1/accounts/{accountId}/projects/{projectId}/users/{userId}
      name: updateprojectuser
      operations:
      - method: PATCH
        name: updateprojectuser
        description: Autodesk Update Project User
        call: autodesk.updateprojectuser
        with:
          accountId: rest.accountId
          projectId: rest.projectId
          userId: rest.userId
        outputParameters:
        - type: object
          mapping: $.
    - path: /construction/admin/v1/accounts/{accountId}/projects/{projectId}/users/{userId}
      name: removeprojectuser
      operations:
      - method: DELETE
        name: removeprojectuser
        description: Autodesk Remove Project User
        call: autodesk.removeprojectuser
        with:
          accountId: rest.accountId
          projectId: rest.projectId
          userId: rest.userId
        outputParameters:
        - type: object
          mapping: $.
    - path: /construction/admin/v1/accounts/{accountId}/users
      name: getaccountusers
      operations:
      - method: GET
        name: getaccountusers
        description: Autodesk List Account Users
        call: autodesk.getaccountusers
        with:
          accountId: rest.accountId
        outputParameters:
        - type: object
          mapping: $.
    - path: /construction/admin/v1/accounts/{accountId}/companies
      name: getcompanies
      operations:
      - method: GET
        name: getcompanies
        description: Autodesk List Companies
        call: autodesk.getcompanies
        with:
          accountId: rest.accountId
        outputParameters:
        - type: object
          mapping: $.
    - path: /construction/admin/v1/accounts/{accountId}/companies
      name: createcompany
      operations:
      - method: POST
        name: createcompany
        description: Autodesk Create Company
        call: autodesk.createcompany
        with:
          accountId: rest.accountId
        outputParameters:
        - type: object
          mapping: $.
    - path: /construction/admin/v1/projects/{projectId}/industryRoles
      name: getindustryroles
      operations:
      - method: GET
        name: getindustryroles
        description: Autodesk List Industry Roles
        call: autodesk.getindustryroles
        with:
          projectId: rest.projectId
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    port: 9090
    namespace: autodesk-mcp
    transport: http
    description: MCP adapter for Autodesk ACC Account Admin API for AI agent use.
    tools:
    - name: getprojects
      description: Autodesk List Projects
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: autodesk.getprojects
      with:
        accountId: tools.accountId
        filter[status]: tools.filter[status]
        filter[name]: tools.filter[name]
        filter[platform]: tools.filter[platform]
        sort: tools.sort
        limit: tools.limit
        offset: tools.offset
      inputParameters:
      - name: accountId
        type: string
        description: accountId
        required: true
      - name: filter[status]
        type: string
        description: filter[status]
      - name: filter[name]
        type: string
        description: filter[name]
      - name: filter[platform]
        type: string
        description: filter[platform]
      - name: sort
        type: string
        description: Sort field and direction (e.g., name asc, startDate desc).
      - name: limit
        type: integer
        description: limit
      - name: offset
        type: integer
        description: offset
      outputParameters:
      - type: object
        mapping: $.
    - name: createproject
      description: Autodesk Create Project
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: autodesk.createproject
      with:
        accountId: tools.accountId
      inputParameters:
      - name: accountId
        type: string
        description: accountId
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: getproject
      description: Autodesk Get Project
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: autodesk.getproject
      with:
        accountId: tools.accountId
        projectId: tools.projectId
      inputParameters:
      - name: accountId
        type: string
        description: accountId
        required: true
      - name: projectId
        type: string
        description: projectId
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: updateproject
      description: Autodesk Update Project
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: autodesk.updateproject
      with:
        accountId: tools.accountId
        projectId: tools.projectId
      inputParameters:
      - name: accountId
        type: string
        description: accountId
        required: true
      - name: projectId
        type: string
        description: projectId
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: getprojectusers
      description: Autodesk List Project Users
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: autodesk.getprojectusers
      with:
        accountId: tools.accountId
        projectId: tools.projectId
        filter[email]: tools.filter[email]
        filter[name]: tools.filter[name]
        limit: tools.limit
        offset: tools.offset
      inputParameters:
      - name: accountId
        type: string
        description: accountId
        required: true
      - name: projectId
        type: string
        description: projectId
        required: true
      - name: filter[email]
        type: string
        description: filter[email]
      - name: filter[name]
        type: string
        description: filter[name]
      - name: limit
        type: integer
        description: limit
      - name: offset
        type: integer
        description: offset
      outputParameters:
      - type: object
        mapping: $.
    - name: addprojectuser
      description: Autodesk Add Project User
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: autodesk.addprojectuser
      with:
        accountId: tools.accountId
        projectId: tools.projectId
      inputParameters:
      - name: accountId
        type: string
        description: accountId
        required: true
      - name: projectId
        type: string
        description: projectId
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: updateprojectuser
      description: Autodesk Update Project User
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: autodesk.updateprojectuser
      with:
        accountId: tools.accountId
        projectId: tools.projectId
        userId: tools.userId
      inputParameters:
      - name: accountId
        type: string
        description: accountId
        required: true
      - name: projectId
        type: string
        description: projectId
        required: true
      - name: userId
        type: string
        description: userId
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: removeprojectuser
      description: Autodesk Remove Project User
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: autodesk.removeprojectuser
      with:
        accountId: tools.accountId
        projectId: tools.projectId
        userId: tools.userId
      inputParameters:
      - name: accountId
        type: string
        description: accountId
        required: true
      - name: projectId
        type: string
        description: projectId
        required: true
      - name: userId
        type: string
        description: userId
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: getaccountusers
      description: Autodesk List Account Users
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: autodesk.getaccountusers
      with:
        accountId: tools.accountId
        filter[email]: tools.filter[email]
        filter[name]: tools.filter[name]
        filter[status]: tools.filter[status]
        limit: tools.limit
        offset: tools.offset
      inputParameters:
      - name: accountId
        type: string
        description: accountId
        required: true
      - name: filter[email]
        type: string
        description: filter[email]
      - name: filter[name]
        type: string
        description: filter[name]
      - name: filter[status]
        type: string
        description: filter[status]
      - name: limit
        type: integer
        description: limit
      - name: offset
        type: integer
        description: offset
      outputParameters:
      - type: object
        mapping: $.
    - name: getcompanies
      description: Autodesk List Companies
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: autodesk.getcompanies
      with:
        accountId: tools.accountId
        filter[name]: tools.filter[name]
        filter[trade]: tools.filter[trade]
        limit: tools.limit
        offset: tools.offset
      inputParameters:
      - name: accountId
        type: string
        description: accountId
        required: true
      - name: filter[name]
        type: string
        description: filter[name]
      - name: filter[trade]
        type: string
        description: filter[trade]
      - name: limit
        type: integer
        description: limit
      - name: offset
        type: integer
        description: offset
      outputParameters:
      - type: object
        mapping: $.
    - name: createcompany
      description: Autodesk Create Company
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: autodesk.createcompany
      with:
        accountId: tools.accountId
      inputParameters:
      - name: accountId
        type: string
        description: accountId
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: getindustryroles
      description: Autodesk List Industry Roles
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: autodesk.getindustryroles
      with:
        projectId: tools.projectId
      inputParameters:
      - name: projectId
        type: string
        description: projectId
        required: true
      outputParameters:
      - type: object
        mapping: $.
binds:
- namespace: env
  keys:
    AUTODESK_TOKEN: AUTODESK_TOKEN