naftiko: 1.0.0-alpha2 info: label: Escape Public API — Assets description: 'Escape Public API — Assets. 28 operations. Lead operation: List assets. Self-contained Naftiko capability covering one Escape business surface.' tags: - Escape - Assets created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: ESCAPE_API_KEY: ESCAPE_API_KEY capability: consumes: - type: http namespace: escape-assets baseUri: https://public.escape.tech/v3 description: Escape Public API — Assets business capability. Self-contained, no shared references. resources: - name: assets path: /assets operations: - name: listassets method: GET description: List assets outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: cursor in: query type: string description: The cursor to start the pagination from. Returned by the previous page response. If not provided, the first page will be returned. - name: size in: query type: integer description: The number of items to return per page - name: sortType in: query type: string description: The type to sort by - name: sortDirection in: query type: string description: The direction to sort by - name: search in: query type: string description: Search term to filter assets by name or description - name: types in: query type: array description: Filter by type - name: statuses in: query type: array description: Filter by status - name: manuallyCreated in: query type: string description: Filter by manually created - name: assets-aws-lambda path: /assets/aws-lambda operations: - name: createassetawslambda method: POST description: Create asset aws-lambda outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: assets-azure-tenant path: /assets/azure-tenant operations: - name: createassetazuretenant method: POST description: Create asset azure-tenant outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: assets-bitbucket-repository path: /assets/bitbucket-repository operations: - name: createassetbitbucketrepository method: POST description: Create asset bitbucket-repository outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: assets-bulk-delete path: /assets/bulk-delete operations: - name: bulkdeleteassets method: POST description: Bulk delete assets outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: assets-bulk-update path: /assets/bulk-update operations: - name: bulkupdateassets method: POST description: Bulk update assets outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: assets-code-project path: /assets/code-project operations: - name: createassetcodeproject method: POST description: Create asset code-project outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: assets-dns path: /assets/dns operations: - name: createassetdns method: POST description: Create asset dns outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: assets-github-repository path: /assets/github-repository operations: - name: createassetgithubrepository method: POST description: Create asset github-repository outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: assets-gitlab-repository path: /assets/gitlab-repository operations: - name: createassetgitlabrepository method: POST description: Create asset gitlab-repository outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: assets-graphql path: /assets/graphql operations: - name: createassetgraphql method: POST description: Create asset graphql outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: assets-grpc path: /assets/grpc operations: - name: createassetgrpc method: POST description: Create asset grpc outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: assets-ipv4 path: /assets/ipv4 operations: - name: createassetipv4 method: POST description: Create asset ipv4 outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: assets-ipv4-range path: /assets/ipv4-range operations: - name: createassetipv4range method: POST description: Create asset ipv4-range outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: assets-ipv6 path: /assets/ipv6 operations: - name: createassetipv6 method: POST description: Create asset ipv6 outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: assets-mcp path: /assets/mcp operations: - name: createassetmcp method: POST description: Create asset mcp outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: assets-package path: /assets/package operations: - name: createassetpackage method: POST description: Create asset package outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: assets-rest path: /assets/rest operations: - name: createassetrest method: POST description: Create asset rest outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: assets-schema path: /assets/schema operations: - name: createassetschema method: POST description: Create asset schema outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: assets-soap path: /assets/soap operations: - name: createassetsoap method: POST description: Create asset soap outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: assets-software path: /assets/software operations: - name: createassetsoftware method: POST description: Create asset software outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: assets-webapp path: /assets/webapp operations: - name: createassetwebapp method: POST description: Create asset webapp outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: assets-websocket path: /assets/websocket operations: - name: createassetwebsocket method: POST description: Create asset websocket outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: assets-assetId path: /assets/{assetId} operations: - name: getasset method: GET description: Get an asset outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: assetId in: path type: string description: The asset ID required: true - name: updateasset method: PUT description: Update an asset outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: assetId in: path type: string description: The asset ID required: true - name: body in: body type: object description: Request body (JSON). required: false - name: deleteasset method: DELETE description: Delete an asset outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: assetId in: path type: string description: The asset ID required: true - name: assets-assetId-activities path: /assets/{assetId}/activities operations: - name: listassetactivities method: GET description: List activities of an asset outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: assetId in: path type: string description: The asset ID required: true - name: createassetcomment method: POST description: Comment on an asset outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: assetId in: path type: string description: The asset ID required: true - name: body in: body type: object description: Request body (JSON). required: false authentication: type: apikey key: X-ESCAPE-API-KEY value: '{{env.ESCAPE_API_KEY}}' placement: header exposes: - type: rest namespace: escape-assets-rest port: 8080 description: REST adapter for Escape Public API — Assets. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/assets name: assets description: REST surface for assets. operations: - method: GET name: listassets description: List assets call: escape-assets.listassets with: cursor: rest.cursor size: rest.size sortType: rest.sortType sortDirection: rest.sortDirection search: rest.search types: rest.types statuses: rest.statuses manuallyCreated: rest.manuallyCreated outputParameters: - type: object mapping: $. - path: /v1/assets/aws-lambda name: assets-aws-lambda description: REST surface for assets-aws-lambda. operations: - method: POST name: createassetawslambda description: Create asset aws-lambda call: escape-assets.createassetawslambda with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/assets/azure-tenant name: assets-azure-tenant description: REST surface for assets-azure-tenant. operations: - method: POST name: createassetazuretenant description: Create asset azure-tenant call: escape-assets.createassetazuretenant with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/assets/bitbucket-repository name: assets-bitbucket-repository description: REST surface for assets-bitbucket-repository. operations: - method: POST name: createassetbitbucketrepository description: Create asset bitbucket-repository call: escape-assets.createassetbitbucketrepository with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/assets/bulk-delete name: assets-bulk-delete description: REST surface for assets-bulk-delete. operations: - method: POST name: bulkdeleteassets description: Bulk delete assets call: escape-assets.bulkdeleteassets with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/assets/bulk-update name: assets-bulk-update description: REST surface for assets-bulk-update. operations: - method: POST name: bulkupdateassets description: Bulk update assets call: escape-assets.bulkupdateassets with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/assets/code-project name: assets-code-project description: REST surface for assets-code-project. operations: - method: POST name: createassetcodeproject description: Create asset code-project call: escape-assets.createassetcodeproject with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/assets/dns name: assets-dns description: REST surface for assets-dns. operations: - method: POST name: createassetdns description: Create asset dns call: escape-assets.createassetdns with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/assets/github-repository name: assets-github-repository description: REST surface for assets-github-repository. operations: - method: POST name: createassetgithubrepository description: Create asset github-repository call: escape-assets.createassetgithubrepository with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/assets/gitlab-repository name: assets-gitlab-repository description: REST surface for assets-gitlab-repository. operations: - method: POST name: createassetgitlabrepository description: Create asset gitlab-repository call: escape-assets.createassetgitlabrepository with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/assets/graphql name: assets-graphql description: REST surface for assets-graphql. operations: - method: POST name: createassetgraphql description: Create asset graphql call: escape-assets.createassetgraphql with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/assets/grpc name: assets-grpc description: REST surface for assets-grpc. operations: - method: POST name: createassetgrpc description: Create asset grpc call: escape-assets.createassetgrpc with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/assets/ipv4 name: assets-ipv4 description: REST surface for assets-ipv4. operations: - method: POST name: createassetipv4 description: Create asset ipv4 call: escape-assets.createassetipv4 with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/assets/ipv4-range name: assets-ipv4-range description: REST surface for assets-ipv4-range. operations: - method: POST name: createassetipv4range description: Create asset ipv4-range call: escape-assets.createassetipv4range with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/assets/ipv6 name: assets-ipv6 description: REST surface for assets-ipv6. operations: - method: POST name: createassetipv6 description: Create asset ipv6 call: escape-assets.createassetipv6 with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/assets/mcp name: assets-mcp description: REST surface for assets-mcp. operations: - method: POST name: createassetmcp description: Create asset mcp call: escape-assets.createassetmcp with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/assets/package name: assets-package description: REST surface for assets-package. operations: - method: POST name: createassetpackage description: Create asset package call: escape-assets.createassetpackage with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/assets/rest name: assets-rest description: REST surface for assets-rest. operations: - method: POST name: createassetrest description: Create asset rest call: escape-assets.createassetrest with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/assets/schema name: assets-schema description: REST surface for assets-schema. operations: - method: POST name: createassetschema description: Create asset schema call: escape-assets.createassetschema with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/assets/soap name: assets-soap description: REST surface for assets-soap. operations: - method: POST name: createassetsoap description: Create asset soap call: escape-assets.createassetsoap with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/assets/software name: assets-software description: REST surface for assets-software. operations: - method: POST name: createassetsoftware description: Create asset software call: escape-assets.createassetsoftware with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/assets/webapp name: assets-webapp description: REST surface for assets-webapp. operations: - method: POST name: createassetwebapp description: Create asset webapp call: escape-assets.createassetwebapp with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/assets/websocket name: assets-websocket description: REST surface for assets-websocket. operations: - method: POST name: createassetwebsocket description: Create asset websocket call: escape-assets.createassetwebsocket with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/assets/{assetid} name: assets-assetid description: REST surface for assets-assetId. operations: - method: GET name: getasset description: Get an asset call: escape-assets.getasset with: assetId: rest.assetId outputParameters: - type: object mapping: $. - method: PUT name: updateasset description: Update an asset call: escape-assets.updateasset with: assetId: rest.assetId body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteasset description: Delete an asset call: escape-assets.deleteasset with: assetId: rest.assetId outputParameters: - type: object mapping: $. - path: /v1/assets/{assetid}/activities name: assets-assetid-activities description: REST surface for assets-assetId-activities. operations: - method: GET name: listassetactivities description: List activities of an asset call: escape-assets.listassetactivities with: assetId: rest.assetId outputParameters: - type: object mapping: $. - method: POST name: createassetcomment description: Comment on an asset call: escape-assets.createassetcomment with: assetId: rest.assetId body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: escape-assets-mcp port: 9090 transport: http description: MCP adapter for Escape Public API — Assets. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-assets description: List assets hints: readOnly: true destructive: false idempotent: true call: escape-assets.listassets with: cursor: tools.cursor size: tools.size sortType: tools.sortType sortDirection: tools.sortDirection search: tools.search types: tools.types statuses: tools.statuses manuallyCreated: tools.manuallyCreated outputParameters: - type: object mapping: $. - name: create-asset-aws-lambda description: Create asset aws-lambda hints: readOnly: false destructive: false idempotent: false call: escape-assets.createassetawslambda with: body: tools.body outputParameters: - type: object mapping: $. - name: create-asset-azure-tenant description: Create asset azure-tenant hints: readOnly: false destructive: false idempotent: false call: escape-assets.createassetazuretenant with: body: tools.body outputParameters: - type: object mapping: $. - name: create-asset-bitbucket-repository description: Create asset bitbucket-repository hints: readOnly: false destructive: false idempotent: false call: escape-assets.createassetbitbucketrepository with: body: tools.body outputParameters: - type: object mapping: $. - name: bulk-delete-assets description: Bulk delete assets hints: readOnly: false destructive: false idempotent: false call: escape-assets.bulkdeleteassets with: body: tools.body outputParameters: - type: object mapping: $. - name: bulk-update-assets description: Bulk update assets hints: readOnly: false destructive: false idempotent: false call: escape-assets.bulkupdateassets with: body: tools.body outputParameters: - type: object mapping: $. - name: create-asset-code-project description: Create asset code-project hints: readOnly: false destructive: false idempotent: false call: escape-assets.createassetcodeproject with: body: tools.body outputParameters: - type: object mapping: $. - name: create-asset-dns description: Create asset dns hints: readOnly: false destructive: false idempotent: false call: escape-assets.createassetdns with: body: tools.body outputParameters: - type: object mapping: $. - name: create-asset-github-repository description: Create asset github-repository hints: readOnly: false destructive: false idempotent: false call: escape-assets.createassetgithubrepository with: body: tools.body outputParameters: - type: object mapping: $. - name: create-asset-gitlab-repository description: Create asset gitlab-repository hints: readOnly: false destructive: false idempotent: false call: escape-assets.createassetgitlabrepository with: body: tools.body outputParameters: - type: object mapping: $. - name: create-asset-graphql description: Create asset graphql hints: readOnly: false destructive: false idempotent: false call: escape-assets.createassetgraphql with: body: tools.body outputParameters: - type: object mapping: $. - name: create-asset-grpc description: Create asset grpc hints: readOnly: false destructive: false idempotent: false call: escape-assets.createassetgrpc with: body: tools.body outputParameters: - type: object mapping: $. - name: create-asset-ipv4 description: Create asset ipv4 hints: readOnly: false destructive: false idempotent: false call: escape-assets.createassetipv4 with: body: tools.body outputParameters: - type: object mapping: $. - name: create-asset-ipv4-range description: Create asset ipv4-range hints: readOnly: false destructive: false idempotent: false call: escape-assets.createassetipv4range with: body: tools.body outputParameters: - type: object mapping: $. - name: create-asset-ipv6 description: Create asset ipv6 hints: readOnly: false destructive: false idempotent: false call: escape-assets.createassetipv6 with: body: tools.body outputParameters: - type: object mapping: $. - name: create-asset-mcp description: Create asset mcp hints: readOnly: false destructive: false idempotent: false call: escape-assets.createassetmcp with: body: tools.body outputParameters: - type: object mapping: $. - name: create-asset-package description: Create asset package hints: readOnly: false destructive: false idempotent: false call: escape-assets.createassetpackage with: body: tools.body outputParameters: - type: object mapping: $. - name: create-asset-rest description: Create asset rest hints: readOnly: false destructive: false idempotent: false call: escape-assets.createassetrest with: body: tools.body outputParameters: - type: object mapping: $. - name: create-asset-schema description: Create asset schema hints: readOnly: false destructive: false idempotent: false call: escape-assets.createassetschema with: body: tools.body outputParameters: - type: object mapping: $. - name: create-asset-soap description: Create asset soap hints: readOnly: false destructive: false idempotent: false call: escape-assets.createassetsoap with: body: tools.body outputParameters: - type: object mapping: $. - name: create-asset-software description: Create asset software hints: readOnly: false destructive: false idempotent: false call: escape-assets.createassetsoftware with: body: tools.body outputParameters: - type: object mapping: $. - name: create-asset-webapp description: Create asset webapp hints: readOnly: false destructive: false idempotent: false call: escape-assets.createassetwebapp with: body: tools.body outputParameters: - type: object mapping: $. - name: create-asset-websocket description: Create asset websocket hints: readOnly: false destructive: false idempotent: false call: escape-assets.createassetwebsocket with: body: tools.body outputParameters: - type: object mapping: $. - name: get-asset description: Get an asset hints: readOnly: true destructive: false idempotent: true call: escape-assets.getasset with: assetId: tools.assetId outputParameters: - type: object mapping: $. - name: update-asset description: Update an asset hints: readOnly: false destructive: false idempotent: true call: escape-assets.updateasset with: assetId: tools.assetId body: tools.body outputParameters: - type: object mapping: $. - name: delete-asset description: Delete an asset hints: readOnly: false destructive: true idempotent: true call: escape-assets.deleteasset with: assetId: tools.assetId outputParameters: - type: object mapping: $. - name: list-activities-asset description: List activities of an asset hints: readOnly: true destructive: false idempotent: true call: escape-assets.listassetactivities with: assetId: tools.assetId outputParameters: - type: object mapping: $. - name: comment-asset description: Comment on an asset hints: readOnly: false destructive: false idempotent: false call: escape-assets.createassetcomment with: assetId: tools.assetId body: tools.body outputParameters: - type: object mapping: $.