Snow Software · Capability

SAM: Licenses — Periods

SAM: Licenses — Periods. 7 operations. Lead operation: Get Maintenance and Support Periods. Self-contained Naftiko capability covering one Snow Software business surface.

Run with Naftiko Snow SoftwarePeriods

What You Can Do

GET
Getlicensemaintenanceandsupportperiods — Get Maintenance and Support Periods
/v1/api/sam/v1/licenses/maintenance-periods
GET
Getlicensemaintenanceandsupportperiodsbylicenseid — Get License's Maintenance and Support Periods
/v1/api/sam/v1/licenses/{id}/maintenance-periods
POST
Addmaintenanceandsupportperiod — Add Maintenance and Support Period
/v1/api/sam/v1/licenses/{id}/maintenance-periods
PUT
Replacemaintenanceandsupportperiods — Replace Maintenance and Support Periods
/v1/api/sam/v1/licenses/{id}/maintenance-periods
DELETE
Deletemaintenanceandsupportperiods — Delete Maintenance and Support Periods
/v1/api/sam/v1/licenses/{id}/maintenance-periods
PUT
Replacemaintenanceandsupportperiod — Replace Maintenance and Support Period
/v1/api/sam/v1/licenses/{id}/maintenance-periods/{periodid}
DELETE
Deletemaintenanceperiod — Delete Maintenance and Support Period
/v1/api/sam/v1/licenses/{id}/maintenance-periods/{periodid}

MCP Tools

get-maintenance-and-support-periods

Get Maintenance and Support Periods

read-only idempotent
get-license-s-maintenance-and-support

Get License's Maintenance and Support Periods

read-only idempotent
add-maintenance-and-support-period

Add Maintenance and Support Period

replace-maintenance-and-support-periods

Replace Maintenance and Support Periods

idempotent
delete-maintenance-and-support-periods

Delete Maintenance and Support Periods

idempotent
replace-maintenance-and-support-period

Replace Maintenance and Support Period

idempotent
delete-maintenance-and-support-period

Delete Maintenance and Support Period

idempotent

Capability Spec

