openapi: 3.0.0 info: title: dataManagementApi description: >- [https://aps.autodesk.com/en/docs/data/v2/reference/http/](https://aps.autodesk.com/en/docs/data/v2/reference/http/) version: 1.0.0 servers: - url: https://developer.api.autodesk.com components: securitySchemes: oAuth: type: oauth2 flows: implicit: authorizationUrl: https://index.hdr.engineeringsandbox.co.uk/api/auth/gettoken scopes: Default: Default security: - oAuth: - Default tags: - name: Hubs - name: Projects - name: Folders - name: Items - name: Versions paths: /project/v1/hubs: get: tags: - Hubs operationId: gethubs security: - oAuth: [] parameters: - name: filter[extension.type] in: query schema: type: string - name: filter[id] in: query schema: type: string - name: filter[name] in: query schema: type: string responses: '200': description: Successful response content: application/json: {} /project/v1/hubs/{hub_id}: get: tags: - Hubs operationId: hubsById security: - oAuth: [] parameters: - name: filter[id] in: query schema: type: array items: type: string - name: filter[name] in: query schema: type: array items: type: string - name: filter[extension.type] in: query schema: type: array items: type: string - name: hub_id in: path schema: type: string required: true example: '{{hub_id}}' responses: '200': description: Successful response content: application/json: {} /project/v1/hubs/{hub_id}/projects: get: tags: - Projects operationId: projectsInHub security: - oAuth: [] parameters: - name: filter[extension.type] in: query schema: type: array items: type: string - name: filter[id] in: query schema: type: array items: type: string - name: page[number] in: query schema: type: integer - name: page[limit] in: query schema: type: integer - name: hub_id in: path schema: type: string required: true example: '{{hub_id}}' responses: '200': description: Successful response content: application/json: {} /project/v1/hubs/{hub_id}/projects/{project_id}: get: tags: - Projects operationId: projectById security: - oAuth: [] parameters: - name: hub_id in: path schema: type: string required: true example: '{{hub_id}}' - name: project_id in: path schema: type: string required: true example: '{{project_id}}' responses: '200': description: Successful response content: application/json: {} /project/v1/hubs/{hub_id}/projects/{project_id}/hub: get: tags: - Projects operationId: hubByProjectId security: - oAuth: [] parameters: - name: hub_id in: path schema: type: string required: true example: '{{hub_id}}' - name: project_id in: path schema: type: string required: true example: '{{project_id}}' responses: '200': description: Successful response content: application/json: {} /project/v1/hubs/{hub_id}/projects/{project_id}/topFolders: get: tags: - Projects operationId: projectTopFolder security: - oAuth: [] parameters: - name: excludeDeleted in: query schema: type: boolean - name: projectFilesOnly in: query schema: type: boolean - name: hub_id in: path schema: type: string required: true example: '{{hub_id}}' - name: project_id in: path schema: type: string required: true example: '{{project_id}}' responses: '200': description: Successful response content: application/json: {} /data/v1/projects/{project_id}/downloads/{download_id}: get: tags: - Projects operationId: downloadIdByProject security: - oAuth: [] parameters: - name: project_id in: path schema: type: string required: true example: '{{project_id}}' - name: download_id in: path schema: type: string required: true example: '{{download_id}}' responses: '200': description: Successful response content: application/json: {} /data/v1/projects/{project_id}/jobs/{job_id}: get: tags: - Projects operationId: projectJobId security: - oAuth: [] parameters: - name: project_id in: path schema: type: string required: true example: '{{project_id}}' - name: job_id in: path schema: type: string required: true example: '{{job_id}}' responses: '200': description: Successful response content: application/json: {} /data/v1/projects/{project_id}/folders/{folder_id}: get: tags: - Folders operationId: folderById security: - oAuth: [] parameters: - name: If-Modified-Since in: header schema: type: string - name: project_id in: path schema: type: string required: true example: '{{project_id}}' - name: folder_id in: path schema: type: string required: true example: '{{folder_id}}' responses: '200': description: Successful response content: application/json: {} /data/v1/projects/{project_id}/folders/{folder_id}/contents: get: tags: - Folders operationId: folderContents security: - oAuth: [] parameters: - name: filter[type] in: query schema: type: array items: type: string - name: filter[id] in: query schema: type: array items: type: string - name: filter[extension.type] in: query schema: type: array items: type: string - name: filter[lastModifiedTimeRollup] in: query schema: type: array items: type: string - name: page[number] in: query schema: type: integer - name: page[limit] in: query schema: type: integer - name: includeHidden in: query schema: type: boolean - name: project_id in: path schema: type: string required: true example: '{{project_id}}' - name: folder_id in: path schema: type: string required: true example: '{{folder_id}}' responses: '200': description: Successful response content: application/json: {} /data/v1/projects/{project_id}/folders/{folder_id}/parent: get: tags: - Folders operationId: parentOfFolder security: - oAuth: [] parameters: - name: If-Modified-Since in: header schema: type: string - name: project_id in: path schema: type: string required: true example: '{{project_id}}' - name: folder_id in: path schema: type: string required: true example: '{{folder_id}}' responses: '200': description: Successful response content: application/json: {} /data/v1/projects/{project_id}/folders/{folder_id}/refs: get: tags: - Folders operationId: folderRelationships security: - oAuth: [] parameters: - name: If-Modified-Since in: header schema: type: string - name: filter[extension.type] in: query schema: type: string - name: filter[id] in: query schema: type: string - name: filter[type] in: query schema: type: string - name: project_id in: path schema: type: string required: true example: '{{project_id}}' - name: folder_id in: path schema: type: string required: true example: '{{folder_id}}' responses: '200': description: Successful response content: application/json: {} /data/v1/projects/{project_id}/folders/{folder_id}/relationships/links: get: tags: - Folders operationId: folderLinks security: - oAuth: [] parameters: - name: If-Modified-Since in: header schema: type: string - name: project_id in: path schema: type: string required: true example: '{{project_id}}' - name: folder_id in: path schema: type: string required: true example: '{{folder_id}}' responses: '200': description: Successful response content: application/json: {} /data/v1/projects/{project_id}/folders/{folder_id}/relationships/refs: get: tags: - Folders operationId: folderRelationshipReferences security: - oAuth: [] parameters: - name: If-Modified-Since in: header schema: type: string - name: filter[type] in: query schema: type: array items: type: string - name: filter[id] in: query schema: type: array items: type: string - name: filter[refType] in: query schema: type: string enum: [derived,dependencies,auxiliary,xrefs,includes] - name: filter[direction] in: query schema: type: string enum: [from,to] - name: filter[extension.type] in: query schema: type: array items: type: string - name: project_id in: path schema: type: string required: true example: '{{project_id}}' - name: folder_id in: path schema: type: string required: true example: '{{folder_id}}' responses: '200': description: Successful response content: application/json: {} /data/v1/projects/{project_id}/folders/{folder_id}/search: get: tags: - Folders operationId: folderSearch security: - oAuth: [] parameters: - name: If-Modified-Since in: header schema: type: string - name: filter[{{filter_type}}] in: query schema: type: array items: type: string - name: page[number] in: query schema: type: integer - name: project_id in: path schema: type: string required: true example: '{{project_id}}' - name: folder_id in: path schema: type: string required: true example: '{{folder_id}}' responses: '200': description: Successful response content: application/json: {} /data/v1/projects/{project_id}/items/{item_id}: get: tags: - Items operationId: itemsById security: - oAuth: [] parameters: - name: includPathinProject in: query schema: type: boolean - name: project_id in: path schema: type: string required: true example: '{{project_id}}' - name: item_id in: path schema: type: string required: true example: '{{item_id}}' responses: '200': description: Successful response content: application/json: {} /data/v1/projects/{project_id}/items/{item_id}/parent: get: tags: - Items operationId: parentOfItem security: - oAuth: [] parameters: - name: project_id in: path schema: type: string required: true example: '{{project_id}}' - name: item_id in: path schema: type: string required: true example: '{{item_id}}' responses: '200': description: Successful response content: application/json: {} /data/v1/projects/{project_id}/items/{item_id}/refs: get: tags: - Items operationId: itemRelationships security: - oAuth: [] parameters: - name: filter[type] in: query schema: type: array items: type: string - name: filter[id] in: query schema: type: array items: type: string - name: filter[extension.type] in: query schema: type: array items: type: string - name: project_id in: path schema: type: string required: true example: '{{project_id}}' - name: item_id in: path schema: type: string required: true example: '{{item_id}}' responses: '200': description: Successful response content: application/json: {} /data/v1/projects/{project_id}/items/{item_id}/relationships/links: get: tags: - Items operationId: itemLinks security: - oAuth: [] parameters: - name: project_id in: path schema: type: string required: true example: '{{project_id}}' - name: item_id in: path schema: type: string required: true example: '{{item_id}}' responses: '200': description: Successful response content: application/json: {} /data/v1/projects/{project_id}/items/{item_id}/relationships/refs: get: tags: - Items operationId: itemRelationshipReferences security: - oAuth: [] parameters: - name: filter[type] in: query schema: type: array items: type: string - name: filter[id] in: query schema: type: array items: type: string - name: filter[refType] in: query schema: type: string enum: [derived,dependencies,auxiliary,xrefs,includes] - name: filter[direction] in: query schema: type: string enum: [from,to] - name: filter[extension.type] in: query schema: type: array items: type: string - name: project_id in: path schema: type: string required: true example: '{{project_id}}' - name: item_id in: path schema: type: string required: true example: '{{item_id}}' responses: '200': description: Successful response content: application/json: {} /data/v1/projects/{project_id}/items/{item_id}/tip: get: tags: - Items operationId: itemLatestVersion security: - oAuth: [] parameters: - name: project_id in: path schema: type: string required: true example: '{{project_id}}' - name: item_id in: path schema: type: string required: true example: '{{item_id}}' responses: '200': description: Successful response content: application/json: {} /data/v1/projects/{project_id}/items/{item_id}/versions: get: tags: - Items operationId: itemListVersions security: - oAuth: [] parameters: - name: filter[id] in: query schema: type: array items: type: string - name: filter[extension.type] in: query schema: type: array items: type: string - name: filter[versionNumber] in: query schema: type: string description: 'array: integer' - name: page[number] in: query schema: type: integer - name: page[limit] in: query schema: type: integer - name: project_id in: path schema: type: string required: true example: '{{project_id}}' - name: item_id in: path schema: type: string required: true example: '{{item_id}}' responses: '200': description: Successful response content: application/json: {} /data/v1/projects/{project_id}/versions/{version_id}: get: tags: - Versions operationId: versionById security: - oAuth: [] parameters: - name: project_id in: path schema: type: string required: true example: '{{project_id}}' - name: version_id in: path schema: type: string required: true example: '{{version_id}}' responses: '200': description: Successful response content: application/json: {} /data/v1/projects/{project_id}/versions/{version_id}/downloadFormats: get: tags: - Versions operationId: versionFileFormats security: - oAuth: [] parameters: - name: project_id in: path schema: type: string required: true example: '{{project_id}}' - name: version_id in: path schema: type: string required: true example: '{{version_id}}' responses: '200': description: Successful response content: application/json: {} /data/v1/projects/{project_id}/versions/{version_id}/downloads: get: tags: - Versions operationId: versionDownloads security: - oAuth: [] parameters: - name: filter[format.fileType] in: query schema: type: array items: type: string - name: project_id in: path schema: type: string required: true example: '{{project_id}}' - name: version_id in: path schema: type: string required: true example: '{{version_id}}' responses: '200': description: Successful response content: application/json: {} /data/v1/projects/{project_id}/versions/{version_id}/item: get: tags: - Versions operationId: itemByVersionId security: - oAuth: [] parameters: - name: project_id in: path schema: type: string required: true example: '{{project_id}}' - name: version_id in: path schema: type: string required: true example: '{{version_id}}' responses: '200': description: Successful response content: application/json: {} /data/v1/projects/{project_id}/versions/{version_id}/refs: get: tags: - Versions operationId: versionRelationships security: - oAuth: [] parameters: - name: filter[type] in: query schema: type: array items: type: string - name: filter[id] in: query schema: type: array items: type: string - name: filter[extension.type] in: query schema: type: array items: type: string - name: project_id in: path schema: type: string required: true example: '{{project_id}}' - name: version_id in: path schema: type: string required: true example: '{{version_id}}' responses: '200': description: Successful response content: application/json: {} /data/v1/projects/{project_id}/versions/{version_id}/relationships/links: get: tags: - Versions operationId: versionLinks security: - oAuth: [] parameters: - name: project_id in: path schema: type: string required: true example: '{{project_id}}' - name: version_id in: path schema: type: string required: true example: '{{version_id}}' responses: '200': description: Successful response content: application/json: {} /data/v1/projects/{project_id}/versions/{version_id}/relationships/refs: get: tags: - Versions operationId: versionRelationshipReferences security: - oAuth: [] parameters: - name: filter[type] in: query schema: type: array items: type: string - name: filter[id] in: query schema: type: array items: type: string - name: filter[refType] in: query schema: type: string enum: [derived,dependencies,auxiliary,xrefs,includes] - name: filter[direction] in: query schema: type: string enum: [from,to] - name: filter[extension.type] in: query schema: type: array items: type: string - name: project_id in: path schema: type: string required: true example: '{{project_id}}' - name: version_id in: path schema: type: string required: true example: '{{version_id}}' responses: '200': description: Successful response content: application/json: {} /data/v1/projects/:project_id/downloads: post: tags: - Projects operationId: projectRequestDownload security: - oAuth: [] parameters: - name: project_id in: path schema: type: string required: true - name: x-user-id in: header schema: type: string required: false description: "In a two-legged authentication context, the app has access to all users specified by the administrator in the SaaS integrations UI. By providing this header, the API call will be limited to act on behalf of only the user specified." requestBody: required: true content: application/vnd.api+json: schema: type: object properties: jsonapi: type: object properties: version: type: string enum: ['1.0'] data: type: object properties: type: type: string enum: ['downloads'] attributes: type: object properties: format: type: object properties: fileType: type: string relationships: type: object properties: source: type: object properties: data: type: object properties: type: type: string enum: ['versions'] id: type: string responses: '202': description: Successful response content: application/json: {} /data/v1/projects/:project_id/storage: post: tags: - Projects operationId: createStorageLocation security: - oAuth: [] parameters: - name: project_id in: path schema: type: string required: true example: 'b.c8b0c73d-3ae9' - name: x-user-id in: header schema: type: string required: false description: "Creates a storage location in the OSS where data can be uploaded to." requestBody: required: true content: application/vnd.api+json: schema: type: object properties: jsonapi: type: object properties: version: type: string enum: ['1.0'] data: type: object properties: type: type: string enum: ['downloads'] attributes: type: object properties: name: type: string relationships: type: object properties: target: type: object properties: data: type: object properties: type: type: string enum: ['versions'] id: type: string responses: '201': description: Successful creation of a storage location content: application/json: {} /oss/v2/buckets: post: tags: - Buckets operationId: createBucket parameters: - name: bucketKey in: query description: The URL-encoded name/key of the bucket to create schema: type: string required: true - name: policyKey in: query description: The URL-encoded key of the policy to apply to the bucket schema: type: string responses: '200': description: OK '400': description: Bad request '401': description: Unauthorized '403': description: Forbidden '409': description: Conflict '429': description: Rate Limit Exceeded '500': description: Internal Server Error /oss/v2/buckets/{bucketKey}: delete: tags: - Buckets operationId: deleteBucket security: - oAuth: [] parameters: - name: bucketKey in: path description: URL-encoded bucket name schema: type: string required: true responses: '204': description: Bucket deletion was successful '400': description: Bad request '401': description: Unauthorized '403': description: Forbidden '404': description: Not found '500': description: Internal server error /oss/v2/buckets/{bucketKey}/details: get: tags: - Buckets operationId: getBucketDetails security: - oAuth: [] parameters: - name: bucketKey in: path description: URL-encoded bucket key for which to get details schema: type: string required: true responses: '200': description: Successful retrieval of bucket details '400': description: Bad request '401': description: Unauthorized '403': description: Forbidden '404': description: Not found '500': description: Internal server error /oss/v2/buckets/{bucketKey}/objects: get: tags: - Objects operationId: listObjects parameters: - name: bucketKey in: path description: The URL-encoded name/key of the bucket schema: type: string required: true - name: limit in: query description: The maximum number of objects to return schema: type: integer responses: '200': description: OK '401': description: Unauthorized '403': description: Forbidden '404': description: Not Found '429': description: Rate Limit Exceeded '500': description: Internal Server Error /oss/v2/buckets/{bucketKey}/objects/{objectKey}: get: tags: - Objects operationId: getObjectDetails parameters: - name: bucketKey in: path description: The URL-encoded name/key of the bucket schema: type: string required: true - name: objectKey in: path description: The URL-encoded name/key of the object schema: type: string required: true responses: '200': description: OK '401': description: Unauthorized '403': description: Forbidden '404': description: Not Found '429': description: Rate Limit Exceeded '500': description: Internal Server Error delete: tags: - Objects operationId: deleteObject parameters: - name: bucketKey in: path description: The URL-encoded name/key of the bucket schema: type: string required: true - name: objectKey in: path description: The URL-encoded name/key of the object schema: type: string required: true responses: '200': description: OK '401': description: Unauthorized '403': description: Forbidden '404': description: Not Found '429': description: Rate Limit Exceeded '500': description: Internal Server Error /oss/v2/buckets/{bucketKey}/objects/{objectKey}/signeds3upload: get: tags: - Objects operationId: getSignedS3UploadUrl parameters: - name: bucketKey in: path description: The URL-encoded name/key of the bucket schema: type: string required: true - name: objectKey in: path description: The URL-encoded name/key of the object schema: type: string required: true - name: uploadKey in: query description: The identifier of a previously-initiated upload schema: type: string - name: firstPart in: query description: The starting index when getting upload part URL for a multipart upload schema: type: integer - name: parts in: query description: The number of chunk URLs to return for a multipart upload schema: type: integer - name: useAcceleration in: query description: Whether or not to generate an accelerated signed URL schema: type: boolean - name: minutesExpiration in: query description: The custom expiration time within the 1 to 60 minutes range schema: type: integer responses: '200': description: OK '400': description: Bad Request '401': description: Unauthorized '403': description: Forbidden '404': description: Not Found '429': description: Rate Limit Exceeded '500': description: Internal Server Error post: tags: - Objects operationId: completeS3Upload parameters: - name: bucketKey in: path description: The URL-encoded name/key of the bucket schema: type: string required: true - name: objectKey in: path description: The URL-encoded name/key of the object schema: type: string required: true requestBody: required: true content: application/json: schema: type: object properties: uploadKey: type: string description: The identifier of the upload session size: type: integer description: The expected size of the uploaded object eTags: type: array items: type: string description: An array of eTags required: - uploadKey responses: '200': description: OK '400': description: Bad Request '401': description: Unauthorized '403': description: Forbidden '404': description: Not Found '429': description: Rate Limit Exceeded '500': description: Internal Server Error /oss/v2/buckets/{bucketKey}/objects/{objectKey}/copyto/{newObjectKey}: put: tags: - Objects operationId: copyObject parameters: - name: bucketKey in: path description: The URL-encoded name/key of the bucket schema: type: string required: true - name: objectKey in: path description: The URL-encoded name/key of the object schema: type: string required: true - name: newObjectKey in: path description: The URL-encoded name/key of the new object schema: type: string required: true responses: '200': description: OK '400': description: Bad Request '401': description: Unauthorized '403': description: Forbidden '404': description: Not Found '500': description: Internal Server Error /oss/v2/buckets/{bucketKey}/objects/{objectKey}/signeds3download: post: tags: - Objects operationId: batchSignedS3Download parameters: - name: bucketKey in: path description: The URL-encoded name/key of the bucket schema: type: string required: true requestBody: required: true content: application/json: schema: type: object properties: requests: type: array items: type: object properties: objectKey: type: string description: The key/name of the object for which to create a download S3 signed URL required: true response-content-type: type: string description: The value of the Content-Type header expected in the response response-content-disposition: type: string description: The value of the Content-Disposition header expected in the response response-cache-control: type: string description: The value of the Cache-Control header expected in the response public-resource-fallback: type: boolean description: Allows fallback to OSS signed URLs in case of unmerged resumable uploads useCdn: type: boolean description: Generate a CloudFront URL for the S3 object minutesExpiration: type: integer description: The custom expiration time within the 1 to 60 minutes range required: - requests responses: '200': description: OK '304': description: Not Modified '400': description: Bad Request '401': description: Unauthorized '403': description: Forbidden '404': description: Not Found '500': description: Internal Server Error /oss/v2/buckets/{bucketKey}/objects/batchcompleteupload: post: tags: - Objects operationId: batchCompleteUpload parameters: - name: bucketKey in: path description: The URL-encoded name/key of the bucket schema: type: string required: true requestBody: required: true content: application/json: schema: type: object properties: requests: type: array items: type: object properties: objectKey: type: string description: The key/name of the object for which to complete an upload uploadKey: type: string description: The identifier of the upload session size: type: integer description: The expected size of the uploaded object eTags: type: array items: type: string description: An array of eTags x-ads-meta-Content-Type: type: string description: The Content-Type value that OSS will store in the record for the uploaded object x-ads-meta-Content-Disposition: type: string description: The Content-Disposition value that OSS will store in the record for the uploaded object x-ads-meta-Content-Encoding: type: string description: The Content-Encoding value that OSS will store in the record for the uploaded object x-ads-meta-Cache-Control: type: string description: The Cache-Control value that OSS will store in the record for the uploaded object required: - requests responses: '200': description: OK '400': description: Bad Request '401': description: Unauthorized '403': description: Forbidden '404': description: Not Found '429': description: Rate Limit Exceeded '500': description: Internal Server Error /oss/v2/buckets/{bucketKey}/objects/batchsigneds3upload: post: tags: - Objects operationId: batchSignedS3Upload parameters: - name: bucketKey in: path description: The URL-encoded name/key of the bucket schema: type: string required: true requestBody: required: true content: application/json: schema: type: object properties: requests: type: array items: type: object properties: objectKey: type: string description: The key/name of the object for which to create an S3 upload URL firstPart: type: integer description: The index of an individual part for which to retrieve a chunk upload URL parts: type: integer description: The number of chunk URLs to return for a multipart upload uploadKey: type: string description: The identifier of a previously-initiated upload x-ads-meta-Content-Type: type: string description: The Content-Type value that OSS will store in the record for the uploaded object x-ads-meta-Content-Disposition: type: string description: The Content-Disposition value that OSS will store in the record for the uploaded object x-ads-meta-Content-Encoding: type: string description: The Content-Encoding value that OSS will store in the record for the uploaded object x-ads-meta-Cache-Control: type: string description: The Cache-Control value that OSS will store in the record for the uploaded object required: - requests responses: '200': description: OK '400': description: Bad Request '401': description: Unauthorized '403': description: Forbidden '404': description: Not Found '429': description: Rate Limit Exceeded '500': description: Internal Server Error /data/v1/projects: post: tags: - Projects operationId: createProject requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ProjectCreateRequest' responses: '201': description: Created '400': description: Bad Request '401': description: Unauthorized '403': description: Forbidden '500': description: Internal Server Error /data/v1/projects/{projectId}: get: tags: - Projects operationId: getProject parameters: - name: projectId in: path description: The ID of the project to retrieve schema: type: string required: true responses: '200': description: OK '401': description: Unauthorized '403': description: Forbidden '404': description: Not Found '500': description: Internal Server Error /data/v1/projects/{projectId}/folders: post: tags: - Folders operationId: createFolder parameters: - name: projectId in: path description: The ID of the project where the folder will be created schema: type: string required: true requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/FolderCreateRequest' responses: '201': description: Created '400': description: Bad Request '401': description: Unauthorized '403': description: Forbidden '404': description: Not Found '500': description: Internal Server Error /data/v1/projects/{projectId}/folders/{folderId}: delete: tags: - Folders operationId: deleteFolder parameters: - name: projectId in: path description: The ID of the project containing the folder schema: type: string required: true - name: folderId in: path description: The ID of the folder to delete schema: type: string required: true responses: '204': description: No Content '401': description: Unauthorized '403': description: Forbidden '404': description: Not Found '500': description: Internal Server Error /data/v1/projects/{projectId}/items: post: tags: - Items operationId: createItem parameters: - name: projectId in: path description: The ID of the project where the item will be created schema: type: string required: true requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ItemCreateRequest' responses: '201': description: Created '400': description: Bad Request '401': description: Unauthorized '403': description: Forbidden '404': description: Not Found '500': description: Internal Server Error /data/v1/projects/{projectId}/items/{itemId}: patch: tags: - Items operationId: updateItem parameters: - name: projectId in: path description: The ID of the project containing the item schema: type: string required: true - name: itemId in: path description: The ID of the item to update schema: type: string required: true requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ItemUpdateRequest' responses: '200': description: OK '400': description: Bad Request '401': description: Unauthorized '403': description: Forbidden '404': description: Not Found '500': description: Internal Server Error delete: tags: - Items operationId: deleteItem parameters: - name: projectId in: path description: The ID of the project containing the item schema: type: string required: true - name: itemId in: path description: The ID of the item to delete schema: type: string required: true responses: '204': description: No Content '401': description: Unauthorized '403': description: Forbidden '404': description: Not Found '500': description: Internal Server Error /data/v1/projects/{projectId}/items/{itemId}/versions: post: tags: - Versions operationId: createVersion parameters: - name: projectId in: path description: The ID of the project containing the item schema: type: string required: true - name: itemId in: path description: The ID of the item for which to create a version schema: type: string required: true requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/VersionCreateRequest' responses: '201': description: Created '400': description: Bad Request '401': description: Unauthorized '403': description: Forbidden '404': description: Not Found '500': description: Internal Server Error /data/v1/projects/{projectId}/items/{itemId}/versions/{versionId}: get: tags: - Versions operationId: getVersion parameters: - name: projectId in: path description: The ID of the project containing the item schema: type: string required: true - name: itemId in: path description: The ID of the item containing the version schema: type: string required: true - name: versionId in: path description: The ID of the version to retrieve schema: type: string required: true responses: '200': description: OK '401': description: Unauthorized '403': description: Forbidden '404': description: Not Found '500': description: Internal Server Error