FOSSology · Capability

FOSSology API — License

FOSSology API — License. 22 operations. Lead operation: Get all license from the database. Self-contained Naftiko capability covering one Fossology business surface.

Run with Naftiko FossologyLicense

What You Can Do

GET
Getlicenses — Get all license from the database
/v1/license
POST
Createlicense — Create a new license
/v1/license
GET
Getadminlicenseacknowledgements — Get all admin license acknowledgements
/v1/license/adminacknowledgements
PUT
Mutateadminlicenseacknowledgement — Add, Edit, Enable & Disable
/v1/license/adminacknowledgements
GET
Getadminlicensecandidates — Get license Candidates for admin view
/v1/license/admincandidates
DELETE
Deletebylicensecandidateid — Delete license candidate by id.
/v1/license/admincandidates/{id}
GET
Exportlicense — Export a csv license
/v1/license/export-csv
GET
Exportadminlicensetojson — Export a json license
/v1/license/export-json
POST
Importlicense — Import a csv license
/v1/license/import-csv
POST
Handleimportlicense — Import a json license
/v1/license/import-json
PUT
Mergelicense — Merge a license with another
/v1/license/merge/{shortname}
GET
Getallstandardlicensecomments — Get all standard license comments
/v1/license/stdcomments
PUT
Mutatestdcomments — Add, Edit, Enable & Disable
/v1/license/stdcomments
POST
Getsuggestedlicense — Get suggested license by reference text.
/v1/license/suggest
PUT
Verifylicense — Verify a license as new or variant
/v1/license/verify/{shortname}
GET
Getlicensebyshortname — Get a specific license
/v1/license/{shortname}
PATCH
Updatelicensebyshortname — Update a license
/v1/license/{shortname}
GET
Exportlicenseobligations — Export a csv obligation list
/v1/obligations/export-csv
GET
Exportobligationstojson — Export a json obligation list
/v1/obligations/export-json
POST
Importobligationcsv — Import an obligation csv file
/v1/obligations/import-csv
POST
Importobligationsfromjson — Import an obligation json file
/v1/obligations/import-json
GET
Viewthecontentofthefile — Get the contents of the file
/v1/uploads/{id}/item/{itemid}/view

MCP Tools

get-all-license-database

Get all license from the database

read-only idempotent
create-new-license

Create a new license

get-all-admin-license-acknowledgements

Get all admin license acknowledgements

read-only idempotent
add-edit-enable-disable

Add, Edit, Enable & Disable

idempotent
get-license-candidates-admin-view

Get license Candidates for admin view

read-only idempotent
delete-license-candidate-id

Delete license candidate by id.

idempotent
export-csv-license

Export a csv license

read-only idempotent
export-json-license

Export a json license

read-only idempotent
import-csv-license

Import a csv license

import-json-license

Import a json license

merge-license-another

Merge a license with another

idempotent
get-all-standard-license-comments

Get all standard license comments

read-only idempotent
add-edit-enable-disable-2

Add, Edit, Enable & Disable

idempotent
get-suggested-license-reference-text

Get suggested license by reference text.

read-only
verify-license-new-variant

Verify a license as new or variant

idempotent
get-specific-license

Get a specific license

read-only idempotent
update-license

Update a license

idempotent
export-csv-obligation-list

Export a csv obligation list

read-only idempotent
export-json-obligation-list

Export a json obligation list

read-only idempotent
import-obligation-csv-file

Import an obligation csv file

import-obligation-json-file

Import an obligation json file

get-contents-file

Get the contents of the file

read-only idempotent

Capability Spec

