Autodesk Forge ARVR-Toolkit

Base URL: /, Version: 1.2.1

Autodesk Forge ARVR-Toolkit API definition

Default request content-types: application/json
Default response content-types: application/json
Schemes: https

Summary

Path Operation Description
/arkit/v1/health GET
/arkit/v1/{urn}/scenes GET
/arkit/v1/{urn}/scenes/{scene_id} DELETE
GET
PUT
/data/v1/projects/{project_id}/versions/{version_id}/scenes GET
/data/v1/projects/{project_id}/versions/{version_id}/scenes/{scene_id} DELETE
GET
PUT
/modelderivative/v2/arkit/job POST
/modelderivative/v2/arkit/{urn}/bubble GET
/modelderivative/v2/arkit/{urn}/gltf GET
/modelderivative/v2/arkit/{urn}/manifest GET
/modelderivative/v2/arkit/{urn}/material/{matId}/{mat} GET
/modelderivative/v2/arkit/{urn}/mesh/{dbId}/{fragId} GET
/modelderivative/v2/arkit/{urn}/properties/{dbIds} GET
/modelderivative/v2/arkit/{urn}/scenes/{scene_id} GET
/modelderivative/v2/arkit/{urn}/scenes/{scene_id}/mesh/{dbId}/{fragId} GET
/modelderivative/v2/arkit/{urn}/texture/{tex} GET
/modelderivative/v2/arkit/{urn}/unity GET

Security

oauth2_access_code

Type: oauth2
Flow:

accessCode

AuthorizationUrl:

https://developer.api.autodesk.com/authentication/v1/authorize

TokenUrl:

https://developer.api.autodesk.com/authentication/v1/gettoken

Scopes:
data:read: The application will be able to read all the end user’s data (viewable and non-viewable) within the Autodesk ecosystem.
data:write: The application will be able to create, update, and delete data on behalf of the end user within the Autodesk ecosystem.
data:create: The application will be able to create data on behalf of the end user within the Autodesk ecosystem.
data:search: The application will be able to search the end user’s data within the Autodesk ecosystem.
bucket:create: The application will be able to create an OSS bucket it will own.
bucket:read: The application will be able to read the metadata and list contents for OSS buckets that it has access to.
bucket:update: The application will be able to set permissions and entitlements for OSS buckets that it has permission to modify.
bucket:delete: The application will be able to delete a bucket that it has permission to delete.
code:all: The application will be able to author and execute code on behalf of the end user (e.g., scripts processed by the Design Automation API).
account:read: For Product APIs, the application will be able to read the account data the end user has entitlements to.
account:write: For Product APIs, the application will be able to update the account data the end user has entitlements to.
user-profile:read: The application will be able to read the end user’s profile data (not including associated products and services).
user:read: The application will be able to read the end user’s profile data, including associated products and services.
user:write: The application will be able to create, update, and delete the end user’s profile data, including associated products and services.
viewables:read: The application will only be able to read the end user’s viewable data (e.g., PNG and SVF files) within the Autodesk ecosystem.

oauth2_application

Type: oauth2
Flow:

application

TokenUrl:

https://developer.api.autodesk.com/authentication/v1/authenticate

Scopes:
data:read: The application will be able to read all the end user’s data (viewable and non-viewable) within the Autodesk ecosystem.
data:write: The application will be able to create, update, and delete data on behalf of the end user within the Autodesk ecosystem.
data:create: The application will be able to create data on behalf of the end user within the Autodesk ecosystem.
data:search: The application will be able to search the end user’s data within the Autodesk ecosystem.
bucket:create: The application will be able to create an OSS bucket it will own.
bucket:read: The application will be able to read the metadata and list contents for OSS buckets that it has access to.
bucket:update: The application will be able to set permissions and entitlements for OSS buckets that it has permission to modify.
bucket:delete: The application will be able to delete a bucket that it has permission to delete.
code:all: The application will be able to author and execute code on behalf of the end user (e.g., scripts processed by the Design Automation API).
account:read: For Product APIs, the application will be able to read the account data the end user has entitlements to.
account:write: For Product APIs, the application will be able to update the account data the end user has entitlements to.
user-profile:read: The application will be able to read the end user’s profile data (not including associated products and services).
user:read: The application will be able to read the end user’s profile data, including associated products and services.
user:write: The application will be able to create, update, and delete the end user’s profile data, including associated products and services.
viewables:read: The application will only be able to read the end user’s viewable data (e.g., PNG and SVF files) within the Autodesk ecosystem.

Paths

GET /arkit/v1/health

Tags: ARVR-Toolkit

Checks if the service is up and running and return you an answer. No Authorization required to call this endpoint, but it is rate limited to 60 calls per minute.

text/plain

200 OK #/responses/OK

OK, request successfully completed.

400 Bad Request #/responses/BAD_REQUEST

BAD REQUEST, The request could not be understood by the server due to malformed syntax or missing request headers. The client SHOULD NOT repeat the request without modifications. The response body may give an indication of what is wrong with the request.

500 Internal Server Error #/responses/INTERNAL_SERVER_ERROR

INTERNAL SERVER ERROR, Internal failure while processing the request, reason depends on error.

GET /arkit/v1/{urn}/scenes

Tags: ARVR-Toolkit

Returns the list of predefined scenes owned by the application.

urn

The design URN. The URN needs to be Base64 (URL Safe) encoded.

path string #/parameters/urn

Uses default content-types: application/json

200 OK #/responses/get_scenes_OK

OK, scene list successfully returned.

400 Bad Request #/responses/BAD_REQUEST

