Khoros · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Khoros Ai Reports API

19 actions 19 updates phrasing extends openapi/khoros-ai-reports-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Khoros's API. It is a proposal applied on top of the contract, not a document Khoros publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 19 · first 16 shown; the file carries all of them

$.info
$.paths['/reports/jobs'].get
$.paths['/reports/report/conversation_actions'].get
$.paths['/reports/report/conversation_actions'].post
$.paths['/reports/report/user'].get
$.paths['/reports/report/user'].post
$.paths['/reports/report/{workflowId}/{runId}/download'].get
$.paths['/reports/report/author'].post
$.paths['/reports/report/combined'].post
$.paths['/reports/report/conversation'].post
$.paths['/reports/report/conversation_history_action'].post
$.paths['/reports/report/incoming_post'].post
$.paths['/reports/report/raw_agent_states'].post
$.paths['/reports/report/raw_expert_help'].post
$.paths['/reports/report/response'].post
$.paths['/reports/report/response_approval'].post

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for Khoros Ai Reports API
  version: 1.0.0
extends: openapi/khoros-ai-reports-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-10-01'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 18
- target: $.paths['/reports/jobs'].get
  update:
    x-apievangelist-phrasing:
      intent: Check the status of a legacy report job
      effect: read
      questions:
      - How do I check whether my older Care report job has finished?
      - Is the reports jobs status endpoint being deprecated?
      instructions:
      - text: Check the status of my report jobs on the legacy jobs endpoint.
      - text: Tell me if my pending Care analytics job is done yet.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/reports/report/conversation_actions'].get
  update:
    x-apievangelist-phrasing:
      intent: Generate a conversation actions report via GET
      effect: read
      questions:
      - How do I pull a conversation actions report with query parameters only?
      - Can I filter a conversation actions report to certain work queues?
      instructions:
      - text: Generate a conversation actions report for company {companyKey} from {startTime} to {endTime} via query string.
        slots:
          companyKey: query.companyKey
          startTime: query.startTime
          endTime: query.endTime
      - text: Run the GET conversation actions report for {companyKey} limited to work queues {workqueueIds}.
        slots:
          companyKey: query.companyKey
          workqueueIds: query.workqueueIds
      method: generated
      generated: '2026-10-01'
- target: $.paths['/reports/report/conversation_actions'].post
  update:
    x-apievangelist-phrasing:
      intent: Generate a conversation actions export via POST
      effect: write
      questions:
      - Can I send conversation actions export settings in a JSON body instead of the URL?
      - What options does the POSTed conversation actions export accept, like business hours?
      instructions:
      - text: Start a conversation actions export for {companyKey} with body start {startTime} and end {endTime}.
        slots:
          companyKey: query.companyKey
          startTime: requestBody.startTime
          endTime: requestBody.endTime
      - text: POST a conversation actions export for {companyKey} in format {reportFormat}.
        slots:
          companyKey: query.companyKey
          reportFormat: requestBody.reportFormat
      method: generated
      generated: '2026-10-01'
- target: $.paths['/reports/report/user'].get
  update:
    x-apievangelist-phrasing:
      intent: Generate a user export via GET
      effect: read
      questions:
      - How do I export agent user data with a simple GET request?
      - Can a user export include disabled users?
      instructions:
      - text: Generate a user export for {companyKey} from {startTime} to {endTime} using query parameters.
        slots:
          companyKey: query.companyKey
          startTime: query.startTime
          endTime: query.endTime
      - text: Export users for team {teamId} in {companyKey} via GET, including disabled ones {includeDisabled}.
        slots:
          companyKey: query.companyKey
          teamId: query.teamId
          includeDisabled: query.includeDisabled
      method: generated
      generated: '2026-10-01'
