# README
forge-api-go-client
Autodesk Platform Services APIs:
Golang API client for building APS based applications (Autodesk Platform Services, formerly "Forge").
This is a fork of the forge-api-go-client by Denis Grigor.
The original client is no longer maintained.
This forks has been updated and extended with new features.
Supported and maintained APIs
Note that this client only covers a subset of the APS APIs.
At the time of writing (2023/06/15), only the following APIs are maintained:
- Authentication (oauth)
- Data Management (dm)
- Model Derivative (md)
The following APIs are not maintained:
- Reality Capture (rc)
- Design Automation (da)
Autodesk is constantly adding new APIs and changing existing APIs.
A lot of the new APIs are not covered by this client.
You are invited to contribute 🧑🏽💻!
Please fork and add missing APIs.
Updates from the original client
The client has been extended with the following features.
Note that there are a number of breaking changes.
Authentication (oauth):
- Update to OAuth V2.
See: https://aps.autodesk.com/blog/migration-guide-oauth2-v1-v2
Data Management API (dm):
- Update
upload object
anddownload object
to use the direct-to-s3 approach (breaking change).
See:- https://forge.autodesk.com/blog/data-management-oss-object-storage-service-migrating-direct-s3-approach
- https://forge.autodesk.com/en/docs/data/v2/reference/http/buckets-:bucketKey-objects-:objectKey-signeds3upload-GET/
- https://forge.autodesk.com/en/docs/data/v2/reference/http/buckets-:bucketKey-objects-:objectKey-signeds3download-GET/
- Add support for regions (US <> EMEA):
See: https://aps.autodesk.com/blog/data-management-and-model-derivative-regions - dm Initialization now requires a region (breaking change).
- BucketAPI is renamed to OssAPI (breaking change).
- The API is changed to use pointer receivers.
- Update ListBuckets to list all buckets.
See: https://aps.autodesk.com/en/docs/data/v2/reference/http/buckets-GET/ - Fix and update unit tests. You need a valid APS account (client ID and secret) to run the tests.
=> Best run the tests locally, or on a private CI server.
Model Derivative API (md):
- Add support for x-ads-headers and advanced translation options (input > formats > advanced).
See: https://forge.autodesk.com/en/docs/model-derivative/v2/reference/http/jobs/job-POST/ - Update GET derivatives to use the
signedcookies
endpoint.
See: - Add support for regions (US <> EMEA):
See: https://aps.autodesk.com/blog/data-management-and-model-derivative-regions - md Initialization now requires a region (breaking change).
- Add support for downloading all properties.
See: https://aps.autodesk.com/en/docs/model-derivative/v2/reference/http/metadata/urn-metadata-guid-properties-GET/ - Add support for fetching the object tree.
See: https://aps.autodesk.com/en/docs/model-derivative/v2/reference/http/metadata/urn-metadata-guid-GET/ - The API is changed to use pointer receivers.
- Fix and update unit tests. You need a valid APS account (client ID and secret) to run the tests.
=> Best run the tests locally, or on a private CI server.
TODO:
- Create proper changelog.
- Add support for more APIs.