BAD REQUEST, The request could not be understood by the server due to malformed syntax or missing request headers. The client SHOULD NOT repeat the request without modifications. The response body may give an indication of what is wrong with the request.

401 Unauthorized #/responses/UNAUTHORIZED

UNAUTHORIZED, The supplied Authorization header was not valid or the supplied token scope was not acceptable. Verify Authentication and try again.

403 Forbidden #/responses/FORBIDDEN

FORBIDDEN, The Authorization was successfully validated but permission is not granted. Don’t try again unless you solve permissions first.

404 Not Found #/responses/NOT_FOUND

NOT FOUND, Resource not found.

422 Unprocessable Entity #/responses/UNPROCESSABLE_ENTITY

Unprocessable Entity - The syntax of the request entity is correct (thus a 400 (Bad Request) status code is inappropriate) but was unable to process the contained instructions.

500 Internal Server Error #/responses/INTERNAL_SERVER_ERROR

INTERNAL SERVER ERROR, Internal failure while processing the request, reason depends on error.

oauth2_application data:search , data:read

DELETE /arkit/v1/{urn}/scenes/{scene_id}

Tags: ARVR-Toolkit

Deletes the specified scene from the system.

urn

The design URN. The URN needs to be Base64 (URL Safe) encoded.

path string #/parameters/urn
scene_id

The URL encoded scene name

path string #/parameters/scene_id

Uses default content-types: application/json

200 OK #/responses/OK

OK, request successfully completed.

400 Bad Request #/responses/BAD_REQUEST

BAD REQUEST, The request could not be understood by the server due to malformed syntax or missing request headers. The client SHOULD NOT repeat the request without modifications. The response body may give an indication of what is wrong with the request.

401 Unauthorized #/responses/UNAUTHORIZED

UNAUTHORIZED, The supplied Authorization header was not valid or the supplied token scope was not acceptable. Verify Authentication and try again.

403 Forbidden #/responses/FORBIDDEN

FORBIDDEN, The Authorization was successfully validated but permission is not granted. Don’t try again unless you solve permissions first.

404 Not Found #/responses/NOT_FOUND

NOT FOUND, Resource not found.

422 Unprocessable Entity #/responses/UNPROCESSABLE_ENTITY

Unprocessable Entity - The syntax of the request entity is correct (thus a 400 (Bad Request) status code is inappropriate) but was unable to process the contained instructions.

500 Internal Server Error #/responses/INTERNAL_SERVER_ERROR

INTERNAL SERVER ERROR, Internal failure while processing the request, reason depends on error.

oauth2_application data:write

GET /arkit/v1/{urn}/scenes/{scene_id}

Tags: ARVR-Toolkit

Returns the predefined scene owned by the application.

urn

The design URN. The URN needs to be Base64 (URL Safe) encoded.

path string #/parameters/urn
scene_id

The URL encoded scene name

path string #/parameters/scene_id

Uses default content-types: application/json

200 OK #/responses/get_scene_OK

OK, scene successfully returned.

400 Bad Request #/responses/BAD_REQUEST

BAD REQUEST, The request could not be understood by the server due to malformed syntax or missing request headers. The client SHOULD NOT repeat the request without modifications. The response body may give an indication of what is wrong with the request.

401 Unauthorized #/responses/UNAUTHORIZED

UNAUTHORIZED, The supplied Authorization header was not valid or the supplied token scope was not acceptable. Verify Authentication and try again.

403 Forbidden #/responses/FORBIDDEN

FORBIDDEN, The Authorization was successfully validated but permission is not granted. Don’t try again unless you solve permissions first.

404 Not Found #/responses/NOT_FOUND

NOT FOUND, Resource not found.

422 Unprocessable Entity #/responses/UNPROCESSABLE_ENTITY

Unprocessable Entity - The syntax of the request entity is correct (thus a 400 (Bad Request) status code is inappropriate) but was unable to process the contained instructions.

500 Internal Server Error #/responses/INTERNAL_SERVER_ERROR

INTERNAL SERVER ERROR, Internal failure while processing the request, reason depends on error.

oauth2_application data:read

PUT /arkit/v1/{urn}/scenes/{scene_id}

Tags: ARVR-Toolkit

Creates a predefined scene. A scene definition describes what objects from the design model are part of the scene to build. You can filter in or out objects from the instance tree to create dedicated AR|VR experiences.

urn

The design URN. The URN needs to be Base64 (URL Safe) encoded.

path string #/parameters/urn
scene_id

The URL encoded scene name

path string #/parameters/scene_id
put_scene

Body Structure

body object #/parameters/put_scene

Uses default content-types: application/json

200 OK #/responses/put_scene_OK

OK, scene successfully created.

400 Bad Request #/responses/BAD_REQUEST

BAD REQUEST, The request could not be understood by the server due to malformed syntax or missing request headers. The client SHOULD NOT repeat the request without modifications. The response body may give an indication of what is wrong with the request.

401 Unauthorized #/responses/UNAUTHORIZED

UNAUTHORIZED, The supplied Authorization header was not valid or the supplied token scope was not acceptable. Verify Authentication and try again.

403 Forbidden #/responses/FORBIDDEN

FORBIDDEN, The Authorization was successfully validated but permission is not granted. Don’t try again unless you solve permissions first.

422 Unprocessable Entity #/responses/UNPROCESSABLE_ENTITY

Unprocessable Entity - The syntax of the request entity is correct (thus a 400 (Bad Request) status code is inappropriate) but was unable to process the contained instructions.

500 Internal Server Error #/responses/INTERNAL_SERVER_ERROR

INTERNAL SERVER ERROR, Internal failure while processing the request, reason depends on error.

oauth2_application data:create , data:write

