naftiko: 1.0.0-alpha2 info: label: The News API — Headlines description: 'The News API — Headlines. 1 operations. Lead operation: Get News Headlines. Self-contained Naftiko capability covering one The News Api business surface.' tags: - The News Api - Headlines created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: THE_NEWS_API_API_KEY: THE_NEWS_API_API_KEY capability: consumes: - type: http namespace: the-news-headlines baseUri: https://api.thenewsapi.com/v1 description: The News API — Headlines business capability. Self-contained, no shared references. resources: - name: news-headlines path: /news/headlines operations: - name: getheadlines method: GET description: Get News Headlines outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: api_token in: query type: string description: Your API authentication token. required: true - name: locale in: query type: string description: Comma-separated list of country codes to filter by (e.g., us,ca,gb). - name: language in: query type: string description: Comma-separated list of language codes to filter by (e.g., en,es,fr). - name: categories in: query type: string description: 'Comma-separated list of categories: general, science, sports, business, health, entertainment, tech, politics, food, travel.' - name: domains in: query type: string description: Comma-separated list of domains to include. - name: exclude_domains in: query type: string description: Comma-separated list of domains to exclude. - name: source_ids in: query type: string description: Comma-separated list of source IDs to include. - name: exclude_source_ids in: query type: string description: Comma-separated list of source IDs to exclude. - name: published_on in: query type: string description: Filter to articles published on a specific date (Y-m-d format). - name: headlines_per_category in: query type: integer description: Number of articles per category (max 10, default 6). - name: include_similar in: query type: boolean description: Include similar articles in the response (default true). authentication: type: apikey key: api_token value: '{{env.THE_NEWS_API_API_KEY}}' placement: query exposes: - type: rest namespace: the-news-headlines-rest port: 8080 description: REST adapter for The News API — Headlines. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/news/headlines name: news-headlines description: REST surface for news-headlines. operations: - method: GET name: getheadlines description: Get News Headlines call: the-news-headlines.getheadlines with: api_token: rest.api_token locale: rest.locale language: rest.language categories: rest.categories domains: rest.domains exclude_domains: rest.exclude_domains source_ids: rest.source_ids exclude_source_ids: rest.exclude_source_ids published_on: rest.published_on headlines_per_category: rest.headlines_per_category include_similar: rest.include_similar outputParameters: - type: object mapping: $. - type: mcp namespace: the-news-headlines-mcp port: 9090 transport: http description: MCP adapter for The News API — Headlines. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: get-news-headlines description: Get News Headlines hints: readOnly: true destructive: false idempotent: true call: the-news-headlines.getheadlines with: api_token: tools.api_token locale: tools.locale language: tools.language categories: tools.categories domains: tools.domains exclude_domains: tools.exclude_domains source_ids: tools.source_ids exclude_source_ids: tools.exclude_source_ids published_on: tools.published_on headlines_per_category: tools.headlines_per_category include_similar: tools.include_similar outputParameters: - type: object mapping: $.