naftiko: 1.0.0-alpha2 info: label: Memesio API Contracts — trend-alerts description: 'Memesio API Contracts — trend-alerts. 15 operations. Lead operation: Rank Template Suggestions from Prompt + Trend Signals for Creative Ideation Flow. Self-contained Naftiko capability covering one Memesio business surface.' tags: - Memesio - trend-alerts created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: MEMESIO_API_KEY: MEMESIO_API_KEY capability: consumes: - type: http namespace: memesio-trend-alerts baseUri: '' description: Memesio API Contracts — trend-alerts business capability. Self-contained, no shared references. resources: - name: api-ai-templates-suggest path: /api/ai/templates/suggest operations: - name: post method: POST description: Rank Template Suggestions from Prompt + Trend Signals for Creative Ideation Flow outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-alerts path: /api/alerts operations: - name: get method: GET description: List Trend Alerts with Optional Personalized Feed Ranking by Niche, Region, Topics, and Follower Count outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: query in: query type: string - name: source in: query type: string - name: status in: query type: string - name: niche in: query type: string - name: region in: query type: string - name: actorId in: query type: string - name: preferredNiche in: query type: string - name: preferredRegion in: query type: string - name: topics in: query type: string - name: followerCount in: query type: integer - name: aggressiveness in: query type: number - name: page in: query type: integer - name: pageSize in: query type: integer - name: api-alerts-connectors path: /api/alerts/connectors operations: - name: get method: GET description: Get Trend Source Connectors and Data Contracts outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-alerts-delivery path: /api/alerts/delivery operations: - name: get method: GET description: Retrieve Latest Delivery Report or Refresh Trigger-to-Delivery Fanout for in-App Inbox, Push (PWA), and Email Digest outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: refresh in: query type: boolean - name: post method: POST description: Execute Trend Alert Delivery Fanout and Return P95 Delivery Latency Against the 5-Minute SLA Target outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: api-alerts-feedback path: /api/alerts/feedback operations: - name: get method: GET description: List Stored Trend Feedback Actions outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: actorId in: query type: string - name: limit in: query type: integer - name: post method: POST description: Record Trend Feedback Action and Update Preference Vector outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-alerts-ingestion path: /api/alerts/ingestion operations: - name: get method: GET description: Run/Retrieve Real-Time Trend Ingestion from X, Reddit, TikTok, and YouTube with Dedupe + Freshness Scoring outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: refresh in: query type: boolean - name: api-alerts-message-templates path: /api/alerts/message-templates operations: - name: get method: GET description: Get Trend Alert Message Templates and Rendered Preview outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: templateId in: query type: string - name: api-alerts-preferences path: /api/alerts/preferences operations: - name: get method: GET description: Get Trend Preference Vector for Actor outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: actorId in: query type: string required: true - name: post method: POST description: Upsert Trend Preference Vector from Explicit Interests and Behavior Events outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-alerts-quality-report path: /api/alerts/quality-report operations: - name: get method: GET description: Generate or Retrieve Weekly Trend Alert Quality Report outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: refresh in: query type: boolean - name: api-alerts-ranking path: /api/alerts/ranking operations: - name: get method: GET description: Rank Trend Alerts with Personalization by Niche, Geography, Follower Count, and Creator-Selected Topics outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: actorId in: query type: string - name: preferredNiche in: query type: string - name: preferredRegion in: query type: string - name: topics in: query type: string - name: followerCount in: query type: integer - name: aggressiveness in: query type: number - name: limit in: query type: integer - name: api-alerts-triggers path: /api/alerts/triggers operations: - name: get method: GET description: Evaluate Alert Trigger Thresholds and Cooldown Decisions outputRawFormat: json outputParameters: - name: result type: object value: $. - name: post method: POST description: Run Trigger Execution, Persist Cooldown State, and Fan Out Delivery Across Inbox/Push/Email Channels with SLA Telemetry outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: apikey key: x-developer-api-key value: '{{env.MEMESIO_API_KEY}}' placement: header exposes: - type: rest namespace: memesio-trend-alerts-rest port: 8080 description: REST adapter for Memesio API Contracts — trend-alerts. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/ai/templates/suggest name: api-ai-templates-suggest description: REST surface for api-ai-templates-suggest. operations: - method: POST name: post description: Rank Template Suggestions from Prompt + Trend Signals for Creative Ideation Flow call: memesio-trend-alerts.post with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/alerts name: api-alerts description: REST surface for api-alerts. operations: - method: GET name: get description: List Trend Alerts with Optional Personalized Feed Ranking by Niche, Region, Topics, and Follower Count call: memesio-trend-alerts.get with: query: rest.query source: rest.source status: rest.status niche: rest.niche region: rest.region actorId: rest.actorId preferredNiche: rest.preferredNiche preferredRegion: rest.preferredRegion topics: rest.topics followerCount: rest.followerCount aggressiveness: rest.aggressiveness page: rest.page pageSize: rest.pageSize outputParameters: - type: object mapping: $. - path: /v1/api/alerts/connectors name: api-alerts-connectors description: REST surface for api-alerts-connectors. operations: - method: GET name: get description: Get Trend Source Connectors and Data Contracts call: memesio-trend-alerts.get outputParameters: - type: object mapping: $. - path: /v1/api/alerts/delivery name: api-alerts-delivery description: REST surface for api-alerts-delivery. operations: - method: GET name: get description: Retrieve Latest Delivery Report or Refresh Trigger-to-Delivery Fanout for in-App Inbox, Push (PWA), and Email Digest call: memesio-trend-alerts.get with: refresh: rest.refresh outputParameters: - type: object mapping: $. - method: POST name: post description: Execute Trend Alert Delivery Fanout and Return P95 Delivery Latency Against the 5-Minute SLA Target call: memesio-trend-alerts.post with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/alerts/feedback name: api-alerts-feedback description: REST surface for api-alerts-feedback. operations: - method: GET name: get description: List Stored Trend Feedback Actions call: memesio-trend-alerts.get with: actorId: rest.actorId limit: rest.limit outputParameters: - type: object mapping: $. - method: POST name: post description: Record Trend Feedback Action and Update Preference Vector call: memesio-trend-alerts.post with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/alerts/ingestion name: api-alerts-ingestion description: REST surface for api-alerts-ingestion. operations: - method: GET name: get description: Run/Retrieve Real-Time Trend Ingestion from X, Reddit, TikTok, and YouTube with Dedupe + Freshness Scoring call: memesio-trend-alerts.get with: refresh: rest.refresh outputParameters: - type: object mapping: $. - path: /v1/api/alerts/message-templates name: api-alerts-message-templates description: REST surface for api-alerts-message-templates. operations: - method: GET name: get description: Get Trend Alert Message Templates and Rendered Preview call: memesio-trend-alerts.get with: templateId: rest.templateId outputParameters: - type: object mapping: $. - path: /v1/api/alerts/preferences name: api-alerts-preferences description: REST surface for api-alerts-preferences. operations: - method: GET name: get description: Get Trend Preference Vector for Actor call: memesio-trend-alerts.get with: actorId: rest.actorId outputParameters: - type: object mapping: $. - method: POST name: post description: Upsert Trend Preference Vector from Explicit Interests and Behavior Events call: memesio-trend-alerts.post with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/alerts/quality-report name: api-alerts-quality-report description: REST surface for api-alerts-quality-report. operations: - method: GET name: get description: Generate or Retrieve Weekly Trend Alert Quality Report call: memesio-trend-alerts.get with: refresh: rest.refresh outputParameters: - type: object mapping: $. - path: /v1/api/alerts/ranking name: api-alerts-ranking description: REST surface for api-alerts-ranking. operations: - method: GET name: get description: Rank Trend Alerts with Personalization by Niche, Geography, Follower Count, and Creator-Selected Topics call: memesio-trend-alerts.get with: actorId: rest.actorId preferredNiche: rest.preferredNiche preferredRegion: rest.preferredRegion topics: rest.topics followerCount: rest.followerCount aggressiveness: rest.aggressiveness limit: rest.limit outputParameters: - type: object mapping: $. - path: /v1/api/alerts/triggers name: api-alerts-triggers description: REST surface for api-alerts-triggers. operations: - method: GET name: get description: Evaluate Alert Trigger Thresholds and Cooldown Decisions call: memesio-trend-alerts.get outputParameters: - type: object mapping: $. - method: POST name: post description: Run Trigger Execution, Persist Cooldown State, and Fan Out Delivery Across Inbox/Push/Email Channels with SLA Telemetry call: memesio-trend-alerts.post outputParameters: - type: object mapping: $. - type: mcp namespace: memesio-trend-alerts-mcp port: 9090 transport: http description: MCP adapter for Memesio API Contracts — trend-alerts. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: rank-template-suggestions-prompt-trend description: Rank Template Suggestions from Prompt + Trend Signals for Creative Ideation Flow hints: readOnly: false destructive: false idempotent: false call: memesio-trend-alerts.post with: body: tools.body outputParameters: - type: object mapping: $. - name: list-trend-alerts-optional-personalized description: List Trend Alerts with Optional Personalized Feed Ranking by Niche, Region, Topics, and Follower Count hints: readOnly: true destructive: false idempotent: true call: memesio-trend-alerts.get with: query: tools.query source: tools.source status: tools.status niche: tools.niche region: tools.region actorId: tools.actorId preferredNiche: tools.preferredNiche preferredRegion: tools.preferredRegion topics: tools.topics followerCount: tools.followerCount aggressiveness: tools.aggressiveness page: tools.page pageSize: tools.pageSize outputParameters: - type: object mapping: $. - name: get-trend-source-connectors-and description: Get Trend Source Connectors and Data Contracts hints: readOnly: true destructive: false idempotent: true call: memesio-trend-alerts.get outputParameters: - type: object mapping: $. - name: retrieve-latest-delivery-report-refresh description: Retrieve Latest Delivery Report or Refresh Trigger-to-Delivery Fanout for in-App Inbox, Push (PWA), and Email Digest hints: readOnly: true destructive: false idempotent: true call: memesio-trend-alerts.get with: refresh: tools.refresh outputParameters: - type: object mapping: $. - name: execute-trend-alert-delivery-fanout description: Execute Trend Alert Delivery Fanout and Return P95 Delivery Latency Against the 5-Minute SLA Target hints: readOnly: false destructive: false idempotent: false call: memesio-trend-alerts.post with: body: tools.body outputParameters: - type: object mapping: $. - name: list-stored-trend-feedback-actions description: List Stored Trend Feedback Actions hints: readOnly: true destructive: false idempotent: true call: memesio-trend-alerts.get with: actorId: tools.actorId limit: tools.limit outputParameters: - type: object mapping: $. - name: record-trend-feedback-action-and description: Record Trend Feedback Action and Update Preference Vector hints: readOnly: false destructive: false idempotent: false call: memesio-trend-alerts.post with: body: tools.body outputParameters: - type: object mapping: $. - name: run-retrieve-real-time-trend description: Run/Retrieve Real-Time Trend Ingestion from X, Reddit, TikTok, and YouTube with Dedupe + Freshness Scoring hints: readOnly: true destructive: false idempotent: true call: memesio-trend-alerts.get with: refresh: tools.refresh outputParameters: - type: object mapping: $. - name: get-trend-alert-message-templates description: Get Trend Alert Message Templates and Rendered Preview hints: readOnly: true destructive: false idempotent: true call: memesio-trend-alerts.get with: templateId: tools.templateId outputParameters: - type: object mapping: $. - name: get-trend-preference-vector-actor description: Get Trend Preference Vector for Actor hints: readOnly: true destructive: false idempotent: true call: memesio-trend-alerts.get with: actorId: tools.actorId outputParameters: - type: object mapping: $. - name: upsert-trend-preference-vector-explicit description: Upsert Trend Preference Vector from Explicit Interests and Behavior Events hints: readOnly: false destructive: false idempotent: false call: memesio-trend-alerts.post with: body: tools.body outputParameters: - type: object mapping: $. - name: generate-retrieve-weekly-trend-alert description: Generate or Retrieve Weekly Trend Alert Quality Report hints: readOnly: true destructive: false idempotent: true call: memesio-trend-alerts.get with: refresh: tools.refresh outputParameters: - type: object mapping: $. - name: rank-trend-alerts-personalization-niche description: Rank Trend Alerts with Personalization by Niche, Geography, Follower Count, and Creator-Selected Topics hints: readOnly: true destructive: false idempotent: true call: memesio-trend-alerts.get with: actorId: tools.actorId preferredNiche: tools.preferredNiche preferredRegion: tools.preferredRegion topics: tools.topics followerCount: tools.followerCount aggressiveness: tools.aggressiveness limit: tools.limit outputParameters: - type: object mapping: $. - name: evaluate-alert-trigger-thresholds-and description: Evaluate Alert Trigger Thresholds and Cooldown Decisions hints: readOnly: true destructive: false idempotent: true call: memesio-trend-alerts.get outputParameters: - type: object mapping: $. - name: run-trigger-execution-persist-cooldown description: Run Trigger Execution, Persist Cooldown State, and Fan Out Delivery Across Inbox/Push/Email Channels with SLA Telemetry hints: readOnly: false destructive: false idempotent: false call: memesio-trend-alerts.post outputParameters: - type: object mapping: $.