FOSSology · Capability

FOSSology API — Upload

FOSSology API — Upload. 40 operations. Lead operation: Get the information of files matching the provided hashes. Self-contained Naftiko capability covering one Fossology business surface.

Run with Naftiko FossologyUpload

What You Can Do

POST
Getfiles — Get the information of files matching the provided hashes
/v1/filesearch
GET
Getuploads — Uploads
/v1/uploads
POST
Createupload — Post new upload to FOSSology
/v1/uploads
POST
Runoneshotceu — Run one-shot Copyright/Email/URL analysis
/v1/uploads/oneshot/ceu
POST
Runoneshotmonk — Run one-shot monk analysis
/v1/uploads/oneshot/monk
POST
Runoneshotnomos — Run one-shot nomos analysis
/v1/uploads/oneshot/nomos
GET
Getuploadbyid — Get single upload by id
/v1/uploads/{id}
DELETE
Deleteuploadbyid — Delete upload by id
/v1/uploads/{id}
PATCH
Updateuploadbyid — Update an upload information
/v1/uploads/{id}
PUT
Moveuploadbyid — Copy/Move an upload
/v1/uploads/{id}
GET
Getagentsbyuploadid — Get agents for a upload
/v1/uploads/{id}/agents
GET
Getrevisionsforagents — Get revisions for successful agents
/v1/uploads/{id}/agents/revision
GET
Getclearingprogressinfo — Get the clearing progress info
/v1/uploads/{id}/clearing-progress
GET
Getconfinfo — Get the conf information of a particular upload
/v1/uploads/{id}/conf
PUT
Updateconfdata — Update the Conf page data
/v1/uploads/{id}/conf
GET
Getcopyrightsbyuploadid — Get copyrights found on the upload
/v1/uploads/{id}/copyrights
GET
Getuploadfilebyid — Download the file
/v1/uploads/{id}/download
GET
Getbulkhistory — Get the bulk history
/v1/uploads/{id}/item/{itemid}/bulk-history
POST
Schedulebulkscan — Schedule the bulk scan for the item
/v1/uploads/{id}/item/{itemid}/bulk-scan
PUT
Setclearingdecision — Set the clearing decision for a particular upload tree item.
/v1/uploads/{id}/item/{itemid}/clearing-decision
GET
Getclearinghistory — Get the clearing history
/v1/uploads/{id}/item/{itemid}/clearing-history
GET
Gethighlightentries — Get highlight entries of the content.
/v1/uploads/{id}/item/{itemid}/highlight
GET
Getiteminfo — Get single file info
/v1/uploads/{id}/item/{itemid}/info
GET
Getlicensedecisions — Get the license decisions list
/v1/uploads/{id}/item/{itemid}/licenses
PUT
Addeditdeletelicensedecision — Add, update or delete a license decision.
/v1/uploads/{id}/item/{itemid}/licenses
GET
Getpreviousandnextitem — Get previous and next item for an upload
/v1/uploads/{id}/item/{itemid}/prev-next
GET
Getitemtreeview — Get the tree view for the given upload and item id
/v1/uploads/{id}/item/{itemid}/tree/view
GET
Viewthecontentofthefile — Get the contents of the file
/v1/uploads/{id}/item/{itemid}/view
GET
Getlicensesbyuploadid — Get licenses found by agent
/v1/uploads/{id}/licenses
GET
Getalleditedlicenses — Get the edited licenses list
/v1/uploads/{id}/licenses/edited
GET
Getlicenseshistogram — Get the licenses histogram
/v1/uploads/{id}/licenses/histogram
GET
Getmainlicenses — Get main licenses on the upload
/v1/uploads/{id}/licenses/main
POST
Setmainlicense — Set the main license for the upload
/v1/uploads/{id}/licenses/main
GET
Getlicensesreusesummary — Get the overall licenses reuse summary
/v1/uploads/{id}/licenses/reuse
GET
Getallscannedlicenses — Get the scanned licenses list
/v1/uploads/{id}/licenses/scanned
DELETE
Deletemainlicense — Delete a main license from an upload
/v1/uploads/{id}/licenses/{shortname}/main
GET
Getgroupswithpermissions — Get all the groups with their respective permissions for a upload
/v1/uploads/{id}/perm-groups
PUT
Setuploadpermissions — Set permissions for a upload in a folder for different groups
/v1/uploads/{id}/permissions
GET
Getsummarybyuploadid — Get single upload summary
/v1/uploads/{id}/summary
GET
Gettopitemid — Get the top level item id for a given upload
/v1/uploads/{id}/topitem

