Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/authenticx-conversations-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: AcxApi Experimental Conversations API
version: v1
servers:
- url: https://api.authcx.com
description: AcxApi Experimental Server
security:
- {}
tags:
- name: Conversations
paths:
/Conversations/Classifiers:
get:
tags:
- Conversations
summary: Gets a list of classifiers
parameters:
- name: PageSize
in: query
description: Maximum number of records returned per request (1-1000, default 100)
schema:
type: integer
format: int32
default: 100
- name: LastId
in: query
description: Id of the last Classifier object in previously returned collection
schema:
type: string
format: uuid
- name: CategoryNames
in: query
description: Optional comma-delimited list of category names to filter by
schema:
type: string
- name: ClassifierTypes
in: query
description: 'Optional comma-delimited classifier type filter. Valid values are static aliases: Classifier, Core AI Model, LLM Model, Metadata.'
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/AcxApi.Models.Classifiers.ClassifierModel'
operationId: getConversationsClassifiers
x-operation-id-source: derived
/Conversations/Insights:
get:
tags:
- Conversations
summary: Get classifier results for conversations based on filter criteria
description: 'Returns a list of classifier results for conversations
with Status of "Sampled" or "ReadyToSample" that match the specified criteria.
Requests without any classifier or hierarchy filters may span up to 7 days.
Supplying at least one of ClassifierIds, HierarchyIds, HierarchyCodes,
ClassifierCategoryNames, or ClassifierTypes extends the maximum date range to 31 days.
Use GET /Conversations/Classifiers to discover valid classifier IDs.
Use GET /Hierarchy/All to discover valid hierarchy IDs and hierarchy codes.'
parameters:
- name: DateReference
in: query
description: 'Which date to filter on. Valid values: ArrivalDate (default), InteractionDate.'
schema:
type: string
example: ArrivalDate
example: ArrivalDate
- name: StartDate
in: query
description: 'ISO 8601 datetime. Required. Requests may span at most 7 days unless at least one of
ClassifierIds, HierarchyIds, HierarchyCodes, ClassifierCategoryNames, or ClassifierTypes
is supplied, in which case up to 31 days is allowed.'
required: true
schema:
type: string
example: '2024-11-15T08:30:00'
example: '2024-11-15T08:30:00'
- name: EndDate
in: query
description: 'ISO 8601 datetime. Must be equal to or later than StartDate. Required. The total requested
range may be at most 7 days unless at least one of ClassifierIds, HierarchyIds,
HierarchyCodes, ClassifierCategoryNames, or ClassifierTypes is supplied, in which case up
to 31 days is allowed.'
required: true
schema:
type: string
example: '2024-11-15T17:30:00'
example: '2024-11-15T17:30:00'
- name: ClassifierIds
in: query
description: 'Comma-separated list of classifier GUIDs. Use GET /Conversations/Classifiers to discover available IDs.
Providing this filter qualifies the request for the 31-day maximum date range.'
schema:
type: string
example: b1a9e4d6-7c3a-4e91-9342-835ec9d4f7b1,ad5b1e2f-08b9-4b23-9e0c-d1a1c3eafc2f
example: b1a9e4d6-7c3a-4e91-9342-835ec9d4f7b1,ad5b1e2f-08b9-4b23-9e0c-d1a1c3eafc2f
- name: HierarchyIds
in: query
description: 'Comma-separated list of hierarchy GUIDs. Providing this filter qualifies the request for the
31-day maximum date range.'
schema:
type: string
example: b1a9e4d6-7c3a-4e91-9342-835ec9d4f7b1,ad5b1e2f-08b9-4b23-9e0c-d1a1c3eafc2f
example: b1a9e4d6-7c3a-4e91-9342-835ec9d4f7b1,ad5b1e2f-08b9-4b23-9e0c-d1a1c3eafc2f
- name: HierarchyCodes
in: query
description: 'Comma-separated list of hierarchy codes. Resolved to hierarchy IDs automatically. Providing
this filter qualifies the request for the 31-day maximum date range.'
schema:
type: string
example: CODE1,CODE2,CODE3
example: CODE1,CODE2,CODE3
- name: ClassifierCategoryNames
in: query
description: 'Comma-separated category name filter. Valid values: Skills, Topics, Process, SE Suite.
Providing this filter qualifies the request for the 31-day maximum date range.'
schema:
type: string
example: Skills,Topics
example: Skills,Topics
- name: ClassifierTypes
in: query
description: 'Comma-delimited classifier type filter. Valid values: Classifier, Core AI Model, LLM Model, Metadata.
Providing this filter qualifies the request for the 31-day maximum date range.'
schema:
type: string
example: Core AI Model,LLM Model
example: Core AI Model,LLM Model
- name: LastId
in: query
description: GUID of the last conversation from the previous page. Used for cursor-based pagination.
schema:
type: string
example: b1a9e4d6-7c3a-4e91-9342-835ec9d4f7b1
example: b1a9e4d6-7c3a-4e91-9342-835ec9d4f7b1
- name: PageSize
in: query
description: Results per page. Default 100, max 1000.
schema:
type: integer
format: int32
example: 100
example: 100
responses:
'200':
description: Returns the conversations with classifier results that match the specified criteria
headers:
X-Has-More:
description: Whether additional records exist beyond the current page.
schema:
type: boolean
X-Next-LastId:
description: Cursor value to pass as LastId to retrieve the next page.
schema:
type: string
X-Total-Records:
description: Total number of matching records. Only available on the first page of results (when LastId is null or empty).
schema:
type: integer
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/AcxApi.Models.Conversations.ConversationInsightsResponse'
'400':
description: If the request parameters are invalid
'404':
description: If no conversations meet the criteria
operationId: getConversationsInsights
x-operation-id-source: derived
post:
tags:
- Conversations
summary: Post hierarchyIds, hierarchyCodes, or classifierIds to filter on classifier…
description: 'Returns a list of classifier results for conversations
with Status of "Sampled" or "ReadyToSample" that match the specified criteria.'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AcxApi.Models.Conversations.ConversationInsightsPostRequest'
text/json:
schema:
$ref: '#/components/schemas/AcxApi.Models.Conversations.ConversationInsightsPostRequest'
application/*+json:
schema:
$ref: '#/components/schemas/AcxApi.Models.Conversations.ConversationInsightsPostRequest'
responses:
'200':
description: Returns the conversations with classifier results that match the specified criteria
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/AcxApi.Models.Conversations.ConversationInsightsResponse'
'400':
description: If the request parameters are invalid
'404':
description: If no conversations meet the criteria
operationId: postConversationsInsights
x-operation-id-source: derived
/Conversations/Transcriptions:
post:
tags:
- Conversations
summary: Get Batched Conversation Transcriptions
description: 'Returns the transcriptions for multiple conversations identified by their unique IDs.
Up to 100 conversation IDs are accepted per request. Duplicate IDs are ignored.
Response includes:
- transcriptions: successful items
- errors: failed items, each with a statusCode indicating why it failed
* 404 = conversation not found
* 400 = failed to process
* 200 = not processed or still processing (message included)
Example request:
{
"conversationIds": [
"b1a9e4d6-7c3a-4e91-9342-835ec9d4f7b1",
"ad5b1e2f-08b9-4b23-9e0c-d1a1c3eafc2f"
]
}
Example response:
{
"transcriptions": [
{
"conversationId": "b1a9e4d6-7c3a-4e91-9342-835ec9d4f7b1",
"transcriptions": [
{
"languageCode": "en",
"transcription": [
"00:00 Agent: Hello",
"00:03 Customer: Hi"
]
}
]
}
],
"errors": [
{
"conversationId": "ad5b1e2f-08b9-4b23-9e0c-d1a1c3eafc2f",
"statusCode": 404,
"error": "Conversation not found"
}
]
}'
requestBody:
description: Request containing conversation IDs. Maximum 100 conversation IDs per request.
content:
application/json:
schema:
$ref: '#/components/schemas/AcxApi.Models.Transcription.BatchTranscriptionRequest'
text/json:
schema:
$ref: '#/components/schemas/AcxApi.Models.Transcription.BatchTranscriptionRequest'
application/*+json:
schema:
$ref: '#/components/schemas/AcxApi.Models.Transcription.BatchTranscriptionRequest'
responses:
'200':
description: Returns the transcriptions for the specified conversations
content:
application/json:
schema:
$ref: '#/components/schemas/AcxApi.Models.Transcription.BatchTranscriptionResponse'
'400':
description: Bad Request - invalid input or exceeds maximum batch size
operationId: postConversationsTranscriptions
x-operation-id-source: derived
/Conversations/Transcriptions/{conversationId}:
get:
tags:
- Conversations
summary: Get Single Conversation Transcriptions
description: 'Returns the transcriptions for a conversation identified by its unique ID.
If the conversation has not finished processing, returns 200 with a message.
If the conversation failed to process, returns 400 with a message.'
parameters:
- name: conversationId
in: path
description: GUID of the conversation. Transcriptions are only available once processing is complete. Returns 200 with a message if still processing, 400 if processing failed
required: true
schema:
type: string
format: uuid
responses:
'200':
description: Returns the transcriptions for the specified conversation
content:
application/json:
schema:
$ref: '#/components/schemas/AcxApi.Models.Transcription.ConversationTranscriptionResponse'
'404':
description: If no conversation with that specific id was found
'400':
description: Bad Request
operationId: getConversationsTranscriptionsByConversationId
x-operation-id-source: derived
components:
schemas:
AcxApi.Models.Transcription.BatchTranscriptionError:
type: object
properties:
conversationId:
type: string
description: The conversation ID that failed.
format: uuid
example: ad5b1e2f-08b9-4b23-9e0c-d1a1c3eafc2f
statusCode:
type: integer
description: HTTP status code representing the failure.
format: int32
example: 404
error:
type:
- string
- 'null'
description: Error message explaining the failure.
example: Conversation not found
additionalProperties: false
AcxApi.Models.Conversations.ConversationInsightsPostRequest:
required:
- endDate
- startDate
type: object
properties:
dateReference:
type:
- string
- 'null'
description: 'Which date to filter on. Valid values: ArrivalDate (default), InteractionDate.'
example: ArrivalDate
startDate:
minLength: 1
type: string
description: ISO 8601 datetime. Required.
example: '2024-11-15T08:30:00'
endDate:
minLength: 1
type: string
description: ISO 8601 datetime. Must be equal to or later than StartDate. Required.
example: '2024-11-15T17:30:00'
classifierCategoryNames:
type:
- string
- 'null'
description: 'Comma-separated category name filter. Valid values: Skills, Topics, Process, SE Suite.'
example: Skills,Topics
classifierTypes:
type:
- string
- 'null'
description: 'Comma-delimited classifier type filter. Valid values: Classifier, Core AI Model, LLM Model, Metadata.'
example: Core AI Model,LLM Model
lastId:
type:
- string
- 'null'
description: GUID of the last conversation from the previous page. Used for cursor-based pagination.
example: b1a9e4d6-7c3a-4e91-9342-835ec9d4f7b1
pageSize:
type:
- integer
- 'null'
description: Results per page. Default 100, max 1000.
format: int32
example: 100
classifierIds:
type:
- array
- 'null'
items:
type: string
format: uuid
description: List of classifier GUIDs. Use GET /Conversations/Classifiers to discover available IDs.
example:
- b1a9e4d6-7c3a-4e91-9342-835ec9d4f7b1
- ad5b1e2f-08b9-4b23-9e0c-d1a1c3eafc2f
hierarchyIds:
type:
- array
- 'null'
items:
type: string
format: uuid
description: List of hierarchy GUIDs.
example:
- b1a9e4d6-7c3a-4e91-9342-835ec9d4f7b1
- ad5b1e2f-08b9-4b23-9e0c-d1a1c3eafc2f
hierarchyCodes:
type:
- array
- 'null'
items:
type: string
description: List of hierarchy codes. Resolved to hierarchy IDs automatically.
example:
- CODE1
- CODE2
- CODE3
additionalProperties: false
AcxApi.Models.Conversations.ConversationInsightsResponse:
type: object
properties:
conversationId:
type: string
description: Unique identifier for the conversation. This is the same identifier returned as Id from GET /Metadata. Use this with the Transcriptions and Metadata endpoints.
format: uuid
clientCallId:
type:
- string
- 'null'
description: Your external telephony reference ID for this conversation.
arrivedOn:
type: string
description: When the conversation arrived in the system.
format: date-time
interactionDate:
type:
- string
- 'null'
description: The date/time of the actual interaction (may be null).
format: date-time
status:
type:
- string
- 'null'
description: Processing status of the conversation.
classifierResults:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/AcxApi.Models.Conversations.ClassifierResultResponse'
description: List of classifier results for this conversation.
additionalProperties: false
description: Response model for conversation with classifier results.
AcxApi.Models.Transcription.BatchTranscriptionResponse:
type: object
properties:
transcriptions:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/AcxApi.Models.Transcription.ConversationTranscriptionResponse'
description: Successfully retrieved transcriptions. Each item has the same shape as the GET /Conversations/Transcriptions/{conversationId} response.
example:
- conversationId: b1a9e4d6-7c3a-4e91-9342-835ec9d4f7b1
transcriptions:
- languageCode: en
transcription:
- '00:00 Agent: Hello'
- '00:03 Customer: Hi'
errors:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/AcxApi.Models.Transcription.BatchTranscriptionError'
description: Items that could not be retrieved. Each error includes ConversationId, StatusCode (404=not found, 400=failed to process, 200=still processing), and an Error message. Null if all items succeeded.
example:
- conversationId: ad5b1e2f-08b9-4b23-9e0c-d1a1c3eafc2f
statusCode: 404
error: Conversation not found
additionalProperties: false
AcxApi.Models.Transcription.BatchTranscriptionRequest:
required:
- conversationIds
type: object
properties:
conversationIds:
type: array
items:
type: string
format: uuid
description: List of conversation IDs to retrieve transcriptions for. Maximum 100 IDs per request. Duplicate IDs are ignored.
example:
- b1a9e4d6-7c3a-4e91-9342-835ec9d4f7b1
- ad5b1e2f-08b9-4b23-9e0c-d1a1c3eafc2f
additionalProperties: false
AcxApi.Models.Conversations.ClassifierResultResponse:
type: object
properties:
classifierId:
type: string
description: The unique identifier of the classifier.
format: uuid
classifierName:
type:
- string
- 'null'
description: The name of the classifier.
classifierType:
type:
- string
- 'null'
description: 'The friendly type label for this classifier. Valid values are: Classifier, Core AI Model, LLM Model, Metadata.'
example: Core AI Model
classifierCategoryName:
type:
- string
- 'null'
description: The classifier category name for this classifier.
result:
type:
- string
- 'null'
description: The classifier result value
reasoning:
type:
- string
- 'null'
description: An explanation of why LLM Models have a particular result, if available
additionalProperties: false
description: Response model for a classifier result associated with a conversation
AcxApi.Models.Transcription.Transcriptions:
type: object
properties:
languageCode:
type:
- string
- 'null'
description: Two Letter ISO Language Code.
example: en
transcription:
type:
- array
- 'null'
items:
type: string
description: 'Array of formatted transcription lines in the format HH:MM:SS Speaker: text.'
example:
- '00:00 Agent: Hello'
- '00:03 Customer: Hi'
additionalProperties: false
AcxApi.Models.Transcription.ConversationTranscriptionResponse:
type: object
properties:
conversationId:
type: string
description: The unique identifier of the conversation.
format: uuid
example: b1a9e4d6-7c3a-4e91-9342-835ec9d4f7b1
transcriptions:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/AcxApi.Models.Transcription.Transcriptions'
description: 'List of transcription objects, each with a LanguageCode (ISO language code, e.g. en) and a Transcription array of formatted strings in the format HH:MM:SS Speaker: text.'
example:
- languageCode: en
transcription:
- '00:00 Agent: Hello'
- '00:03 Customer: Hi'
additionalProperties: false
AcxApi.Models.Classifiers.ClassifierModel:
type: object
properties:
id:
type: string
description: Unique identifier for the classifier.
format: uuid
example: 1a356274-97b2-4536-aa2c-82e6213cd49b
name:
type:
- string
- 'null'
description: Name of the classifier.
example: First Impression
classifierType:
type:
- string
- 'null'
description: 'Friendly classifier type label. Valid values are: Classifier, Core AI Model, LLM Model, Metadata.'
example: Core AI Model
description:
type:
- string
- 'null'
description: Description of the classifier.
example: Agent appropriately greets the caller and clearly identifies self/company with a warm tone. Agent follows guidelines for greeting.
categoryName:
type:
- string
- 'null'
description: Category name of the classifier.
example: Skills
reportable:
type:
- boolean
- 'null'
description: Whether the classifier result is available for reporting.
example: false
groupable:
type:
- boolean
- 'null'
description: Whether the classifier result can be used for grouping.
example: false
additionalProperties: false
securitySchemes:
OAuth2:
type: oauth2
flows:
clientCredentials:
tokenUrl: https://api.authcx.com/connect/token
scopes:
acxapi: Access to Acx API