- target: $.paths['/reports/report/user'].post
  update:
    x-apievangelist-phrasing:
      intent: Generate a user export via POST
      effect: write
      questions:
      - Can I request a user export with the settings in a request body?
      - Is it possible to export just one agent's user data with a POSTed body?
      instructions:
      - text: POST a user export for {companyKey} with body start {startTime} and end {endTime}.
        slots:
          companyKey: query.companyKey
          startTime: requestBody.startTime
          endTime: requestBody.endTime
      - text: Start a body-based user export for agent {agentId} in {companyKey}.
        slots:
          companyKey: query.companyKey
          agentId: requestBody.agentId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/reports/report/{workflowId}/{runId}/download'].get
  update:
    x-apievangelist-phrasing:
      intent: Download a finished Care export
      effect: read
      questions:
      - How do I download an export once its run has completed?
      - Where do I get the file for a finished report run?
      instructions:
      - text: Download the export for workflow {workflowId} run {runId}.
        slots:
          workflowId: path.workflowId
          runId: path.runId
      - text: Fetch the completed report file from run {runId} of workflow {workflowId}.
        slots:
          workflowId: path.workflowId
          runId: path.runId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/reports/report/author'].post
  update:
    x-apievangelist-phrasing:
      intent: Generate a raw author export
      effect: write
      questions:
      - How do I export raw data about the authors who contacted us?
      - Can a raw author export be limited to business hours?
      instructions:
      - text: Create a raw author export for {companyKey} from {startTime} to {endTime}.
        slots:
          companyKey: query.companyKey
          startTime: query.startTime
          endTime: query.endTime
      - text: Export raw author data for {companyKey} in time zone {timezone}.
        slots:
          companyKey: query.companyKey
          timezone: query.timezone
      method: generated
      generated: '2026-10-01'
- target: $.paths['/reports/report/combined'].post
  update:
    x-apievangelist-phrasing:
      intent: Generate a raw combined export
      effect: write
      questions:
      - Is there a single export that combines raw conversation data sets?
      - How do I get the raw combined export for a date range?
      instructions:
      - text: Create a raw combined export for {companyKey} covering {startTime} to {endTime}.
        slots:
          companyKey: query.companyKey
          startTime: query.startTime
          endTime: query.endTime
      - text: Run the raw combined export for {companyKey} filtered to priorities {priorities}.
        slots:
          companyKey: query.companyKey
          priorities: query.priorities
      method: generated
      generated: '2026-10-01'
- target: $.paths['/reports/report/conversation'].post
  update:
    x-apievangelist-phrasing:
      intent: Generate a raw conversations export
      effect: write
      questions:
      - How do I export raw conversation records for a time range?
      - Can I choose a conversation report type in the raw conversations export?
      instructions:
      - text: Create a raw conversations export for {companyKey} from {startTime} to {endTime}.
        slots:
          companyKey: query.companyKey
          startTime: query.startTime
          endTime: query.endTime
      - text: Export raw conversations for {companyKey} of type {conversationReportType}.
        slots:
          companyKey: query.companyKey
          conversationReportType: query.conversationReportType
      method: generated
      generated: '2026-10-01'
- target: $.paths['/reports/report/conversation_history_action'].post
  update:
    x-apievangelist-phrasing:
      intent: Generate a conversation action history export
      effect: write
      questions:
      - How do I export the history of actions taken on conversations?
      - Can I raise the row limit on a conversation action history export?
      instructions:
      - text: Create a conversation action history export for {companyKey} from {startTime} to {endTime}.
        slots:
          companyKey: query.companyKey
          startTime: requestBody.startTime
          endTime: requestBody.endTime
      - text: Export conversation action history for {companyKey} with the raised limit {raiselimit}.
        slots:
          companyKey: query.companyKey
          raiselimit: query.raiselimit
      method: generated
      generated: '2026-10-01'
- target: $.paths['/reports/report/incoming_post'].post
  update:
    x-apievangelist-phrasing:
      intent: Generate a raw incoming post export
      effect: write
      questions:
      - How do I export every inbound post we received in a period?
      - Can the raw incoming post export be restricted to a smart view?
      instructions:
      - text: Create a raw incoming post export for {companyKey} from {startTime} to {endTime}.
        slots:
          companyKey: query.companyKey
          startTime: query.startTime
          endTime: query.endTime
      - text: Export incoming posts for {companyKey} in smart view {smartViewId}.
        slots:
          companyKey: query.companyKey
          smartViewId: query.smartViewId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/reports/report/raw_agent_states'].post
  update:
    x-apievangelist-phrasing:
      intent: Generate an agent state export
      effect: write
      questions:
      - How do I export when agents were available, busy or away?
      - Can an agent state export be limited to certain teams?
      instructions:
      - text: Create an agent state export for {companyKey} from {startTime} to {endTime}.
        slots:
          companyKey: query.companyKey
          startTime: query.startTime
          endTime: query.endTime
      - text: Export agent states for teams {teamIds} in {companyKey}.
        slots:
          companyKey: query.companyKey
          teamIds: query.teamIds
      method: generated
      generated: '2026-10-01'