licenses-periods.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: 'SAM: Licenses — Periods'
  description: 'SAM: Licenses — Periods. 7 operations. Lead operation: Get Maintenance and Support Periods. Self-contained
    Naftiko capability covering one Snow Software business surface.'
  tags:
  - Snow Software
  - Periods
  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-periods
    baseUri: https://{region}.snowsoftware.io
    description: 'SAM: Licenses — Periods business capability. Self-contained, no shared references.'
    resources:
    - name: api-sam-v1-licenses-maintenance-periods
      path: /api/sam/v1/licenses/maintenance-periods
      operations:
      - name: getlicensemaintenanceandsupportperiods
        method: GET
        description: Get Maintenance and Support Periods
        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: api-sam-v1-licenses-id-maintenance-periods
      path: /api/sam/v1/licenses/{id}/maintenance-periods
      operations:
      - name: getlicensemaintenanceandsupportperiodsbylicenseid
        method: GET
        description: Get License's Maintenance and Support Periods
        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: 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: addmaintenanceandsupportperiod
        method: POST
        description: Add Maintenance and Support Period
        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: replacemaintenanceandsupportperiods
        method: PUT
        description: Replace Maintenance and Support Periods
        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: deletemaintenanceandsupportperiods
        method: DELETE
        description: Delete Maintenance and Support Periods
        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: api-sam-v1-licenses-id-maintenance-periods-periodId
      path: /api/sam/v1/licenses/{id}/maintenance-periods/{periodId}
      operations:
      - name: replacemaintenanceandsupportperiod
        method: PUT
        description: Replace Maintenance and Support Period
        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: periodId
          in: path
          type: string
          description: The unique ID of the maintenance and support period.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: deletemaintenanceperiod
        method: DELETE
        description: Delete Maintenance and Support Period
        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: periodId
          in: path
          type: string
          description: The unique ID of the maintenance and support period.
          required: true
    authentication:
      type: bearer
      token: '{{env.SNOW_SOFTWARE_API_KEY}}'
  exposes:
  - type: rest
    namespace: licenses-periods-rest
    port: 8080
    description: 'REST adapter for SAM: Licenses — Periods. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.'
    resources:
    - path: /v1/api/sam/v1/licenses/maintenance-periods
      name: api-sam-v1-licenses-maintenance-periods
      description: REST surface for api-sam-v1-licenses-maintenance-periods.
      operations:
      - method: GET
        name: getlicensemaintenanceandsupportperiods
        description: Get Maintenance and Support Periods
        call: licenses-periods.getlicensemaintenanceandsupportperiods
        with:
          filter: rest.filter
          page_number: rest.page_number
          page_size: rest.page_size
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/sam/v1/licenses/{id}/maintenance-periods
      name: api-sam-v1-licenses-id-maintenance-periods
      description: REST surface for api-sam-v1-licenses-id-maintenance-periods.
      operations:
      - method: GET
        name: getlicensemaintenanceandsupportperiodsbylicenseid
        description: Get License's Maintenance and Support Periods
        call: licenses-periods.getlicensemaintenanceandsupportperiodsbylicenseid
        with:
          id: rest.id
          filter: rest.filter
          page_number: rest.page_number
          page_size: rest.page_size
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: addmaintenanceandsupportperiod
        description: Add Maintenance and Support Period
        call: licenses-periods.addmaintenanceandsupportperiod
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: replacemaintenanceandsupportperiods
        description: Replace Maintenance and Support Periods
        call: licenses-periods.replacemaintenanceandsupportperiods
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletemaintenanceandsupportperiods
        description: Delete Maintenance and Support Periods
        call: licenses-periods.deletemaintenanceandsupportperiods
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/sam/v1/licenses/{id}/maintenance-periods/{periodid}
      name: api-sam-v1-licenses-id-maintenance-periods-periodid
      description: REST surface for api-sam-v1-licenses-id-maintenance-periods-periodId.
      operations:
      - method: PUT
        name: replacemaintenanceandsupportperiod
        description: Replace Maintenance and Support Period
        call: licenses-periods.replacemaintenanceandsupportperiod
        with:
          id: rest.id
          periodId: rest.periodId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletemaintenanceperiod
        description: Delete Maintenance and Support Period
        call: licenses-periods.deletemaintenanceperiod
        with:
          id: rest.id
          periodId: rest.periodId
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: licenses-periods-mcp
    port: 9090
    transport: http
    description: 'MCP adapter for SAM: Licenses — Periods. One tool per consumed operation, routed inline through this capability''s
      consumes block.'
    tools:
    - name: get-maintenance-and-support-periods
      description: Get Maintenance and Support Periods
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: licenses-periods.getlicensemaintenanceandsupportperiods
      with:
        filter: tools.filter
        page_number: tools.page_number
        page_size: tools.page_size
      outputParameters:
      - type: object
        mapping: $.
    - name: get-license-s-maintenance-and-support
      description: Get License's Maintenance and Support Periods
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: licenses-periods.getlicensemaintenanceandsupportperiodsbylicenseid
      with:
        id: tools.id
        filter: tools.filter
        page_number: tools.page_number
        page_size: tools.page_size
      outputParameters:
      - type: object
        mapping: $.
    - name: add-maintenance-and-support-period
      description: Add Maintenance and Support Period
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: licenses-periods.addmaintenanceandsupportperiod
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: replace-maintenance-and-support-periods
      description: Replace Maintenance and Support Periods
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: licenses-periods.replacemaintenanceandsupportperiods
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-maintenance-and-support-periods
      description: Delete Maintenance and Support Periods
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: licenses-periods.deletemaintenanceandsupportperiods
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: replace-maintenance-and-support-period
      description: Replace Maintenance and Support Period
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: licenses-periods.replacemaintenanceandsupportperiod
      with:
        id: tools.id
        periodId: tools.periodId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-maintenance-and-support-period
      description: Delete Maintenance and Support Period
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: licenses-periods.deletemaintenanceperiod
      with:
        id: tools.id
        periodId: tools.periodId
      outputParameters:
      - type: object
        mapping: $.