ASAPP Conversations API
Create/update conversations and messages, authenticate customers, and list/retrieve conversation history.
Create/update conversations and messages, authenticate customers, and list/retrieve conversation history.
openapi: 3.0.1
info:
title: Conversations API
description: Operations to manage ASAPP conversations
contact:
email: api-info@asapp.com
license:
name: ASAPP Software License
url: https://api.asapp.com/LICENSE
version: '0.1'
servers:
- url: https://api.sandbox.asapp.com
tags:
- name: Conversations
description: Operations to send conversational inputs to ASAPP AI services
security:
- API-ID: []
API-Secret: []
paths:
/conversation/v1/conversations:
post:
tags:
- Conversations
operationId: createOrUpdateConversation
summary: Create or update a conversation
description: >
Creates a new conversation or updates an existing one based on the
provided `externalId`.
Use this endpoint when:
- Starting a new conversation
- Updating conversation details (e.g., reassigning to a different agent)
If the `externalId` is not found, a new conversation will be created.
Otherwise, the existing conversation will be updated.
requestBody:
required: true
content:
application/json:
schema:
description: >-
Conversation between an agent and a customer that requires a
timestamp of creation
type: object
properties:
id:
type: string
description: The identifier of the conversation.
externalId:
type: string
description: Your unique identifier for a conversation.
agent:
type: object
description: >-
Information about the agent participating in the
conversation.
properties:
externalId:
type: string
description: >-
The unique identifier for the agent in your external
system.
name:
type: string
description: The display name of the agent.
required:
- externalId
customer:
type: object
description: >-
Information about the customer participating in the
conversation.
properties:
externalId:
type: string
description: >-
The unique identifier for the customer in your external
system.
name:
type: string
description: The display name of the customer.
required:
- externalId
metadata:
type: object
additionalProperties:
type: string
description: >-
Additional key-value pairs to store custom metadata about
the conversation. Use this for filtering or categorization
purposes.
timestamp:
type: string
format: date-time
description: >-
The time when the conversation was created. Include the
timezone, otherwise UTC will be assumed.
required:
- externalId
- customer
- timestamp
example:
externalId: id-111
agent:
externalId: agent-111
name: agent-x
customer:
externalId: customer-x
name: customer-name-x
metadata:
organizationalGroup: some-group
subdivision: some-division
queue: some-queue
timestamp: '2021-11-23T12:13:14.555Z'
responses:
'200':
description: Successfully created or updated conversation
content:
application/json:
schema:
description: Response for conversation
type: object
properties:
id:
type: string
description: The identifier of the conversation.
example:
id: 01BX5ZZKBKACTAV9WEVGEMMVRZ
'400':
description: 400 - Bad request
content:
application/json:
schema:
description: Bad request response
type: object
properties:
error:
example:
requestId: 8e033668-9f1a-11ec-b909-0242ac120002
code: 400-01
message: Bad request
description: Error details
type: object
properties:
requestId:
type: string
description: Unique ID of the failing request
message:
type: string
description: Error message
code:
type: string
description: Error code
required:
- requestId
- message
'401':
description: 401 - Unauthorized
content:
application/json:
schema:
description: Unauthorized response
type: object
properties:
error:
example:
requestId: 8e033668-9f1a-11ec-b909-0242ac120002
code: 401-01
message: Unauthorized
description: Error details
type: object
properties:
requestId:
type: string
description: Unique ID of the failing request
message:
type: string
description: Error message
code:
type: string
description: Error code
required:
- requestId
- message
'403':
description: 403 - Forbidden
content:
application/json:
schema:
description: Forbidden response
type: object
properties:
error:
example:
requestId: 8e033668-9f1a-11ec-b909-0242ac120002
code: 403-01
message: Forbidden Response
description: Error details
type: object
properties:
requestId:
type: string
description: Unique ID of the failing request
message:
type: string
description: Error message
code:
type: string
description: Error code
required:
- requestId
- message
'404':
description: 404 - Not Found
content:
application/json:
schema:
description: Not Found response
type: object
properties:
error:
example:
requestId: 8e033668-9f1a-11ec-b909-0242ac120002
code: 404-01
message: Not Found
description: Error details
type: object
properties:
requestId:
type: string
description: Unique ID of the failing request
message:
type: string
description: Error message
code:
type: string
description: Error code
required:
- requestId
- message
'409':
description: 409 - Conflict
content:
application/json:
schema:
description: Conflict response
type: object
properties:
error:
example:
requestId: 8e033668-9f1a-11ec-b909-0242ac120002
code: 409-01
message: Conflict
description: Error details
type: object
properties:
requestId:
type: string
description: Unique ID of the failing request
message:
type: string
description: Error message
code:
type: string
description: Error code
required:
- requestId
- message
'413':
description: 413 - Request Entity Too Large
content:
application/json:
schema:
description: Request Entity Too Large response
type: object
properties:
error:
example:
requestId: 8e033668-9f1a-11ec-b909-0242ac120002
code: 413-01
message: Request Entity Too Large
description: Error details
type: object
properties:
requestId:
type: string
description: Unique ID of the failing request
message:
type: string
description: Error message
code:
type: string
description: Error code
required:
- requestId
- message
'422':
description: 422 - Unprocessable Entity
content:
application/json:
schema:
description: Unprocessable Entity response
type: object
properties:
error:
example:
requestId: 8e033668-9f1a-11ec-b909-0242ac120002
code: 422-01
message: Unprocessable Entity
description: Error details
type: object
properties:
requestId:
type: string
description: Unique ID of the failing request
message:
type: string
description: Error message
code:
type: string
description: Error code
required:
- requestId
- message
'429':
description: 429 - Too Many Requests
content:
application/json:
schema:
description: Too Many Requests response
type: object
properties:
error:
example:
requestId: 8e033668-9f1a-11ec-b909-0242ac120002
code: 429-01
message: Too Many Requests
description: Error details
type: object
properties:
requestId:
type: string
description: Unique ID of the failing request
message:
type: string
description: Error message
code:
type: string
description: Error code
required:
- requestId
- message
'503':
description: 503 - Service Unavailable
content:
application/json:
schema:
description: Service Unavailable response
type: object
properties:
error:
example:
requestId: 8e033668-9f1a-11ec-b909-0242ac120002
code: 503-01
message: Service Unavailable
description: Error details
type: object
properties:
requestId:
type: string
description: Unique ID of the failing request
message:
type: string
description: Error message
code:
type: string
description: Error code
required:
- requestId
- message
default:
description: 500 - Internal Server Error
content:
application/json:
schema:
description: Default error response
type: object
properties:
error:
example:
requestId: 8e033668-9f1a-11ec-b909-0242ac120002
code: 500-01
message: Internal server error
description: Error details
type: object
properties:
requestId:
type: string
description: Unique ID of the failing request
message:
type: string
description: Error message
code:
type: string
description: Error code
required:
- requestId
- message
get:
tags:
- Conversations
operationId: getConversations
summary: List conversations
description: >
Retrieves a list of conversation resources that match the specified
criteria.
You must provide at least one search criterion in the query parameters.
parameters:
- name: externalId
description: Your identifier for a conversation.
in: query
required: true
schema:
type: string
example:
externalId: id-111
responses:
'200':
description: Successfully fetched conversations
content:
application/json:
schema:
description: A list of conversations
type: object
properties:
items:
type: array
items:
description: >-
Represents a conversation between an agent and a
customer.
type: object
properties:
id:
type: string
description: >-
The unique identifier for the conversation within
the ASAPP system.
externalId:
type: string
description: >-
The unique identifier for the conversation in your
external chat or voice system.
agent:
type: object
description: >-
Information about the agent participating in the
conversation.
properties:
externalId:
type: string
description: >-
The unique identifier for the agent in your
external system.
name:
type: string
description: The display name of the agent.
required:
- externalId
customer:
type: object
description: >-
Information about the customer participating in the
conversation.
properties:
externalId:
type: string
description: >-
The unique identifier for the customer in your
external system.
name:
type: string
description: The display name of the customer.
required:
- externalId
metadata:
type: object
additionalProperties:
type: string
description: >-
Additional key-value pairs to store custom metadata
about the conversation. Use this for filtering or
categorization purposes.
required:
- externalId
- customer
example:
id: 01BX5ZZKBKACTAV9WEVGEMMVRZ
externalId: id-111
agent:
externalId: agent-111
name: agent-x
customer:
externalId: customer-x
name: customer-name-x
metadata:
organizationalGroup: some-group
subdivision: some-division
queue: some-queue
'400':
description: 400 - Bad request
content:
application/json:
schema:
description: Bad request response
type: object
properties:
error:
example:
requestId: 8e033668-9f1a-11ec-b909-0242ac120002
code: 400-01
message: Bad request
description: Error details
type: object
properties:
requestId:
type: string
description: Unique ID of the failing request
message:
type: string
description: Error message
code:
type: string
description: Error code
required:
- requestId
- message
'401':
description: 401 - Unauthorized
content:
application/json:
schema:
description: Unauthorized response
type: object
properties:
error:
example:
requestId: 8e033668-9f1a-11ec-b909-0242ac120002
code: 401-01
message: Unauthorized
description: Error details
type: object
properties:
requestId:
type: string
description: Unique ID of the failing request
message:
type: string
description: Error message
code:
type: string
description: Error code
required:
- requestId
- message
'403':
description: 403 - Forbidden
content:
application/json:
schema:
description: Forbidden response
type: object
properties:
error:
example:
requestId: 8e033668-9f1a-11ec-b909-0242ac120002
code: 403-01
message: Forbidden Response
description: Error details
type: object
properties:
requestId:
type: string
description: Unique ID of the failing request
message:
type: string
description: Error message
code:
type: string
description: Error code
required:
- requestId
- message
'404':
description: 404 - Not Found
content:
application/json:
schema:
description: Not Found response
type: object
properties:
error:
example:
requestId: 8e033668-9f1a-11ec-b909-0242ac120002
code: 404-01
message: Not Found
description: Error details
type: object
properties:
requestId:
type: string
description: Unique ID of the failing request
message:
type: string
description: Error message
code:
type: string
description: Error code
required:
- requestId
- message
'422':
description: 422 - Unprocessable Entity
content:
application/json:
schema:
description: Unprocessable Entity response
type: object
properties:
error:
example:
requestId: 8e033668-9f1a-11ec-b909-0242ac120002
code: 422-01
message: Unprocessable Entity
description: Error details
type: object
properties:
requestId:
type: string
description: Unique ID of the failing request
message:
type: string
description: Error message
code:
type: string
description: Error code
required:
- requestId
- message
'429':
description: 429 - Too Many Requests
content:
application/json:
schema:
description: Too Many Requests response
type: object
properties:
error:
example:
requestId: 8e033668-9f1a-11ec-b909-0242ac120002
code: 429-01
message: Too Many Requests
description: Error details
type: object
properties:
requestId:
type: string
description: Unique ID of the failing request
message:
type: string
description: Error message
code:
type: string
description: Error code
required:
- requestId
- message
'503':
description: 503 - Service Unavailable
content:
application/json:
schema:
description: Service Unavailable response
type: object
properties:
error:
example:
requestId: 8e033668-9f1a-11ec-b909-0242ac120002
code: 503-01
message: Service Unavailable
description: Error details
type: object
properties:
requestId:
type: string
description: Unique ID of the failing request
message:
type: string
description: Error message
code:
type: string
description: Error code
required:
- requestId
- message
default:
description: 500 - Internal Server Error
content:
application/json:
schema:
description: Default error response
type: object
properties:
error:
example:
requestId: 8e033668-9f1a-11ec-b909-0242ac120002
code: 500-01
message: Internal server error
description: Error details
type: object
properties:
requestId:
type: string
description: Unique ID of the failing request
message:
type: string
description: Error message
code:
type: string
description: Error code
required:
- requestId
- message
/conversation/v1/conversations/{conversationId}:
parameters:
- name: conversationId
description: The identifier for a conversation.
in: path
required: true
schema:
type: string
pattern: ^[A-Z0-9]+$
get:
tags:
- Conversations
operationId: getConversation
summary: Retrieve a conversation
description: >
Retrieves the details of a specific conversation using its
`conversationId`.
This endpoint returns detailed information about the conversation,
including participants and metadata.
responses:
'200':
description: Successfully fetched conversation
content:
application/json:
schema:
description: Represents a conversation between an agent and a customer.
type: object
properties:
id:
type: string
description: >-
The unique identifier for the conversation within the
ASAPP system.
externalId:
type: string
description: >-
The unique identifier for the conversation in your
external chat or voice system.
agent:
type: object
description: >-
Information about the agent participating in the
conversation.
properties:
externalId:
type: string
description: >-
The unique identifier for the agent in your external
system.
name:
type: string
description: The display name of the agent.
required:
- externalId
customer:
type: object
description: >-
Information about the customer participating in the
conversation.
properties:
externalId:
type: string
description: >-
The unique identifier for the customer in your
external system.
name:
type: string
description: The display name of the customer.
required:
- externalId
metadata:
type: object
additionalProperties:
type: string
description: >-
Additional key-value pairs to store custom metadata about
the conversation. Use this for filtering or categorization
purposes.
required:
- externalId
- customer
example:
id: 01BX5ZZKBKACTAV9WEVGEMMVRZ
externalId: id-111
agent:
externalId: agent-111
name: agent-x
customer:
externalId: customer-x
name: customer-name-x
metadata:
organizationalGroup: some-group
subdivision: some-division
queue: some-queue
'400':
description: 400 - Bad request
content:
application/json:
schema:
description: Bad request response
type: object
properties:
error:
example:
requestId: 8e033668-9f1a-11ec-b909-0242ac120002
code: 400-01
message: Bad request
description: Error details
type: object
properties:
requestId:
type: string
description: Unique ID of the failing request
message:
type: string
description: Error message
code:
type: string
description: Error code
required:
- requestId
- message
'401':
description: 401 - Unauthorized
content:
application/json:
schema:
description: Unauthorized response
type: object
properties:
error:
example:
requestId: 8e033668-9f1a-11ec-b909-0242ac120002
code: 401-01
message: Unauthorized
description: Error details
type: object
properties:
requestId:
type: string
description: Unique ID of the failing request
message:
type: string
description: Error message
code:
type: string
# --- truncated at 32 KB (144 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/asapp/refs/heads/main/openapi/asapp-conversations-openapi.yml