naftiko: 1.0.0-alpha2 info: label: Web of Science API Expanded — search description: 'Web of Science API Expanded — search. 4 operations. Lead operation: Web of Science Expanded Search Documents via GET. Self-contained Naftiko capability covering one Web Of Science Apis business surface.' tags: - Web Of Science Apis - search created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: WEB_OF_SCIENCE_APIS_API_KEY: WEB_OF_SCIENCE_APIS_API_KEY capability: consumes: - type: http namespace: web-of-science-expanded-search baseUri: https://api.clarivate.com/api/wos description: Web of Science API Expanded — search business capability. Self-contained, no shared references. resources: - name: root path: / operations: - name: searchdocumentsget method: GET description: Web of Science Expanded Search Documents via GET outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: databaseId in: query type: string description: Database to search (e.g., WOS for Web of Science Core Collection). required: true - name: usrQuery in: query type: string description: Advanced search query string using Web of Science query syntax. Field tags include TS (topic), AU (author), TI (title), SO (source), DO (DOI), OG (organization) required: true - name: count in: query type: integer description: Number of records to return (1-100). - name: firstRecord in: query type: integer description: Starting record number for pagination. - name: lang in: query type: string description: Language of the results (default en). - name: editions in: query type: string description: Comma-separated list of WOS database editions to search. - name: publishTimeSpan in: query type: string description: Publication date range filter in format begin=YYYY-MM-DD&end=YYYY-MM-DD. - name: sortField in: query type: string description: Field and direction for sorting results. - name: loadRecord in: query type: string description: Include full record in response. - name: searchdocumentspost method: POST description: Web of Science Expanded Search Documents via POST outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: query-queryId path: /query/{queryId} operations: - name: getqueryresults method: GET description: Web of Science Expanded Fetch Query Results outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: queryId in: path type: integer description: Query identifier returned from the search endpoint. required: true - name: count in: query type: integer description: Number of records to return (1-100). - name: firstRecord in: query type: integer description: Starting record number for pagination. - name: sortField in: query type: string description: Field and direction for sorting results. - name: viewField in: query type: string description: Comma-separated list of fields to include in response. - name: recordids-queryId path: /recordids/{queryId} operations: - name: getrecordids method: GET description: Web of Science Expanded Get Record IDs for Query outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: queryId in: path type: integer description: Query identifier returned from the search endpoint. required: true - name: count in: query type: integer description: Number of record IDs to return. - name: firstRecord in: query type: integer description: Starting record number for pagination. authentication: type: apikey key: X-ApiKey value: '{{env.WEB_OF_SCIENCE_APIS_API_KEY}}' placement: header exposes: - type: rest namespace: web-of-science-expanded-search-rest port: 8080 description: REST adapter for Web of Science API Expanded — search. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1 name: root description: REST surface for root. operations: - method: GET name: searchdocumentsget description: Web of Science Expanded Search Documents via GET call: web-of-science-expanded-search.searchdocumentsget with: databaseId: rest.databaseId usrQuery: rest.usrQuery count: rest.count firstRecord: rest.firstRecord lang: rest.lang editions: rest.editions publishTimeSpan: rest.publishTimeSpan sortField: rest.sortField loadRecord: rest.loadRecord outputParameters: - type: object mapping: $. - method: POST name: searchdocumentspost description: Web of Science Expanded Search Documents via POST call: web-of-science-expanded-search.searchdocumentspost with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/query/{queryid} name: query-queryid description: REST surface for query-queryId. operations: - method: GET name: getqueryresults description: Web of Science Expanded Fetch Query Results call: web-of-science-expanded-search.getqueryresults with: queryId: rest.queryId count: rest.count firstRecord: rest.firstRecord sortField: rest.sortField viewField: rest.viewField outputParameters: - type: object mapping: $. - path: /v1/recordids/{queryid} name: recordids-queryid description: REST surface for recordids-queryId. operations: - method: GET name: getrecordids description: Web of Science Expanded Get Record IDs for Query call: web-of-science-expanded-search.getrecordids with: queryId: rest.queryId count: rest.count firstRecord: rest.firstRecord outputParameters: - type: object mapping: $. - type: mcp namespace: web-of-science-expanded-search-mcp port: 9090 transport: http description: MCP adapter for Web of Science API Expanded — search. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: web-science-expanded-search-documents description: Web of Science Expanded Search Documents via GET hints: readOnly: true destructive: false idempotent: true call: web-of-science-expanded-search.searchdocumentsget with: databaseId: tools.databaseId usrQuery: tools.usrQuery count: tools.count firstRecord: tools.firstRecord lang: tools.lang editions: tools.editions publishTimeSpan: tools.publishTimeSpan sortField: tools.sortField loadRecord: tools.loadRecord outputParameters: - type: object mapping: $. - name: web-science-expanded-search-documents-2 description: Web of Science Expanded Search Documents via POST hints: readOnly: true destructive: false idempotent: false call: web-of-science-expanded-search.searchdocumentspost with: body: tools.body outputParameters: - type: object mapping: $. - name: web-science-expanded-fetch-query description: Web of Science Expanded Fetch Query Results hints: readOnly: true destructive: false idempotent: true call: web-of-science-expanded-search.getqueryresults with: queryId: tools.queryId count: tools.count firstRecord: tools.firstRecord sortField: tools.sortField viewField: tools.viewField outputParameters: - type: object mapping: $. - name: web-science-expanded-get-record description: Web of Science Expanded Get Record IDs for Query hints: readOnly: true destructive: false idempotent: true call: web-of-science-expanded-search.getrecordids with: queryId: tools.queryId count: tools.count firstRecord: tools.firstRecord outputParameters: - type: object mapping: $.