ASAPP AutoCompose API
Improve agent productivity with AutoCompose API
Improve agent productivity with AutoCompose API
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/asapp-autocompose-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
title: Asapp Auto Compose API
version: 0.0.3
description: 'Operations tagged AutoCompose across 2 of this provider''s published API definitions: asapp-autocompose-openapi.yml, asapp-openapi-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.sandbox.asapp.com
- url: https://api.test.asapp.com
tags:
- name: AutoCompose
description: Improve agent productivity with AutoCompose API
paths:
/autocompose/v1/conversations/{conversationId}/suggestions:
parameters:
- name: conversationId
description: The identifier for a conversation.
in: path
required: true
schema:
type: string
pattern: ^[A-Z0-9]+$
post:
tags:
- AutoCompose
operationId: getSuggestions
summary: Generate suggestions
description: "Get suggestions for the next agent message in the conversation. \n\nThere are several times when this should be called:\n- when an agent joins the conversation,\n- after a message is sent by either the customer or the agent,\n- and as the agent is typing in the composer (to enable completing the agent's in-progress message).\n\nOptionally, add a message to the conversation.\n"
requestBody:
description: The parameters for getting suggestions for the next agent message.
content:
application/json:
schema:
description: A suggestions request with an optional message to add to the conversation
type: object
properties:
query:
description: text the agent has already entered into the composer
type: string
message:
description: Represents a single message within a conversation.
type: object
properties:
text:
type: string
minLength: 1
description: The content of the message.
sender:
description: Information about the participant who sent the message.
type: object
properties:
role:
description: The role of the participant in the conversation.
type: string
enum:
- agent
- customer
- system
externalId:
type: string
description: The unique identifier for the participant in your external system. This should be consistent across all interactions for the same individual.
required:
- role
- externalId
timestamp:
type: string
format: date-time
description: The time when the message was sent. Include the timezone, otherwise UTC will be assumed.
required:
- text
- sender
- timestamp
example:
text: Hello, I would like to upgrade my internet plan to GOLD.
sender:
role: agent
externalId: 123
timestamp: '2021-11-23T12:13:14.555Z'
example:
query: Hello, how can
message:
text: Hello, I would like to upgrade my internet plan to GOLD.
sender:
role: customer
externalId: customer-x
timestamp: '2023-06-01T19:16:55.706Z'
responses:
'200':
description: Successfully fetched suggestions for the conversation
content:
application/json:
schema:
description: Suggestions for next agent message
type: object
properties:
id:
description: ID for the suggestions that were returned (to be used in analytics events)
type: string
message:
description: Response for messages
type: object
properties:
id:
type: string
description: Message ID to be used for analytics
example:
id: 01BX5ZZKBKACTAV9WEVGEMMVS1
suggestions:
type: array
items:
description: Suggestion
type: object
properties:
text:
type: string
description: Suggestion text for the agent
example: Hello John, how can I help you?
templateText:
type: string
description: Suggestion text with placeholders for metadata instead of the values filled in
example: Hello {NAME}, how can I help you?
title:
type: string
description: The title of the response
example: Greeting
phraseCompletion:
description: Completion of the phrase the agent is currently typing, to be displayed inline in the composer
type: object
properties:
text:
type: string
description: Phrase completion text for the agent (this may be empty if the model does not have a confident prediction for how to complete the message)
example: Hello, how can I help you?
autopilotMessage:
description: Recommended message for the agent to autopilot send.
type: object
properties:
text:
type: string
description: Text of the message
example: Hello John, how can I help you?
templateText:
type: string
description: Text of the message with placeholders for metadata instead of the values filled in
example: Hello {NAME}, how can I help you?
title:
type: string
description: The title of the message
example: Greeting
delaySeconds:
type: integer
description: Delay before the message is sent to the customer, during which a preview of the message is shown to the agent and they can choose to cancel it
example: 5
triggerAfterSeconds:
type: integer
description: Delay before showing the preview and starting the countdown to send the message
example: 0
'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
security:
- API-ID: []
API-Secret: []
servers:
- url: https://api.sandbox.asapp.com
/autocompose/v1/profanity/evaluation:
post:
tags:
- AutoCompose
operationId: getEvaluation
summary: Evaluate profanity
description: 'Get an evaluation of a text to verify if it contains profanity, obscenity or other unwanted words. This service should be called before sending a message to prevent the agent from sending profanities in the chat.
'
requestBody:
description: The parameters for getting a evaluation result of the text typed by the user.
content:
application/json:
schema:
type: object
properties:
text:
description: text to be checked for profanity
type: string
example:
text: This is a perfectly decent sentence.
responses:
'200':
description: Successfully fetched a evaluation result of the sentence.
content:
application/json:
schema:
description: ProfanityResult
type: object
properties:
hasProfanity:
description: A boolean value describing if the text contains a curse word.
type: boolean
example: false
'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
security:
- API-ID: []
API-Secret: []
servers:
- url: https://api.sandbox.asapp.com
/autocompose/v1/spellcheck/correction:
post:
tags:
- AutoCompose
operationId: getSpellingCorrection
summary: Check for spelling mistakes
description: 'Get spelling correction for a message as it is being typed, if there is a misspelling. Only the current word
will be corrected, once it''s fully typed (so it is recommended to call this endpoint after space characters).
'
requestBody:
description: The parameters for getting a spelling correction as a message is being typed.
required: true
content:
application/json:
schema:
type: object
properties:
text:
description: Text being typed by the agent, already entered into the composer
type: string
typingEvent:
type: object
properties:
cursorStart:
description: Position of the cursor before the typing event, to identify if a word is being typed
type: integer
cursorEnd:
description: Position of the cursor after the typing event, to identify if a word is being typed
type: integer
required:
- cursorStart
- cursorEnd
userDictionary:
description: Words that should not be corrected if they are present on the text
type: array
items:
type: string
language:
description: Optional IETF language tag of the text. If not provided, the default language will be assumed which most likely will be English but it could be a different language depending on the customer setup.
type: string
required:
- text
- typingEvent
example:
text: 'How is tihs '
typingEvent:
cursorStart: 11
cursorEnd: 12
userDictionary:
- Hellooo
language: en
responses:
'200':
description: Successfully checked for a spelling mistake.
content:
application/json:
schema:
type: object
properties:
id:
description: ID for the spelling correction that was returned (to be used in analytics events)
type: string
example: 01BX5ZZKBKACTAV9WEVGEMMVS1
misspelledText:
description: misspelling that needs to be replaced with the corrected text
type: string
example: tihs
correctedText:
type: string
description: correction for the misspelling
example: this
position:
type: integer
description: position where the misspelling starts
example: 7
'400':
description: 400 - Bad request
content:
application/json:
schema:
description: Bad request response
type: object
# --- truncated at 32 KB (269 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/asapp/refs/heads/main/openapi/asapp-autocompose-api-openapi.yml