openapi: 3.2.0 info: description: Full description of Noosh API version: '1.0' title: Noosh API application File API contact: {} x-api-evangelist-note: Harvested verbatim from https://api.noosh.com/api/swagger.json on 2026-08-13. The published document declares host example.com:80 and basePath /v1, which are build-time placeholders (the same document is mirrored by APIs.guru with host noosh.local:80). host has been set to api.noosh.com — the host that actually serves this document and the Swagger UI at /api/developer/index.html — and basePath removed because every path already carries its own version prefix (/v1, /1.1, /1.2, /3). The unmodified document is preserved at openapi/_original/noosh-openapi.json. Every route returns HTTP 403 to unauthenticated callers (AWS API Gateway + CloudFront), so the deployment path prefix could not be confirmed live. servers: - url: https://api.noosh.com tags: - name: File paths: /1.1/workgroups/{workgroup_id}/projects/{project_id}/fileTags: get: tags: - File summary: List Tags from Workgroup and Project. description: List Tags from Workgroup and Project. operationId: getFileTags parameters: - name: workgroup_id in: path required: true schema: type: string - name: project_id in: path required: true schema: type: string responses: '200': description: Successful retrieval content: application/json: schema: $ref: '#/components/schemas/FileTagResponseVO' application/x-json-smile: schema: $ref: '#/components/schemas/FileTagResponseVO' application/xml: schema: $ref: '#/components/schemas/FileTagResponseVO' text/xml: schema: $ref: '#/components/schemas/FileTagResponseVO' application/x-yaml: schema: $ref: '#/components/schemas/FileTagResponseVO' text/x-yaml: schema: $ref: '#/components/schemas/FileTagResponseVO' text/csv: schema: $ref: '#/components/schemas/FileTagResponseVO' '*/*': schema: $ref: '#/components/schemas/FileTagResponseVO' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/HTTPStatusVO' application/x-json-smile: schema: $ref: '#/components/schemas/HTTPStatusVO' application/xml: schema: $ref: '#/components/schemas/HTTPStatusVO' text/xml: schema: $ref: '#/components/schemas/HTTPStatusVO' application/x-yaml: schema: $ref: '#/components/schemas/HTTPStatusVO' text/x-yaml: schema: $ref: '#/components/schemas/HTTPStatusVO' text/csv: schema: $ref: '#/components/schemas/HTTPStatusVO' '*/*': schema: $ref: '#/components/schemas/HTTPStatusVO' /1.1/workgroups/{workgroup_id}/projects/{project_id}/files: get: tags: - File summary: List Files from Project. Works for Regular and Remote Files description: List Files from Project. Works for Regular and Remote Files operationId: getFiles parameters: - name: workgroup_id in: path required: true schema: type: string - name: project_id in: path required: true schema: type: string responses: '200': description: Successful retrieval content: application/json: schema: $ref: '#/components/schemas/FileListResponseVO' application/x-json-smile: schema: $ref: '#/components/schemas/FileListResponseVO' application/xml: schema: $ref: '#/components/schemas/FileListResponseVO' text/xml: schema: $ref: '#/components/schemas/FileListResponseVO' application/x-yaml: schema: $ref: '#/components/schemas/FileListResponseVO' text/x-yaml: schema: $ref: '#/components/schemas/FileListResponseVO' text/csv: schema: $ref: '#/components/schemas/FileListResponseVO' '*/*': schema: $ref: '#/components/schemas/FileListResponseVO' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/HTTPStatusVO' application/x-json-smile: schema: $ref: '#/components/schemas/HTTPStatusVO' application/xml: schema: $ref: '#/components/schemas/HTTPStatusVO' text/xml: schema: $ref: '#/components/schemas/HTTPStatusVO' application/x-yaml: schema: $ref: '#/components/schemas/HTTPStatusVO' text/x-yaml: schema: $ref: '#/components/schemas/HTTPStatusVO' text/csv: schema: $ref: '#/components/schemas/HTTPStatusVO' '*/*': schema: $ref: '#/components/schemas/HTTPStatusVO' post: tags: - File summary: Upload File to Project.
A multipart/form-data request that accepts 2 values. "file" and "tags"
file = {the description: 'Upload File to Project.
A multipart/form-data request that accepts 2 values. "file" and "tags"
file = {the file}
tags = {json string}, examples:
[{"tagName":"aa","isSpec":false}], Create or Use existing tag, lookup done by name
[{"tagId":9458887,"isSpec":true}], Existing Spec Tag
[{"tagId":5003785,"isSpec":false}], Existing Tag' operationId: uploadFile parameters: - name: workgroup_id in: path required: true schema: type: string - name: project_id in: path required: true schema: type: string responses: '200': description: Successful retrieval content: application/json: schema: $ref: '#/components/schemas/FileResponseVO' application/x-json-smile: schema: $ref: '#/components/schemas/FileResponseVO' application/xml: schema: $ref: '#/components/schemas/FileResponseVO' text/xml: schema: $ref: '#/components/schemas/FileResponseVO' application/x-yaml: schema: $ref: '#/components/schemas/FileResponseVO' text/x-yaml: schema: $ref: '#/components/schemas/FileResponseVO' text/csv: schema: $ref: '#/components/schemas/FileResponseVO' '*/*': schema: $ref: '#/components/schemas/FileResponseVO' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/HTTPStatusVO' application/x-json-smile: schema: $ref: '#/components/schemas/HTTPStatusVO' application/xml: schema: $ref: '#/components/schemas/HTTPStatusVO' text/xml: schema: $ref: '#/components/schemas/HTTPStatusVO' application/x-yaml: schema: $ref: '#/components/schemas/HTTPStatusVO' text/x-yaml: schema: $ref: '#/components/schemas/HTTPStatusVO' text/csv: schema: $ref: '#/components/schemas/HTTPStatusVO' '*/*': schema: $ref: '#/components/schemas/HTTPStatusVO' requestBody: content: multipart/form-data: schema: type: string format: binary /1.1/workgroups/{workgroup_id}/projects/{project_id}/files/{file_id}: get: tags: - File summary: Get File from Project. Works for Regular and Remote Files description: Get File from Project. Works for Regular and Remote Files operationId: getFile parameters: - name: workgroup_id in: path required: true schema: type: string - name: project_id in: path required: true schema: type: string - name: file_id in: path required: true schema: type: string responses: '200': description: Successful retrieval content: application/json: schema: $ref: '#/components/schemas/FileResponseVO' application/x-json-smile: schema: $ref: '#/components/schemas/FileResponseVO' application/xml: schema: $ref: '#/components/schemas/FileResponseVO' text/xml: schema: $ref: '#/components/schemas/FileResponseVO' application/x-yaml: schema: $ref: '#/components/schemas/FileResponseVO' text/x-yaml: schema: $ref: '#/components/schemas/FileResponseVO' text/csv: schema: $ref: '#/components/schemas/FileResponseVO' '*/*': schema: $ref: '#/components/schemas/FileResponseVO' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/HTTPStatusVO' application/x-json-smile: schema: $ref: '#/components/schemas/HTTPStatusVO' application/xml: schema: $ref: '#/components/schemas/HTTPStatusVO' text/xml: schema: $ref: '#/components/schemas/HTTPStatusVO' application/x-yaml: schema: $ref: '#/components/schemas/HTTPStatusVO' text/x-yaml: schema: $ref: '#/components/schemas/HTTPStatusVO' text/csv: schema: $ref: '#/components/schemas/HTTPStatusVO' '*/*': schema: $ref: '#/components/schemas/HTTPStatusVO' /1.1/workgroups/{workgroup_id}/projects/{project_id}/filesByRole: post: tags: - File summary: Upload File to Project.
A multipart/form-data request that accepts 2 values. "file" and "tags"
file = {the description: 'Upload File to Project.
A multipart/form-data request that accepts 2 values. "file" and "tags"
file = {the file}
tags = {json string}, examples:
[{"tagName":"aa","isSpec":false}], Create or Use existing tag, lookup done by name
[{"tagId":9458887,"isSpec":true}], Existing Spec Tag
[{"tagId":5003785,"isSpec":false}], Existing Tag' operationId: uploadFile parameters: - name: workgroup_id in: path required: true schema: type: string - name: project_id in: path required: true schema: type: string responses: '200': description: Successful retrieval content: application/json: schema: $ref: '#/components/schemas/FileResponseVO' application/x-json-smile: schema: $ref: '#/components/schemas/FileResponseVO' application/xml: schema: $ref: '#/components/schemas/FileResponseVO' text/xml: schema: $ref: '#/components/schemas/FileResponseVO' application/x-yaml: schema: $ref: '#/components/schemas/FileResponseVO' text/x-yaml: schema: $ref: '#/components/schemas/FileResponseVO' text/csv: schema: $ref: '#/components/schemas/FileResponseVO' '*/*': schema: $ref: '#/components/schemas/FileResponseVO' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/HTTPStatusVO' application/x-json-smile: schema: $ref: '#/components/schemas/HTTPStatusVO' application/xml: schema: $ref: '#/components/schemas/HTTPStatusVO' text/xml: schema: $ref: '#/components/schemas/HTTPStatusVO' application/x-yaml: schema: $ref: '#/components/schemas/HTTPStatusVO' text/x-yaml: schema: $ref: '#/components/schemas/HTTPStatusVO' text/csv: schema: $ref: '#/components/schemas/HTTPStatusVO' '*/*': schema: $ref: '#/components/schemas/HTTPStatusVO' requestBody: content: multipart/form-data: schema: type: string format: binary /1.2/workgroups/{workgroup_id}/projects/{project_id}/filesByRole: post: tags: - File summary: 'Upload File to Project With Notification.
A multipart/form-data request that accepts 2 values. "file" and "tags" ' description: 'Upload File to Project With Notification.
A multipart/form-data request that accepts 2 values. "file" and "tags"
file = {the file}
tags = {json string}, examples:
[{"tagName":"aa","isSpec":false}], Create or Use existing tag, lookup done by name
[{"tagId":9458887,"isSpec":true}], Existing Spec Tag
[{"tagId":5003785,"isSpec":false}], Existing Tag' operationId: uploadFile parameters: - name: workgroup_id in: path required: true schema: type: string - name: project_id in: path required: true schema: type: string responses: '200': description: Successful retrieval content: application/json: schema: $ref: '#/components/schemas/FileResponseVO' application/x-json-smile: schema: $ref: '#/components/schemas/FileResponseVO' application/xml: schema: $ref: '#/components/schemas/FileResponseVO' text/xml: schema: $ref: '#/components/schemas/FileResponseVO' application/x-yaml: schema: $ref: '#/components/schemas/FileResponseVO' text/x-yaml: schema: $ref: '#/components/schemas/FileResponseVO' text/csv: schema: $ref: '#/components/schemas/FileResponseVO' '*/*': schema: $ref: '#/components/schemas/FileResponseVO' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/HTTPStatusVO' application/x-json-smile: schema: $ref: '#/components/schemas/HTTPStatusVO' application/xml: schema: $ref: '#/components/schemas/HTTPStatusVO' text/xml: schema: $ref: '#/components/schemas/HTTPStatusVO' application/x-yaml: schema: $ref: '#/components/schemas/HTTPStatusVO' text/x-yaml: schema: $ref: '#/components/schemas/HTTPStatusVO' text/csv: schema: $ref: '#/components/schemas/HTTPStatusVO' '*/*': schema: $ref: '#/components/schemas/HTTPStatusVO' requestBody: content: multipart/form-data: schema: type: string format: binary /3/workgroups/{workgroup_id}/projects/{project_id}/files: post: tags: - File summary: Upload File V3 to Project With Notification description: Upload File V3 to Project With Notification operationId: uploadFile parameters: - name: workgroup_id in: path required: true schema: type: string - name: project_id in: path required: true schema: type: string responses: '200': description: Successful retrieval content: application/json: schema: $ref: '#/components/schemas/FileV3ResponseVO' application/x-json-smile: schema: $ref: '#/components/schemas/FileV3ResponseVO' application/xml: schema: $ref: '#/components/schemas/FileV3ResponseVO' text/xml: schema: $ref: '#/components/schemas/FileV3ResponseVO' application/x-yaml: schema: $ref: '#/components/schemas/FileV3ResponseVO' text/x-yaml: schema: $ref: '#/components/schemas/FileV3ResponseVO' text/csv: schema: $ref: '#/components/schemas/FileV3ResponseVO' '*/*': schema: $ref: '#/components/schemas/FileV3ResponseVO' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/HTTPStatusVO' application/x-json-smile: schema: $ref: '#/components/schemas/HTTPStatusVO' application/xml: schema: $ref: '#/components/schemas/HTTPStatusVO' text/xml: schema: $ref: '#/components/schemas/HTTPStatusVO' application/x-yaml: schema: $ref: '#/components/schemas/HTTPStatusVO' text/x-yaml: schema: $ref: '#/components/schemas/HTTPStatusVO' text/csv: schema: $ref: '#/components/schemas/HTTPStatusVO' '*/*': schema: $ref: '#/components/schemas/HTTPStatusVO' requestBody: content: multipart/form-data: schema: type: string format: binary /3/workgroups/{workgroup_id}/projects/{project_id}/folders: get: tags: - File summary: List all folders under a project description: List all folders under a project operationId: getFolders parameters: - name: workgroup_id in: path required: true schema: type: string - name: project_id in: path required: true schema: type: string responses: '200': description: Successful retrieval content: application/json: schema: $ref: '#/components/schemas/FolderListVO' application/x-json-smile: schema: $ref: '#/components/schemas/FolderListVO' application/xml: schema: $ref: '#/components/schemas/FolderListVO' text/xml: schema: $ref: '#/components/schemas/FolderListVO' application/x-yaml: schema: $ref: '#/components/schemas/FolderListVO' text/x-yaml: schema: $ref: '#/components/schemas/FolderListVO' text/csv: schema: $ref: '#/components/schemas/FolderListVO' '*/*': schema: $ref: '#/components/schemas/FolderListVO' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/HTTPStatusVO' application/x-json-smile: schema: $ref: '#/components/schemas/HTTPStatusVO' application/xml: schema: $ref: '#/components/schemas/HTTPStatusVO' text/xml: schema: $ref: '#/components/schemas/HTTPStatusVO' application/x-yaml: schema: $ref: '#/components/schemas/HTTPStatusVO' text/x-yaml: schema: $ref: '#/components/schemas/HTTPStatusVO' text/csv: schema: $ref: '#/components/schemas/HTTPStatusVO' '*/*': schema: $ref: '#/components/schemas/HTTPStatusVO' post: tags: - File summary: Create a new folder under a project description: Create a new folder under a project operationId: createFolder parameters: - name: workgroup_id in: path required: true schema: type: string - name: project_id in: path required: true schema: type: string responses: '200': description: Successful retrieval content: application/json: schema: $ref: '#/components/schemas/FolderVO' application/x-json-smile: schema: $ref: '#/components/schemas/FolderVO' application/xml: schema: $ref: '#/components/schemas/FolderVO' text/xml: schema: $ref: '#/components/schemas/FolderVO' application/x-yaml: schema: $ref: '#/components/schemas/FolderVO' text/x-yaml: schema: $ref: '#/components/schemas/FolderVO' text/csv: schema: $ref: '#/components/schemas/FolderVO' '*/*': schema: $ref: '#/components/schemas/FolderVO' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/HTTPStatusVO' application/x-json-smile: schema: $ref: '#/components/schemas/HTTPStatusVO' application/xml: schema: $ref: '#/components/schemas/HTTPStatusVO' text/xml: schema: $ref: '#/components/schemas/HTTPStatusVO' application/x-yaml: schema: $ref: '#/components/schemas/HTTPStatusVO' text/x-yaml: schema: $ref: '#/components/schemas/HTTPStatusVO' text/csv: schema: $ref: '#/components/schemas/HTTPStatusVO' '*/*': schema: $ref: '#/components/schemas/HTTPStatusVO' requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/FolderPersisitVO' components: schemas: FileResponseVO: properties: result: description: '' $ref: '#/components/schemas/FileVO' status_code: type: integer format: int32 example: '1' description: '' status_reason: type: string example: sample status_reason description: '' description: 'Java type: com.noosh.nooshapi.vo.file.FileResponseVO' FileListResponseVO: properties: result: type: array description: '' items: $ref: '#/components/schemas/FileVO' status_code: type: integer format: int32 example: '1' description: '' status_reason: type: string example: sample status_reason description: '' description: 'Java type: com.noosh.nooshapi.vo.file.FileListResponseVO' TagVO: properties: isSpec: type: boolean example: 'false' description: '' tagId: type: integer format: int64 example: '1' description: '' tagName: type: string example: sample tagName description: '' description: 'Java type: com.noosh.domain.collaboration.vo.TagVO' FolderVO: properties: child_folders: type: array description: '' items: $ref: '#/components/schemas/FolderVO' folder_id: type: integer format: int64 example: '1' description: '' folder_name: type: string example: sample folder_name description: '' parent_folder_Id: type: integer format: int64 example: '1' description: '' description: 'Java type: com.noosh.nooshapi.vo.file.FolderVO' FileVO: properties: comments: type: string example: sample comments description: '' description: type: string example: sample description description: '' download_link: type: string example: sample download_link description: '' file_id: type: integer format: int64 example: '1' description: '' file_name: type: string example: sample file_name description: '' file_size: description: '' $ref: '#/components/schemas/BigDecimal' file_type: type: string example: sample file_type description: '' is_remote: type: boolean example: 'false' description: '' modified_date: type: string example: sample modified_date description: '' tagList: type: array description: '' items: $ref: '#/components/schemas/TagVO' upload_date: type: string example: sample upload_date description: '' uploaded_by: type: string example: sample uploaded_by description: '' description: 'Java type: com.noosh.nooshapi.vo.file.FileVO' FolderPersisitVO: properties: folder_name: type: string example: sample folder_name description: '' parent_folder_id: type: integer format: int64 example: '1' description: '' project_id: type: integer format: int64 example: '1' description: '' description: 'Java type: com.noosh.domain.nooshapi.persist.vo.FolderPersisitVO' FileV3ResponseVO: properties: result: description: '' $ref: '#/components/schemas/FileV3VO' status_code: type: integer format: int32 example: '1' description: '' status_reason: type: string example: sample status_reason description: '' description: 'Java type: com.noosh.nooshapi.vo.file.FileV3ResponseVO' HTTPStatusVO: properties: status_code: type: integer format: int32 example: '1' description: '' status_reason: type: string example: sample status_reason description: '' description: 'Java type: com.noosh.core.vo.HTTPStatusVO' FileTagResponseVO: properties: result: type: array description: '' items: $ref: '#/components/schemas/TagRepoVO' status_code: type: integer format: int32 example: '1' description: '' status_reason: type: string example: sample status_reason description: '' description: 'Java type: com.noosh.nooshapi.vo.file.FileTagResponseVO' FileV3VO: properties: comments: type: string example: sample comments description: '' description: type: string example: sample description description: '' download_link: type: string example: sample download_link description: '' file_id: type: integer format: int64 example: '1' description: '' file_name: type: string example: sample file_name description: '' file_size: description: '' $ref: '#/components/schemas/BigDecimal' file_type: type: string example: sample file_type description: '' folder_id: type: integer format: int64 example: '1' description: '' is_remote: type: boolean example: 'false' description: '' modified_date: type: string example: sample modified_date description: '' upload_date: type: string example: sample upload_date description: '' uploaded_by: type: string example: sample uploaded_by description: '' description: 'Java type: com.noosh.nooshapi.vo.file.FileV3VO' BigDecimal: description: 'Java type: java.math.BigDecimal' TagRepoVO: properties: isSpec: type: boolean example: 'false' description: '' tagId: type: integer format: int64 example: '1' description: '' tagName: type: string example: sample tagName description: '' description: 'Java type: com.noosh.domain.collaboration.vo.TagRepoVO' FolderListVO: properties: result: type: array description: '' items: $ref: '#/components/schemas/FolderBaseVO' status_code: type: integer format: int32 example: '1' description: '' status_reason: type: string example: sample status_reason description: '' description: 'Java type: com.noosh.nooshapi.vo.file.FolderListVO' FolderBaseVO: properties: child_folders: type: array description: '' items: $ref: '#/components/schemas/FolderVO' folder_id: type: integer format: int64 example: '1' description: '' folder_name: type: string example: sample folder_name description: '' description: 'Java type: com.noosh.nooshapi.vo.file.FolderBaseVO' securitySchemes: HTTP_BASIC: type: http scheme: basic