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: $.