naftiko: 1.0.0-alpha2 info: label: Firecrawl API — Crawling description: 'Firecrawl API — Crawling. 6 operations. Lead operation: Crawl multiple URLs based on options. Self-contained Naftiko capability covering one Firecrawl business surface.' tags: - Firecrawl - Crawling created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: FIRECRAWL_API_KEY: FIRECRAWL_API_KEY capability: consumes: - type: http namespace: firecrawl-crawling baseUri: https://api.firecrawl.dev/v2 description: Firecrawl API — Crawling business capability. Self-contained, no shared references. resources: - name: crawl path: /crawl operations: - name: crawlurls method: POST description: Crawl multiple URLs based on options outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: crawl-active path: /crawl/active operations: - name: getactivecrawls method: GET description: Get all active crawls for the authenticated team outputRawFormat: json outputParameters: - name: result type: object value: $. - name: crawl-params-preview path: /crawl/params-preview operations: - name: crawlparamspreview method: POST description: Preview crawl parameters generated from natural language prompt outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: crawl-id path: /crawl/{id} operations: - name: getcrawlstatus method: GET description: Get the status of a crawl job outputRawFormat: json outputParameters: - name: result type: object value: $. - name: cancelcrawl method: DELETE description: Cancel a crawl job outputRawFormat: json outputParameters: - name: result type: object value: $. - name: crawl-id-errors path: /crawl/{id}/errors operations: - name: getcrawlerrors method: GET description: Get the errors of a crawl job outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: bearer token: '{{env.FIRECRAWL_API_KEY}}' exposes: - type: rest namespace: firecrawl-crawling-rest port: 8080 description: REST adapter for Firecrawl API — Crawling. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/crawl name: crawl description: REST surface for crawl. operations: - method: POST name: crawlurls description: Crawl multiple URLs based on options call: firecrawl-crawling.crawlurls with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/crawl/active name: crawl-active description: REST surface for crawl-active. operations: - method: GET name: getactivecrawls description: Get all active crawls for the authenticated team call: firecrawl-crawling.getactivecrawls outputParameters: - type: object mapping: $. - path: /v1/crawl/params-preview name: crawl-params-preview description: REST surface for crawl-params-preview. operations: - method: POST name: crawlparamspreview description: Preview crawl parameters generated from natural language prompt call: firecrawl-crawling.crawlparamspreview with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/crawl/{id} name: crawl-id description: REST surface for crawl-id. operations: - method: GET name: getcrawlstatus description: Get the status of a crawl job call: firecrawl-crawling.getcrawlstatus outputParameters: - type: object mapping: $. - method: DELETE name: cancelcrawl description: Cancel a crawl job call: firecrawl-crawling.cancelcrawl outputParameters: - type: object mapping: $. - path: /v1/crawl/{id}/errors name: crawl-id-errors description: REST surface for crawl-id-errors. operations: - method: GET name: getcrawlerrors description: Get the errors of a crawl job call: firecrawl-crawling.getcrawlerrors outputParameters: - type: object mapping: $. - type: mcp namespace: firecrawl-crawling-mcp port: 9090 transport: http description: MCP adapter for Firecrawl API — Crawling. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: crawl-multiple-urls-based-options description: Crawl multiple URLs based on options hints: readOnly: false destructive: false idempotent: false call: firecrawl-crawling.crawlurls with: body: tools.body outputParameters: - type: object mapping: $. - name: get-all-active-crawls-authenticated description: Get all active crawls for the authenticated team hints: readOnly: true destructive: false idempotent: true call: firecrawl-crawling.getactivecrawls outputParameters: - type: object mapping: $. - name: preview-crawl-parameters-generated-natural description: Preview crawl parameters generated from natural language prompt hints: readOnly: false destructive: false idempotent: false call: firecrawl-crawling.crawlparamspreview with: body: tools.body outputParameters: - type: object mapping: $. - name: get-status-crawl-job description: Get the status of a crawl job hints: readOnly: true destructive: false idempotent: true call: firecrawl-crawling.getcrawlstatus outputParameters: - type: object mapping: $. - name: cancel-crawl-job description: Cancel a crawl job hints: readOnly: false destructive: true idempotent: true call: firecrawl-crawling.cancelcrawl outputParameters: - type: object mapping: $. - name: get-errors-crawl-job description: Get the errors of a crawl job hints: readOnly: true destructive: false idempotent: true call: firecrawl-crawling.getcrawlerrors outputParameters: - type: object mapping: $.