MCP Tools

get-information-files-matching-provided

Get the information of files matching the provided hashes

read-only
uploads

Uploads

read-only idempotent
post-new-upload-fossology

Post new upload to FOSSology

run-one-shot-copyright-email

Run one-shot Copyright/Email/URL analysis

run-one-shot-monk-analysis

Run one-shot monk analysis

run-one-shot-nomos-analysis

Run one-shot nomos analysis

get-single-upload-id

Get single upload by id

read-only idempotent
delete-upload-id

Delete upload by id

idempotent
update-upload-information

Update an upload information

idempotent
copy-move-upload

Copy/Move an upload

idempotent
get-agents-upload

Get agents for a upload

read-only idempotent
get-revisions-successful-agents

Get revisions for successful agents

read-only idempotent
get-clearing-progress-info

Get the clearing progress info

read-only idempotent
get-conf-information-particular-upload

Get the conf information of a particular upload

read-only idempotent
update-conf-page-data

Update the Conf page data

idempotent
get-copyrights-found-upload

Get copyrights found on the upload

read-only idempotent
download-file

Download the file

read-only idempotent
get-bulk-history

Get the bulk history

read-only idempotent
schedule-bulk-scan-item

Schedule the bulk scan for the item

set-clearing-decision-particular-upload

Set the clearing decision for a particular upload tree item.

idempotent
get-clearing-history

Get the clearing history

read-only idempotent
get-highlight-entries-content

Get highlight entries of the content.

read-only idempotent
get-single-file-info

Get single file info

read-only idempotent
get-license-decisions-list

Get the license decisions list

read-only idempotent
add-update-delete-license-decision

Add, update or delete a license decision.

idempotent
get-previous-and-next-item

Get previous and next item for an upload

read-only idempotent
get-tree-view-given-upload

Get the tree view for the given upload and item id

read-only idempotent
get-contents-file

Get the contents of the file

read-only idempotent
get-licenses-found-agent

Get licenses found by agent

read-only idempotent
get-edited-licenses-list

Get the edited licenses list

read-only idempotent
get-licenses-histogram

Get the licenses histogram

read-only idempotent
get-main-licenses-upload

Get main licenses on the upload

read-only idempotent
set-main-license-upload

Set the main license for the upload

get-overall-licenses-reuse-summary

Get the overall licenses reuse summary

read-only idempotent
get-scanned-licenses-list

Get the scanned licenses list

read-only idempotent
delete-main-license-upload

Delete a main license from an upload

idempotent
get-all-groups-their-respective

Get all the groups with their respective permissions for a upload

read-only idempotent
set-permissions-upload-folder-different

Set permissions for a upload in a folder for different groups

idempotent
get-single-upload-summary

Get single upload summary

read-only idempotent
get-top-level-item-id

Get the top level item id for a given upload

read-only idempotent

Capability Spec

