Request

Response

    Class OssClient

    Namespace: Autodesk.Oss
    Assembly: Autodesk.Oss.dll

    Represents the OSS client.

    public class OssClient
    

    Inheritance

    object OssClient

    Inherited Members

    object.Equals(object) , object.Equals(object, object) , object.GetHashCode() , object.GetType() , object.MemberwiseClone() , object.ReferenceEquals(object, object) , object.ToString()

    Constructors

    OssClient(SDKManager)

    Operation: Initializes a new instance of the class.

    public OssClient(SDKManager sdkManager)
    

    Parameters

    sdkManager SDKManager

    The SDK manager.

    Properties

    oSSFileTransfer

    Operation: The OSS file transfer object.

    public OSSFileTransfer oSSFileTransfer { get; set; }
    

    Property Value

    OSSFileTransfer

    Methods

    BatchCompleteUploadAsync(string, string, BatchcompleteuploadObject, bool)

    Operation: Complete Batch Upload to S3 Signed URLs

    public Task<BatchcompleteuploadResponse> BatchCompleteUploadAsync(string accessToken, string bucketKey, BatchcompleteuploadObject requests, bool throwOnError = true)
    

    Parameters

    accessToken string

    An access token obtained by a call to GetThreeLeggedTokenAsync() or GetTwoLeggedTokenAsync().

    bucketKey string

    The bucket key of the bucket that contains the objects you are operating on.

    requests BatchcompleteuploadObject

    The request payload for the Complete Batch Upload to S3 Signed URLs operation. (optional)

    throwOnError bool

    Specifies whether to throw an error if the API call fails. (optional)

    Returns

    Task <BatchcompleteuploadResponse >

    Remarks

    Requests OSS to start reconstituting the set of objects that were uploaded using signed S3 upload URLs. You must call this operation only after all the objects have been uploaded.

    You can specify up to 25 objects in this operation.

    Exceptions

    OssApiException

    Thrown when the SDK fails to make an API call.

    BatchSignedS3DownloadAsync(string, string, Batchsigneds3downloadObject, bool?, int?, bool)

    Operation: Batch Generate Signed S3 Download URLs

    public Task<Batchsigneds3downloadResponse> BatchSignedS3DownloadAsync(string accessToken, string bucketKey, Batchsigneds3downloadObject requests, bool? publicResourceFallback = null, int? minutesExpiration = null, bool throwOnError = true)
    

    Parameters

    accessToken string

    An access token obtained by a call to GetThreeLeggedTokenAsync() or GetTwoLeggedTokenAsync().

    bucketKey string

    The bucket key of the bucket that contains the objects you are operating on.

    requests Batchsigneds3downloadObject

    The request payload for the Complete Batch S3 download operation.

    publicResourceFallback bool ?

    Specifies how to return the signed URLs, in case the object was uploaded in chunks, and assembling of chunks is not yet complete.

    • true : Return a single signed OSS URL.
    • false : (Default) Return multiple signed S3 URLs, where each URL points to a chunk. (optional)

    minutesExpiration int ?

    The time window (in minutes) the signed URL will remain usable. Acceptable values = 1-60 minutes. Default = 2 minutes.

    Tip: Use the smallest possible time window to minimize exposure of the signed URL. (optional)

    throwOnError bool

    Specifies whether to throw an error if the API call fails. (optional)

    Returns

    Task <Batchsigneds3downloadResponse >

    Remarks

    Creates and returns signed URLs to download a set of objects directly from S3. These signed URLs expire in 2 minutes by default, but you can change this duration if needed. You must start download the objects before the signed URLs expire. The download itself can take longer.

    Only the application that owns the bucket can call this operation. All other applications that call this operation will receive a “403 Forbidden” error.

    Exceptions

    OssApiException

    Thrown when the SDK fails to make an API call.

    BatchSignedS3UploadAsync(string, string, Batchsigneds3uploadObject, bool?, int?, bool)

    Operation: Batch Generate Signed S3 Upload URLs

    public Task<Batchsigneds3uploadResponse> BatchSignedS3UploadAsync(string accessToken, string bucketKey, Batchsigneds3uploadObject requests, bool? useAcceleration = null, int? minutesExpiration = null, bool throwOnError = true)
    

    Parameters

    accessToken string

    An access token obtained by a call to GetThreeLeggedTokenAsync() or GetTwoLeggedTokenAsync().

    bucketKey string

    The bucket key of the bucket that contains the objects you are operating on.

    requests Batchsigneds3uploadObject

    The request payload for a Batch Generate Signed S3 Upload URLs operation.

    useAcceleration bool ?

    true : (Default) Generates a faster S3 signed URL using Transfer Acceleration.

    false: Generates a standard S3 signed URL. (optional)

    minutesExpiration int ?

    The time window (in minutes) the signed URL will remain usable. Acceptable values = 1-60 minutes. Default = 2 minutes.

    Tip: Use the smallest possible time window to minimize exposure of the signed URL. (optional)

    throwOnError bool

    Specifies whether to throw an error if the API call fails. (optional)

    Returns

    Task <Batchsigneds3uploadResponse >

    Remarks

    Creates and returns signed URLs to upload a set of objects directly to S3. These signed URLs expire in 2 minutes by default, but you can change this duration if needed. You must start uploading the objects before the signed URLs expire. The upload itself can take longer.

    Only the application that owns the bucket can call this operation. All other applications that call this operation will receive a “403 Forbidden” error.

    If required, you can request an array of signed URLs for each object, which lets you upload the objects in chunks. Once you upload all chunks you must call the Complete Batch Upload to S3 Signed URL operation to indicate completion. This instructs OSS to assemble the chunks and reconstitute the object on OSS. You must call this operation even if you requested a single signed URL for an object.

    If an upload fails after the validity period of a signed URL has elapsed, you can call this operation again to obtain fresh signed URLs. However, you must use the same uploadKey that was returned when you originally called this operation.

    Exceptions

    OssApiException

    Thrown when the SDK fails to make an API call.

    CompleteSignedS3UploadAsync(string, string, string, string, Completes3uploadBody, string, string, string, string, string, bool)

    Operation: Complete Upload to S3 Signed URL

    public Task<HttpResponseMessage> CompleteSignedS3UploadAsync(string accessToken, string bucketKey, string objectKey, string contentType, Completes3uploadBody body, string xAdsMetaContentType = null, string xAdsMetaContentDisposition = null, string xAdsMetaContentEncoding = null, string xAdsMetaCacheControl = null, string xAdsUserDefinedMetadata = null, bool throwOnError = true)
    

    Parameters

    accessToken string

    An access token obtained by a call to GetThreeLeggedTokenAsync() or GetTwoLeggedTokenAsync().

    bucketKey string

    The bucket key of the bucket that contains the objects you are operating on.

    objectKey string

    The URL-encoded human friendly name of the object.

    contentType string

    Must be application/json.

    body Completes3uploadBody

    The request payload for a Complete Upload to S3 Signed URL operation.

    xAdsMetaContentType string

    The Content-Type value for the uploaded object to record within OSS. (optional)

    xAdsMetaContentDisposition string

    The Content-Disposition value for the uploaded object to record within OSS. (optional)

    xAdsMetaContentEncoding string

    The Content-Encoding value for the uploaded object to record within OSS. (optional)

    xAdsMetaCacheControl string

    The Cache-Control value for the uploaded object to record within OSS. (optional)

    xAdsUserDefinedMetadata string

    Custom metadata to be stored with the object, which can be retrieved later on download or when retrieving object details. Must be a JSON object that is less than 100 bytes. (optional)

    throwOnError bool

    Specifies whether to throw an error if the API call fails. (optional)

    Returns

    Task <HttpResponseMessage >

    Remarks

    Requests OSS to assemble and reconstitute the object that was uploaded using signed S3 upload URL. You must call this operation only after all parts/chunks of the object has been uploaded.

    Exceptions

    OssApiException

    Thrown when the SDK fails to make an API call.

    CopyToAsync(string, string, string, string, bool)

    Operation: Copy Object

    public Task<ObjectDetails> CopyToAsync(string accessToken, string bucketKey, string objectKey, string newObjName, bool throwOnError = true)
    

    Parameters

    accessToken string

    An access token obtained by a call to GetThreeLeggedTokenAsync() or GetTwoLeggedTokenAsync().

    bucketKey string

    The bucket key of the bucket that contains the objects you are operating on.

    objectKey string

    The URL-encoded human friendly name of the object.

    newObjName string

    A URL-encoded human friendly name to identify the copied object.

    throwOnError bool

    Specifies whether to throw an error if the API call fails. (optional)

    Returns

    Task <ObjectDetails >

    Remarks

    Creates a copy of an object within the bucket.

    Exceptions

    OssApiException

    Thrown when the SDK fails to make an API call.

    CreateBucketAsync(string, Region, CreateBucketsPayload, bool)

    Operation: Create Bucket

    public Task<Bucket> CreateBucketAsync(string accessToken, Region xAdsRegion, CreateBucketsPayload bucketsPayload, bool throwOnError = true)
    

    Parameters

    accessToken string

    An access token obtained by a call to GetThreeLeggedTokenAsync() or GetTwoLeggedTokenAsync().

    xAdsRegion Region

    Specifies where the bucket must be stored. Possible values are:

    • US - (Default) Data center for the US region.
    • EMEA - Data center for the European Union, Middle East, and Africa.
    • APAC - (Beta) Data center for Australia. Note: Beta features are subject to change. Please do not use in production environments. (optional)

    bucketsPayload CreateBucketsPayload

    The payload containing bucket creation details.

    throwOnError bool

    Specifies whether to throw an error if the API call fails. (optional)

    Returns

    Task <Bucket >

    Remarks

    Creates a bucket.

    Buckets are virtual container within the Object Storage Service (OSS), which you can use to store and manage objects (files) in the cloud. The application creating the bucket is the owner of the bucket.

    Note: Do not use this operation to create buckets for BIM360 Document Management. Use CreateStorageAsync instead. For details, see Upload Files to BIM 360 Document Management .

    Exceptions

    OssApiException

    Thrown when the SDK fails to make an API call.

    CreateSignedResourceAsync(string, string, string, CreateSignedResource, Access?, bool?, bool)

    Operation: Generate OSS Signed URL

    public Task<CreateObjectSigned> CreateSignedResourceAsync(string accessToken, string bucketKey, string objectKey, CreateSignedResource createSignedResource, Access? access = null, bool? useCdn = null, bool throwOnError = true)
    

    Parameters

    accessToken string

    An access token obtained by a call to GetThreeLeggedTokenAsync() or GetTwoLeggedTokenAsync().

    bucketKey string

    The bucket key of the bucket that contains the objects you are operating on.

    objectKey string

    The URL-encoded human friendly name of the object.

    createSignedResource CreateSignedResource

    The request payload for the Generate OSS Signed URL operation.

    access Access ?

    Specifies the type of access for signed resource Possible values: read, write, readwrite Default value: read (optional)

    useCdn bool ?

    true : Returns a Cloudfront URL to the object instead of an Autodesk URL (one that points to a location on https://developer.api.autodesk.com). Applications can interact with the Cloudfront URL exactly like with any classic public resource in OSS. They can use GET requests to download objects or PUT requests to upload objects.

    false : (Default) Returns an Autodesk URL (one that points to a location on https://developer.api.autodesk.com) to the object. (optional)

    throwOnError bool

    Specifies whether to throw an error if the API call fails. (optional)

    Returns

    Task <CreateObjectSigned >

    Remarks

    Generates a signed URL that can be used to download or upload an object within the specified expiration time. If the object the signed URL points to is deleted or expires before the signed URL expires, the signed URL will no longer be valid.

    In addition to this operation that generates OSS signed URLs, OSS provides operations to generate S3 signed URLs. S3 signed URLs allow direct upload/download from S3 but are restricted to bucket owners. OSS signed URLs also allow upload/download and can be configured for access by other applications, making them suitable for sharing objects across applications.

    Only the application that owns the bucket containing the object can call this operation.

    Exceptions

    OssApiException

    Thrown when the SDK fails to make an API call.

    DeleteBucketAsync(string, string, bool)

    Operation: Delete Bucket

    public Task<HttpResponseMessage> DeleteBucketAsync(string accessToken, string bucketKey, bool throwOnError = true)
    

    Parameters

    accessToken string

    An access token obtained by a call to GetThreeLeggedTokenAsync() or GetTwoLeggedTokenAsync().

    bucketKey string

    The bucket key of the bucket to delete.

    throwOnError bool

    Specifies whether to throw an error if the API call fails. (optional)

    Returns

    Task <HttpResponseMessage >

    Remarks

    Deletes the specified bucket. Only the application that owns the bucket can call this operation. All other applications that call this operation will receive a “403 Forbidden” error.

    The initial processing of a bucket deletion request can be time-consuming. So, we recommend only deleting buckets containing a few objects, like those typically used for acceptance testing and prototyping.

    Note: Bucket keys will not be immediately available for reuse.

    Exceptions

    OssApiException

    Thrown when the SDK fails to make an API call.

    DeleteObjectAsync(string, string, string, bool)

    Operation: Delete Object

    public Task<HttpResponseMessage> DeleteObjectAsync(string accessToken, string bucketKey, string objectKey, bool throwOnError = true)
    

    Parameters

    accessToken string

    An access token obtained by a call to GetThreeLeggedTokenAsync() or GetTwoLeggedTokenAsync().

    bucketKey string

    The bucket key of the bucket that contains the objects you are operating on.

    objectKey string

    The URL-encoded human friendly name of the object.

    throwOnError bool

    Specifies whether to throw an error if the API call fails. (optional)

    Returns

    Task <HttpResponseMessage >

    Remarks

    Deletes an object from the bucket.

    Exceptions

    OssApiException

    Thrown when the SDK fails to make an API call.

    DeleteSignedResourceAsync(string, string, Region?, bool)

    Operation: Delete Object Using Signed URL

    public Task<HttpResponseMessage> DeleteSignedResourceAsync(string accessToken, string hash, Region? region = null, bool throwOnError = true)
    

    Parameters

    accessToken string

    An access token obtained by a call to GetThreeLeggedTokenAsync() or GetTwoLeggedTokenAsync().

    hash string

    The ID component of the signed URL.

    Note: The signed URL returned by Generate OSS Signed URL contains hash as a URI parameter.

    region Region ?

    Specifies where the bucket containing the object stored. Possible values are:

    • US - (Default) Data center for the US region.
    • EMEA - Data center for the European Union, Middle East, and Africa.
    • APAC - (Beta) Data center for Australia.

    Note: Beta features are subject to change. Please do not use in production environments. (optional)

    throwOnError bool

    Specifies whether to throw an error if the API call fails. (optional)

    Returns

    Task <HttpResponseMessage >

    Remarks

    Delete an object using an OSS signed URL to access it.

    Only applications that own the bucket containing the object can call this operation.

    Exceptions

    OssApiException

    Thrown when the SDK fails to make an API call.

    Download(string, string, string, string, CancellationToken, string, string, IProgress<int>)

    Operation: Dwonload a File

    public Task Download(string bucketKey, string objectKey, string filePath, string accessToken, CancellationToken cancellationToken, string projectScope = "", string requestIdPrefix = "", IProgress<int> progress = null)
    

    Parameters

    bucketKey string

    The bucket key of the bucket that contains the objects you are operating on.

    objectKey string

    The URL-encoded human friendly name of the object.

    filePath string

    The Path of the file to be downloaded.

    accessToken string

    An access token obtained by a call to GetThreeLeggedTokenAsync() or GetTwoLeggedTokenAsync().

    cancellationToken CancellationToken

    A token to monitor cancellation requests. (optional)

    projectScope string

    A project scope to which the upload should be limited. (optional)

    requestIdPrefix string

    A prefix to be added to the request ID. (optional)

    progress IProgress <int >

    An IProgress object to report upload progress. (optional)

    Returns

    Task

    Remarks

    Downloads a file by transparently handling operations like obtaining signed download URLs and chunking large files for optimal transfer.

    Exceptions

    OssApiException

    Thrown when the SDK fails to make an API call.

    GetBucketDetailsAsync(string, string, bool)

    Operation: Get Bucket Details

    public Task<Bucket> GetBucketDetailsAsync(string accessToken, string bucketKey, bool throwOnError = true)
    

    Parameters

    accessToken string

    An access token obtained by a call to GetThreeLeggedTokenAsync() or GetTwoLeggedTokenAsync().

    bucketKey string

    The bucket key of the bucket to query.

    throwOnError bool

    Specifies whether to throw an error if the API call fails.

    Returns

    Task <Bucket >

    Remarks

    Returns detailed information about the specified bucket.

    Note: Only the application that owns the bucket can call this operation. All other applications that call this operation will receive a “403 Forbidden” error.

    Exceptions

    OssApiException

    Thrown when the SDK fails to make an API call.

    GetBucketsAsync(string, Region?, int?, string, bool)

    Operation: List Buckets

    public Task<Buckets> GetBucketsAsync(string accessToken, Region? region = null, int? limit = null, string startAt = null, bool throwOnError = true)
    

    Parameters

    accessToken string

    An access token obtained by a call to GetThreeLeggedTokenAsync() or GetTwoLeggedTokenAsync().

    region Region ?

    Specifies where the bucket containing the object stored. Possible values are:

    • US - (Default) Data center for the US region.
    • EMEA - Data center for the European Union, Middle East, and Africa.
    • APAC - (Beta) Data center for Australia.

    Note: Beta features are subject to change. Please do not use in production environments. (optional)

    limit int ?

    The number of items you want per page. Acceptable values = 1-100. Default = 10. (optional, default to 10)

    startAt string

    The ID of the last item that was returned in the previous result set. It enables the system to return subsequent items starting from the next one after the specified ID. (optional)

    throwOnError bool

    Specifies whether to throw an error if the API call fails. (optional)

    Returns

    Task <Buckets >

    Task of <Buckets>

    Remarks

    Returns a list of buckets owned by the application.

    Exceptions

    OssApiException

    Thrown when the SDK fails to make an API call.

    GetObjectDetailsAsync(string, string, string, DateTime?, With?, bool)

    Operation: Get Object Details

    public Task<ObjectFullDetails> GetObjectDetailsAsync(string accessToken, string bucketKey, string objectKey, DateTime? ifModifiedSince = null, With? with = null, bool throwOnError = true)
    

    Parameters

    accessToken string

    An access token obtained by a call to GetThreeLeggedTokenAsync() or GetTwoLeggedTokenAsync().

    bucketKey string

    The bucket key of the bucket that contains the objects you are operating on.

    objectKey string

    The URL-encoded human friendly name of the object.

    ifModifiedSince DateTime ?

    A timestamp in the HTTP date format (Mon, DD Month YYYY HH:MM:SS GMT). The requested data is returned only if the object has been modified since the specified timestamp. If not, a 304 (Not Modified) HTTP status is returned. (optional)

    with With ?

    Specifies additional information to include in the response. Possible values: - createdDate - lastAccessedDate - lastModifiedDate - userDefinedMetadata (optional)

    throwOnError bool

    Specifies whether to throw an error if the API call fails. (optional)

    Returns

    Task <ObjectFullDetails >

    Remarks

    Returns detailed information about the specified object.

    Exceptions

    OssApiException

    Thrown when the SDK fails to make an API call.

    GetObjectsAsync(string, string, int?, string, string, bool)

    Operation: List Objects

    public Task<BucketObjects> GetObjectsAsync(string accessToken, string bucketKey, int? limit = null, string beginsWith = null, string startAt = null, bool throwOnError = true)
    

    Parameters

    accessToken string

    An access token obtained by a call to GetThreeLeggedTokenAsync() or GetTwoLeggedTokenAsync().

    bucketKey string

    The bucket key of the bucket that contains the objects you are operating on.

    limit int ?

    The number of items you want per page. Acceptable values = 1-100. Default = 10. (optional, default to 10)

    beginsWith string

    Filters the results by the value you specify. Only the objects with their objectKey beginning with the specified string are returned. (optional)

    startAt string

    The ID of the last item that was returned in the previous result set. It enables the system to return subsequent items starting from the next one after the specified ID. (optional)

    throwOnError bool

    Specifies whether to throw an error if the API call fails. (optional)

    Returns

    Task <BucketObjects >

    Remarks

    Returns a list objects in the specified bucket.

    Only the application that owns the bucket can call this operation. All other applications that call this operation will receive a “403 Forbidden” error.

    Exceptions

    OssApiException

    Thrown when the SDK fails to make an API call.

    GetSignedResourceAsync(string, string, string, string, DateTime?, string, Region?, string, string, bool)

    Operation: Download Object Using Signed URL

    public Task<Stream> GetSignedResourceAsync(string accessToken, string hash, string range = null, string ifNoneMatch = null, DateTime? ifModifiedSince = null, string acceptEncoding = null, Region? region = null, string responseContentDisposition = null, string responseContentType = null, bool throwOnError = true)
    

    Parameters

    accessToken string

    An access token obtained by a call to GetThreeLeggedTokenAsync() or GetTwoLeggedTokenAsync().

    hash string

    The ID component of the signed URL.

    Note: The signed URL returned by Generate OSS Signed URL contains hash as a URI parameter.

    range string

    The byte range to download, specified in the form bytes=<START_BYTE>-<END_BYTE>. (optional)

    ifNoneMatch string

    The last known ETag value of the object. OSS returns the requested data only if the If-None-Match parameter differs from the ETag value of the object on OSS, which indicates that the object on OSS is newer. If not, it returns a 304 “Not Modified” HTTP status. (optional)

    ifModifiedSince DateTime ?

    A timestamp in the HTTP date format (Mon, DD Month YYYY HH:MM:SS GMT). The requested data is returned only if the object has been modified since the specified timestamp. If not, a 304 (Not Modified) HTTP status is returned. (optional)

    acceptEncoding string

    The compression format your prefer to receive the data. Possible values are:

    • gzip - Use the gzip format

    Note: You cannot use Accept-Encoding:gzip with a Range parameter containing an end byte range. OSS will not honor the End byte range if Accept-Encoding: gzip parameter is used. (optional)

    region Region ?

    Specifies where the bucket containing the object stored. Possible values are:

    • US - (Default) Data center for the US region.
    • EMEA - Data center for the European Union, Middle East, and Africa.
    • APAC - (Beta) Data center for Australia.

    Note: Beta features are subject to change. Please do not use in production environments. (optional)

    responseContentDisposition string

    The value of the Content-Disposition header you want to receive when you download the object using the signed URL. If you do not specify a value, the Content-Disposition header defaults to the value stored with OSS. (optional)

    responseContentType string

    The value of the Content-Type header you want to receive when you download the object using the signed URL. If you do not specify a value, the Content-Type header defaults to the value stored with OSS. (optional)

    throwOnError bool

    Specifies whether to throw an error if the API call fails. (optional)

    Returns

    Task <Stream >

    Remarks

    Downloads an object using an OSS signed URL.

    Note: The signed URL returned by Generate OSS Signed URL contains the hash parameter as well.

    Exceptions

    OssApiException

    Thrown when the SDK fails to make an API call.

    SignedS3DownloadAsync(string, string, string, string, DateTime?, string, string, string, string, bool?, int?, bool?, bool)

    Operation: Generate Signed S3 Download URL

    public Task<Signeds3downloadResponse> SignedS3DownloadAsync(string accessToken, string bucketKey, string objectKey, string ifNoneMatch = null, DateTime? ifModifiedSince = null, string xAdsAcmScopes = null, string responseContentType = null, string responseContentDisposition = null, string responseCacheControl = null, bool? publicResourceFallback = null, int? minutesExpiration = null, bool? useCdn = null, bool throwOnError = true)
    

    Parameters

    accessToken string

    An access token obtained by a call to GetThreeLeggedTokenAsync() or GetTwoLeggedTokenAsync().

    bucketKey string

    The bucket key of the bucket that contains the objects you are operating on.

    objectKey string

    The URL-encoded human friendly name of the object.

    ifNoneMatch string

    The last known ETag value of the object. OSS returns the signed URL only if the If-None-Match parameter differs from the ETag value of the object on S3. If not, it returns a 304 “Not Modified” HTTP status. (optional)

    ifModifiedSince DateTime ?

    A timestamp in the HTTP date format (Mon, DD Month YYYY HH:MM:SS GMT). The signed URL is returned only if the object has been modified since the specified timestamp. If not, a 304 (Not Modified) HTTP status is returned. (optional)

    xAdsAcmScopes string

    Optional OSS-compliant scope reference to increase bucket search performance (optional)

    responseContentType string

    The value of the Content-Type header you want to receive when you download the object using the signed URL. If you do not specify a value, the Content-Type header defaults to the value stored with OSS. (optional)

    responseContentDisposition string

    The value of the Content-Disposition header you want to receive when you download the object using the signed URL. If you do not specify a value, the Content-Disposition header defaults to the value stored with OSS. (optional)

    responseCacheControl string

    The value of the Cache-Control header you want to receive when you download the object using the signed URL. If you do not specify a value, the Cache-Control header defaults to the value stored with OSS. (optional)

    publicResourceFallback bool ?

    Specifies how to return the signed URLs, in case the object was uploaded in chunks, and assembling of chunks is not yet complete.

    • true : Return a single signed OSS URL.
    • false : (Default) Return multiple signed S3 URLs, where each URL points to a chunk. (optional)

    minutesExpiration int ?

    The time window (in minutes) the signed URL will remain usable. Acceptable values = 1-60 minutes. Default = 2 minutes.

    Tip: Use the smallest possible time window to minimize exposure of the signed URL. (optional)

    useCdn bool ?

    true : Returns a URL that points to a CloudFront edge location.

    false : (Default) Returns a URL that points directly to the S3 object. (optional)

    throwOnError bool

    Specifies whether to throw an error if the API call fails. (optional)

    Returns

    Task <Signeds3downloadResponse >

    Task of <Signeds3downloadResponse>

    Remarks

    Gets a signed URL to download an object directly from S3, bypassing OSS servers. This signed URL expires in 2 minutes by default, but you can change this duration if needed. You must start the download before the signed URL expires. The download itself can take longer. If the download fails after the validity period of the signed URL has elapsed, you can call this operation again to obtain a fresh signed URL.

    Only applications that have read access to the object can call this operation.

    You can use range parameters with the signed download URL to download the object in chunks. This ability lets you download chunks in parallel, which can result in faster downloads.

    If the object you want to download was uploaded in chunks and is still assembling on OSS, you will receive multiple S3 URLs instead of just one. Each URL will point to a chunk. If you prefer to receive a single URL, set the public-resource-fallback parameter to true. This setting will make OSS fallback to returning a single signed OSS URL, if assembling is still in progress.

    In addition to this operation that generates S3 signed URLs, OSS provides an operation to generate OSS signed URLs. S3 signed URLs allow direct upload/download from S3 but are restricted to bucket owners. OSS signed URLs also allow upload/download and can be configured for access by other applications, making them suitable for sharing objects across applications.

    Exceptions

    OssApiException

    Thrown when the SDK fails to make an API call.

    SignedS3UploadAsync(string, string, string, int?, int?, string, int?, bool?, bool)

    Operation: Generate Signed S3 Upload URL

    public Task<Signeds3uploadResponse> SignedS3UploadAsync(string accessToken, string bucketKey, string objectKey, int? parts = null, int? firstPart = null, string uploadKey = null, int? minutesExpiration = null, bool? useAcceleration = null, bool throwOnError = true)
    

    Parameters

    accessToken string

    An access token obtained by a call to GetThreeLeggedTokenAsync() or GetTwoLeggedTokenAsync().

    bucketKey string

    The bucket key of the bucket that contains the objects you are operating on.

    objectKey string

    The URL-encoded human friendly name of the object.

    parts int ?

    The number of parts you intend to chunk the object for uploading. OSS will return that many signed URLs, one URL for each chunk. If you do not specify a value you’ll get only one URL to upload the entire object. (optional)

    firstPart int ?

    The index of the first chunk to be uploaded. (optional)

    uploadKey string

    The uploadKey of a previously-initiated upload, in order to request more chunk upload URLs for the same upload. If you do not specify a value, OSS will initiate a new upload entirely. (optional)

    minutesExpiration int ?

    The time window (in minutes) the signed URL will remain usable. Acceptable values = 1-60 minutes. Default = 2 minutes.

    Tip: Use the smallest possible time window to minimize exposure of the signed URL. (optional)

    useAcceleration bool ?

    true : (Default) Generates a faster S3 signed URL using Transfer Acceleration.

    false: Generates a standard S3 signed URL. (optional)

    throwOnError bool

    Specifies whether to throw an error if the API call fails. (optional)

    Returns

    Task <Signeds3uploadResponse >

    Remarks

    Gets a signed URL to upload an object directly to S3, bypassing OSS servers. You can also request an array of signed URLs which lets you upload an object in chunks.

    This signed URL expires in 2 minutes by default, but you can change this duration if needed. You must start the upload before the signed URL expires. The upload itself can take longer. If the upload fails after the validity period of the signed URL has elapsed, you can call this operation again to obtain a fresh signed URL (or an array of signed URLs as the case may be). However, you must use the same uploadKey that was returned when you originally called this operation.

    Only applications that own the bucket can call this operation.

    Note: Once you upload all chunks you must call the Complete Upload to S3 Signed URL operation to indicate completion. This instructs OSS to assemble the chunks and reconstitute the object on OSS. You must call this operation even when using a single signed URL.

    In addition to this operation that generates S3 signed URLs, OSS provides an operation to generate OSS signed URLs. S3 signed URLs allow direct upload/download from S3 but are restricted to bucket owners. OSS signed URLs also allow upload/download and can be configured for access by other applications, making them suitable for sharing objects across applications.

    Exceptions

    OssApiException

    Thrown when the SDK fails to make an API call.

    Upload(string, string, Stream, string, CancellationToken, string, string, IProgress<int>)

    Operation: Upload a File

    public Task<ObjectDetails> Upload(string bucketKey, string objectKey, Stream sourceToUpload, string accessToken, CancellationToken cancellationToken, string projectScope = "", string requestIdPrefix = "", IProgress<int> progress = null)
    

    Parameters

    bucketKey string

    The bucket key of the bucket that contains the objects you are operating on.

    objectKey string

    The URL-encoded human friendly name of the object.

    sourceToUpload Stream

    Stream of the of file to be uploded or Path of the file to be uploaded

    accessToken string

    An access token obtained by a call to GetThreeLeggedTokenAsync() or GetTwoLeggedTokenAsync().

    cancellationToken CancellationToken

    A token to monitor cancellation requests. (optional)

    projectScope string

    A project scope to which the upload should be limited.
    (optional)

    requestIdPrefix string

    (optional) A prefix to be added to the request ID.

    progress IProgress <int >

    An IProgress object to report upload progress. (optional)

    Returns

    Task <ObjectDetails >

    Remarks

    Uploads a file by transparently handling operations like obtaining signed upload URLs, chunking large files for optimal transfer, and notifying OSS to assemble the uploaded parts.

    Exceptions

    OssApiException

    Thrown when the SDK fails to make an API call.

    Upload(string, string, string, string, CancellationToken, string, string, IProgress<int>)

    Operation: Upload a File

    public Task<ObjectDetails> Upload(string bucketKey, string objectKey, string sourceToUpload, string accessToken, CancellationToken cancellationToken, string projectScope = "", string requestIdPrefix = "", IProgress<int> progress = null)
    

    Parameters

    bucketKey string

    The bucket key of the bucket that contains the objects you are operating on.

    objectKey string

    The URL-encoded human friendly name of the object.

    sourceToUpload string

    Stream of the of file to be uploaded or Path of the file to be uploaded

    accessToken string

    An access token obtained by a call to GetThreeLeggedTokenAsync() or GetTwoLeggedTokenAsync().

    cancellationToken CancellationToken

    A token to monitor cancellation requests. (optional)

    projectScope string

    A project scope to which the upload should be limited. (optional)

    requestIdPrefix string

    A prefix to be added to the request ID. (optional)

    progress IProgress <int >

    An IProgress object to report upload progress. (optional)

    Returns

    Task <ObjectDetails >

    Remarks

    Uploads a file by transparently handling operations like obtaining signed upload URLs, chunking large files for optimal transfer, and notifying OSS to assemble the uploaded parts.

    Exceptions

    OssApiException

    Thrown when the SDK fails to make an API call.

    UploadSignedResourceAsync(string, string, int?, Stream, string, string, Region?, string, bool)

    Operation: Replace Object Using Signed URL

    public Task<ObjectDetails> UploadSignedResourceAsync(string accessToken, string hash, int? contentLength, Stream body, string contentType = null, string contentDisposition = null, Region? xAdsRegion = null, string ifMatch = null, bool throwOnError = true)
    

    Parameters

    accessToken string

    An access token obtained by a call to GetThreeLeggedTokenAsync() or GetTwoLeggedTokenAsync().

    hash string

    The ID component of the signed URL.

    Note: The signed URL returned by Generate OSS Signed URL contains hash as a URI parameter.

    contentLength int ?

    The size of the data contained in the request body, in bytes.

    body Stream

    The object to upload.

    contentType string

    The MIME type of the object to upload; can be any type except ‘multipart/form-data’. This can be omitted, but we recommend adding it. (optional)

    contentDisposition string

    The suggested file name to use when this object is downloaded as a file. (optional)

    xAdsRegion Region ?

    Specifies where the bucket containing the object stored. Possible values are:

    • US - (Default) Data center for the US region.
    • EMEA - Data center for the European Union, Middle East, and Africa.
    • APAC - (Beta) Data center for Australia.

    Note: Beta features are subject to change. Please do not use in production environments. (optional)

    ifMatch string

    The current value of the sha1 attribute of the object you want to replace. OSS checks the If-Match parameter against the sha1 attribute of the object in OSS. If they match, OSS allows the object to be overwritten. Otherwise, it means that the object on OSS has been modified since you retrieved the sha1 and the request fails. (optional)

    throwOnError bool

    Specifies whether to throw an error if the API call fails. (optional)

    Returns

    Task <ObjectDetails >

    Remarks

    Replaces an object that already exists on OSS, using an OSS signed URL.

    The signed URL must fulfil the following conditions:

    • The signed URL is valid (it has not expired as yet).
    • It was generated with write or readwrite for the access parameter.

    Exceptions

    OssApiException

    Thrown when the SDK fails to make an API call.

    UploadSignedResourcesChunkAsync(string, string, string, string, Stream, string, string, Region?, bool)

    Operation: Upload Object Using Signed URL

    public Task<ObjectDetails> UploadSignedResourcesChunkAsync(string accessToken, string hash, string contentRange, string sessionId, Stream body, string contentType = null, string contentDisposition = null, Region? xAdsRegion = null, bool throwOnError = true)
    

    Parameters

    accessToken string

    An access token obtained by a call to GetThreeLeggedTokenAsync() or GetTwoLeggedTokenAsync().

    hash string

    The ID component of the signed URL.

    Note: The signed URL returned by Generate OSS Signed URL contains hash as a URI parameter.

    contentRange string

    The byte range to upload, specified in the form bytes=<START_BYTE>-<END_BYTE>.

    sessionId string

    An ID to uniquely identify the file upload session.

    body Stream

    The chunk to upload.

    contentType string

    The MIME type of the object to upload; can be any type except ‘multipart/form-data’. This can be omitted, but we recommend adding it. (optional)

    contentDisposition string

    The suggested file name to use when this object is downloaded as a file. (optional)

    xAdsRegion Region ?

    Specifies where the bucket containing the object stored. Possible values are:

    • US - (Default) Data center for the US region.
    • EMEA - Data center for the European Union, Middle East, and Africa.
    • APAC - (Beta) Data center for Australia.

    Note: Beta features are subject to change. Please do not use in production environments. (optional)

    throwOnError bool

    Specifies whether to throw an error if the API call fails. (optional)

    Returns

    Task <ObjectDetails >

    Remarks

    Performs a resumable upload using an OSS signed URL. Use this operation to upload an object in chunks.

    Note: The signed URL returned by Generate OSS Signed URL contains the hash as a parameter.

    Exceptions

    OssApiException

    Thrown when the SDK fails to make an API call.

     
    ______
    icon-svg-close-thick

    Cookie preferences

    Your privacy is important to us and so is an optimal experience. To help us customize information and build applications, we collect data about your use of this site.

    May we collect and use your data?

    Learn more about the Third Party Services we use and our Privacy Statement.

    Strictly necessary – required for our site to work and to provide services to you

    These cookies allow us to record your preferences or login information, respond to your requests or fulfill items in your shopping cart.

    Improve your experience – allows us to show you what is relevant to you

    These cookies enable us to provide enhanced functionality and personalization. They may be set by us or by third party providers whose services we use to deliver information and experiences tailored to you. If you do not allow these cookies, some or all of these services may not be available for you.

    Customize your advertising – permits us to offer targeted advertising to you

    These cookies collect data about you based on your activities and interests in order to show you relevant ads and to track effectiveness. By collecting this data, the ads you see will be more tailored to your interests. If you do not allow these cookies, you will experience less targeted advertising.

    icon-svg-close-thick

    THIRD PARTY SERVICES

    Learn more about the Third-Party Services we use in each category, and how we use the data we collect from you online.

    icon-svg-hide-thick

    icon-svg-show-thick

    Strictly necessary – required for our site to work and to provide services to you

    Qualtrics
    We use Qualtrics to let you give us feedback via surveys or online forms. You may be randomly selected to participate in a survey, or you can actively decide to give us feedback. We collect data to better understand what actions you took before filling out a survey. This helps us troubleshoot issues you may have experienced. Qualtrics Privacy Policy
    Akamai mPulse
    We use Akamai mPulse to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, and your Autodesk ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Akamai mPulse Privacy Policy
    Digital River
    We use Digital River to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, and your Autodesk ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Digital River Privacy Policy
    Dynatrace
    We use Dynatrace to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, and your Autodesk ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Dynatrace Privacy Policy
    Khoros
    We use Khoros to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, and your Autodesk ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Khoros Privacy Policy
    Launch Darkly
    We use Launch Darkly to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, and your Autodesk ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Launch Darkly Privacy Policy
    New Relic
    We use New Relic to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, and your Autodesk ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. New Relic Privacy Policy
    Salesforce Live Agent
    We use Salesforce Live Agent to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, and your Autodesk ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Salesforce Live Agent Privacy Policy
    Wistia
    We use Wistia to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, and your Autodesk ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Wistia Privacy Policy
    Tealium
    We use Tealium to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Tealium Privacy Policy
    Upsellit
    We use Upsellit to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Upsellit Privacy Policy
    CJ Affiliates
    We use CJ Affiliates to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. CJ Affiliates Privacy Policy
    Commission Factory
    We use Commission Factory to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Commission Factory Privacy Policy
    Google Analytics (Strictly Necessary)
    We use Google Analytics (Strictly Necessary) to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, and your Autodesk ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Google Analytics (Strictly Necessary) Privacy Policy
    Typepad Stats
    We use Typepad Stats to collect data about your behaviour on our sites. This may include pages you’ve visited. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our platform to provide the most relevant content. This allows us to enhance your overall user experience. Typepad Stats Privacy Policy
    Geo Targetly
    We use Geo Targetly to direct website visitors to the most appropriate web page and/or serve tailored content based on their location. Geo Targetly uses the IP address of a website visitor to determine the approximate location of the visitor’s device. This helps ensure that the visitor views content in their (most likely) local language.Geo Targetly Privacy Policy
    SpeedCurve
    We use SpeedCurve to monitor and measure the performance of your website experience by measuring web page load times as well as the responsiveness of subsequent elements such as images, scripts, and text.SpeedCurve Privacy Policy
    Qualified
    Qualified is the Autodesk Live Chat agent platform. This platform provides services to allow our customers to communicate in real-time with Autodesk support. We may collect unique ID for specific browser sessions during a chat. Qualified Privacy Policy

    icon-svg-hide-thick

    icon-svg-show-thick

    Improve your experience – allows us to show you what is relevant to you

    Google Optimize
    We use Google Optimize to test new features on our sites and customize your experience of these features. To do this, we collect behavioral data while you’re on our sites. This data may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, your Autodesk ID, and others. You may experience a different version of our sites based on feature testing, or view personalized content based on your visitor attributes. Google Optimize Privacy Policy
    ClickTale
    We use ClickTale to better understand where you may encounter difficulties with our sites. We use session recording to help us see how you interact with our sites, including any elements on our pages. Your Personally Identifiable Information is masked and is not collected. ClickTale Privacy Policy
    OneSignal
    We use OneSignal to deploy digital advertising on sites supported by OneSignal. Ads are based on both OneSignal data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that OneSignal has collected from you. We use the data that we provide to OneSignal to better customize your digital advertising experience and present you with more relevant ads. OneSignal Privacy Policy
    Optimizely
    We use Optimizely to test new features on our sites and customize your experience of these features. To do this, we collect behavioral data while you’re on our sites. This data may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, your Autodesk ID, and others. You may experience a different version of our sites based on feature testing, or view personalized content based on your visitor attributes. Optimizely Privacy Policy
    Amplitude
    We use Amplitude to test new features on our sites and customize your experience of these features. To do this, we collect behavioral data while you’re on our sites. This data may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, your Autodesk ID, and others. You may experience a different version of our sites based on feature testing, or view personalized content based on your visitor attributes. Amplitude Privacy Policy
    Snowplow
    We use Snowplow to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, and your Autodesk ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Snowplow Privacy Policy
    UserVoice
    We use UserVoice to collect data about your behaviour on our sites. This may include pages you’ve visited. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our platform to provide the most relevant content. This allows us to enhance your overall user experience. UserVoice Privacy Policy
    Clearbit
    Clearbit allows real-time data enrichment to provide a personalized and relevant experience to our customers. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID.Clearbit Privacy Policy
    YouTube
    YouTube is a video sharing platform which allows users to view and share embedded videos on our websites. YouTube provides viewership metrics on video performance. YouTube Privacy Policy

    icon-svg-hide-thick

    icon-svg-show-thick

    Customize your advertising – permits us to offer targeted advertising to you

    Adobe Analytics
    We use Adobe Analytics to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, and your Autodesk ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Adobe Analytics Privacy Policy
    Google Analytics (Web Analytics)
    We use Google Analytics (Web Analytics) to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Google Analytics (Web Analytics) Privacy Policy
    AdWords
    We use AdWords to deploy digital advertising on sites supported by AdWords. Ads are based on both AdWords data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that AdWords has collected from you. We use the data that we provide to AdWords to better customize your digital advertising experience and present you with more relevant ads. AdWords Privacy Policy
    Marketo
    We use Marketo to send you more timely and relevant email content. To do this, we collect data about your online behavior and your interaction with the emails we send. Data collected may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, email open rates, links clicked, and others. We may combine this data with data collected from other sources to offer you improved sales or customer service experiences, as well as more relevant content based on advanced analytics processing. Marketo Privacy Policy
    Doubleclick
    We use Doubleclick to deploy digital advertising on sites supported by Doubleclick. Ads are based on both Doubleclick data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that Doubleclick has collected from you. We use the data that we provide to Doubleclick to better customize your digital advertising experience and present you with more relevant ads. Doubleclick Privacy Policy
    HubSpot
    We use HubSpot to send you more timely and relevant email content. To do this, we collect data about your online behavior and your interaction with the emails we send. Data collected may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, email open rates, links clicked, and others. HubSpot Privacy Policy
    Twitter
    We use Twitter to deploy digital advertising on sites supported by Twitter. Ads are based on both Twitter data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that Twitter has collected from you. We use the data that we provide to Twitter to better customize your digital advertising experience and present you with more relevant ads. Twitter Privacy Policy
    Facebook
    We use Facebook to deploy digital advertising on sites supported by Facebook. Ads are based on both Facebook data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that Facebook has collected from you. We use the data that we provide to Facebook to better customize your digital advertising experience and present you with more relevant ads. Facebook Privacy Policy
    LinkedIn
    We use LinkedIn to deploy digital advertising on sites supported by LinkedIn. Ads are based on both LinkedIn data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that LinkedIn has collected from you. We use the data that we provide to LinkedIn to better customize your digital advertising experience and present you with more relevant ads. LinkedIn Privacy Policy
    Yahoo! Japan
    We use Yahoo! Japan to deploy digital advertising on sites supported by Yahoo! Japan. Ads are based on both Yahoo! Japan data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that Yahoo! Japan has collected from you. We use the data that we provide to Yahoo! Japan to better customize your digital advertising experience and present you with more relevant ads. Yahoo! Japan Privacy Policy
    Naver
    We use Naver to deploy digital advertising on sites supported by Naver. Ads are based on both Naver data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that Naver has collected from you. We use the data that we provide to Naver to better customize your digital advertising experience and present you with more relevant ads. Naver Privacy Policy
    Quantcast
    We use Quantcast to deploy digital advertising on sites supported by Quantcast. Ads are based on both Quantcast data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that Quantcast has collected from you. We use the data that we provide to Quantcast to better customize your digital advertising experience and present you with more relevant ads. Quantcast Privacy Policy
    Call Tracking
    We use Call Tracking to provide customized phone numbers for our campaigns. This gives you faster access to our agents and helps us more accurately evaluate our performance. We may collect data about your behavior on our sites based on the phone number provided. Call Tracking Privacy Policy
    Wunderkind
    We use Wunderkind to deploy digital advertising on sites supported by Wunderkind. Ads are based on both Wunderkind data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that Wunderkind has collected from you. We use the data that we provide to Wunderkind to better customize your digital advertising experience and present you with more relevant ads. Wunderkind Privacy Policy
    ADC Media
    We use ADC Media to deploy digital advertising on sites supported by ADC Media. Ads are based on both ADC Media data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that ADC Media has collected from you. We use the data that we provide to ADC Media to better customize your digital advertising experience and present you with more relevant ads. ADC Media Privacy Policy
    AgrantSEM
    We use AgrantSEM to deploy digital advertising on sites supported by AgrantSEM. Ads are based on both AgrantSEM data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that AgrantSEM has collected from you. We use the data that we provide to AgrantSEM to better customize your digital advertising experience and present you with more relevant ads. AgrantSEM Privacy Policy
    Bidtellect
    We use Bidtellect to deploy digital advertising on sites supported by Bidtellect. Ads are based on both Bidtellect data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that Bidtellect has collected from you. We use the data that we provide to Bidtellect to better customize your digital advertising experience and present you with more relevant ads. Bidtellect Privacy Policy
    Bing
    We use Bing to deploy digital advertising on sites supported by Bing. Ads are based on both Bing data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that Bing has collected from you. We use the data that we provide to Bing to better customize your digital advertising experience and present you with more relevant ads. Bing Privacy Policy
    G2Crowd
    We use G2Crowd to deploy digital advertising on sites supported by G2Crowd. Ads are based on both G2Crowd data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that G2Crowd has collected from you. We use the data that we provide to G2Crowd to better customize your digital advertising experience and present you with more relevant ads. G2Crowd Privacy Policy
    NMPI Display
    We use NMPI Display to deploy digital advertising on sites supported by NMPI Display. Ads are based on both NMPI Display data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that NMPI Display has collected from you. We use the data that we provide to NMPI Display to better customize your digital advertising experience and present you with more relevant ads. NMPI Display Privacy Policy
    VK
    We use VK to deploy digital advertising on sites supported by VK. Ads are based on both VK data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that VK has collected from you. We use the data that we provide to VK to better customize your digital advertising experience and present you with more relevant ads. VK Privacy Policy
    Adobe Target
    We use Adobe Target to test new features on our sites and customize your experience of these features. To do this, we collect behavioral data while you’re on our sites. This data may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, your Autodesk ID, and others. You may experience a different version of our sites based on feature testing, or view personalized content based on your visitor attributes. Adobe Target Privacy Policy
    Google Analytics (Advertising)
    We use Google Analytics (Advertising) to deploy digital advertising on sites supported by Google Analytics (Advertising). Ads are based on both Google Analytics (Advertising) data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that Google Analytics (Advertising) has collected from you. We use the data that we provide to Google Analytics (Advertising) to better customize your digital advertising experience and present you with more relevant ads. Google Analytics (Advertising) Privacy Policy
    Trendkite
    We use Trendkite to deploy digital advertising on sites supported by Trendkite. Ads are based on both Trendkite data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that Trendkite has collected from you. We use the data that we provide to Trendkite to better customize your digital advertising experience and present you with more relevant ads. Trendkite Privacy Policy
    Hotjar
    We use Hotjar to deploy digital advertising on sites supported by Hotjar. Ads are based on both Hotjar data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that Hotjar has collected from you. We use the data that we provide to Hotjar to better customize your digital advertising experience and present you with more relevant ads. Hotjar Privacy Policy
    6 Sense
    We use 6 Sense to deploy digital advertising on sites supported by 6 Sense. Ads are based on both 6 Sense data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that 6 Sense has collected from you. We use the data that we provide to 6 Sense to better customize your digital advertising experience and present you with more relevant ads. 6 Sense Privacy Policy
    Terminus
    We use Terminus to deploy digital advertising on sites supported by Terminus. Ads are based on both Terminus data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that Terminus has collected from you. We use the data that we provide to Terminus to better customize your digital advertising experience and present you with more relevant ads. Terminus Privacy Policy
    StackAdapt
    We use StackAdapt to deploy digital advertising on sites supported by StackAdapt. Ads are based on both StackAdapt data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that StackAdapt has collected from you. We use the data that we provide to StackAdapt to better customize your digital advertising experience and present you with more relevant ads. StackAdapt Privacy Policy
    The Trade Desk
    We use The Trade Desk to deploy digital advertising on sites supported by The Trade Desk. Ads are based on both The Trade Desk data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that The Trade Desk has collected from you. We use the data that we provide to The Trade Desk to better customize your digital advertising experience and present you with more relevant ads. The Trade Desk Privacy Policy
    RollWorks
    We use RollWorks to deploy digital advertising on sites supported by RollWorks. Ads are based on both RollWorks data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that RollWorks has collected from you. We use the data that we provide to RollWorks to better customize your digital advertising experience and present you with more relevant ads. RollWorks Privacy Policy

    Are you sure you want a less customized experience?

    We can access your data only if you select "yes" for the categories on the previous screen. This lets us tailor our marketing so that it's more relevant for you. You can change your settings at any time by visiting our privacy statement

    Your experience. Your choice.

    We care about your privacy. The data we collect helps us understand how you use our products, what information you might be interested in, and what we can improve to make your engagement with Autodesk more rewarding.

    May we collect and use your data to tailor your experience?

    Explore the benefits of a customized experience by managing your privacy settings for this site or visit our Privacy Statement to learn more about your options.