Snow Software · Capability

SAM: Licenses — Licenses

SAM: Licenses — Licenses. 6 operations. Lead operation: Get Licenses. Self-contained Naftiko capability covering one Snow Software business surface.

Run with Naftiko Snow SoftwareLicenses

What You Can Do

GET
Getlicensecollection — Get Licenses
/v1/api/sam/v1/licenses
POST
Addlicense — Add License
/v1/api/sam/v1/licenses
POST
Bulkupdatelicenses — Bulk Update Licenses
/v1/api/sam/v1/licenses/bulk-update
GET
Getlicensebyid — Get License
/v1/api/sam/v1/licenses/{id}
PUT
Replacelicense — Replace License
/v1/api/sam/v1/licenses/{id}
DELETE
Deletelicense — Delete License
/v1/api/sam/v1/licenses/{id}

MCP Tools

get-licenses

Get Licenses

read-only idempotent
add-license

Add License

bulk-update-licenses

Bulk Update Licenses

get-license

Get License

read-only idempotent
replace-license

Replace License

idempotent
delete-license

Delete License

idempotent

Capability Spec

licenses-licenses.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: 'SAM: Licenses — Licenses'
  description: 'SAM: Licenses — Licenses. 6 operations. Lead operation: Get Licenses. Self-contained Naftiko capability covering
    one Snow Software business surface.'
  tags:
  - Snow Software
  - Licenses
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    SNOW_SOFTWARE_API_KEY: SNOW_SOFTWARE_API_KEY
capability:
  consumes:
  - type: http
    namespace: licenses-licenses
    baseUri: https://{region}.snowsoftware.io
    description: 'SAM: Licenses — Licenses business capability. Self-contained, no shared references.'
    resources:
    - name: api-sam-v1-licenses
      path: /api/sam/v1/licenses
      operations:
      - name: getlicensecollection
        method: GET
        description: Get Licenses
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: filter
          in: query
          type: string
          description: For more information on the available operators and which data types those operators work on, see [Filter
            API call results](https://docs.snowsoftware.io/snow-at
        - name: page_number
          in: query
          type: integer
          description: The page number.
        - name: page_size
          in: query
          type: integer
          description: The maximum number of items in the response.
      - name: addlicense
        method: POST
        description: Add License
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: api-sam-v1-licenses-bulk-update
      path: /api/sam/v1/licenses/bulk-update
      operations:
      - name: bulkupdatelicenses
        method: POST
        description: Bulk Update Licenses
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: api-sam-v1-licenses-id
      path: /api/sam/v1/licenses/{id}
      operations:
      - name: getlicensebyid
        method: GET
        description: Get License
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The unique ID of the license.
          required: true
      - name: replacelicense
        method: PUT
        description: Replace License
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The unique ID of the license.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: deletelicense
        method: DELETE
        description: Delete License
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The unique ID of the license.
          required: true
    authentication:
      type: bearer
      token: '{{env.SNOW_SOFTWARE_API_KEY}}'
  exposes:
  - type: rest
    namespace: licenses-licenses-rest
    port: 8080
    description: 'REST adapter for SAM: Licenses — Licenses. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.'
    resources:
    - path: /v1/api/sam/v1/licenses
      name: api-sam-v1-licenses
      description: REST surface for api-sam-v1-licenses.
      operations:
      - method: GET
        name: getlicensecollection
        description: Get Licenses
        call: licenses-licenses.getlicensecollection
        with:
          filter: rest.filter
          page_number: rest.page_number
          page_size: rest.page_size
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: addlicense
        description: Add License
        call: licenses-licenses.addlicense
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/sam/v1/licenses/bulk-update
      name: api-sam-v1-licenses-bulk-update
      description: REST surface for api-sam-v1-licenses-bulk-update.
      operations:
      - method: POST
        name: bulkupdatelicenses
        description: Bulk Update Licenses
        call: licenses-licenses.bulkupdatelicenses
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/sam/v1/licenses/{id}
      name: api-sam-v1-licenses-id
      description: REST surface for api-sam-v1-licenses-id.
      operations:
      - method: GET
        name: getlicensebyid
        description: Get License
        call: licenses-licenses.getlicensebyid
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: replacelicense
        description: Replace License
        call: licenses-licenses.replacelicense
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletelicense
        description: Delete License
        call: licenses-licenses.deletelicense
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: licenses-licenses-mcp
    port: 9090
    transport: http
    description: 'MCP adapter for SAM: Licenses — Licenses. One tool per consumed operation, routed inline through this capability''s
      consumes block.'
    tools:
    - name: get-licenses
      description: Get Licenses
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: licenses-licenses.getlicensecollection
      with:
        filter: tools.filter
        page_number: tools.page_number
        page_size: tools.page_size
      outputParameters:
      - type: object
        mapping: $.
    - name: add-license
      description: Add License
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: licenses-licenses.addlicense
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: bulk-update-licenses
      description: Bulk Update Licenses
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: licenses-licenses.bulkupdatelicenses
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-license
      description: Get License
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: licenses-licenses.getlicensebyid
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: replace-license
      description: Replace License
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: licenses-licenses.replacelicense
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-license
      description: Delete License
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: licenses-licenses.deletelicense
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.