GET /data/v1/projects/{project_id}/versions/{version_id}/scenes

Tags: ARVR-Toolkit

returns the list of predefined scenes related to the specified version of the project resource.

project_id

The unique identifier of a project (URL encoded)

path string #/parameters/project_id
version_id

The unique identifier of a version (URL encoded)

path string #/parameters/version_id

Uses default content-types: application/json

200 OK #/responses/get_scenes_OK

OK, scene list successfully returned.

400 Bad Request #/responses/BAD_REQUEST

BAD REQUEST, The request could not be understood by the server due to malformed syntax or missing request headers. The client SHOULD NOT repeat the request without modifications. The response body may give an indication of what is wrong with the request.

401 Unauthorized #/responses/UNAUTHORIZED

UNAUTHORIZED, The supplied Authorization header was not valid or the supplied token scope was not acceptable. Verify Authentication and try again.

403 Forbidden #/responses/FORBIDDEN

FORBIDDEN, The Authorization was successfully validated but permission is not granted. Don’t try again unless you solve permissions first.

404 Not Found #/responses/NOT_FOUND

NOT FOUND, Resource not found.

422 Unprocessable Entity #/responses/UNPROCESSABLE_ENTITY

Unprocessable Entity - The syntax of the request entity is correct (thus a 400 (Bad Request) status code is inappropriate) but was unable to process the contained instructions.

500 Internal Server Error #/responses/INTERNAL_SERVER_ERROR

INTERNAL SERVER ERROR, Internal failure while processing the request, reason depends on error.

oauth2_access_code data:search , data:read

DELETE /data/v1/projects/{project_id}/versions/{version_id}/scenes/{scene_id}

Tags: ARVR-Toolkit

Deletes the specified scene from the system.

project_id

The unique identifier of a project (URL encoded)

path string #/parameters/project_id
version_id

The unique identifier of a version (URL encoded)

path string #/parameters/version_id
scene_id

The URL encoded scene name

path string #/parameters/scene_id

Uses default content-types: application/json

200 OK #/responses/OK

OK, request successfully completed.

400 Bad Request #/responses/BAD_REQUEST

BAD REQUEST, The request could not be understood by the server due to malformed syntax or missing request headers. The client SHOULD NOT repeat the request without modifications. The response body may give an indication of what is wrong with the request.

401 Unauthorized #/responses/UNAUTHORIZED

UNAUTHORIZED, The supplied Authorization header was not valid or the supplied token scope was not acceptable. Verify Authentication and try again.

403 Forbidden #/responses/FORBIDDEN

FORBIDDEN, The Authorization was successfully validated but permission is not granted. Don’t try again unless you solve permissions first.

404 Not Found #/responses/NOT_FOUND

NOT FOUND, Resource not found.

422 Unprocessable Entity #/responses/UNPROCESSABLE_ENTITY

Unprocessable Entity - The syntax of the request entity is correct (thus a 400 (Bad Request) status code is inappropriate) but was unable to process the contained instructions.

500 Internal Server Error #/responses/INTERNAL_SERVER_ERROR

INTERNAL SERVER ERROR, Internal failure while processing the request, reason depends on error.

oauth2_access_code data:write

GET /data/v1/projects/{project_id}/versions/{version_id}/scenes/{scene_id}

Tags: ARVR-Toolkit

Returns the predefined scene owned by the specified version of the project resource.

project_id

The unique identifier of a project (URL encoded)

path string #/parameters/project_id
version_id

The unique identifier of a version (URL encoded)

path string #/parameters/version_id
scene_id

The URL encoded scene name

path string #/parameters/scene_id

Uses default content-types: application/json

200 OK #/responses/get_scene_OK

OK, scene successfully returned.

400 Bad Request #/responses/BAD_REQUEST

BAD REQUEST, The request could not be understood by the server due to malformed syntax or missing request headers. The client SHOULD NOT repeat the request without modifications. The response body may give an indication of what is wrong with the request.

401 Unauthorized #/responses/UNAUTHORIZED

UNAUTHORIZED, The supplied Authorization header was not valid or the supplied token scope was not acceptable. Verify Authentication and try again.

403 Forbidden #/responses/FORBIDDEN

FORBIDDEN, The Authorization was successfully validated but permission is not granted. Don’t try again unless you solve permissions first.

404 Not Found #/responses/NOT_FOUND

NOT FOUND, Resource not found.

422 Unprocessable Entity #/responses/UNPROCESSABLE_ENTITY

Unprocessable Entity - The syntax of the request entity is correct (thus a 400 (Bad Request) status code is inappropriate) but was unable to process the contained instructions.

500 Internal Server Error #/responses/INTERNAL_SERVER_ERROR

INTERNAL SERVER ERROR, Internal failure while processing the request, reason depends on error.

oauth2_access_code data:read

PUT /data/v1/projects/{project_id}/versions/{version_id}/scenes/{scene_id}

Tags: ARVR-Toolkit

Creates a predefined scene. A scene definition describes what objects from the design model are part of the scene to build. You can filter in or out objects from the instance tree to create dedicated AR|VR experiences.

project_id

The unique identifier of a project (URL encoded)

path string #/parameters/project_id
version_id

The unique identifier of a version (URL encoded)

path string #/parameters/version_id
scene_id

The URL encoded scene name

path string #/parameters/scene_id
put_scene

Body Structure

body object #/parameters/put_scene

Uses default content-types: application/json

200 OK #/responses/put_scene_OK

OK, scene successfully created.

400 Bad Request #/responses/BAD_REQUEST

BAD REQUEST, The request could not be understood by the server due to malformed syntax or missing request headers. The client SHOULD NOT repeat the request without modifications. The response body may give an indication of what is wrong with the request.

