naftiko: 1.0.0-alpha2 info: label: Qlik Cloud REST API — Apps description: 'Qlik Cloud REST API — Apps. 19 operations. Lead operation: Get app privileges. Self-contained Naftiko capability covering one Qlik Sense business surface.' tags: - Qlik Sense - Apps created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: QLIK_SENSE_API_KEY: QLIK_SENSE_API_KEY capability: consumes: - type: http namespace: cloud-rest-apps baseUri: https://{tenant}.{region}.qlikcloud.com/api/v1 description: Qlik Cloud REST API — Apps business capability. Self-contained, no shared references. resources: - name: apps path: /apps operations: - name: getappsprivileges method: GET description: Get app privileges outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createapp method: POST description: Create an app outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: apps-import path: /apps/import operations: - name: importapp method: POST description: Import an app outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: query type: string description: The name of the target app. - name: spaceId in: query type: string description: The space identifier to import the app into. Uses personal space if omitted. - name: mode in: query type: string description: The import mode for the app. - name: body in: body type: object description: Request body (JSON). required: true - name: apps-appId path: /apps/{appId} operations: - name: getapp method: GET description: Retrieve an app outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateapp method: PUT description: Update an app outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: deleteapp method: DELETE description: Delete an app outputRawFormat: json outputParameters: - name: result type: object value: $. - name: apps-appId-copy path: /apps/{appId}/copy operations: - name: copyapp method: POST description: Copy an app outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: apps-appId-data-lineage path: /apps/{appId}/data/lineage operations: - name: getappdatalineage method: GET description: Retrieve data lineage for an app outputRawFormat: json outputParameters: - name: result type: object value: $. - name: apps-appId-data-metadata path: /apps/{appId}/data/metadata operations: - name: getappdatametadata method: GET description: Retrieve data metadata for an app outputRawFormat: json outputParameters: - name: result type: object value: $. - name: apps-appId-export path: /apps/{appId}/export operations: - name: exportapp method: POST description: Export an app outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: apps-appId-owner path: /apps/{appId}/owner operations: - name: updateappowner method: PUT description: Change app owner outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: apps-appId-publish path: /apps/{appId}/publish operations: - name: publishapp method: POST description: Publish an app outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: republishapp method: PUT description: Republish an app outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: apps-appId-reloads-logs path: /apps/{appId}/reloads/logs operations: - name: getappreloadlogs method: GET description: Retrieve script log metadata outputRawFormat: json outputParameters: - name: result type: object value: $. - name: apps-appId-reloads-logs-reloadId path: /apps/{appId}/reloads/logs/{reloadId} operations: - name: getappreloadlog method: GET description: Retrieve a specific reload log outputRawFormat: json outputParameters: - name: result type: object value: $. - name: apps-appId-scripts path: /apps/{appId}/scripts operations: - name: getappscripts method: GET description: Retrieve script history outputRawFormat: json outputParameters: - name: result type: object value: $. - name: setappscript method: POST description: Set script for an app outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: apps-appId-space path: /apps/{appId}/space operations: - name: moveapptospace method: PUT description: Move app to a space outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: removeappfromspace method: DELETE description: Remove app from space outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: bearer token: '{{env.QLIK_SENSE_API_KEY}}' exposes: - type: rest namespace: cloud-rest-apps-rest port: 8080 description: REST adapter for Qlik Cloud REST API — Apps. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/apps name: apps description: REST surface for apps. operations: - method: GET name: getappsprivileges description: Get app privileges call: cloud-rest-apps.getappsprivileges outputParameters: - type: object mapping: $. - method: POST name: createapp description: Create an app call: cloud-rest-apps.createapp with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/apps/import name: apps-import description: REST surface for apps-import. operations: - method: POST name: importapp description: Import an app call: cloud-rest-apps.importapp with: name: rest.name spaceId: rest.spaceId mode: rest.mode body: rest.body outputParameters: - type: object mapping: $. - path: /v1/apps/{appid} name: apps-appid description: REST surface for apps-appId. operations: - method: GET name: getapp description: Retrieve an app call: cloud-rest-apps.getapp outputParameters: - type: object mapping: $. - method: PUT name: updateapp description: Update an app call: cloud-rest-apps.updateapp with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteapp description: Delete an app call: cloud-rest-apps.deleteapp outputParameters: - type: object mapping: $. - path: /v1/apps/{appid}/copy name: apps-appid-copy description: REST surface for apps-appId-copy. operations: - method: POST name: copyapp description: Copy an app call: cloud-rest-apps.copyapp with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/apps/{appid}/data/lineage name: apps-appid-data-lineage description: REST surface for apps-appId-data-lineage. operations: - method: GET name: getappdatalineage description: Retrieve data lineage for an app call: cloud-rest-apps.getappdatalineage outputParameters: - type: object mapping: $. - path: /v1/apps/{appid}/data/metadata name: apps-appid-data-metadata description: REST surface for apps-appId-data-metadata. operations: - method: GET name: getappdatametadata description: Retrieve data metadata for an app call: cloud-rest-apps.getappdatametadata outputParameters: - type: object mapping: $. - path: /v1/apps/{appid}/export name: apps-appid-export description: REST surface for apps-appId-export. operations: - method: POST name: exportapp description: Export an app call: cloud-rest-apps.exportapp with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/apps/{appid}/owner name: apps-appid-owner description: REST surface for apps-appId-owner. operations: - method: PUT name: updateappowner description: Change app owner call: cloud-rest-apps.updateappowner with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/apps/{appid}/publish name: apps-appid-publish description: REST surface for apps-appId-publish. operations: - method: POST name: publishapp description: Publish an app call: cloud-rest-apps.publishapp with: body: rest.body outputParameters: - type: object mapping: $. - method: PUT name: republishapp description: Republish an app call: cloud-rest-apps.republishapp with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/apps/{appid}/reloads/logs name: apps-appid-reloads-logs description: REST surface for apps-appId-reloads-logs. operations: - method: GET name: getappreloadlogs description: Retrieve script log metadata call: cloud-rest-apps.getappreloadlogs outputParameters: - type: object mapping: $. - path: /v1/apps/{appid}/reloads/logs/{reloadid} name: apps-appid-reloads-logs-reloadid description: REST surface for apps-appId-reloads-logs-reloadId. operations: - method: GET name: getappreloadlog description: Retrieve a specific reload log call: cloud-rest-apps.getappreloadlog outputParameters: - type: object mapping: $. - path: /v1/apps/{appid}/scripts name: apps-appid-scripts description: REST surface for apps-appId-scripts. operations: - method: GET name: getappscripts description: Retrieve script history call: cloud-rest-apps.getappscripts outputParameters: - type: object mapping: $. - method: POST name: setappscript description: Set script for an app call: cloud-rest-apps.setappscript with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/apps/{appid}/space name: apps-appid-space description: REST surface for apps-appId-space. operations: - method: PUT name: moveapptospace description: Move app to a space call: cloud-rest-apps.moveapptospace with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: removeappfromspace description: Remove app from space call: cloud-rest-apps.removeappfromspace outputParameters: - type: object mapping: $. - type: mcp namespace: cloud-rest-apps-mcp port: 9090 transport: http description: MCP adapter for Qlik Cloud REST API — Apps. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: get-app-privileges description: Get app privileges hints: readOnly: true destructive: false idempotent: true call: cloud-rest-apps.getappsprivileges outputParameters: - type: object mapping: $. - name: create-app description: Create an app hints: readOnly: false destructive: false idempotent: false call: cloud-rest-apps.createapp with: body: tools.body outputParameters: - type: object mapping: $. - name: import-app description: Import an app hints: readOnly: false destructive: false idempotent: false call: cloud-rest-apps.importapp with: name: tools.name spaceId: tools.spaceId mode: tools.mode body: tools.body outputParameters: - type: object mapping: $. - name: retrieve-app description: Retrieve an app hints: readOnly: true destructive: false idempotent: true call: cloud-rest-apps.getapp outputParameters: - type: object mapping: $. - name: update-app description: Update an app hints: readOnly: false destructive: false idempotent: true call: cloud-rest-apps.updateapp with: body: tools.body outputParameters: - type: object mapping: $. - name: delete-app description: Delete an app hints: readOnly: false destructive: true idempotent: true call: cloud-rest-apps.deleteapp outputParameters: - type: object mapping: $. - name: copy-app description: Copy an app hints: readOnly: false destructive: false idempotent: false call: cloud-rest-apps.copyapp with: body: tools.body outputParameters: - type: object mapping: $. - name: retrieve-data-lineage-app description: Retrieve data lineage for an app hints: readOnly: true destructive: false idempotent: true call: cloud-rest-apps.getappdatalineage outputParameters: - type: object mapping: $. - name: retrieve-data-metadata-app description: Retrieve data metadata for an app hints: readOnly: true destructive: false idempotent: true call: cloud-rest-apps.getappdatametadata outputParameters: - type: object mapping: $. - name: export-app description: Export an app hints: readOnly: false destructive: false idempotent: false call: cloud-rest-apps.exportapp with: body: tools.body outputParameters: - type: object mapping: $. - name: change-app-owner description: Change app owner hints: readOnly: false destructive: false idempotent: true call: cloud-rest-apps.updateappowner with: body: tools.body outputParameters: - type: object mapping: $. - name: publish-app description: Publish an app hints: readOnly: false destructive: false idempotent: false call: cloud-rest-apps.publishapp with: body: tools.body outputParameters: - type: object mapping: $. - name: republish-app description: Republish an app hints: readOnly: false destructive: false idempotent: true call: cloud-rest-apps.republishapp with: body: tools.body outputParameters: - type: object mapping: $. - name: retrieve-script-log-metadata description: Retrieve script log metadata hints: readOnly: true destructive: false idempotent: true call: cloud-rest-apps.getappreloadlogs outputParameters: - type: object mapping: $. - name: retrieve-specific-reload-log description: Retrieve a specific reload log hints: readOnly: true destructive: false idempotent: true call: cloud-rest-apps.getappreloadlog outputParameters: - type: object mapping: $. - name: retrieve-script-history description: Retrieve script history hints: readOnly: true destructive: false idempotent: true call: cloud-rest-apps.getappscripts outputParameters: - type: object mapping: $. - name: set-script-app description: Set script for an app hints: readOnly: false destructive: false idempotent: false call: cloud-rest-apps.setappscript with: body: tools.body outputParameters: - type: object mapping: $. - name: move-app-space description: Move app to a space hints: readOnly: false destructive: false idempotent: true call: cloud-rest-apps.moveapptospace with: body: tools.body outputParameters: - type: object mapping: $. - name: remove-app-space description: Remove app from space hints: readOnly: false destructive: true idempotent: true call: cloud-rest-apps.removeappfromspace outputParameters: - type: object mapping: $.