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.
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
# 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'