401 Unauthorized #/responses/UNAUTHORIZED

UNAUTHORIZED, The supplied Authorization header was not valid or the supplied token scope was not acceptable. Verify Authentication and try again.

403 Forbidden #/responses/FORBIDDEN

FORBIDDEN, The Authorization was successfully validated but permission is not granted. Don’t try again unless you solve permissions first.

422 Unprocessable Entity #/responses/UNPROCESSABLE_ENTITY

Unprocessable Entity - The syntax of the request entity is correct (thus a 400 (Bad Request) status code is inappropriate) but was unable to process the contained instructions.

500 Internal Server Error #/responses/INTERNAL_SERVER_ERROR

INTERNAL SERVER ERROR, Internal failure while processing the request, reason depends on error.

oauth2_access_code data:create , data:write

POST /modelderivative/v2/arkit/job

Tags: ARVR-Toolkit

Creates the scene assets. This endpoint launches a worker which pre-process the design model objects to be suitable for an AR|VR experience.

post_job

Body Structure

body object #/parameters/post_job
x-ads-version

Tell the server to return a different version for the JSON response (value can be: 1 or 2)

header integer (int32) , x ∈ { 1 , 2 } #/parameters/x-ads-version

Uses default content-types: application/json

200 OK #/responses/OK

OK, request successfully completed.

201 Created #/responses/ACCEPTED

ACCEPTED, Server acknowledges receiving data segment.

400 Bad Request #/responses/BAD_REQUEST

BAD REQUEST, The request could not be understood by the server due to malformed syntax or missing request headers. The client SHOULD NOT repeat the request without modifications. The response body may give an indication of what is wrong with the request.

401 Unauthorized #/responses/UNAUTHORIZED

UNAUTHORIZED, The supplied Authorization header was not valid or the supplied token scope was not acceptable. Verify Authentication and try again.

403 Forbidden #/responses/FORBIDDEN

FORBIDDEN, The Authorization was successfully validated but permission is not granted. Don’t try again unless you solve permissions first.

404 Not Found #/responses/NOT_FOUND

NOT FOUND, Resource not found.

406 Not Acceptable #/responses/NOT_ACCEPTABLE

The request is not acceptable. E.g., the output type is not supported.

409 Conflict #/responses/CONFLICT

CONFLICT, The specified bucket key already exists.

422 Unprocessable Entity #/responses/UNPROCESSABLE_ENTITY

Unprocessable Entity - The syntax of the request entity is correct (thus a 400 (Bad Request) status code is inappropriate) but was unable to process the contained instructions.

429 Too Many Requests #/responses/TOO_MANY_REQUEST

Rate limit exceeded (100 requests per minute); wait some time before retrying.

500 Internal Server Error #/responses/INTERNAL_SERVER_ERROR

INTERNAL SERVER ERROR, Internal failure while processing the request, reason depends on error.

oauth2_application data:create , data:write
oauth2_access_code data:create , data:write

GET /modelderivative/v2/arkit/{urn}/bubble

Tags: ARVR-Toolkit

Returns the zipped design SVF/Bubble.

urn

The design URN. The URN needs to be Base64 (URL Safe) encoded.

path string #/parameters/urn

application/octet-stream

200 OK #/responses/OK

OK, request successfully completed.

400 Bad Request #/responses/BAD_REQUEST

BAD REQUEST, The request could not be understood by the server due to malformed syntax or missing request headers. The client SHOULD NOT repeat the request without modifications. The response body may give an indication of what is wrong with the request.

401 Unauthorized #/responses/UNAUTHORIZED

UNAUTHORIZED, The supplied Authorization header was not valid or the supplied token scope was not acceptable. Verify Authentication and try again.

403 Forbidden #/responses/FORBIDDEN

FORBIDDEN, The Authorization was successfully validated but permission is not granted. Don’t try again unless you solve permissions first.

404 Not Found #/responses/NOT_FOUND

NOT FOUND, Resource not found.

422 Unprocessable Entity #/responses/UNPROCESSABLE_ENTITY

Unprocessable Entity - The syntax of the request entity is correct (thus a 400 (Bad Request) status code is inappropriate) but was unable to process the contained instructions.

500 Internal Server Error #/responses/INTERNAL_SERVER_ERROR

INTERNAL SERVER ERROR, Internal failure while processing the request, reason depends on error.

oauth2_application data:read
oauth2_access_code data:read

GET /modelderivative/v2/arkit/{urn}/gltf

Tags: ARVR-Toolkit

Returns the glTF asset package/code.

urn

The design URN. The URN needs to be Base64 (URL Safe) encoded.

path string #/parameters/urn
Accept-Encoding

When gzip is specified, a gzip compressed stream of the object’s bytes will be returned in the response. Cannot use “Accept-Encoding: gzip” with Range header containing an end byte range. End byte range will not be honored if “Accept-Encoding: gzip” header is used.

header string #/parameters/Accept-Encoding

application/octet-stream

200 OK #/responses/OK

OK, request successfully completed.

400 Bad Request #/responses/BAD_REQUEST

BAD REQUEST, The request could not be understood by the server due to malformed syntax or missing request headers. The client SHOULD NOT repeat the request without modifications. The response body may give an indication of what is wrong with the request.

401 Unauthorized #/responses/UNAUTHORIZED

UNAUTHORIZED, The supplied Authorization header was not valid or the supplied token scope was not acceptable. Verify Authentication and try again.

403 Forbidden #/responses/FORBIDDEN

FORBIDDEN, The Authorization was successfully validated but permission is not granted. Don’t try again unless you solve permissions first.

