openapi: 3.0.0
info:
title: Construction.Account.Admin Account Management Companies 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: Companies
paths:
/hq/v1/accounts/{account_id}/companies:
parameters:
- schema:
type: string
name: account_id
in: path
required: true
description: The account ID of the company. This corresponds to hub ID in the Data Management API. To convert a hub ID into an account ID you need to remove the “b.” prefix. For example, a hub ID of b.c8b0c73d-3ae9 translates to an account ID of c8b0c73d-3ae9.
get:
summary: Get all companies in an account
tags:
- Companies
responses:
'200':
description: The request has succeeded
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Company'
x-stoplight:
id: talz7czxqzv5p
'400':
description: The request could not be understood by the server due to malformed syntax.
'403':
description: Forbidden
'404':
description: Resource Not Found
'409':
description: The request could not be completed due to a conflict with the current state of the resource
'422':
description: The request was unable to be followed due to restrictions.
'500':
description: Internal Server Error
operationId: getCompanies
description: 'Query all the partner companies in a specific BIM 360 account.
Note that this endpoint is compatible with both BIM 360 and Autodesk Construction Cloud (ACC) projects.'
security:
- 2-legged: []
- 3-legged: []
- 3-legged-implicit: []
parameters:
- schema:
$ref: '#/components/schemas/Region'
in: header
name: Region
description: 'The geographic area where the data is stored. Acceptable values: US, EMEA, AUS, CAN, DEU, IND, JPN, GBR. By default, it is set to US.'
- schema:
type: integer
in: query
name: limit
description: 'Response array’s size Default value: 10 Max limit: 100'
- schema:
type: integer
in: query
name: offset
description: 'Offset of response array Default value: 0'
- schema:
type: string
in: query
name: sort
description: Comma-separated fields to sort by in ascending order Prepending a field with - sorts in descending order Invalid fields and whitespaces will be ignored
- schema:
type: string
in: query
name: field
description: Comma-separated fields to include in response id will always be returned Invalid fields will be ignored
post:
summary: Create a new partner company
tags:
- Companies
parameters:
- schema:
$ref: '#/components/schemas/Region'
in: header
name: Region
description: 'The geographic area where the data is stored. Acceptable values: US, EMEA, AUS, CAN, DEU, IND, JPN, GBR. By default, it is set to US.'
responses:
'201':
description: A new resource has been successfully created.
content:
application/json:
schema:
$ref: '#/components/schemas/Company'
'400':
description: The request could not be understood by the server due to malformed syntax.
'403':
description: Forbidden
'404':
description: Resource Not Found
'409':
description: The request could not be completed due to a conflict with the current state of the resource
'422':
description: The request was unable to be followed due to restrictions.
'500':
description: Internal Server Error
operationId: createCompany
description: 'Create a new partner company.
Note that this endpoint is compatible with both BIM 360 and Autodesk Construction Cloud (ACC) projects.'
security:
- 2-legged: []
- 3-legged: []
- 3-legged-implicit: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CompanyPayload'
/hq/v1/accounts/{account_id}/companies/import:
parameters:
- schema:
type: string
name: account_id
in: path
required: true
description: The account ID of the company. This corresponds to hub ID in the Data Management API. To convert a hub ID into an account ID you need to remove the “b.” prefix. For example, a hub ID of b.c8b0c73d-3ae9 translates to an account ID of c8b0c73d-3ae9.
post:
summary: Bulk import partner companies
tags:
- Companies
parameters:
- schema:
$ref: '#/components/schemas/Region'
in: header
name: Region
description: 'The geographic area where the data is stored. Acceptable values: US, EMEA, AUS, CAN, DEU, IND, JPN, GBR. By default, it is set to US.'
responses:
'201':
description: A new resource has been successfully created.
content:
application/json:
schema:
$ref: '#/components/schemas/CompanyImport'
'400':
description: The request could not be understood by the server due to malformed syntax.
'403':
description: Forbidden
'404':
description: Resource Not Found
'409':
description: The request could not be completed due to a conflict with the current state of the resource
'422':
description: The request was unable to be followed due to restrictions.
'500':
description: Internal Server Error
operationId: importCompanies
description: 'Bulk import partner companies to the company directory in a specific BIM 360 account. (50 companies maximum can be included in each call.)
Note that this endpoint is compatible with both BIM 360 and Autodesk Construction Cloud (ACC) projects.'
security:
- 2-legged: []
- 3-legged: []
- 3-legged-implicit: []
requestBody:
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CompanyPayload'
x-stoplight:
id: oo7x7y92yduxj
/hq/v1/accounts/{account_id}/companies/{company_id}:
parameters:
- schema:
type: string
name: company_id
in: path
required: true
description: Company ID
- schema:
type: string
name: account_id
in: path
required: true
description: The account ID of the company.
get:
summary: Get details of a company
tags:
- Companies
parameters:
- schema:
$ref: '#/components/schemas/Region'
in: header
name: Region
description: 'The geographic area where the data is stored. Acceptable values: US, EMEA, AUS, CAN, DEU, IND, JPN, GBR. By default, it is set to US.'
responses:
'200':
description: The request has succeeded
content:
application/json:
schema:
$ref: '#/components/schemas/Company'
'400':
description: The request could not be understood by the server due to malformed syntax.
'403':
description: Forbidden
'404':
description: Resource Not Found
'409':
description: The request could not be completed due to a conflict with the current state of the resource
'422':
description: The request was unable to be followed due to restrictions.
'500':
description: Internal Server Error
operationId: getCompany
description: Query the details of a specific partner company.
security:
- 2-legged: []
- 3-legged: []
- 3-legged-implicit: []
patch:
summary: Update the properties of company
operationId: patchCompanyDetails
tags:
- Companies
parameters:
- schema:
$ref: '#/components/schemas/Region'
in: header
name: Region
description: 'The geographic area where the data is stored. Acceptable values: US, EMEA, AUS, CAN, DEU, IND, JPN, GBR. By default, it is set to US.'
responses:
'200':
description: The request has succeeded
content:
application/json:
schema:
$ref: '#/components/schemas/Company'
'400':
description: The request could not be understood by the server due to malformed syntax.
'403':
description: Forbidden
'404':
description: Resource Not Found
'409':
description: The request could not be completed due to a conflict with the current state of the resource
'422':
description: The request was unable to be followed due to restrictions.
'500':
description: Internal Server Error
security:
- 2-legged: []
- 3-legged: []
- 3-legged-implicit: []
description: Update the properties of only the specified attributes of a specific partner company.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CompanyPatchPayload'
/hq/v1/accounts/{account_id}/companies/{company_id}/image:
parameters:
- schema:
type: string
name: company_id
in: path
required: true
description: Company ID
- schema:
type: string
name: account_id
in: path
required: true
description: The account ID of the company.
patch:
summary: Create or update a company’s image
operationId: patchCompanyImage
parameters:
- schema:
$ref: '#/components/schemas/Region'
in: header
name: Region
description: 'The geographic area where the data is stored. Acceptable values: US, EMEA, AUS, CAN, DEU, IND, JPN, GBR. By default, it is set to US.'
tags:
- Companies
responses:
'200':
description: The request has succeeded
content:
application/json:
schema:
$ref: '#/components/schemas/Company'
'400':
description: The request could not be understood by the server due to malformed syntax.
'403':
description: Forbidden
'404':
description: Resource Not Found
'409':
description: The request could not be completed due to a conflict with the current state of the resource
'422':
description: The request was unable to be followed due to restrictions.
'500':
description: Internal Server Error
security:
- 2-legged: []
- 3-legged: []
- 3-legged-implicit: []
description: Create or update a specific partner company’s image.
requestBody:
content:
application/x-www-form-urlencoded:
schema:
required:
- body
properties:
body:
type: string
description: The file to be uploaded as HTTP multipart (chunk) data. Supported MIME types are image/png, image/jpeg, image/jpg, image/bmp, and image/gif.
format: binary
/hq/v1/accounts/{account_id}/companies/search:
parameters:
- schema:
type: string
name: account_id
in: path
required: true
description: The account ID of the company.
get:
summary: Search companies in account by name
tags:
- Companies
responses:
'200':
description: The request has succeeded
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Company'
x-stoplight:
id: lcdrvybcvuy9t
'400':
description: The request could not be understood by the server due to malformed syntax.
'403':
description: Forbidden
'404':
description: Resource Not Found
'409':
description: The request could not be completed due to a conflict with the current state of the resource
'422':
description: The request was unable to be followed due to restrictions.
'500':
description: Internal Server Error
operationId: searchCompanies
description: 'Search partner companies in a specific BIM 360 account by name.
Note that this endpoint is compatible with both BIM 360 and Autodesk Construction Cloud (ACC) projects.'
security:
- 2-legged: []
- 3-legged: []
- 3-legged-implicit: []
parameters:
- schema:
$ref: '#/components/schemas/Region'
in: header
name: Region
description: 'The geographic area where the data is stored. Acceptable values: US, EMEA, AUS, CAN, DEU, IND, JPN, GBR. By default, it is set to US.'
- schema:
type: string
in: query
name: name
description: 'Company name to match Max length: 255'
- schema:
type: string
in: query
name: trade
description: 'Company trade to match Max length: 255'
- schema:
type: string
in: query
name: operator
description: 'Boolean operator to use: OR (default) or AND'
- schema:
type: boolean
in: query
name: partial
description: If true (default), perform a fuzzy match
- schema:
type: integer
in: query
name: limit
description: 'Response array’s size Default value: 10 Max limit: 100'
- schema:
type: integer
in: query
name: offset
description: 'Offset of response array Default value: 0'
- schema:
type: string
in: query
name: sort
description: Comma-separated fields to sort by in ascending order
- schema:
type: string
in: query
name: field
description: Comma-separated fields to include in response
/hq/v1/accounts/{account_id}/projects/{project_id}/companies:
parameters:
- schema:
type: string
name: account_id
in: path
required: true
description: The account ID of the company.
- schema:
type: string
name: project_id
in: path
required: true
description: 'The ID of the project. '
get:
summary: Get all companies in a project
tags:
- Companies
responses:
'200':
description: The request has succeeded
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ProjectCompanies'
x-stoplight:
id: lcdrvybcvuy9t
'400':
description: The request could not be understood by the server due to malformed syntax.
'403':
description: Forbidden
'404':
description: Resource Not Found
'409':
description: The request could not be completed due to a conflict with the current state of the resource
'422':
description: The request was unable to be followed due to restrictions.
'500':
description: Internal Server Error
operationId: getProjectCompanies
description: 'Query all the partner companies in a specific BIM 360 project.
Note that this endpoint is compatible with both BIM 360 and Autodesk Construction Cloud (ACC) projects.'
security:
- 2-legged: []
- 3-legged: []
- 3-legged-implicit: []
parameters:
- schema:
$ref: '#/components/schemas/Region'
in: header
name: Region
description: 'The geographic area where the data is stored. Acceptable values: US, EMEA, AUS, CAN, DEU, IND, JPN, GBR. By default, it is set to US.'
- schema:
type: integer
in: query
name: limit
description: 'Response array’s size Default value: 10 Max limit: 100'
- schema:
type: integer
in: query
name: offset
description: 'Offset of response array Default value: 0'
- schema:
type: string
in: query
name: sort
description: Comma-separated fields to sort by in ascending order
- schema:
type: string
in: query
name: field
description: Comma-separated fields to include in response
/construction/admin/v1/accounts/{accountId}/companies:
parameters:
- schema:
type: string
name: accountId
in: path
required: true
description: The ID of the ACC account that contains the project being created or the projects being retrieved. This corresponds to the hub ID in the Data Management API. To convert a hub ID into an account ID, remove the “b." prefix. For example, a hub ID of b.c8b0c73d-3ae9 translates to an account ID of c8b0c73d-3ae9.
get:
summary: Get account companies
tags:
- Companies
responses:
'200':
description: The list of requested companies.
content:
application/json:
schema:
$ref: '#/components/schemas/CompaniesPage'
'400':
description: The request could not be understood by the server due to malformed syntax.
'401':
description: Request has not been applied because it lacks valid authentication credentials for the target resource.
'403':
description: The server understood the request but refuses to authorize it.
'404':
description: The resource cannot be found.
'406':
description: The server cannot produce a response matching the list of acceptable values defined in the request.
'410':
description: Access to the target resource is no longer available.
'429':
description: User has sent too many requests in a given amount of time.
'500':
description: An unexpected error occurred on the server.
'503':
description: Server is not ready to handle the request.
operationId: getCompaniesWithPagination
x-stoplight:
id: hted2oapldhx4
description: "Returns a list of companies in an account.\r\n\r\nYou can also use this endpoint to filter out the list of companies by setting the filter parameters.\r\n\r\nNote that this endpoint is compatible with both BIM 360 and Autodesk Construction Cloud (ACC) projects."
parameters:
- schema:
$ref: '#/components/schemas/Region'
in: header
name: Region
description: 'Specifies the region where your request should be routed. If not set, the request is routed automatically, which may result in a slight increase in latency. Possible values: US, EMEA, AUS, CAN, DEU, IND, JPN, GBR. For a complete list of supported regions, see the Regions page.'
- schema:
type: string
in: header
name: User-Id
description: The ID of a user on whose behalf your request is acting. Your app has access to all users specified by the administrator in the SaaS integrations UI. Provide this header value to identify the user to be affected by the request. You can use either the user’s ACC ID (id), or their Autodesk ID (autodeskId). Note that this header is required for Account Admin POST, PATCH, and DELETE endpoints if you want to use a 2-legged authentication context. This header is optional for Account Admin GET endpoints.
- schema:
type: string
in: query
name: filter[name]
description: 'Filter companies by name. Can be a partial match based on the value of filterTextMatch provided. Max length: 255'
- schema:
type: string
in: query
name: filter[trade]
description: 'Filter companies by trade. Can be a partial match based on the value of filterTextMatch provided. Max length: 255'
- schema:
type: string
in: query
name: filter[erpId]
description: 'Filter companies by ERP Id. Can be a partial match based on the value of filterTextMatch provided. Max length: 255'
- schema:
type: string
in: query
name: filter[taxId]
description: 'Filter companies by tax Id. Can be a partial match based on the value of filterTextMatch provided. Max length: 255'
- schema:
type: string
in: query
name: filter[updatedAt]
description: 'Filter companies by updated at date range. The range must be specified with dates in an ISO-8601 format with time required. The start and end dates of the range should be separated by .. One of the dates in the range may be omitted. For example, to get everything on or before June 1, 2019 the range would be ..2019-06-01T23:59:59.999Z. To get everything after June 1, 2019 the range would be 2019-06-01T00:00:00.000Z... Max length: 100'
- schema:
$ref: '#/components/schemas/companyOrFilters_internal'
in: query
name: orFilters
description: List of filtered fields to apply an “or” operator. Valid list of fields are erpId, name, taxId, trade, updatedAt.
- schema:
$ref: '#/components/schemas/filterTextMatch'
in: query
name: filterTextMatch
description: 'Defines how text-based filters should match results. Possible values: contains (default) – Returns results where the text appears anywhere in the field. startsWith – Matches only if the field starts with the given value. endsWith – Matches only if the field ends with the given value. equals – Matches only if the field is an exact match.'
- schema:
$ref: '#/components/schemas/filterCompanySort_internal'
in: query
name: sort
description: The list of fields to sort by. When multiple fields are listed the later property is used to sort the resources where the previous fields have the same value. Each property can be followed by a direction modifier of either asc (ascending) or desc (descending). If no direction is specified then asc is assumed. Valid fields for sorting are name, trade, erpId, taxId, status, createdAt, updatedAt, projectSize and userSize. Default sort is name.
- schema:
$ref: '#/components/schemas/filterCompanyFields_internal'
in: query
name: fields
description: List of fields to return in the response. Defaults to all fields. Valid list of fields are accountId, name, trade, addresses, websiteUrl, description, erpId, taxId, imageUrl, status, createdAt, updatedAt, projectSize, userSize and originalName.
- schema:
type: integer
in: query
name: limit
description: 'The maximum number of records per request. Default: 20. Minimum: 1, Maximum: 200. If a value greater than 200 is provided, only 200 records are returned.'
- schema:
type: integer
in: query
name: offset
description: The record number to start returning results from, used for pagination. For example, if limit=20 and offset=20, the request retrieves the second page of results.
security:
- 2-legged: []
- 3-legged-implicit: []
- 3-legged: []
components:
schemas:
filterCompanySort:
title: filterCompanySort
x-stoplight:
id: 5yrds3d69hbdb
enum:
- name asc
- trade asc
- erpId asc
- taxId asc
- status asc
- createdAt asc
- updatedAt asc
- projectSize asc
- userSize asc
- name desc
- trade desc
- erpId desc
- taxId desc
- status desc
- createdAt desc
- updatedAt desc
- projectSize desc
- userSize desc
companyOrFilters:
title: companyOrFilters
x-stoplight:
id: f204luot495u0
enum:
- erpId
- name
- taxId
- trade
- updatedAt
filterCompanySort_internal:
title: filterCompanySort_internal
x-stoplight:
id: 6rvwix917rwby
type: array
items:
$ref: '#/components/schemas/filterCompanySort'
Company:
title: Company
x-stoplight:
id: a07ikbbdxen99
type: object
properties:
id:
type: string
description: Company ID
account_id:
type: string
x-stoplight:
id: p5xb64wnh4wmx
description: Account ID
name:
type: string
x-stoplight:
id: iet5cvhxxlpk0
description: Company name should be unique under an account
trade:
type: string
x-stoplight:
id: 1b2guw2drwxjr
description: Trade type based on specialization
address_line_1:
type: string
x-stoplight:
id: 12voppe6n4dem
description: Company address line 1
address_line_2:
type: string
x-stoplight:
id: ovz2wunnvpu7r
description: Company address line 2
city:
type: string
x-stoplight:
id: cxd0ahqxpo1en
description: City in which company is located
state_or_province:
type: string
x-stoplight:
id: 3z6lmdqunni69
description: State or province in which company is located
postal_code:
type: string
x-stoplight:
id: mrqr2ey51mfag
description: Postal code for the company location
country:
type: string
x-stoplight:
id: q8j06kajtg0v8
description: Country for this company
phone:
type: string
x-stoplight:
id: x5siwgk3npdvx
description: Business phone number for the company
website_url:
type: string
x-stoplight:
id: lubzf7q51z7o8
description: Company website
description:
type: string
x-stoplight:
id: i6e14q3h6b0sx
description: Short description or overview for company
erp_id:
type: string
x-stoplight:
id: jz2sci73ene74
description: Used to associate a company in BIM 360 with the company data in an ERP system
tax_id:
type: string
x-stoplight:
id: k6ponb7ozqs5j
description: Used to associate a company in BIM 360 with the company data from public and industry sources
CompaniesPage:
title: AccountCompaniesPage
x-stoplight:
id: wuh03fw48u7sk
type: object
properties:
pagination:
$ref: '#/components/schemas/Pagination'
results:
type: array
x-stoplight:
id: ivk9ommljka7z
items:
$ref: '#/components/schemas/AccountCompany'
AccountCompanyAddress:
title: AccountCompanyAddress
x-stoplight:
id: w83g4phsegjmc
type: object
properties:
type:
type: string
x-stoplight:
id: vta9ily9vtev0
addressLine1:
type: string
x-stoplight:
id: dibe53qdw3a5a
addressLine2:
type: string
x-stoplight:
id: 5cudpup7l7yoy
city:
type: string
x-stoplight:
id: awsdybgl6g2qh
stateOrProvince:
type: string
x-stoplight:
id: 98sc9ieedaak8
postalCode:
type: string
x-stoplight:
id: 1mz7lqqjcnvqo
country:
type: string
x-stoplight:
id: t9pw98u1logv2
phone:
type: string
x-stoplight:
id: m4r6utt1gzmnb
Region:
title: Region
x-stoplight:
id: 5rz8jxdpgo4zq
type: string
enum:
- US
- EMEA
- AUS
- CAN
- DEU
- IND
- JPN
- GBR
description: 'Specifies the region where your request should be routed. Possible values are:
- ``US`` - Data center for the US region.
- ``EMEA`` - Data center for the European Union, Middle East, and Africa regions.
- ``AUS`` - Data center for the Australia region.
- ``CAN`` - Data center for the Canada region.
- ``DEU`` - Data center for the Germany region.
- ``IND`` - Data center for the India region.
- ``JPN`` - Data center for the Japan region.
- ``GBR`` - Data center for the United Kingdom region.'
CompanyPayload:
title: CompanyPayload
x-stoplight:
id: z8zjhylvl5py0
type: object
properties:
name:
type: string
x-stoplight:
id: iet5cvhxxlpk0
description: Company name should be unique under an account
trade:
$ref: '#/components/schemas/trade'
x-stoplight:
id: 1b2guw2drwxjr
description: Trade type based on specialization
address_line_1:
type: string
x-stoplight:
id: 12voppe6n4dem
description: Company address line 1
address_line_2:
type: string
x-stoplight:
id: ovz2wunnvpu7r
description: Company address line 2
city:
type: string
x-stoplight:
id: cxd0ahqxpo1en
description: City in which company is located
state_or_province:
type: string
x-stoplight:
id: 3z6lmdqunni69
description: State or province in which company is located
postal_code:
type: string
x-stoplight:
id: mrqr2ey51mfag
description: Postal code for the company location
country:
type: string
x-stoplight:
id: q8j06kajtg0v8
description: Country for this company
phone:
type: string
x-stoplight:
id: x5siwgk3npdvx
description: Business phone number for the company
website_url:
type: string
x-stoplight:
id: lubzf7q51z7o8
description: Company website
description:
type: string
x-stoplight:
id: i6e14q3h6b0sx
description: Short description or overview for company
erp_id:
type: string
x-stoplight:
id: jz2sci73ene74
description: Used to associate a company in BIM 360 with the company data in an ERP system
tax_id:
type: string
x-stoplight:
id: k6ponb7ozqs5j
description: Used to associate a company in BIM 360 with the company data from public and industry sources
required:
- name
- trade
Pagination:
title: Pagination
x-stoplight:
id: q1bi13503pl18
type: object
properties:
limit:
type: integer
x-stoplight:
id: 8izi1f176ek68
offset:
type: integer
x-stoplight:
id: v1vdhhbk5vhtj
totalResults:
type: integer
x-stoplight:
id: o7y9s28pvovds
nextUrl:
type: string
x-stoplight:
id: egebyg74p2y51
previousUrl:
type: string
x-stoplight:
id: rhoc949ms1w0p
descr
# --- truncated at 32 KB (43 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/autodesk-fusion/refs/heads/main/openapi/autodesk-fusion-companies-api-openapi.yml