naftiko: 1.0.0-alpha2 info: label: SafeLine Management API — Websites description: 'SafeLine Management API — Websites. 5 operations. Lead operation: Enable or Disable Website Protection. Self-contained Naftiko capability covering one Safeline business surface.' tags: - Safeline - Websites created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: SAFELINE_API_KEY: SAFELINE_API_KEY capability: consumes: - type: http namespace: management-websites baseUri: https://{host}:9443 description: SafeLine Management API — Websites business capability. Self-contained, no shared references. resources: - name: api-EnableDisableWebsiteAPI path: /api/EnableDisableWebsiteAPI operations: - name: togglewebsiteprotection method: POST description: Enable or Disable Website Protection outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-SoftwareReverseProxyWebsiteAPI path: /api/SoftwareReverseProxyWebsiteAPI operations: - name: listwebsites method: GET description: List Protected Websites outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: page in: query type: integer - name: page_size in: query type: integer - name: createwebsite method: POST description: Create Protected Website outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: updatewebsite method: PUT description: Update Protected Website outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: deletewebsite method: DELETE description: Delete Protected Website outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true authentication: type: apikey key: X-SLCE-API-Token value: '{{env.SAFELINE_API_KEY}}' placement: header exposes: - type: rest namespace: management-websites-rest port: 8080 description: REST adapter for SafeLine Management API — Websites. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/enabledisablewebsiteapi name: api-enabledisablewebsiteapi description: REST surface for api-EnableDisableWebsiteAPI. operations: - method: POST name: togglewebsiteprotection description: Enable or Disable Website Protection call: management-websites.togglewebsiteprotection with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/softwarereverseproxywebsiteapi name: api-softwarereverseproxywebsiteapi description: REST surface for api-SoftwareReverseProxyWebsiteAPI. operations: - method: GET name: listwebsites description: List Protected Websites call: management-websites.listwebsites with: page: rest.page page_size: rest.page_size outputParameters: - type: object mapping: $. - method: POST name: createwebsite description: Create Protected Website call: management-websites.createwebsite with: body: rest.body outputParameters: - type: object mapping: $. - method: PUT name: updatewebsite description: Update Protected Website call: management-websites.updatewebsite with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletewebsite description: Delete Protected Website call: management-websites.deletewebsite with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: management-websites-mcp port: 9090 transport: http description: MCP adapter for SafeLine Management API — Websites. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: enable-disable-website-protection description: Enable or Disable Website Protection hints: readOnly: false destructive: false idempotent: false call: management-websites.togglewebsiteprotection with: body: tools.body outputParameters: - type: object mapping: $. - name: list-protected-websites description: List Protected Websites hints: readOnly: true destructive: false idempotent: true call: management-websites.listwebsites with: page: tools.page page_size: tools.page_size outputParameters: - type: object mapping: $. - name: create-protected-website description: Create Protected Website hints: readOnly: false destructive: false idempotent: false call: management-websites.createwebsite with: body: tools.body outputParameters: - type: object mapping: $. - name: update-protected-website description: Update Protected Website hints: readOnly: false destructive: false idempotent: true call: management-websites.updatewebsite with: body: tools.body outputParameters: - type: object mapping: $. - name: delete-protected-website description: Delete Protected Website hints: readOnly: false destructive: true idempotent: true call: management-websites.deletewebsite with: body: tools.body outputParameters: - type: object mapping: $.