404 Not Found #/responses/NOT_FOUND

NOT FOUND, Resource not found.

422 Unprocessable Entity #/responses/UNPROCESSABLE_ENTITY

Unprocessable Entity - The syntax of the request entity is correct (thus a 400 (Bad Request) status code is inappropriate) but was unable to process the contained instructions.

500 Internal Server Error #/responses/INTERNAL_SERVER_ERROR

INTERNAL SERVER ERROR, Internal failure while processing the request, reason depends on error.

oauth2_application data:read
oauth2_access_code data:read

GET /modelderivative/v2/arkit/{urn}/manifest

Tags: ARVR-Toolkit

Returns information about views and scenes of a specific derivative, including statuses.

urn

The design URN. The URN needs to be Base64 (URL Safe) encoded.

path string #/parameters/urn
x-ads-version

Tell the server to return a different version for the JSON response (value can be: 1 or 2)

header integer (int32) , x ∈ { 1 , 2 } #/parameters/x-ads-version

Uses default content-types: application/json

200 OK #/responses/assets_manifest_OK

Success. Returns information about the derivative AR scenes and statuses.

400 Bad Request #/responses/BAD_REQUEST

BAD REQUEST, The request could not be understood by the server due to malformed syntax or missing request headers. The client SHOULD NOT repeat the request without modifications. The response body may give an indication of what is wrong with the request.

401 Unauthorized #/responses/UNAUTHORIZED

UNAUTHORIZED, The supplied Authorization header was not valid or the supplied token scope was not acceptable. Verify Authentication and try again.

403 Forbidden #/responses/FORBIDDEN

FORBIDDEN, The Authorization was successfully validated but permission is not granted. Don’t try again unless you solve permissions first.

404 Not Found #/responses/NOT_FOUND

NOT FOUND, Resource not found.

422 Unprocessable Entity #/responses/UNPROCESSABLE_ENTITY

Unprocessable Entity - The syntax of the request entity is correct (thus a 400 (Bad Request) status code is inappropriate) but was unable to process the contained instructions.

500 Internal Server Error #/responses/INTERNAL_SERVER_ERROR

INTERNAL SERVER ERROR, Internal failure while processing the request, reason depends on error.

oauth2_application data:read
oauth2_access_code data:read

GET /modelderivative/v2/arkit/{urn}/material/{matId}/{mat}

Tags: ARVR-Toolkit

Returns an asset mesh fragment material definition.

urn

The design URN. The URN needs to be Base64 (URL Safe) encoded.

path string #/parameters/urn
matId

The mesh frament material ID

path integer (int64) #/parameters/matId
mat

The mesh frament material ID

path string , x ∈ { mat (default) , protein } #/parameters/mat
Accept-Encoding

When gzip is specified, a gzip compressed stream of the object’s bytes will be returned in the response. Cannot use “Accept-Encoding: gzip” with Range header containing an end byte range. End byte range will not be honored if “Accept-Encoding: gzip” header is used.

header string #/parameters/Accept-Encoding

application/octet-stream

200 OK #/responses/OK

OK, request successfully completed.

400 Bad Request #/responses/BAD_REQUEST

BAD REQUEST, The request could not be understood by the server due to malformed syntax or missing request headers. The client SHOULD NOT repeat the request without modifications. The response body may give an indication of what is wrong with the request.

401 Unauthorized #/responses/UNAUTHORIZED

UNAUTHORIZED, The supplied Authorization header was not valid or the supplied token scope was not acceptable. Verify Authentication and try again.

403 Forbidden #/responses/FORBIDDEN

FORBIDDEN, The Authorization was successfully validated but permission is not granted. Don’t try again unless you solve permissions first.

404 Not Found #/responses/NOT_FOUND

NOT FOUND, Resource not found.

422 Unprocessable Entity #/responses/UNPROCESSABLE_ENTITY

Unprocessable Entity - The syntax of the request entity is correct (thus a 400 (Bad Request) status code is inappropriate) but was unable to process the contained instructions.

500 Internal Server Error #/responses/INTERNAL_SERVER_ERROR

INTERNAL SERVER ERROR, Internal failure while processing the request, reason depends on error.

oauth2_application data:read
oauth2_access_code data:read

GET /modelderivative/v2/arkit/{urn}/mesh/{dbId}/{fragId}

Tags: ARVR-Toolkit

Returns an asset mesh fragment.

urn

The design URN. The URN needs to be Base64 (URL Safe) encoded.

path string #/parameters/urn
dbId

The mesh DB ID

path integer (int64) #/parameters/dbId
fragId

The mesh fragment ID

path integer (int64) #/parameters/fragId
x-ads-device

Build this asset to fit on the device for that scene

header string #/parameters/x-ads-device
x-ads-format

Return this asset in the requested mesh format

header string , x ∈ { legacy (default) , openctm } #/parameters/x-ads-format
Accept-Encoding

When gzip is specified, a gzip compressed stream of the object’s bytes will be returned in the response. Cannot use “Accept-Encoding: gzip” with Range header containing an end byte range. End byte range will not be honored if “Accept-Encoding: gzip” header is used.

header string #/parameters/Accept-Encoding

application/octet-stream

200 OK #/responses/OK

OK, request successfully completed.

400 Bad Request #/responses/BAD_REQUEST

BAD REQUEST, The request could not be understood by the server due to malformed syntax or missing request headers. The client SHOULD NOT repeat the request without modifications. The response body may give an indication of what is wrong with the request.

401 Unauthorized #/responses/UNAUTHORIZED

UNAUTHORIZED, The supplied Authorization header was not valid or the supplied token scope was not acceptable. Verify Authentication and try again.

