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/insider-conversational-api-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: Insider Conversational API
version: 1.0.0
contact:
name: Insider One Support
email: support@useinsider.com
url: https://academy.insiderone.com/docs/insider-one-apis-1
termsOfService: https://insiderone.com/terms-of-use/
description: 'Operations tagged Conversational API across 2 of this provider''s published API definitions: insider-gateway-openapi.yml, insider-whatsapp-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://gw.useinsider.com
- url: https://whatsapp.useinsider.com
tags:
- name: Conversational API
paths:
/api/wa/v2/conversational/messages/send:
post:
operationId: sendConversationalWhatsappMessagesWithOauth20
summary: Send Conversational WhatsApp Messages with OAuth 2.0
tags:
- Conversational API
description: 'WhatsApp Transactional API v2 is a REST API that enables your systems to send conversational messages through the WhatsApp Business Platform.
To send conversational WhatsApp messages using OAuth 2.0, you must first generate an OAuth 2.0 credential. For step-by-step instructions, refer to OAuth 2.0 Credentials.
Before sending Conversational WhatsApp template messages, make sure you create your template in InOne first. Refer to Create a WhatsApp Business Standard Template on InOne for step-by-step guidance.
Refer to the visual below for an example of how a conversational WhatsApp template message is displayed.
Sample Request
Use the request below to send conversational messages via WhatsApp. In addition to templates, message types such as text and media can be sent.
{
"from": "+111111111",
"messages": [
{
"phone_number": "+1234567890",
"user_id": "user-uuid-123",
"message": {
"type": "text",
"text": {
"body": "Hello! How can I help you?",
"preview_url": false
}
}
}
]
}
Body Parameters
This endpoint shares the same parameters as the Transactional WhatsApp Messages with OAuth 2.0. The primary distinction is that conversational message types, such as text, image, video, document, audio, location, and interactive, are available for the message.type field.
Sample Responses
200 OK
This code indicates that the request has been completed.
{
"keys": [
"whatsapp-660e8400-e29b-41d4-a716-446655440001"]
}
Error Codes
These endpoints return the same error codes as the Transactional WhatsApp Messages with OAuth 2.0 (2001, 2002, 2003).
Code
HTTP Status
Description
2001
400
The request body could not be decoded.
2002
400
The request body failed validation.
2003
400
The message could not be sent due to a provider error or an internal system issue.
Media Operation Errors
Code
HTTP Status
Description
2017
400
Provider not found or upload error
2018
400
Error retrieving media information
2019
400
Media download error
INVALID_FILE
400
Invalid file or file could not be read
System Errors
HTTP Status
Description
503 Service Unavailable
The system is currently in maintenance mode'
requestBody:
content:
application/json:
example:
from: '+111111111'
messages:
- phone_number: '+1234567890'
user_id: user-uuid-123
message:
type: text
text:
body: Hello! How can I help you?
preview_url: false
responses:
'429':
$ref: '#/components/responses/TooManyRequests'
security:
- OAuth2: []
servers:
- url: https://gw.useinsider.com
/api/wa/v2/conversational/settings:
post:
operationId: updateConversationalWhatsappWebhookSettingsWithOauth20
summary: Update Conversational WhatsApp Webhook Settings with OAuth 2.0
tags:
- Conversational API
description: 'This endpoint helps you update the webhook URL and other relevant settings for conversational messages.
The system supports two grant types for OAuth2 authentication:
grant_type: client_credentials
grant_type: refresh_token
Client Credentials Request
curl -X POST "https://gw.useinsider.com/api/wa/v2/conversational/settings" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your_access_token" \
-d ''{
"webhook_url": "https://partner.example.com/webhooks/conversational",
"from": "+1234567890",
"auth_type": "oauth2",
"oauth2": {
"grant_type": "client_credentials",
"token_url": "https://oauth.partner.com/oauth/token",
"client_id": "your_client_id",
"client_secret": "your_client_secret",
"scopes": [
"webhook.write"
],
"expires_in": 3600
}
}''
Refresh Token Request
curl -X POST "https://gw.useinsider.com/api/wa/v2/conversational/settings" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your_access_token" \
-d ''{
"webhook_url": "https://partner.example.com/webhooks/conversational",
"from": "+1234567890",
"auth_type": "oauth2",
"oauth2": {
"grant_type": "refresh_token",
"token_url": "https://oauth.partner.com/oauth/token",
"client_id": "your_client_id",
"client_secret": "your_client_secret",
"refresh_token": "your_refresh_token",
"scopes": [
"webhook.write"
],
"expires_in": 3600
}
}''
Error Codes
Code
HTTP Status
Description
2010
400
The settings request body could not be decoded.
2011
400
The settings request body failed validation.
2012
400
An error occurred while saving the settings.
2020
400
The webhook URL failed validation.'
responses:
'429':
$ref: '#/components/responses/TooManyRequests'
security:
- OAuth2: []
servers:
- url: https://gw.useinsider.com
/v1/conversational/send:
post:
operationId: sendConversationalWhatsappMessageTemplate
summary: Send Conversational WhatsApp Message Template
tags:
- Conversational API
description: The WhatsApp Marketing product provides conversational messages, allowing users to initiate conversations with businesses after the business has sent an initial message.
security:
- InsAuthKey: []
requestBody:
content:
application/json:
examples:
default:
value:
messages:
- phoneNumber: +1**********
message:
type: template
template:
name: '{{TEMPLATE_NAME}}'
language:
code: '{{TEMPLATE_LANGUAGE_CODE}}'
components:
- type: body
parameters:
- type: text
text: '{{PARAMETER_VALUE}}'
- type: button
sub_type: quick_reply
index: '0'
parameters:
- type: payload
payload: '1'
- type: button
sub_type: quick_reply
index: '1'
parameters:
- type: payload
payload: '2'
send-conversational-whatsapp-carousel-template-message:
summary: Send Conversational WhatsApp Carousel Template Message
value:
from: '{{FROM}}'
messages:
- phoneNumber: '{{TO}}'
message:
type: template
template:
name: '{{TEMPLATE_NAME}}'
language:
code: '{{LANG_CODE}}'
policy: deterministic
components:
- type: body
parameters:
- type: text
text: '{{BODY_1}}'
- type: carousel
cards:
- card_index: 0
components:
- type: header
parameters:
- type: image
image:
id: '{{IMG_ID_1}}'
- type: body
parameters:
- type: text
text: '{{CARD_TEXT_1}}'
- type: button
sub_type: quick_reply
index: '0'
parameters:
- type: payload
payload: '{{PAYLOAD_1}}'
- type: button
sub_type: url
index: '1'
parameters:
- type: text
text: '{{URL_1}}'
- card_index: 1
components:
- type: header
parameters:
- type: image
image:
id: '{{IMG_ID_2}}'
- type: body
parameters:
- type: text
text: '{{CARD_TEXT_2}}'
- type: button
sub_type: quick_reply
index: '0'
parameters:
- type: payload
payload: '{{PAYLOAD_2}}'
- type: button
sub_type: url
index: '1'
parameters:
- type: text
text: '{{URL_2}}'
send-conversational-whatsapp-text-message:
summary: Send Conversational WhatsApp Text Message
value:
messages:
- phoneNumber: +1**********
message:
type: text
text:
preview_url: true
body: Example Message
send-conversational-whatsapp-media-message-image:
summary: Send Conversational WhatsApp Media Message (Image)
value:
messages:
- phoneNumber: +1**********
message:
type: image
image:
link: '{{IMAGE_URL}}'
caption: Media Message (Image)
send-conversational-whatsapp-media-message-document:
summary: Send Conversational WhatsApp Media Message (Document)
value:
messages:
- phoneNumber: +1**********
message:
type: document
audio:
link: '{{DOCUMENT_LINK}}'
caption: '{{DOCUMENT_DESCRIPTION}}'
filename: '{{DOCUMENT_NAME}}'
send-conversational-whatsapp-media-message-location:
summary: Send Conversational WhatsApp Media Message (Location)
value:
messages:
- phoneNumber: +1**********
message:
type: location
location:
longitude: '11.1111111'
latitude: '11.1111111'
name: '{{ADDRESS_NAME}}'
address: '{{FULL_ADDRESS}}'
send-conversational-whatsapp-message-with-button-reply:
summary: Send Conversational WhatsApp Message with Button Reply
value:
messages:
- phoneNumber: +1**********
message:
type: interactive
interactive:
type: button
header:
type: text
text: HEADER_TEXT
body:
text: BUTTON_TEXT
action:
buttons:
- type: reply
reply:
id: UNIQUE_BUTTON_ID_1
title: BUTTON_TITLE_1
- type: reply
reply:
id: UNIQUE_BUTTON_ID_2
title: BUTTON_TITLE_2
text/plain:
example: "{\n \"messages\": [\n {\n \"phoneNumber\": \"{{PHONE_NUMBER}}\",\n \"message\": {\n \"type\": \"template\",\n \"template\": {\n \"name\": \"{{OTP_TEMPLATE_NAME}}\",\n \"language\": {\n \"code\": \"en\",\n \"policy\": \"deterministic\",\n },\n \"components\": [\n {\n \"type\": \"body\",\n \"parameters\": [\n {\n \"type\": \"text\",\n \"text\": \"{{OTP_CODE}}\"\n }\n ]\n },\n {\n \"type\": \"button\",\n \"sub_type\": \"url\",\n \"index\": \"0\",\n \"parameters\": [\n {\n \"type\": \"text\",\n \"text\": \"{{OTP_CODE}}\"\n }\n ]\n }\n ]\n }\n }\n }\n ]\n}"
responses:
'429':
$ref: '#/components/responses/TooManyRequests'
servers:
- url: https://whatsapp.useinsider.com
components:
responses:
TooManyRequests:
description: Too Many Requests. The published per-endpoint rate limit was exceeded; back off and retry, honouring Retry-After when present.
content:
application/json:
example:
message: Too Many Requests
status: 429
securitySchemes:
OAuth2:
type: oauth2
description: OAuth 2.0. Client ID / Client Secret are generated in the InOne panel under Settings > InOne Settings > Integration Settings > OAuth 2.0 Credentials, with per-channel scopes selected at generation time. Endpoint metadata read live from https://gw.useinsider.com/.well-known/oauth-authorization-server (RFC 8414).
flows:
clientCredentials:
tokenUrl: https://gw.useinsider.com/oauth2/token
scopes: {}
authorizationCode:
authorizationUrl: https://gw.useinsider.com/oauth2/authorize
tokenUrl: https://gw.useinsider.com/oauth2/token
refreshUrl: https://gw.useinsider.com/oauth2/token
scopes: {}
x-pkce:
- S256
x-revocation-endpoint: https://gw.useinsider.com/oauth2/revoke
x-discovery: well-known/insider-gw-oauth-authorization-server.json
InsAuthKey:
type: apiKey
in: header
name: X-INS-AUTH-KEY
description: Insider One authorization key for this API, generated in the InOne panel.
externalDocs:
description: Insider One API reference
url: https://academy.insiderone.com/docs/api-reference-welcome
x-refined-from:
- insider-gateway-openapi.yml
- insider-whatsapp-openapi.yml
x-provenance:
generated: '2026-08-13'
method: derived
source: postman/insider-one-apis.postman_collection.json
source_url: https://documenter.gw.postman.com/api/collections/24851117/2sB3dSR9bM
publisher_page: https://developers.insiderone.com/
note: Insider One publishes a single public Postman collection covering every REST API. This document is the subset of that collection served from analytics.api.useinsider.com.