- target: $.paths['/reports/report/raw_expert_help'].post
  update:
    x-apievangelist-phrasing:
      intent: Generate a raw help request export
      effect: write
      questions:
      - How do I export the help requests agents sent to experts?
      - Which date range does the raw help request export cover?
      instructions:
      - text: Create a raw help request export for {companyKey} from {startTime} to {endTime}.
        slots:
          companyKey: query.companyKey
          startTime: query.startTime
          endTime: query.endTime
      - text: Export expert help requests for {companyKey} in locale {locale}.
        slots:
          companyKey: query.companyKey
          locale: query.locale
      method: generated
      generated: '2026-10-01'
- target: $.paths['/reports/report/response'].post
  update:
    x-apievangelist-phrasing:
      intent: Generate a raw response export
      effect: write
      questions:
      - How do I export every response agents sent to customers?
      - Can a raw response export be filtered by work queue?
      instructions:
      - text: Create a raw response export for {companyKey} from {startTime} to {endTime}.
        slots:
          companyKey: query.companyKey
          startTime: query.startTime
          endTime: query.endTime
      - text: Export agent responses for {companyKey} in work queues {workqueueIds}.
        slots:
          companyKey: query.companyKey
          workqueueIds: query.workqueueIds
      method: generated
      generated: '2026-10-01'
- target: $.paths['/reports/report/response_approval'].post
  update:
    x-apievangelist-phrasing:
      intent: Generate a raw response approval export
      effect: write
      questions:
      - How do I export which agent responses went through approval?
      - Can a response approval export include disabled users?
      instructions:
      - text: Export which agent replies went through approval for {companyKey} between {startTime} and {endTime}.
        slots:
          companyKey: query.companyKey
          startTime: query.startTime
          endTime: query.endTime
      - text: Export response approvals for {companyKey} including disabled users {includeDisabled}.
        slots:
          companyKey: query.companyKey
          includeDisabled: query.includeDisabled
      method: generated
      generated: '2026-10-01'
- target: $.paths['/reports/report/team_performance'].post
  update:
    x-apievangelist-phrasing:
      intent: Generate a raw team performance export
      effect: write
      questions:
      - How do I export performance numbers for my support teams?
      - Can a team performance export cover only selected teams?
      instructions:
      - text: Create a raw team performance export for {companyKey} from {startTime} to {endTime}.
        slots:
          companyKey: query.companyKey
          startTime: query.startTime
          endTime: query.endTime
      - text: Export team performance for teams {teamIds} in {companyKey}.
        slots:
          companyKey: query.companyKey
          teamIds: query.teamIds
      method: generated
      generated: '2026-10-01'
- target: $.paths['/reports/report/team_performance_interval'].post
  update:
    x-apievangelist-phrasing:
      intent: Run a team performance interval export
      effect: write
      questions:
      - Can I break team performance down into fixed time intervals?
      - Is the time interval required for the team performance interval export?
      instructions:
      - text: Run a team performance interval export for {companyKey} at interval {timeInterval} from {startTime} to {endTime}.
        slots:
          companyKey: query.companyKey
          startTime: query.startTime
          endTime: query.endTime
          timeInterval: query.timeInterval
      - text: Export team performance in {timeInterval} buckets for {companyKey}.
        slots:
          companyKey: query.companyKey
          timeInterval: query.timeInterval
      method: generated
      generated: '2026-10-01'
- target: $.paths['/reports/report/{report_type}'].post
  update:
    x-apievangelist-phrasing:
      intent: Run a Care Analytics report by type
      effect: write
      questions:
      - How do I run any Care Analytics report by naming its report type?
      - Which report types can I run through the generic Care Analytics report call?
      instructions:
      - text: Run Care Analytics report {report_type} for {companyKey} from {startTime} to {endTime}.
        slots:
          companyKey: query.companyKey
          startTime: query.startTime
          endTime: query.endTime
          report_type: path.report_type
      - text: Run the {report_type} analytics report for {companyKey} in format {reportFormat}.
        slots:
          companyKey: query.companyKey
          report_type: path.report_type
          reportFormat: query.reportFormat
      method: generated
      generated: '2026-10-01'