403 Forbidden #/responses/FORBIDDEN

FORBIDDEN, The Authorization was successfully validated but permission is not granted. Don’t try again unless you solve permissions first.

404 Not Found #/responses/NOT_FOUND

NOT FOUND, Resource not found.

422 Unprocessable Entity #/responses/UNPROCESSABLE_ENTITY

Unprocessable Entity - The syntax of the request entity is correct (thus a 400 (Bad Request) status code is inappropriate) but was unable to process the contained instructions.

500 Internal Server Error #/responses/INTERNAL_SERVER_ERROR

INTERNAL SERVER ERROR, Internal failure while processing the request, reason depends on error.

oauth2_application data:read
oauth2_access_code data:read

GET /modelderivative/v2/arkit/{urn}/properties/{dbIds}

Tags: ARVR-Toolkit

Returns an array of properties for all object listed on the URL. An example could be /45 for one object, or /45,46,47 for 3 objects.

urn

The design URN. The URN needs to be Base64 (URL Safe) encoded.

path string #/parameters/urn
dbIds

The meshes DB ID

path integer[] , comma separated (dbIds=aaa,bbb) #/parameters/dbIds
Accept-Encoding

When gzip is specified, a gzip compressed stream of the object’s bytes will be returned in the response. Cannot use “Accept-Encoding: gzip” with Range header containing an end byte range. End byte range will not be honored if “Accept-Encoding: gzip” header is used.

header string #/parameters/Accept-Encoding

Uses default content-types: application/json

200 OK #/responses/OK

OK, request successfully completed.

400 Bad Request #/responses/BAD_REQUEST

BAD REQUEST, The request could not be understood by the server due to malformed syntax or missing request headers. The client SHOULD NOT repeat the request without modifications. The response body may give an indication of what is wrong with the request.

401 Unauthorized #/responses/UNAUTHORIZED

UNAUTHORIZED, The supplied Authorization header was not valid or the supplied token scope was not acceptable. Verify Authentication and try again.

403 Forbidden #/responses/FORBIDDEN

FORBIDDEN, The Authorization was successfully validated but permission is not granted. Don’t try again unless you solve permissions first.

404 Not Found #/responses/NOT_FOUND

NOT FOUND, Resource not found.

422 Unprocessable Entity #/responses/UNPROCESSABLE_ENTITY

Unprocessable Entity - The syntax of the request entity is correct (thus a 400 (Bad Request) status code is inappropriate) but was unable to process the contained instructions.

500 Internal Server Error #/responses/INTERNAL_SERVER_ERROR

INTERNAL SERVER ERROR, Internal failure while processing the request, reason depends on error.

oauth2_application data:read
oauth2_access_code data:read

GET /modelderivative/v2/arkit/{urn}/scenes/{scene_id}

Tags: ARVR-Toolkit

Returns the scene instance tree. The Instance Tree describes how the objects interconnects into the design model.

urn

The design URN. The URN needs to be Base64 (URL Safe) encoded.

path string #/parameters/urn
scene_id

The URL encoded scene name

path string #/parameters/scene_id
Accept-Encoding

When gzip is specified, a gzip compressed stream of the object’s bytes will be returned in the response. Cannot use “Accept-Encoding: gzip” with Range header containing an end byte range. End byte range will not be honored if “Accept-Encoding: gzip” header is used.

header string #/parameters/Accept-Encoding

Uses default content-types: application/json

200 OK #/responses/OK

OK, request successfully completed.

400 Bad Request #/responses/BAD_REQUEST

BAD REQUEST, The request could not be understood by the server due to malformed syntax or missing request headers. The client SHOULD NOT repeat the request without modifications. The response body may give an indication of what is wrong with the request.

401 Unauthorized #/responses/UNAUTHORIZED

UNAUTHORIZED, The supplied Authorization header was not valid or the supplied token scope was not acceptable. Verify Authentication and try again.

403 Forbidden #/responses/FORBIDDEN

FORBIDDEN, The Authorization was successfully validated but permission is not granted. Don’t try again unless you solve permissions first.

404 Not Found #/responses/NOT_FOUND

NOT FOUND, Resource not found.

422 Unprocessable Entity #/responses/UNPROCESSABLE_ENTITY

Unprocessable Entity - The syntax of the request entity is correct (thus a 400 (Bad Request) status code is inappropriate) but was unable to process the contained instructions.

500 Internal Server Error #/responses/INTERNAL_SERVER_ERROR

INTERNAL SERVER ERROR, Internal failure while processing the request, reason depends on error.

oauth2_application data:read
oauth2_access_code data:read

GET /modelderivative/v2/arkit/{urn}/scenes/{scene_id}/mesh/{dbId}/{fragId}

Tags: ARVR-Toolkit

Returns an asset mesh fragment.

urn

The design URN. The URN needs to be Base64 (URL Safe) encoded.

path string #/parameters/urn
scene_id

The URL encoded scene name

path string #/parameters/scene_id
dbId

The mesh DB ID

path integer (int64) #/parameters/dbId
fragId

The mesh fragment ID

path integer (int64) #/parameters/fragId
x-ads-device

Build this asset to fit on the device for that scene

header string #/parameters/x-ads-device
x-ads-format

Return this asset in the requested mesh format

header string , x ∈ { legacy (default) , openctm } #/parameters/x-ads-format
Accept-Encoding

When gzip is specified, a gzip compressed stream of the object’s bytes will be returned in the response. Cannot use “Accept-Encoding: gzip” with Range header containing an end byte range. End byte range will not be honored if “Accept-Encoding: gzip” header is used.

header string #/parameters/Accept-Encoding

application/octet-stream

200 OK #/responses/OK