fossology-license.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: FOSSology API — License
  description: 'FOSSology API — License. 22 operations. Lead operation: Get all license from the database. Self-contained
    Naftiko capability covering one Fossology business surface.'
  tags:
  - Fossology
  - License
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    FOSSOLOGY_API_KEY: FOSSOLOGY_API_KEY
capability:
  consumes:
  - type: http
    namespace: fossology-license
    baseUri: http://localhost/repo/api/v1
    description: FOSSology API — License business capability. Self-contained, no shared references.
    resources:
    - name: license
      path: /license
      operations:
      - name: getlicenses
        method: GET
        description: Get all license from the database
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: page
          in: header
          type: integer
          description: Page number to fetch
        - name: limit
          in: header
          type: integer
          description: Limits of responses per request
        - name: active
          in: header
          type: boolean
          description: Get only active licenses
        - name: kind
          in: query
          type: string
          description: Which kind of licenses to get.
      - name: createlicense
        method: POST
        description: Create a new license
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: license-adminacknowledgements
      path: /license/adminacknowledgements
      operations:
      - name: getadminlicenseacknowledgements
        method: GET
        description: Get all admin license acknowledgements
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: mutateadminlicenseacknowledgement
        method: PUT
        description: Add, Edit, Enable & Disable
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: license-admincandidates
      path: /license/admincandidates
      operations:
      - name: getadminlicensecandidates
        method: GET
        description: Get license Candidates for admin view
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: license-admincandidates-id
      path: /license/admincandidates/{id}
      operations:
      - name: deletebylicensecandidateid
        method: DELETE
        description: Delete license candidate by id.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: license-export-csv
      path: /license/export-csv
      operations:
      - name: exportlicense
        method: GET
        description: Export a csv license
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: query
          type: integer
          description: License id to export, 0 for all
    - name: license-export-json
      path: /license/export-json
      operations:
      - name: exportadminlicensetojson
        method: GET
        description: Export a json license
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: query
          type: integer
          description: License id to export, 0 for all
    - name: license-import-csv
      path: /license/import-csv
      operations:
      - name: importlicense
        method: POST
        description: Import a csv license
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: license-import-json
      path: /license/import-json
      operations:
      - name: handleimportlicense
        method: POST
        description: Import a json license
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: license-merge-shortname
      path: /license/merge/{shortname}
      operations:
      - name: mergelicense
        method: PUT
        description: Merge a license with another
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: license-stdcomments
      path: /license/stdcomments
      operations:
      - name: getallstandardlicensecomments
        method: GET
        description: Get all standard license comments
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: mutatestdcomments
        method: PUT
        description: Add, Edit, Enable & Disable
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: license-suggest
      path: /license/suggest
      operations:
      - name: getsuggestedlicense
        method: POST
        description: Get suggested license by reference text.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: license-verify-shortname
      path: /license/verify/{shortname}
      operations:
      - name: verifylicense
        method: PUT
        description: Verify a license as new or variant
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: license-shortname
      path: /license/{shortname}
      operations:
      - name: getlicensebyshortname
        method: GET
        description: Get a specific license
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updatelicensebyshortname
        method: PATCH
        description: Update a license
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: obligations-export-csv
      path: /obligations/export-csv
      operations:
      - name: exportlicenseobligations
        method: GET
        description: Export a csv obligation list
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: query
          type: integer
          description: Obligation id to export, 0 for all
    - name: obligations-export-json
      path: /obligations/export-json
      operations:
      - name: exportobligationstojson
        method: GET
        description: Export a json obligation list
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: query
          type: integer
          description: Obligation id to export, 0 for all
    - name: obligations-import-csv
      path: /obligations/import-csv
      operations:
      - name: importobligationcsv
        method: POST
        description: Import an obligation csv file
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: obligations-import-json
      path: /obligations/import-json
      operations:
      - name: importobligationsfromjson
        method: POST
        description: Import an obligation json file
        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-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: $.
    authentication:
      type: bearer
      token: '{{env.FOSSOLOGY_API_KEY}}'
  exposes:
  - type: rest
    namespace: fossology-license-rest
    port: 8080
    description: REST adapter for FOSSology API — License. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/license
      name: license
      description: REST surface for license.
      operations:
      - method: GET
        name: getlicenses
        description: Get all license from the database
        call: fossology-license.getlicenses
        with:
          page: rest.page
          limit: rest.limit
          active: rest.active
          kind: rest.kind
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createlicense
        description: Create a new license
        call: fossology-license.createlicense
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/license/adminacknowledgements
      name: license-adminacknowledgements
      description: REST surface for license-adminacknowledgements.
      operations:
      - method: GET
        name: getadminlicenseacknowledgements
        description: Get all admin license acknowledgements
        call: fossology-license.getadminlicenseacknowledgements
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: mutateadminlicenseacknowledgement
        description: Add, Edit, Enable & Disable
        call: fossology-license.mutateadminlicenseacknowledgement
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/license/admincandidates
      name: license-admincandidates
      description: REST surface for license-admincandidates.
      operations:
      - method: GET
        name: getadminlicensecandidates
        description: Get license Candidates for admin view
        call: fossology-license.getadminlicensecandidates
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/license/admincandidates/{id}
      name: license-admincandidates-id
      description: REST surface for license-admincandidates-id.
      operations:
      - method: DELETE
        name: deletebylicensecandidateid
        description: Delete license candidate by id.
        call: fossology-license.deletebylicensecandidateid
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/license/export-csv
      name: license-export-csv
      description: REST surface for license-export-csv.
      operations:
      - method: GET
        name: exportlicense
        description: Export a csv license
        call: fossology-license.exportlicense
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/license/export-json
      name: license-export-json
      description: REST surface for license-export-json.
      operations:
      - method: GET
        name: exportadminlicensetojson
        description: Export a json license
        call: fossology-license.exportadminlicensetojson
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/license/import-csv
      name: license-import-csv
      description: REST surface for license-import-csv.
      operations:
      - method: POST
        name: importlicense
        description: Import a csv license
        call: fossology-license.importlicense
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/license/import-json
      name: license-import-json
      description: REST surface for license-import-json.
      operations:
      - method: POST
        name: handleimportlicense
        description: Import a json license
        call: fossology-license.handleimportlicense
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/license/merge/{shortname}
      name: license-merge-shortname
      description: REST surface for license-merge-shortname.
      operations:
      - method: PUT
        name: mergelicense
        description: Merge a license with another
        call: fossology-license.mergelicense
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/license/stdcomments
      name: license-stdcomments
      description: REST surface for license-stdcomments.
      operations:
      - method: GET
        name: getallstandardlicensecomments
        description: Get all standard license comments
        call: fossology-license.getallstandardlicensecomments
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: mutatestdcomments
        description: Add, Edit, Enable & Disable
        call: fossology-license.mutatestdcomments
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/license/suggest
      name: license-suggest
      description: REST surface for license-suggest.
      operations:
      - method: POST
        name: getsuggestedlicense
        description: Get suggested license by reference text.
        call: fossology-license.getsuggestedlicense
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/license/verify/{shortname}
      name: license-verify-shortname
      description: REST surface for license-verify-shortname.
      operations:
      - method: PUT
        name: verifylicense
        description: Verify a license as new or variant
        call: fossology-license.verifylicense
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/license/{shortname}
      name: license-shortname
      description: REST surface for license-shortname.
      operations:
      - method: GET
        name: getlicensebyshortname
        description: Get a specific license
        call: fossology-license.getlicensebyshortname
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: updatelicensebyshortname
        description: Update a license
        call: fossology-license.updatelicensebyshortname
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/obligations/export-csv
      name: obligations-export-csv
      description: REST surface for obligations-export-csv.
      operations:
      - method: GET
        name: exportlicenseobligations
        description: Export a csv obligation list
        call: fossology-license.exportlicenseobligations
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/obligations/export-json
      name: obligations-export-json
      description: REST surface for obligations-export-json.
      operations:
      - method: GET
        name: exportobligationstojson
        description: Export a json obligation list
        call: fossology-license.exportobligationstojson
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/obligations/import-csv
      name: obligations-import-csv
      description: REST surface for obligations-import-csv.
      operations:
      - method: POST
        name: importobligationcsv
        description: Import an obligation csv file
        call: fossology-license.importobligationcsv
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/obligations/import-json
      name: obligations-import-json
      description: REST surface for obligations-import-json.
      operations:
      - method: POST
        name: importobligationsfromjson
        description: Import an obligation json file
        call: fossology-license.importobligationsfromjson
        with:
          body: rest.body
        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-license.viewthecontentofthefile
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: fossology-license-mcp
    port: 9090
    transport: http
    description: MCP adapter for FOSSology API — License. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: get-all-license-database
      description: Get all license from the database
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: fossology-license.getlicenses
      with:
        page: tools.page
        limit: tools.limit
        active: tools.active
        kind: tools.kind
      outputParameters:
      - type: object
        mapping: $.
    - name: create-new-license
      description: Create a new license
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: fossology-license.createlicense
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-all-admin-license-acknowledgements
      description: Get all admin license acknowledgements
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: fossology-license.getadminlicenseacknowledgements
      outputParameters:
      - type: object
        mapping: $.
    - name: add-edit-enable-disable
      description: Add, Edit, Enable & Disable
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: fossology-license.mutateadminlicenseacknowledgement
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-license-candidates-admin-view
      description: Get license Candidates for admin view
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: fossology-license.getadminlicensecandidates
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-license-candidate-id
      description: Delete license candidate by id.
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: fossology-license.deletebylicensecandidateid
      outputParameters:
      - type: object
        mapping: $.
    - name: export-csv-license
      description: Export a csv license
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: fossology-license.exportlicense
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: export-json-license
      description: Export a json license
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: fossology-license.exportadminlicensetojson
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: import-csv-license
      description: Import a csv license
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: fossology-license.importlicense
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: import-json-license
      description: Import a json license
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: fossology-license.handleimportlicense
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: merge-license-another
      description: Merge a license with another
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: fossology-license.mergelicense
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-all-standard-license-comments
      description: Get all standard license comments
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: fossology-license.getallstandardlicensecomments
      outputParameters:
      - type: object
        mapping: $.
    - name: add-edit-enable-disable-2
      description: Add, Edit, Enable & Disable
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: fossology-license.mutatestdcomments
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-suggested-license-reference-text
      description: Get suggested license by reference text.
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: fossology-license.getsuggestedlicense
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: verify-license-new-variant
      description: Verify a license as new or variant
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: fossology-license.verifylicense
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-specific-license
      description: Get a specific license
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: fossology-license.getlicensebyshortname
      outputParameters:
      - type: object
        mapping: $.
    - name: update-license
      description: Update a license
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: fossology-license.updatelicensebyshortname
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: export-csv-obligation-list
      description: Export a csv obligation list
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: fossology-license.exportlicenseobligations
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: export-json-obligation-list
      description: Export a json obligation list
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: fossology-license.exportobligationstojson
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: import-obligation-csv-file
      description: Import an obligation csv file
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: fossology-license.importobligationcsv
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: import-obligation-json-file
      description: Import an obligation json file
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: fossology-license.importobligationsfromjson
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-contents-file
      description: Get the contents of the file
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: fossology-license.viewthecontentofthefile
      outputParameters:
      - type: object
        mapping: $.