Autodesk Fusion Objects API

Object related operations

OpenAPI Specification

autodesk-fusion-objects-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Construction.Account.Admin Account Management Objects API
  version: '1.0'
  contact:
    name: Autodesk Plaform Services
    url: https://aps.autodesk.com/
    email: aps.help@autodesk.com
  termsOfService: https://www.autodesk.com/company/legal-notices-trademarks/terms-of-service-autodesk360-web-services/forge-platform-web-services-api-terms-of-service
  x-support: https://stackoverflow.com/questions/tagged/autodesk-platform-services
  description: 'The Account Admin API automates creating and managing projects, assigning and managing project users, and managing member and partner company directories. You can also synchronize data with external systems.

    '
servers:
- url: https://developer.api.autodesk.com
security:
- 2-legged: []
- 3-legged: []
tags:
- name: Objects
  description: Object related operations
paths:
  /oss/v2/buckets/{bucketKey}/objects/{objectKey}:
    delete:
      tags:
      - Objects
      summary: Delete Object
      description: Deletes an object from the bucket.
      operationId: delete_object
      parameters:
      - $ref: '#/components/parameters/bucketKey'
      - $ref: '#/components/parameters/objectKey'
      responses:
        '200':
          description: The object was successfully deleted.
          content: {}
        '400':
          $ref: '#/components/responses/BAD_REQUEST'
        '401':
          $ref: '#/components/responses/UNAUTHORIZED'
        '403':
          $ref: '#/components/responses/FORBIDDEN'
        '404':
          description: NOT FOUND, Bucket does not exist.
          content: {}
        '500':
          $ref: '#/components/responses/INTERNAL_SERVER_ERROR'
      security:
      - 2-legged:
        - data:write
      x-ads_command_line_example: 'curl -v ''https://developer.api.autodesk.com/oss/v2/buckets/bucketexamplekey/objects/objectKey -X DELETE -H ''Authorization: Bearer kuhodzPEHSCrWH3Pm1WuBMBnxw39'' -H ''Content-Type: application/json;charset=UTF-8'''
  /oss/v2/buckets/{bucketKey}/objects:
    get:
      tags:
      - Objects
      summary: List Objects
      description: "Returns a list objects in the specified bucket. \n\nOnly the application that owns the bucket can call this operation. All other applications that call this operation will receive a \"403 Forbidden\" error.\n"
      operationId: get_objects
      parameters:
      - $ref: '#/components/parameters/bucketKey'
      - $ref: '#/components/parameters/limit'
      - name: beginsWith
        in: query
        description: Filters the results by the value you specify. Only the objects with their ``objectKey`` beginning with the specified string are returned.
        schema:
          type: string
      - $ref: '#/components/parameters/startAt'
      responses:
        '200':
          description: The requested objects were returned successfully
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/bucket_objects'
            application/json:
              schema:
                $ref: '#/components/schemas/bucket_objects'
        '400':
          $ref: '#/components/responses/BAD_REQUEST'
        '401':
          $ref: '#/components/responses/UNAUTHORIZED'
        '403':
          $ref: '#/components/responses/FORBIDDEN'
        '500':
          $ref: '#/components/responses/INTERNAL_SERVER_ERROR'
      security:
      - 2-legged:
        - data:read
      x-ads_command_line_example: 'curl -v ''https://developer.api.autodesk.com/oss/v2/buckets/apptestbucket/objects?limit=1 -X GET -H ''Authorization: Bearer ShiAeQ67rdNSfmyEmtGW8Lnrcqto'' -H ''Content-Type: application/json'''
  /oss/v2/buckets/{bucketKey}/objects/{objectKey}/details:
    get:
      tags:
      - Objects
      summary: Get Object Details
      description: Returns detailed information about the specified object.
      operationId: get_object_details
      parameters:
      - $ref: '#/components/parameters/bucketKey'
      - $ref: '#/components/parameters/objectKey'
      - $ref: '#/components/parameters/If-Modified-Since'
      - $ref: '#/components/parameters/with'
      responses:
        '200':
          description: OK, Get object details was successful.
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/objectFullDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/objectFullDetails'
        '304':
          description: NOT MODIFIED, The supported formats have not been modified since the specified date.
          content: {}
        '400':
          $ref: '#/components/responses/BAD_REQUEST'
        '401':
          $ref: '#/components/responses/UNAUTHORIZED'
        '403':
          $ref: '#/components/responses/FORBIDDEN'
        '404':
          description: NOT FOUND, Object does not exist.
          content: {}
        '500':
          $ref: '#/components/responses/INTERNAL_SERVER_ERROR'
      security:
      - 2-legged:
        - data:read
      x-ads_command_line_example: 'curl -v ''https://developer.api.autodesk.com/oss/v2/buckets/apptestbucket/objects/test.txt/details -X GET -H ''Authorization: Bearer ShiAeQ67rdNSfmyEmtGW8Lnrcqto'' -H ''Content-Type: application/json'''
  /oss/v2/buckets/{bucketKey}/objects/{objectKey}/signed:
    post:
      tags:
      - Objects
      summary: Generate OSS Signed URL
      description: '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.

        '
      operationId: create_signed_resource
      parameters:
      - $ref: '#/components/parameters/bucketKey'
      - $ref: '#/components/parameters/objectKey'
      - $ref: '#/components/parameters/access'
      - name: useCdn
        in: query
        description: '``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.

          '
        schema:
          type: boolean
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/create_signed_resource'
      responses:
        '200':
          description: OK, Success
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/create_object_signed'
            application/json:
              schema:
                $ref: '#/components/schemas/create_object_signed'
        '400':
          $ref: '#/components/responses/BAD_REQUEST'
        '401':
          $ref: '#/components/responses/UNAUTHORIZED'
        '403':
          $ref: '#/components/responses/FORBIDDEN'
        '404':
          $ref: '#/components/responses/NOT_FOUND'
        '500':
          $ref: '#/components/responses/INTERNAL_SERVER_ERROR'
      security:
      - 2-legged:
        - data:write
      x-ads_command_line_example: 'curl -v -X POST ''https://developer.api.autodesk.com/oss/v2/buckets/apptestbucket/objects/test.txt/signed?access=read -H ''Authorization: Bearer L1yVvPcJDWel0oV3xlYnq7AMZIQE'' -H ''Content-Type: application/json;charset=UTF-8'' -d ''{"minutesExpiration":30}'''
  /oss/v2/signedresources/{hash}:
    parameters:
    - name: hash
      in: path
      description: 'The ID component of the signed URL.


        **Note:** The signed URL returned by [Generate OSS Signed URL](/en/docs/data/v2/reference/http/signedresources-:id-GET/) contains ``hash`` as a URI parameter.

        '
      required: true
      schema:
        type: string
    get:
      tags:
      - Objects
      summary: Download Object Using Signed URL
      description: "Downloads an object using an OSS signed URL.\n\n**Note:** The signed URL returned by [Generate OSS Signed URL](/en/docs/data/v2/reference/http/signedresources-:id-GET/)  contains the ``hash`` URI parameter as well. \n"
      operationId: get_signed_resource
      parameters:
      - name: Range
        in: header
        description: The byte range to download, specified in the form ``bytes=<START_BYTE>-<END_BYTE>``.
        schema:
          pattern: ^bytes=[0-9]+\-[0-9]*$
          type: string
      - $ref: '#/components/parameters/If-None-Match'
      - $ref: '#/components/parameters/If-Modified-Since'
      - name: Accept-Encoding
        in: header
        description: '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 header containing an end byte range. OSS will not honor the End byte range if ``Accept-Encoding: gzip`` header is used.

          '
        schema:
          type: string
      - $ref: '#/components/parameters/region'
      - name: response-content-disposition
        in: query
        description: 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.
        schema:
          type: string
      - name: response-content-type
        in: query
        description: 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.
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
        '206':
          description: PARTIAL CONTENT, Partial content of the object is returned as requested.
          content: {}
        '400':
          $ref: '#/components/responses/BAD_REQUEST'
        '401':
          $ref: '#/components/responses/UNAUTHORIZED'
        '403':
          $ref: '#/components/responses/FORBIDDEN'
        '404':
          $ref: '#/components/responses/NOT_FOUND'
        '416':
          description: RANGE NOT SATISFIABLE, Request included a Range header that is not valid for this object.
          content: {}
        '500':
          $ref: '#/components/responses/INTERNAL_SERVER_ERROR'
      security:
      - 2-legged:
        - data:read
      x-ads_command_line_example: curl -v 'https://developer.api.autodesk.com/oss/v2/signedresources/7ffc5eef-1407-4c24-b3f3-3cbfe32a9232?region=US' -X GET
    put:
      tags:
      - Objects
      summary: Replace Object Using Signed URL
      description: "Replaces an object that already exists on OSS, using an OSS signed URL. \n\nThe signed URL must fulfil the following conditions:\n\n- The signed URL is valid (it has not expired as yet).\n- It was generated with ``write`` or ``readwrite`` for the ``access`` parameter.\n"
      operationId: upload_signed_resource
      parameters:
      - name: Content-Type
        in: header
        description: 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.
        schema:
          type: string
      - name: Content-Length
        in: header
        description: The size of the data contained in the request body, in bytes.
        required: true
        schema:
          type: integer
          format: int32
      - name: Content-Disposition
        in: header
        description: The suggested file name to use when this object is downloaded as a file.
        schema:
          type: string
      - $ref: '#/components/parameters/x-ads-region'
      - name: If-Match
        in: header
        description: 'The current value of the ``sha1`` attribute of the object you want to replace. OSS checks the ``If-Match`` header 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.

          '
        schema:
          type: string
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              required:
              - body
              properties:
                body:
                  type: string
                  description: The object to upload.
                  format: binary
        required: true
      responses:
        '200':
          description: The object was replaced successfully.
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/objectDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/objectDetails'
        '400':
          $ref: '#/components/responses/BAD_REQUEST'
        '401':
          $ref: '#/components/responses/UNAUTHORIZED'
        '403':
          $ref: '#/components/responses/FORBIDDEN'
        '404':
          $ref: '#/components/responses/NOT_FOUND'
        '412':
          description: PRECONDITION FAILED, If the value sent for the `If-Match` header is not equal to the `sha1` value stored in OSS for this object, a Precondition Failed message will be returned.
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/reason'
            application/json:
              schema:
                $ref: '#/components/schemas/reason'
        '500':
          $ref: '#/components/responses/INTERNAL_SERVER_ERROR'
      security:
      - 2-legged:
        - data:write
      x-ads_command_line_example: 'curl -v ''https://developer.api.autodesk.com/oss/v2/signedresources/e63f23e2-2486-4f32-a921-bcfe8fade5e3 -X PUT -H ''Content-Type: text/plain; charset=UTF-8'' --data ''BODY: new file content bytes...'''
    delete:
      tags:
      - Objects
      summary: Delete Object Using Signed URL
      description: "Delete an object using an OSS signed URL to access it.\n\nOnly applications that own the bucket containing the object can call this operation. \n"
      operationId: delete_signed_resource
      parameters:
      - $ref: '#/components/parameters/x-ads-region'
      responses:
        '200':
          description: The object was deleted successfully.
          content: {}
        '400':
          $ref: '#/components/responses/BAD_REQUEST'
        '401':
          $ref: '#/components/responses/UNAUTHORIZED'
        '403':
          $ref: '#/components/responses/FORBIDDEN'
        '404':
          $ref: '#/components/responses/NOT_FOUND'
        '500':
          $ref: '#/components/responses/INTERNAL_SERVER_ERROR'
      security:
      - 2-legged:
        - data:write
      x-ads_command_line_example: 'curl -v ''https://developer.api.autodesk.com/oss/v2/signedresources/322cca8f-4cbf-448f-b70b-55df2597b0d2 -X DELETE -H ''Authorization: Bearer tQrZGiR0L1rYRAtEAsGyvA9ZF9Nj'''
  /oss/v2/signedresources/{hash}/resumable:
    put:
      tags:
      - Objects
      summary: Upload Object Using Signed URL
      description: "Performs a resumable upload using an OSS signed URL. Use this operation to upload an object in chunks.\n\n**Note:** The signed URL returned by [Generate OSS Signed URL](/en/docs/data/v2/reference/http/signedresources-:id-GET/) contains the ``hash`` as a URI parameter. \n"
      operationId: upload_signed_resources_chunk
      parameters:
      - name: hash
        in: path
        description: 'The ID component of the signed URL.


          **Note:** The signed URL returned by [Generate OSS Signed URL](/en/docs/data/v2/reference/http/signedresources-:id-GET/) contains ``hash`` as a URI parameter.

          '
        required: true
        schema:
          type: string
      - name: Content-Type
        in: header
        description: 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.
        schema:
          type: string
      - name: Content-Range
        in: header
        description: The byte range to upload, specified in the form ``bytes=<START_BYTE>-<END_BYTE>``.
        required: true
        schema:
          pattern: ^bytes [0-9]+\-[0-9]+\/[0-9]+$
          type: string
      - name: Content-Disposition
        in: header
        description: The suggested file name to use when this object is downloaded as a file.
        schema:
          type: string
      - $ref: '#/components/parameters/x-ads-region'
      - name: Session-Id
        in: header
        description: An ID to uniquely identify the file upload session.
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              required:
              - body
              properties:
                body:
                  type: string
                  description: The chunk to upload.
                  format: binary
        required: true
      responses:
        '200':
          description: Object was uploaded successfully.
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/objectDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/objectDetails'
        '202':
          description: ACCEPTED, Request accepted but processing not complete. Call this operation iteratively until a 200 is returned.
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/result'
            application/json:
              schema:
                $ref: '#/components/schemas/result'
        '400':
          $ref: '#/components/responses/BAD_REQUEST'
        '401':
          $ref: '#/components/responses/UNAUTHORIZED'
        '403':
          $ref: '#/components/responses/FORBIDDEN'
        '404':
          $ref: '#/components/responses/NOT_FOUND'
        '409':
          description: CONFLICT, The specified bucket key already exists.
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/reason'
            application/json:
              schema:
                $ref: '#/components/schemas/reason'
        '416':
          description: REQUEST RANGE NOT SATISFIABLE, Missing Content-Range header.
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/reason'
            application/json:
              schema:
                $ref: '#/components/schemas/reason'
        '500':
          $ref: '#/components/responses/INTERNAL_SERVER_ERROR'
      security:
      - 2-legged:
        - data:write
      x-ads_command_line_example: curl -v 'https://developer.api.autodesk.com/oss/v2/signedresources/4ff88e65-e7c0-4b10-bac8-750f48b37cf2/resumable' -X PUT -H 'Content-Type:text/plain; charset=UTF-8' -H 'Content-Range:bytes 0-0/10' -H 'Session-Id:1661831201' --data ' X '
  /oss/v2/buckets/{bucketKey}/objects/{objectKey}/copyto/{newObjKey}:
    put:
      tags:
      - Objects
      summary: Copy Object
      description: Creates a copy of an object within the bucket.
      operationId: copyTo
      parameters:
      - $ref: '#/components/parameters/bucketKey'
      - $ref: '#/components/parameters/objectKey'
      - name: newObjKey
        in: path
        description: A URL-encoded human friendly name to identify the copied object.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Object was copied successfully.
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/objectDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/objectDetails'
        '400':
          $ref: '#/components/responses/BAD_REQUEST'
        '401':
          $ref: '#/components/responses/UNAUTHORIZED'
        '403':
          $ref: '#/components/responses/FORBIDDEN'
        '404':
          $ref: '#/components/responses/NOT_FOUND'
        '500':
          $ref: '#/components/responses/INTERNAL_SERVER_ERROR'
      security:
      - 2-legged:
        - data:write
        - data:create
      x-ads_command_line_example: curl -v 'https://developer.api.autodesk.com/oss/v2/buckets/bucketexamplekey/objects/testobject/copyto/copyoftestobject' -X PUT -H 'Authorization=Bearer 1B6FU8z9S2x1PrjADDfPCzSGrXmI'
  /oss/v2/buckets/{bucketKey}/objects/{objectKey}/signeds3download:
    get:
      tags:
      - Objects
      summary: Generate Signed S3 Download URL
      description: "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.\n\nOnly applications that have read access to the object can call this operation.   \n\nYou can use range headers 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.\n\nIf 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`` query parameter to ``true``. This setting will make OSS fallback to returning a single signed OSS URL, if assembling is still in progress. \n\nIn 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.\n"
      operationId: signed_s3_download
      parameters:
      - $ref: '#/components/parameters/bucketKey'
      - $ref: '#/components/parameters/objectKey'
      - name: If-None-Match
        in: header
        description: The last known ETag value of the object. OSS returns the signed URL only if the ``If-None-Match`` header differs from the ETag value of the object on S3. If not, it returns a 304 "Not Modified" HTTP status.
        schema:
          type: string
      - name: If-Modified-Since
        in: header
        description: 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.
        schema:
          type: string
          format: date
      - name: response-content-type
        in: query
        description: 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.
        schema:
          type: string
      - name: response-content-disposition
        in: query
        description: 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.
        schema:
          type: string
      - name: response-cache-control
        in: query
        description: 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.
        schema:
          type: string
      - name: public-resource-fallback
        in: query
        description: '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.

          '
        schema:
          type: boolean
      - name: minutesExpiration
        in: query
        description: '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.

          '
        schema:
          type: integer
      - name: useCdn
        in: query
        description: '``true`` : Returns a URL that points to a CloudFront edge location.


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

          '
        schema:
          type: boolean
      responses:
        '200':
          description: A signed S3 URL was successfully generated.
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/signeds3download_response'
            application/json:
              schema:
                $ref: '#/components/schemas/signeds3download_response'
        '304':
          description: NOT MODIFIED, If-None-Match header matches the object ETag or object has not been modified since the If-Modified-Since date.
          content: {}
        '400':
          description: BAD REQUEST, the request has missing or malformed parameters.
          content: {}
        '401':
          description: UNAUTHORIZED, Invalid authorization header.
          content: {}
        '403':
          $ref: '#/components/responses/FORBIDDEN'
        '404':
          description: NOT FOUND, Object or Bucket does not exist.
          content: {}
        '500':
          $ref: '#/components/responses/INTERNAL_SERVER_ERROR'
      security:
      - 2-legged:
        - data:read
  /oss/v2/buckets/{bucketKey}/objects/batchsigneds3upload:
    post:
      tags:
      - Objects
      summary: Batch Generate Signed S3 Upload URLs
      description: "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.\n\nOnly the application that owns the bucket can call this operation. All other applications that call this operation will receive a \"403 Forbidden\" error.\n\nIf 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](/en/docs/data/v2/reference/http/buckets-:bucketKey-objects-:objectKey-batchcompleteupload-POST/) 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.\n\nIf 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. \n"
      operationId: batch_signed_s3_upload
      parameters:
      - $ref: '#/components/parameters/bucketKey'
      - name: useAcceleration
        in: query
        description: '``true`` : (Default) Generates a faster S3 signed URL using Transfer Acceleration.


          ``false``: Generates a standard S3 signed URL.

          '
        schema:
          type: boolean
      - name: minutesExpiration
        in: query
        description: '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.

          '
        schema:
          type: integer
          minimum: 1
          maximum: 60
      requestBody:
        description: An array of objects representing each request for a signed upload URL.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/batchsigneds3upload_object'
      responses:
        '200':
          description: The request was successfully processed. The response body will contain objects that indicate the outcome for each object signed URLs were requested for. Objects corresponding to successful request will contain signed URLs. Objects corresponding to failed requests will contain details of the failure.
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/batchsigneds3upload_response'
            application/json:
              schema:
                $ref: '#/components/schemas/batchsigneds3upload_response'
        '400':
          $ref: '#/components/responses/BAD_REQUEST'
        '401':
          $ref: '#/components/responses/UNAUTHORIZED'
        '403':
          $ref: '#/components/responses/FORBIDDEN'
        '404':
          description: NOT FOUND, Object or Bucket does not exist.
          content: {}
        '429':
          $ref: '#/components/responses/RATE_LIMIT_EXCEEDED'
        '500':
          $ref: '#/components/responses/INTERNAL_SERVER_ERROR'
      security:
      - 2-legged:
        - data:write
        - data:create
  /oss/v2/buckets/{bucketKey}/objects/batchcompleteupload:
    post:
      tags:
      - Objects
      summary: Complete Batch Upload to S3 Signed URLs
      description: "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. \n\nYou can specify up to 25 objects in this operation. \n"
      operationId: batch_complete_upload
      parameters:
      - $ref: '#/components/parameters/bucketKey'
      requestBody:
        description: An array of objects, each of which represents an upload to complete.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/batchcompleteupload_object'
      responses:
        '200':
          description: The request was successfully processed. The response body will contain objects that indicate the outcome for each uploaded object.
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/batchcompleteupload_response'
            application/json:
              schema:
                $ref: '#/components/schemas/batchcompleteupload_response'
        '400':
          $ref: '#/components/responses/BAD_REQUEST'
        '401':
          $ref: '#/components/responses/UNAUTHORIZED'
        '403':
          $ref: '#/components/responses/FORBIDDEN'
        '404':
          description: Object or Bucket does not exist.
          content: {}
        '429':
          $ref: '#/components/responses/RATE_LIMIT_EXCEEDED'
        '500':
          $ref: '#/components/responses/INTERNAL_SERVER_ERROR'
      security:
      - 2-legged:
        - data:write
        - data:create
  /oss/v2/buckets/{bucketKey}/objects/batchsigneds3download:
    post:
      tags:
      - Objects
      summary: Batch Generate Signed S3 Download URLs
      description: '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

# --- truncated at 32 KB (71 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/autodesk-fusion/refs/heads/main/openapi/autodesk-fusion-objects-api-openapi.yml