OK, request successfully completed.

400 Bad Request #/responses/BAD_REQUEST

BAD REQUEST, The request could not be understood by the server due to malformed syntax or missing request headers. The client SHOULD NOT repeat the request without modifications. The response body may give an indication of what is wrong with the request.

401 Unauthorized #/responses/UNAUTHORIZED

UNAUTHORIZED, The supplied Authorization header was not valid or the supplied token scope was not acceptable. Verify Authentication and try again.

403 Forbidden #/responses/FORBIDDEN

FORBIDDEN, The Authorization was successfully validated but permission is not granted. Don’t try again unless you solve permissions first.

404 Not Found #/responses/NOT_FOUND

NOT FOUND, Resource not found.

422 Unprocessable Entity #/responses/UNPROCESSABLE_ENTITY

Unprocessable Entity - The syntax of the request entity is correct (thus a 400 (Bad Request) status code is inappropriate) but was unable to process the contained instructions.

500 Internal Server Error #/responses/INTERNAL_SERVER_ERROR

INTERNAL SERVER ERROR, Internal failure while processing the request, reason depends on error.

oauth2_application data:read
oauth2_access_code data:read

GET /modelderivative/v2/arkit/{urn}/texture/{tex}

Tags: ARVR-Toolkit

Returns an asset mesh fragment texture.

urn

The design URN. The URN needs to be Base64 (URL Safe) encoded.

path string #/parameters/urn
tex

The mesh frament text filename (URL encoded)

path string #/parameters/tex

image/png

200 OK #/responses/OK

OK, request successfully completed.

400 Bad Request #/responses/BAD_REQUEST

BAD REQUEST, The request could not be understood by the server due to malformed syntax or missing request headers. The client SHOULD NOT repeat the request without modifications. The response body may give an indication of what is wrong with the request.

401 Unauthorized #/responses/UNAUTHORIZED

UNAUTHORIZED, The supplied Authorization header was not valid or the supplied token scope was not acceptable. Verify Authentication and try again.

403 Forbidden #/responses/FORBIDDEN

FORBIDDEN, The Authorization was successfully validated but permission is not granted. Don’t try again unless you solve permissions first.

404 Not Found #/responses/NOT_FOUND

NOT FOUND, Resource not found.

422 Unprocessable Entity #/responses/UNPROCESSABLE_ENTITY

Unprocessable Entity - The syntax of the request entity is correct (thus a 400 (Bad Request) status code is inappropriate) but was unable to process the contained instructions.

500 Internal Server Error #/responses/INTERNAL_SERVER_ERROR

INTERNAL SERVER ERROR, Internal failure while processing the request, reason depends on error.

oauth2_application data:read
oauth2_access_code data:read

GET /modelderivative/v2/arkit/{urn}/unity

Tags: ARVR-Toolkit

Returns the Unity3D asset package/code.

urn

The design URN. The URN needs to be Base64 (URL Safe) encoded.

path string #/parameters/urn

application/octet-stream

200 OK #/responses/OK

OK, request successfully completed.

400 Bad Request #/responses/BAD_REQUEST

BAD REQUEST, The request could not be understood by the server due to malformed syntax or missing request headers. The client SHOULD NOT repeat the request without modifications. The response body may give an indication of what is wrong with the request.

401 Unauthorized #/responses/UNAUTHORIZED

UNAUTHORIZED, The supplied Authorization header was not valid or the supplied token scope was not acceptable. Verify Authentication and try again.

403 Forbidden #/responses/FORBIDDEN

FORBIDDEN, The Authorization was successfully validated but permission is not granted. Don’t try again unless you solve permissions first.

404 Not Found #/responses/NOT_FOUND

NOT FOUND, Resource not found.

422 Unprocessable Entity #/responses/UNPROCESSABLE_ENTITY

Unprocessable Entity - The syntax of the request entity is correct (thus a 400 (Bad Request) status code is inappropriate) but was unable to process the contained instructions.

500 Internal Server Error #/responses/INTERNAL_SERVER_ERROR

INTERNAL SERVER ERROR, Internal failure while processing the request, reason depends on error.

oauth2_application data:read
oauth2_access_code data:read

Parameter definitions

bodyStream body body object
x-ads-region x-ads-region

The region where the bucket resides Acceptable values: US, EMEA Default is US

header string , x ∈ { US (default) , EMEA }
x-ads-device x-ads-device

Build this asset to fit on the device for that scene

header string
x-ads-format x-ads-format

Return this asset in the requested mesh format

header string , x ∈ { legacy (default) , openctm }
x-ads-version x-ads-version

Tell the server to return a different version for the JSON response (value can be: 1 or 2)

header integer (int32) , x ∈ { 1 , 2 }
urn urn

The design URN. The URN needs to be Base64 (URL Safe) encoded.

path string
project_id project_id

The unique identifier of a project (URL encoded)

path string
version_id version_id

The unique identifier of a version (URL encoded)

path string
scene_id scene_id

The URL encoded scene name

path string
dbId dbId

The mesh DB ID

path integer (int64)
dbIds dbIds

The meshes DB ID

path integer[] , comma separated (dbIds=aaa,bbb)
fragId fragId

The mesh fragment ID

path integer (int64)
matId matId

The mesh frament material ID

path integer (int64)
mat mat

The mesh frament material ID

path string , x ∈ { mat (default) , protein }
tex tex

The mesh frament text filename (URL encoded)

path string
put_scene put_scene

Body Structure

body object
post_job post_job

Body Structure

body object
Content-Length Content-Length

Indicates the size of the request body.

header integer (int32)
Content-Disposition Content-Disposition