fossology-upload.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: FOSSology API — Upload
  description: 'FOSSology API — Upload. 40 operations. Lead operation: Get the information of files matching the provided
    hashes. Self-contained Naftiko capability covering one Fossology business surface.'
  tags:
  - Fossology
  - Upload
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    FOSSOLOGY_API_KEY: FOSSOLOGY_API_KEY
capability:
  consumes:
  - type: http
    namespace: fossology-upload
    baseUri: http://localhost/repo/api/v1
    description: FOSSology API — Upload business capability. Self-contained, no shared references.
    resources:
    - name: filesearch
      path: /filesearch
      operations:
      - name: getfiles
        method: POST
        description: Get the information of files matching the provided hashes
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: uploads
      path: /uploads
      operations:
      - name: getuploads
        method: GET
        description: Uploads
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: folderId
          in: query
          type: integer
          description: Folder ID to limit the uploads to
        - name: recursive
          in: query
          type: boolean
          description: Load uploads from child folders as well
        - name: name
          in: query
          type: string
          description: Filter pattern for name and description
        - name: status
          in: query
          type: string
          description: Status of uploads
        - name: assignee
          in: query
          type: string
          description: User name to which uploads are assigned to or -me- or -unassigned-
        - name: since
          in: query
          type: string
          description: Uploads since given date in YYYY-MM-DD format
        - name: page
          in: header
          type: integer
          description: Page number to fetch
        - name: limit
          in: header
          type: integer
          description: Limits of responses per request
      - name: createupload
        method: POST
        description: Post new upload to FOSSology
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: folderId
          in: header
          type: integer
          description: Folder Id, where upload should be created
          required: true
        - name: uploadDescription
          in: header
          type: string
          description: Visible description of the file
        - name: public
          in: header
          type: string
          description: The access level to the upload
        - name: applyGlobal
          in: header
          type: boolean
          description: Apply global decisions for current upload
        - name: ignoreScm
          in: header
          type: boolean
          description: Ignore SCM files (Git, SVN, TFS) and files with particular Mimetype
        - name: uploadType
          in: header
          type: string
          description: Type of upload done. Choose `file` if uploading a file.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: uploads-oneshot-ceu
      path: /uploads/oneshot/ceu
      operations:
      - name: runoneshotceu
        method: POST
        description: Run one-shot Copyright/Email/URL analysis
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: uploads-oneshot-monk
      path: /uploads/oneshot/monk
      operations:
      - name: runoneshotmonk
        method: POST
        description: Run one-shot monk analysis
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: uploads-oneshot-nomos
      path: /uploads/oneshot/nomos
      operations:
      - name: runoneshotnomos
        method: POST
        description: Run one-shot nomos analysis
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: uploads-id
      path: /uploads/{id}
      operations:
      - name: getuploadbyid
        method: GET
        description: Get single upload by id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deleteuploadbyid
        method: DELETE
        description: Delete upload by id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updateuploadbyid
        method: PATCH
        description: Update an upload information
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: status
          in: query
          type: string
          description: New status of the upload
        - name: assignee
          in: query
          type: integer
          description: New assignee for the project
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: moveuploadbyid
        method: PUT
        description: Copy/Move an upload
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: folderId
          in: header
          type: integer
          description: Folder Id, where upload should be copied to
          required: true
        - name: action
          in: header
          type: string
          description: Action to be performed
          required: true
    - name: uploads-id-agents
      path: /uploads/{id}/agents
      operations:
      - name: getagentsbyuploadid
        method: GET
        description: Get agents for a upload
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: uploads-id-agents-revision
      path: /uploads/{id}/agents/revision
      operations:
      - name: getrevisionsforagents
        method: GET
        description: Get revisions for successful agents
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: uploads-id-clearing-progress
      path: /uploads/{id}/clearing-progress
      operations:
      - name: getclearingprogressinfo
        method: GET
        description: Get the clearing progress info
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: uploads-id-conf
      path: /uploads/{id}/conf
      operations:
      - name: getconfinfo
        method: GET
        description: Get the conf information of a particular upload
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updateconfdata
        method: PUT
        description: Update the Conf page data
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: uploads-id-copyrights
      path: /uploads/{id}/copyrights
      operations:
      - name: getcopyrightsbyuploadid
        method: GET
        description: Get copyrights found on the upload
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: uploads-id-download
      path: /uploads/{id}/download
      operations:
      - name: getuploadfilebyid
        method: GET
        description: Download the file
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: uploads-id-item-itemId-bulk-history
      path: /uploads/{id}/item/{itemId}/bulk-history
      operations:
      - name: getbulkhistory
        method: GET
        description: Get the bulk history
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: uploads-id-item-itemId-bulk-scan
      path: /uploads/{id}/item/{itemId}/bulk-scan
      operations:
      - name: schedulebulkscan
        method: POST
        description: Schedule the bulk scan for the item
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: uploads-id-item-itemId-clearing-decision
      path: /uploads/{id}/item/{itemId}/clearing-decision
      operations:
      - name: setclearingdecision
        method: PUT
        description: Set the clearing decision for a particular upload tree item.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: uploads-id-item-itemId-clearing-history
      path: /uploads/{id}/item/{itemId}/clearing-history
      operations:
      - name: getclearinghistory
        method: GET
        description: Get the clearing history
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: uploads-id-item-itemId-highlight
      path: /uploads/{id}/item/{itemId}/highlight
      operations:
      - name: gethighlightentries
        method: GET
        description: Get highlight entries of the content.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: uploads-id-item-itemId-info
      path: /uploads/{id}/item/{itemId}/info
      operations:
      - name: getiteminfo
        method: GET
        description: Get single file info
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: uploads-id-item-itemId-licenses
      path: /uploads/{id}/item/{itemId}/licenses
      operations:
      - name: getlicensedecisions
        method: GET
        description: Get the license decisions list
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: addeditdeletelicensedecision
        method: PUT
        description: Add, update or delete a license decision.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: uploads-id-item-itemId-prev-next
      path: /uploads/{id}/item/{itemId}/prev-next
      operations:
      - name: getpreviousandnextitem
        method: GET
        description: Get previous and next item for an upload
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: uploads-id-item-itemId-tree-view
      path: /uploads/{id}/item/{itemId}/tree/view
      operations:
      - name: getitemtreeview
        method: GET
        description: Get the tree view for the given upload and item id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: uploads-id-item-itemId-view
      path: /uploads/{id}/item/{itemId}/view
      operations:
      - name: viewthecontentofthefile
        method: GET
        description: Get the contents of the file
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: uploads-id-licenses
      path: /uploads/{id}/licenses
      operations:
      - name: getlicensesbyuploadid
        method: GET
        description: Get licenses found by agent
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: uploads-id-licenses-edited
      path: /uploads/{id}/licenses/edited
      operations:
      - name: getalleditedlicenses
        method: GET
        description: Get the edited licenses list
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: uploads-id-licenses-histogram
      path: /uploads/{id}/licenses/histogram
      operations:
      - name: getlicenseshistogram
        method: GET
        description: Get the licenses histogram
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: uploads-id-licenses-main
      path: /uploads/{id}/licenses/main
      operations:
      - name: getmainlicenses
        method: GET
        description: Get main licenses on the upload
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: setmainlicense
        method: POST
        description: Set the main license for the upload
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: uploads-id-licenses-reuse
      path: /uploads/{id}/licenses/reuse
      operations:
      - name: getlicensesreusesummary
        method: GET
        description: Get the overall licenses reuse summary
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: uploads-id-licenses-scanned
      path: /uploads/{id}/licenses/scanned
      operations:
      - name: getallscannedlicenses
        method: GET
        description: Get the scanned licenses list
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: uploads-id-licenses-shortName-main
      path: /uploads/{id}/licenses/{shortName}/main
      operations:
      - name: deletemainlicense
        method: DELETE
        description: Delete a main license from an upload
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: uploads-id-perm-groups
      path: /uploads/{id}/perm-groups
      operations:
      - name: getgroupswithpermissions
        method: GET
        description: Get all the groups with their respective permissions for a upload
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: uploads-id-permissions
      path: /uploads/{id}/permissions
      operations:
      - name: setuploadpermissions
        method: PUT
        description: Set permissions for a upload in a folder for different groups
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: uploads-id-summary
      path: /uploads/{id}/summary
      operations:
      - name: getsummarybyuploadid
        method: GET
        description: Get single upload summary
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: uploads-id-topitem
      path: /uploads/{id}/topitem
      operations:
      - name: gettopitemid
        method: GET
        description: Get the top level item id for a given upload
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    authentication:
      type: bearer
      token: '{{env.FOSSOLOGY_API_KEY}}'
  exposes:
  - type: rest
    namespace: fossology-upload-rest
    port: 8080
    description: REST adapter for FOSSology API — Upload. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/filesearch
      name: filesearch
      description: REST surface for filesearch.
      operations:
      - method: POST
        name: getfiles
        description: Get the information of files matching the provided hashes
        call: fossology-upload.getfiles
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/uploads
      name: uploads
      description: REST surface for uploads.
      operations:
      - method: GET
        name: getuploads
        description: Uploads
        call: fossology-upload.getuploads
        with:
          folderId: rest.folderId
          recursive: rest.recursive
          name: rest.name
          status: rest.status
          assignee: rest.assignee
          since: rest.since
          page: rest.page
          limit: rest.limit
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createupload
        description: Post new upload to FOSSology
        call: fossology-upload.createupload
        with:
          folderId: rest.folderId
          uploadDescription: rest.uploadDescription
          public: rest.public
          applyGlobal: rest.applyGlobal
          ignoreScm: rest.ignoreScm
          uploadType: rest.uploadType
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/uploads/oneshot/ceu
      name: uploads-oneshot-ceu
      description: REST surface for uploads-oneshot-ceu.
      operations:
      - method: POST
        name: runoneshotceu
        description: Run one-shot Copyright/Email/URL analysis
        call: fossology-upload.runoneshotceu
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/uploads/oneshot/monk
      name: uploads-oneshot-monk
      description: REST surface for uploads-oneshot-monk.
      operations:
      - method: POST
        name: runoneshotmonk
        description: Run one-shot monk analysis
        call: fossology-upload.runoneshotmonk
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/uploads/oneshot/nomos
      name: uploads-oneshot-nomos
      description: REST surface for uploads-oneshot-nomos.
      operations:
      - method: POST
        name: runoneshotnomos
        description: Run one-shot nomos analysis
        call: fossology-upload.runoneshotnomos
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/uploads/{id}
      name: uploads-id
      description: REST surface for uploads-id.
      operations:
      - method: GET
        name: getuploadbyid
        description: Get single upload by id
        call: fossology-upload.getuploadbyid
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deleteuploadbyid
        description: Delete upload by id
        call: fossology-upload.deleteuploadbyid
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: updateuploadbyid
        description: Update an upload information
        call: fossology-upload.updateuploadbyid
        with:
          status: rest.status
          assignee: rest.assignee
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: moveuploadbyid
        description: Copy/Move an upload
        call: fossology-upload.moveuploadbyid
        with:
          folderId: rest.folderId
          action: rest.action
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/uploads/{id}/agents
      name: uploads-id-agents
      description: REST surface for uploads-id-agents.
      operations:
      - method: GET
        name: getagentsbyuploadid
        description: Get agents for a upload
        call: fossology-upload.getagentsbyuploadid
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/uploads/{id}/agents/revision
      name: uploads-id-agents-revision
      description: REST surface for uploads-id-agents-revision.
      operations:
      - method: GET
        name: getrevisionsforagents
        description: Get revisions for successful agents
        call: fossology-upload.getrevisionsforagents
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/uploads/{id}/clearing-progress
      name: uploads-id-clearing-progress
      description: REST surface for uploads-id-clearing-progress.
      operations:
      - method: GET
        name: getclearingprogressinfo
        description: Get the clearing progress info
        call: fossology-upload.getclearingprogressinfo
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/uploads/{id}/conf
      name: uploads-id-conf
      description: REST surface for uploads-id-conf.
      operations:
      - method: GET
        name: getconfinfo
        description: Get the conf information of a particular upload
        call: fossology-upload.getconfinfo
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updateconfdata
        description: Update the Conf page data
        call: fossology-upload.updateconfdata
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/uploads/{id}/copyrights
      name: uploads-id-copyrights
      description: REST surface for uploads-id-copyrights.
      operations:
      - method: GET
        name: getcopyrightsbyuploadid
        description: Get copyrights found on the upload
        call: fossology-upload.getcopyrightsbyuploadid
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/uploads/{id}/download
      name: uploads-id-download
      description: REST surface for uploads-id-download.
      operations:
      - method: GET
        name: getuploadfilebyid
        description: Download the file
        call: fossology-upload.getuploadfilebyid
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/uploads/{id}/item/{itemid}/bulk-history
      name: uploads-id-item-itemid-bulk-history
      description: REST surface for uploads-id-item-itemId-bulk-history.
      operations:
      - method: GET
        name: getbulkhistory
        description: Get the bulk history
        call: fossology-upload.getbulkhistory
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/uploads/{id}/item/{itemid}/bulk-scan
      name: uploads-id-item-itemid-bulk-scan
      description: REST surface for uploads-id-item-itemId-bulk-scan.
      operations:
      - method: POST
        name: schedulebulkscan
        description: Schedule the bulk scan for the item
        call: fossology-upload.schedulebulkscan
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/uploads/{id}/item/{itemid}/clearing-decision
      name: uploads-id-item-itemid-clearing-decision
      description: REST surface for uploads-id-item-itemId-clearing-decision.
      operations:
      - method: PUT
        name: setclearingdecision
        description: Set the clearing decision for a particular upload tree item.
        call: fossology-upload.setclearingdecision
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/uploads/{id}/item/{itemid}/clearing-history
      name: uploads-id-item-itemid-clearing-history
      description: REST surface for uploads-id-item-itemId-clearing-history.
      operations:
      - method: GET
        name: getclearinghistory
        description: Get the clearing history
        call: fossology-upload.getclearinghistory
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/uploads/{id}/item/{itemid}/highlight
      name: uploads-id-item-itemid-highlight
      description: REST surface for uploads-id-item-itemId-highlight.
      operations:
      - method: GET
        name: gethighlightentries
        description: Get highlight entries of the content.
        call: fossology-upload.gethighlightentries
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/uploads/{id}/item/{itemid}/info
      name: uploads-id-item-itemid-info
      description: REST surface for uploads-id-item-itemId-info.
      operations:
      - method: GET
        name: getiteminfo
        description: Get single file info
        call: fossology-upload.getiteminfo
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/uploads/{id}/item/{itemid}/licenses
      name: uploads-id-item-itemid-licenses
      description: REST surface for uploads-id-item-itemId-licenses.
      operations:
      - method: GET
        name: getlicensedecisions
        description: Get the license decisions list
        call: fossology-upload.getlicensedecisions
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: addeditdeletelicensedecision
        description: Add, update or delete a license decision.
        call: fossology-upload.addeditdeletelicensedecision
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/uploads/{id}/item/{itemid}/prev-next
      name: uploads-id-item-itemid-prev-next
      description: REST surface for uploads-id-item-itemId-prev-next.
      operations:
      - method: GET
        name: getpreviousandnextitem
        description: Get previous and next item for an upload
        call: fossology-upload.getpreviousandnextitem
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/uploads/{id}/item/{itemid}/tree/view
      name: uploads-id-item-itemid-tree-view
      description: REST surface for uploads-id-item-itemId-tree-view.
      operations:
      - method: GET
        name: getitemtreeview
        description: Get the tree view for the given upload and item id
        call: fossology-upload.getitemtreeview
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/uploads/{id}/item/{itemid}/view
      name: uploads-id-item-itemid-view
      description: REST surface for uploads-id-item-itemId-view.
      operations:
      - method: GET
        name: viewthecontentofthefile
        description: Get the contents of the file
        call: fossology-upload.viewthecontentofthefile
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/uploads/{id}/licenses
      name: uploads-id-licenses
      description: REST surface for uploads-id-licenses.
      operations:
      - method: GET
        name: getlicensesbyuploadid
        description: Get licenses found by agent
        call: fossology-upload.getlicensesbyuploadid
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/uploads/{id}/licenses/edited
      name: uploads-id-licenses-edited
      description: REST surface for uploads-id-licenses-edited.
      operations:
      - method: GET
        name: getalleditedlicenses
        description: Get the edited licenses list
        call: fossology-upload.getalleditedlicenses
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/uploads/{id}/licenses/histogram
      name: uploads-id-licenses-histogram
      description: REST surface for uploads-id-licenses-histogram.
      operations:
      - method: GET
        name: getlicenseshistogram
        description: Get the licenses histogram
        call: fossology-upload.getlicenseshistogram
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/uploads/{id}/licenses/main
      name: uploads-id-licenses-main
      description: REST surface for uploads-id-licenses-main.
      operations:
      - method: GET
        name: getmainlicenses
        description: Get main licenses on the upload
        call: fossology-upload.getmainlicenses
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: setmainlicense
        description: Set the main license for the upload
        call: fossology-upload.setmainlicense
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/uploads/{id}/licenses/reuse
      name: uploads-id-licenses-reuse
      description: REST surface for uploads-id-licenses-reuse.
      operations:
      - method: GET
        name: getlicensesreusesummary
        description: Get the overall licenses reuse summary
        call: fossology-upload.getlicensesreusesummary
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/uploads/{id}/licenses/scanned
      name: uploads-id-licenses-scanned
      description: REST surface for uploads-id-licenses-scanned.
      operations:
      - method: GET
        name: getallscannedlicenses
        description: Get the scanned licenses list
        call: fossology-upload.getallscannedlicenses
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/uploads/{id}/licenses/{shortname}/main
      name: uploads-id-licenses-shortname-main
      description: REST surface for uploads-id-licenses-shortName-main.
      operations:
      - method: DELETE
        name: deletemainlicense
        description: Delete a main license from an upload
        call: fossology-upload.deletemainlicense
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/uploads/{id}/perm-groups
      name: uploads-id-perm-groups
      description: REST surface for uploads-id-perm-groups.
      operations:
      - method: GET
        name: getgroupswithpermissions
        description: Get all the groups with their respective permissions for a upload
        call: fossology-upload.getgroupswithpermissions
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/uploads/{id}/permissions
      name: uploads-id-permissions
      description: REST surface for uploads-id-permissions.
      operations:
      - method: PUT
        name: setuploadpermissions
        description: Set permissions for a upload in a folder for different groups
        call: fossology-upload.setuploadpermissions
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/uploads/{id}/summary
      name: uploads-id-summary
      description: REST surface for uploads-id-summary.
      operations:
      - method: GET
        name: getsummarybyuploadid
        description: Get single upload summary
        call:

# --- truncated at 32 KB (45 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/fossology/refs/heads/main/capabilities/fossology-upload.yaml