REST API support

The IBM® Maximo® Real Estate and Facilities server provides a proxy for the portion of the Autodesk Forge REST service used by the Viewer and the BIM Model Management Tool. This resolves to browse Cross Object Resource Scripting (CORS) restrictions, and allows Maximo Real Estate and Facilities security to be applied to Forge access.

The proxy endpoints closely follow the original Forge endpoints. In most cases, the body, the result, and any error information are passed directly from the original Forge endpoint, See the referenced Forge documentation for details.

The Forge application key and secret are stored in the server HTTP session. The session must be initiated by either calling Authenticate that initializes the session with the credentials provided in the call. Or by calling GetAuthToken. This initializes the session using the credentials stored in the Maximo Real Estate and Facilities database in the triBIMConfig business object.

Authenticate

Return a Forge auth token with scope viewables:read, which is suitable for use by the Autodesk Platform Services Viewer. If successful, this also initializes the HTTP session with the Provide key and secret. These credentials are used for subsequent Forge service calls.

URL: Forge Endpoint reference

Table 1. Authenticate. Authenticate
Path /api/p/v1/forge/token
Method GET
Request Parameters
  • key: Client ID of the app
  • secret: Client secret of the app

Get Auth Token

Return a Forge auth token with scope viewables:read, which is suitable for use by the Autodesk Platform Services Viewer. The application key and secret stored in the Maximo Real Estate and Facilities database are used to request the token. On success, the credentials are copied into the current HTTP session.

URL: Forge Endpoint reference

Table 2. Get Auth Token. Get auth token
Path /api/p/v1/forge/auth/token
Method GET
Body The result from the Forge service Authenticate Endpoint or:
{ 
"key": "", 
"authenticated": "false";
	"error": <Error message>
  }

Get Application Key

Gets the application key currently associated with the HTTP session, if there is one, and whether or not the session has successfully authenticated with the Forge service.

Table 3. Get Application Key. Get application key
Path /api/p/v1/forge/auth/key
Method GET
Body

JSON

{ 
"key”:  <Client ID>
"authenticated”: <true/false>
}

Logout

Clears the Forge credentials for the HTTML session, which disconnects the session from the Forge service. This is only needed or useful if the session was created by Authenticate so session-specific credentials were provided.

Table 4. Logout. Logout
Path /api/p/v1/forge/auth/logout
Method POST
Return None

Get Bucket List

Returns all the buckets associated with the application.

URL: Forge Endpoint reference

Table 5. Get Bucket List. Get bucket list
Path /api/p/v1/forge/bucket
Method GET
Request Parameters region: The region where the bucket resides. Acceptable values: US, EMEA Default: US

Query Bucket Details

Returns detailed information about the specified bucket.

URL: Forge Endpoint reference

Table 6. Query Bucket Details. Query bucket details
Path /api/p/v1/forge/bucket/<bucketkey>
Method GET
Path Parameters bucketkey: URL-encoded bucket key for which to get details

Create Bucket

Creates a new bucket.

URL: Forge Endpoint reference

Table 7. Create Bucket. Create bucket
Path /api/p/v1/forge/bucket/<bucketkey>
Method POST
Path Parameters bucketkey: URL-encoded bucket key for which to get details
Request Parameters
  • policy:
  • region: The region where the bucket resides. Acceptable values: US, EMEA Default: US

Delete Bucket

Deletes the specified bucket that also deletes all models and bubbles associated with the bucket.

Undocumented Forge Endpoint

Table 8. Delete Bucket. Delete buket
Path /api/p/v1/forge/bucket/<bucketkey>
Method DELETE
Path Parameters bucketkey:

Grand Rights to a Bucket

Grants rights to a different application key to access the bucket. Currently of limited functions.

Undocumented Forge Endpoint

Table 9. Grand Rights to a Bucket. Grant rights to a bucket
Path /api/p/v1/forge/bucket/<bucketkey>/rights/<serviceId>
Method  
 
  • bucketkey: URL-encoded bucket key for which to get details
  • serviced: Client ID of the app
  access:

Revoke Rights to a Bucket

Revokes rights granted by Grant.

Undocumented Forge Endpoint

Table 10. Revoke Rights to a Bucket. Revoke rights
Path /api/p/v1/forge/bucket/<bucketkey>/rights/<serviced>
Method DELETE
Path Parameters
  • bucketkey: URL-encoded bucket key for which to get details
  • serviced: Client ID of the app

Get Model List

Gets a filtered and paged list of models for the specified bucket.

URL: Forge Endpoint reference

Table 11. Get Model List. Get model list
Path /api/p/v1/forge/model/< bucketkey>
Method GET
Path Parameters  
bucketkey Request Parameters
  • Name: String to filter the result set by. The result set is restricted to items whose objectKey begins with the provided string.
  • Start: The position to start listing the result set. This parameter is used to request the next set of items, when the response is paginated. To fetch the next page of data, this should be the last item returned on the current page.
  • Pagesize: The number of objects to return in the result set. Acceptable values = 1 - 100. Default = 10.

Query Model Details

Returns detailed information about a single model file.

URL: Forge Endpoint reference

Table 12. Query Model Details. Query model deltails
Path /api/p/v1/forge/model/<bucketkey>/object
Method GET
Path Parameters bucketkey: URL-encoded bucket key for which to get details
Request Parameters objectKey: URL-encoded object name to get details for

Upload Model

Uploads a model file to the selected bucket.

URL: Forge Endpoint reference

Table 13. Upload Model. Upload model
Path /api/p/v1/forge/model/<bucketkey>/object
Method PUT
Path Parameters bucketkey: URL-encoded bucket key for which to get details
Request Parameters objectKey: URL-encoded object name to get details for

Delete Model

Deletes a model. If the model has been translated to a viewable bubble, the bubble is not deleted.

URL: Forge Endpoint reference

Table 14. Delete Model. Delete model
Path /api/p/v1/forge/model/<bucketkey>/object
Method DELETE
Path Parameters bucketkey: URL-encoded bucket key for which to get details
Request Parameters objectKey: URL-encoded object name to get details for

Query Bubble Details

Query details about a translated model, or a model in the process of being translated. This can be used to get status and progress on the translation process.

URL: Forge Endpoint reference

Table 15. Query Bubble Details. Query bubble details
Path /api/p/v1/forge/bubble
Method POST
Request Parameters objectKey: URL-encoded object name to get details for

Delete Bubble

Delete the viewable bubble resulting from model translation.

URL: Forge Endpoint reference

Table 16. Delete Bubble. Delete bubble
Path /api/p/v1/forge/bubble
Method DELETE

Translate Model to Bubble

Translate a model file into a viewable bubble. The translated format is required for use with the APS Viewer.

URL: Forge Endpoint reference

Table 17. Translate Model to Bubble. Translate Model to Bubble
Path /api/p/v1/forge/bubble/translate
Method POST
Request Parameters
  • rootFileName: The root filename of the compressed file. Mandatory if the upload file is a compressed file.
  • region: The region where the bucket resides. Acceptable values: US, EMEA Default: US

Get Thumbnail

Retrieves the thumbnail image for the translated bubble. This URL is suitable for an SRC URL attribute of an HTML <img> element.

URL: Forge Endpoint reference

Table 18. Get Thumbnail. Get Thumbnail
Path /api/p/v1/forge/bubble/<urn>/thumbnail
Method POST
Path Parameters urn: The Base64-encoded (URL-safe) design URN

Return: octet steam with thumbnail image.