The suggested default filename when downloading this object to a file after it has been uploaded.

header string
Accept-Encoding Accept-Encoding

When gzip is specified, a gzip compressed stream of the object’s bytes will be returned in the response. Cannot use “Accept-Encoding: gzip” with Range header containing an end byte range. End byte range will not be honored if “Accept-Encoding: gzip” header is used.

header string

Response definitions

get_scenes_OK

OK, scene list successfully returned.

put_scene_OK

OK, scene successfully created.

get_scene_OK

OK, scene successfully returned.

post_job_OK

Success. Note that you still need to check whether the asynchronous job is complete by calling the GET :urn/manifest endpoint.

post_job_CREATED

The requested file type has been previously generated and has not been replaced by the new source file.

assets_manifest_OK

Success. Returns information about the derivative AR scenes and statuses.

OK

OK, request successfully completed.

ACCEPTED

ACCEPTED, Server acknowledges receiving data segment.

PARTIAL_CONTENT

PARTIAL CONTENT, The server is delivering only part of the resource due to a range header sent by the client.

NOT_MODIFIED

NOT MODIFIED, If using the If-None-Match header on the request and it matches the object’s ETAG, no content will be sent. Or, if using If-Modified-Since header and the object has not been modified since the time specified, no content will be sent.

BAD_REQUEST

BAD REQUEST, The request could not be understood by the server due to malformed syntax or missing request headers. The client SHOULD NOT repeat the request without modifications. The response body may give an indication of what is wrong with the request.

UNAUTHORIZED

UNAUTHORIZED, The supplied Authorization header was not valid or the supplied token scope was not acceptable. Verify Authentication and try again.

FORBIDDEN

FORBIDDEN, The Authorization was successfully validated but permission is not granted. Don’t try again unless you solve permissions first.

NOT_FOUND

NOT FOUND, Resource not found.

NOT_ACCEPTABLE

The request is not acceptable. E.g., the output type is not supported.

CONFLICT

CONFLICT, The specified bucket key already exists.

UNPROCESSABLE_ENTITY

Unprocessable Entity - The syntax of the request entity is correct (thus a 400 (Bad Request) status code is inappropriate) but was unable to process the contained instructions.

TOO_MANY_REQUEST

Rate limit exceeded (100 requests per minute); wait some time before retrying.

INTERNAL_SERVER_ERROR

INTERNAL SERVER ERROR, Internal failure while processing the request, reason depends on error.

Schema definitions

derivative_manifest: object

Scenes/Views manifest

version: integer 2

represent the current version of the manifest format

urn: string

the urn identifier of the source file. The URN needs to be Base64 (URL Safe) encoded.

scenes: object[]

the resource scene map

object

a scene status description

scene_id: string

the scene name

view_id: string

model view GUID

status: string

status of the data preparation job

complete: string

progress in percent of the preparation job

reason: string

reason for failure of the last job

InputStream: string (binary)

application/octet_stream body support

job: object

Prepare scene assets

input: object

Group of inputs

urn: string

The design URN; returned when uploading the file to Forge. The URN needs to be Base64 (URL Safe) encoded.

output: object

Group of outputs

destination: object

Group of destination settings

region: string , x ∈ { US (default) , EMEA }

Region in which to store outputs. Possible values: US, EMEA. By default, it is set to US.

formats: object[]

Group of requested formats/types. User can request multiple formats.

object
type: string , x ∈ { arkit (default) }

The requested output types. Possible values: arkit. By default, it is set to arkit.

scene: string

The scene name / ID

callback: string

A callback URL when the scene is ready. POST request with a application/json body. No Retry.

job_state: object

Scene data preparation worker state

result: string , x ∈ { created (default) , succcess }

reporting success status

urn: string

the urn identifier of the source file. The URN needs to be Base64 (URL Safe) encoded.

acceptedJobs": object

list of the requested outputs

output: object

identical to the request body. For more information please see the request body structure above.

formats: object[]

Group of requested formats/types. User can request multiple formats.

object
type: string , x ∈ { arkit (default) }

The requested output types. Possible values: arkit. By default, it is set to arkit.

scene: string

The scene name

reason: object

reason for failure

reason: string

reason for failure

scene_definition: object

Scene Payload Body Structure

prj: object

Project references

project_id: string

BIM360/Fusion360/A360 project id

version_id: string

BIM360/Fusion360/A360 item version id

urn: string

base64 encoded URN of the viewables. The URN needs to be Base64 (URL Safe) encoded.

view_id: string

Model view GUID to use for preparing data (default: null, which means the main 3D view)

attributes: object

Placeholder for any data someone may want to attach to the scene

marker: object

Scene Marker definition

position: object

Position of the marker in the Forge scene coordinates system

x: number (float)
y: number (float)
z: number (float)
dbId: integer (int64)

dbId of the object on which the marker was placed at point ‘position’

fragId: integer (int64)

fragmentId of the object on which the marker was placed at point ‘position’

face: object

face on the object on which the marker was placed at point ‘position’ (optional)

a: integer (int32)
b: integer (int32)
c: integer (int32)
normal: object

face normal

x: number (float)
y: number (float)
z: number (float)
materialIndex: integer (int32)
point: object

same as position for now

x: number (float)
y: number (float)
z: number (float)
attributes: object

Placeholder for any data someone may want to attach to the scene

list: integer[]

dbId list of objects to include in the scene definition, if empty or absent means includes all

integer (int64)
remove: integer[]

dbId list of objects to exclude even if the parents are included (optional)

integer (int64)

scenes: string[]

Scene list

string

unprocessable_entity: object

reason for failure

errors: object

list of errors in the request

Autodesk 2018 © All Rights Reserved