Wassenger Keypass API
The Keypass API from Wassenger — 3 operation(s) for keypass.
The Keypass API from Wassenger — 3 operation(s) for keypass.
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/wassenger:wassenger-keypass-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a 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: Wassenger Keypass API
version: 1.0.0
description: '**API documentation for Wassenger**
> 🔥 🆕 **Introducing Flows**: No-Code Automation Solution to create AI agents and automate anything on WhatsApp! Learn more
## Introduction
This API documentation provides detailed information about the API endpoints and request/response API contracts. You can easily browse all the API resources, request/response the with code examples in 15+ programming languages, including JavaScript/Node.js, Python, PHP, Ruby, Java, C#, Go, Swift, Kotlin, ObjectiveC, C/C++, cURL, Powershell and more. This is a web based API, therefore is only required to send HTTPS requests in order to communicate with the API, making it very easy to use and integrate with any third-party software, programming language, CMS, CRM or CLI tools. The API does not require any SDK and has no strict software dependencies, it can be easily used with no friction by simply sending HTTPS requests to the desired API endpoint. > 🤩 🤖 **Ask the Wassenger AI Assistant to write code for you** 👉
## Security
This API is intended for use exclusively in server-side applications. Attempting to use them in a client-side application will result in Cross-Origin Resource Sharing (CORS) errors. This restriction is intentional and ensures the security and integrity of the service. ## Tutorials
Learn how to use the API exploring our handy tutorials with detailed code examples and live API testing:
- 💬 Send messages to phone numbers
- 💬 Send messages to group chats
- 💬 Send messages to channel 🆕
- 💬 Send messages from a CSV file 🆕
- 💬 Send messages from a Google Sheets document 🆕
- 📁 Send multimedia messages (images, videos, documents, files or audios)
- 💬 Include emojis in text messages
- 💬 Send location messages
- 💬 Send contacts
- 💬 Send URL links in text messages
- 💬 Send auto-expiring messages
- 💬 Send messages in real-time without queueing
- 💬 Send messages through a specific WhatsApp number/device
- 💬 Send messages on behalf of a chat agent
- 💬 Send messages replying to a specific message
- 💬 Send dynamic buttons message
- 💬 Send dynamic list message
- 📝 How to use template variables
- 📝 How to format text with styling in messages
- ✅ Check if a phone number exists in WhatsApp and can receive messages
## Chatbots 🔥
- 🤖 Create a custom chat bot using the API + Webhooks 🆕
- 🤖 Create a ChatGPT-powered AI chatbot assistant for your business 🆕
## MCP 🆕
MCP (acronym of Model Context Protocol) connector lets you connect your Wassenger WhatsApp numbers into modern AI LLMs and chat with your WhatsApp data, analyze conversation, send messages, or perform any other WhatsApp action directly from your favorite AI chat or code tool. - 🤖 **Learn how to use MCP with your AI tool**
## Integrations
- n8n: integrate with 600+ third-party apps
- Zapier: integrate with 6000+ third-party apps
- Make (formerly Integromat): integrate with 2000+ third-party apps
- Integrately: integrate with 1200+ third-party apps
- Google Sheets
- Hubspot
- Shopify
- Zoho CRM
- Salesforce
- Microsoft Dynamics
- Pipedrive
- Bitrix24
- Airtable
- Notion
- Nimble CRM
- Monday.com
## Live API testing
Explore the live API testing using real use cases with dozens of ready-to-use examples:
- **Go to the API client live tester**
- **Explore, test and debug the API using Postman graphical HTTP client**
### API examples
Explore the many API use cases in the API tester ready-to-use code examples available in 15+ programming languages. > 🤩 🤖 **Ask the Wassenger AI Assistant to write code for you** 👉
Find below each relevant API endpoint documentation with more ready-to-use code examples. ## How to use the API
Search or browse the API endpoint by name or action to perform in the left bar. Then click on the API endpoint and browse the details of the request/response, including query or body required/optional parameters and possible valid responses.'
x-traitTag: true
x-logo:
url: https://api.wassenger.com/v1/static/accounts/waplatform/fenix/logo.png
backgroundColor: '#FFFFFF'
altText: Wassenger
servers:
- url: https://api.wassenger.com/v1
tags:
- name: Keypass
paths:
/keypass/disconnect:
parameters: []
post:
summary: Revoke the keypass helper token
description: 'Revoke the account-wide keypass token for the authenticated token holder. Downloaded extensions stop working; linked numbers are unaffected. Authorized via the keypassToken scheme (Authorization header).
----
💻 👉 **Test this endpoint in the API live tester**
>👋 **Need help?** Explore all the tutorials, 100+ use case examples and play with the API live tester with ready-to-use code examples in 15+ programming languages, including JavaScript/Node.js, PHP, Python, C#, Java, Ruby, Swift, Kotlin, Powershell, cURL and more.
> 🤩 🤖 **Ask the Wassenger AI Assistant to write code for you** 👉'
operationId: disconnectKeypass
security:
- keypassToken: []
tags:
- Keypass
responses:
'200':
description: Token revoked
'400':
description: Invalid query or body request data
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'401':
description: Invalid or revoked keypass token
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'403':
description: Invalid keypass token format
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'404':
description: Resource not found
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'429':
description: Too many keypass attempts
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'500':
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'501':
description: Not implemented
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'503':
description: Service temporarily unavailable - Try again later
content:
application/json:
schema:
$ref: '#/components/schemas/error'
x-codeSamples:
- lang: cURL
source: '// This code example requires you to have installed curl package
// Installation instructions here: https://curl.haxx.se/download.html
'
- lang: HTTPie
source: '// This code example requires to have installed httpie package, an powerful alternative to curl and wget
// Installation instructions here: https://httpie.org/docs#installation
'
- lang: Node
source: '// This code example requires you to have installed node-fetch Node.js package.
// Install it by running: npm install --save node-fetch or yarn add node-fetch
'
- lang: Node (axios)
source: ''
- lang: Node (unirest)
source: '// This code example requires you to have installed unirest Node.js package.
// Install it by running: npm install --save unirest or yarn add unirest
'
- lang: PHP (Guzzle)
source: '// This code example requires to have installed Guzzle package, a flexible and elegant HTTP client for PHP.
// Install it first following these instructions:
// https://docs.guzzlephp.org/en/stable/overview.html#installation
'
- lang: PHP (http2)
source: '// This code example requires to have installed pecl_http package, a simple and elegant HTTP client for PHP.
// Install it by running: pecl install pecl_http
// More information: https://mdref.m6w6.name/http
'
- lang: PHP (curl)
source: ''
- lang: Python
source: '# Examples requires to have installed requests Python package.
# Install it by running: pip install requests
'
- lang: JavaScript
source: '// IMPORTANT NOTICE:
// Performing HTTPS requests to the API from a JavaScript in a web browser is
// forbidden by default due to cross-origin security policies (CORS).
// More information here: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
//
// Communicating directly from JavaScript in a web browser with the API
// is considered security bad practice and completely discouraged
// as this will expose your API secret key, enabling a third-party user
// to easily steal your key and have full privilege access to your account via API.
//
// We strongly recommend to do not expose the API key in the web browser JavaScript code.
// Always use your server to communicate with the API without exposing the API key.
'
- lang: jQuery
source: '// IMPORTANT NOTICE:
// Performing HTTPS requests to the API from a JavaScript in a web browser is
// forbidden by default due to cross-origin security policies (CORS).
// More information here: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
//
// Communicating directly from JavaScript in a web browser with the API
// is considered security bad practice and completely discouraged
// as this will expose your API secret key, enabling a third-party user
// to easily steal your key and have full privilege access to your account via API.
//
// We strongly recommend to do not expose the API key in the web browser JavaScript code.
// Always use your server to communicate with the API without exposing the API key.
'
- lang: Ruby
source: ''
- lang: Go
source: ''
- lang: C# (RestClient)
source: '// This code requires you to have installed RestSharp package.
// Documentation: https://restsharp.dev
// Installation: https://www.nuget.org/packages/RestSharp
'
- lang: C# (HttpClient)
source: '// This code uses the built-in HttpClient package in the .NET framework.
// Documentation: https://docs.microsoft.com/en-us/dotnet/api/system.net.http.httpclient?view=net-6.0
'
- lang: Java
source: '// This code requires you to have installed Unirest package.
// Documentation: https://kong.github.io/unirest-java/#requests
// Installation: http://kong.github.io/unirest-java/
'
- lang: Kotlin
source: '// This code requires to have installed okhttp package.
// Documentation: https://square.github.io/okhttp/recipes/
// Installation via Maven: https://square.github.io/okhttp/#releases
'
- lang: C
source: ''
- lang: Powershell
source: ''
- lang: ObjC
source: ''
- lang: Swift
source: ''
/keypass/devices:
parameters: []
get:
summary: List keypass-connectable numbers
description: 'List the WhatsApp Web numbers the account-wide keypass token holder can connect, with account and user identity for the extension. Authorized via the keypassToken scheme (Authorization header).
----
💻 👉 **Test this endpoint in the API live tester**
>👋 **Need help?** Explore all the tutorials, 100+ use case examples and play with the API live tester with ready-to-use code examples in 15+ programming languages, including JavaScript/Node.js, PHP, Python, C#, Java, Ruby, Swift, Kotlin, Powershell, cURL and more.
> 🤩 🤖 **Ask the Wassenger AI Assistant to write code for you** 👉'
operationId: listKeypassDevices
security:
- keypassToken: []
tags:
- Keypass
responses:
'200':
description: Account, user, and connectable numbers
'400':
description: Invalid query or body request data
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'401':
description: Invalid or revoked keypass token
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'403':
description: Invalid keypass token format
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'404':
description: Resource not found
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'429':
description: Too many keypass attempts
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'500':
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'501':
description: Not implemented
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'503':
description: Service temporarily unavailable - Try again later
content:
application/json:
schema:
$ref: '#/components/schemas/error'
x-codeSamples:
- lang: cURL
source: '// This code example requires you to have installed curl package
// Installation instructions here: https://curl.haxx.se/download.html
'
- lang: HTTPie
source: '// This code example requires to have installed httpie package, an powerful alternative to curl and wget
// Installation instructions here: https://httpie.org/docs#installation
'
- lang: Node
source: '// This code example requires you to have installed node-fetch Node.js package.
// Install it by running: npm install --save node-fetch or yarn add node-fetch
'
- lang: Node (axios)
source: ''
- lang: Node (unirest)
source: '// This code example requires you to have installed unirest Node.js package.
// Install it by running: npm install --save unirest or yarn add unirest
'
- lang: PHP (Guzzle)
source: '// This code example requires to have installed Guzzle package, a flexible and elegant HTTP client for PHP.
// Install it first following these instructions:
// https://docs.guzzlephp.org/en/stable/overview.html#installation
'
- lang: PHP (http2)
source: '// This code example requires to have installed pecl_http package, a simple and elegant HTTP client for PHP.
// Install it by running: pecl install pecl_http
// More information: https://mdref.m6w6.name/http
'
- lang: PHP (curl)
source: ''
- lang: Python
source: '# Examples requires to have installed requests Python package.
# Install it by running: pip install requests
'
- lang: JavaScript
source: '// IMPORTANT NOTICE:
// Performing HTTPS requests to the API from a JavaScript in a web browser is
// forbidden by default due to cross-origin security policies (CORS).
// More information here: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
//
// Communicating directly from JavaScript in a web browser with the API
// is considered security bad practice and completely discouraged
// as this will expose your API secret key, enabling a third-party user
// to easily steal your key and have full privilege access to your account via API.
//
// We strongly recommend to do not expose the API key in the web browser JavaScript code.
// Always use your server to communicate with the API without exposing the API key.
'
- lang: jQuery
source: '// IMPORTANT NOTICE:
// Performing HTTPS requests to the API from a JavaScript in a web browser is
// forbidden by default due to cross-origin security policies (CORS).
// More information here: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
//
// Communicating directly from JavaScript in a web browser with the API
// is considered security bad practice and completely discouraged
// as this will expose your API secret key, enabling a third-party user
// to easily steal your key and have full privilege access to your account via API.
//
// We strongly recommend to do not expose the API key in the web browser JavaScript code.
// Always use your server to communicate with the API without exposing the API key.
'
- lang: Ruby
source: ''
- lang: Go
source: ''
- lang: C# (RestClient)
source: '// This code requires you to have installed RestSharp package.
// Documentation: https://restsharp.dev
// Installation: https://www.nuget.org/packages/RestSharp
'
- lang: C# (HttpClient)
source: '// This code uses the built-in HttpClient package in the .NET framework.
// Documentation: https://docs.microsoft.com/en-us/dotnet/api/system.net.http.httpclient?view=net-6.0
'
- lang: Java
source: '// This code requires you to have installed Unirest package.
// Documentation: https://kong.github.io/unirest-java/#requests
// Installation: http://kong.github.io/unirest-java/
'
- lang: Kotlin
source: '// This code requires to have installed okhttp package.
// Documentation: https://square.github.io/okhttp/recipes/
// Installation via Maven: https://square.github.io/okhttp/#releases
'
- lang: C
source: ''
- lang: Powershell
source: ''
- lang: ObjC
source: ''
- lang: Swift
source: ''
/devices/{deviceId}/keypass:
parameters: []
post:
summary: Import keypass session credentials
description: 'Ingest extracted WhatsApp session credentials for a number. Authorized via the keypassToken scheme (Authorization header): the resolved token holder must own/scope the device, be permitted to connect it, and it must not already be online.
----
💻 👉 **Test this endpoint in the API live tester**
>👋 **Need help?** Explore all the tutorials, 100+ use case examples and play with the API live tester with ready-to-use code examples in 15+ programming languages, including JavaScript/Node.js, PHP, Python, C#, Java, Ruby, Swift, Kotlin, Powershell, cURL and more.
> 🤩 🤖 **Ask the Wassenger AI Assistant to write code for you** 👉'
operationId: importDeviceKeypass
security:
- keypassToken: []
tags:
- Keypass
responses:
'202':
description: Credentials accepted and stored (pending re-injection)
'400':
description: Missing or invalid token or credentials payload
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'401':
description: Invalid or revoked keypass token
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'403':
description: Not allowed to connect this number
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'404':
description: Resource not found
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'409':
description: Number is already connected; reset before re-linking
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'429':
description: Too many keypass attempts
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'500':
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'501':
description: Not implemented
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'503':
description: Service temporarily unavailable - Try again later
content:
application/json:
schema:
$ref: '#/components/schemas/error'
x-codeSamples:
- lang: cURL
source: '// This code example requires you to have installed curl package
// Installation instructions here: https://curl.haxx.se/download.html
'
- lang: HTTPie
source: '// This code example requires to have installed httpie package, an powerful alternative to curl and wget
// Installation instructions here: https://httpie.org/docs#installation
'
- lang: Node
source: '// This code example requires you to have installed node-fetch Node.js package.
// Install it by running: npm install --save node-fetch or yarn add node-fetch
'
- lang: Node (axios)
source: ''
- lang: Node (unirest)
source: '// This code example requires you to have installed unirest Node.js package.
// Install it by running: npm install --save unirest or yarn add unirest
'
- lang: PHP (Guzzle)
source: '// This code example requires to have installed Guzzle package, a flexible and elegant HTTP client for PHP.
// Install it first following these instructions:
// https://docs.guzzlephp.org/en/stable/overview.html#installation
'
- lang: PHP (http2)
source: '// This code example requires to have installed pecl_http package, a simple and elegant HTTP client for PHP.
// Install it by running: pecl install pecl_http
// More information: https://mdref.m6w6.name/http
'
- lang: PHP (curl)
source: ''
- lang: Python
source: '# Examples requires to have installed requests Python package.
# Install it by running: pip install requests
'
- lang: JavaScript
source: '// IMPORTANT NOTICE:
// Performing HTTPS requests to the API from a JavaScript in a web browser is
// forbidden by default due to cross-origin security policies (CORS).
// More information here: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
//
// Communicating directly from JavaScript in a web browser with the API
// is considered security bad practice and completely discouraged
// as this will expose your API secret key, enabling a third-party user
// to easily steal your key and have full privilege access to your account via API.
//
// We strongly recommend to do not expose the API key in the web browser JavaScript code.
// Always use your server to communicate with the API without exposing the API key.
'
- lang: jQuery
source: '// IMPORTANT NOTICE:
// Performing HTTPS requests to the API from a JavaScript in a web browser is
// forbidden by default due to cross-origin security policies (CORS).
// More information here: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
//
// Communicating directly from JavaScript in a web browser with the API
// is considered security bad practice and completely discouraged
// as this will expose your API secret key, enabling a third-party user
// to easily steal your key and have full privilege access to your account via API.
//
// We strongly recommend to do not expose the API key in the web browser JavaScript code.
// Always use your server to communicate with the API without exposing the API key.
'
- lang: Ruby
source: ''
- lang: Go
source: ''
- lang: C# (RestClient)
source: '// This code requires you to have installed RestSharp package.
// Documentation: https://restsharp.dev
// Installation: https://www.nuget.org/packages/RestSharp
'
- lang: C# (HttpClient)
source: '// This code uses the built-in HttpClient package in the .NET framework.
// Documentation: https://docs.microsoft.com/en-us/dotnet/api/system.net.http.httpclient?view=net-6.0
'
- lang: Java
source: '// This code requires you to have installed Unirest package.
// Documentation: https://kong.github.io/unirest-java/#requests
// Installation: http://kong.github.io/unirest-java/
'
- lang: Kotlin
source: '// This code requires to have installed okhttp package.
// Documentation: https://square.github.io/okhttp/recipes/
// Installation via Maven: https://square.github.io/okhttp/#releases
'
- lang: C
source: ''
- lang: Powershell
source: ''
- lang: ObjC
source: ''
- lang: Swift
source: ''
requestBody:
content:
application/json:
schema:
type: object
description: Extracted WhatsApp session credentials blob
required: true
components:
schemas:
error:
type: object
properties:
status:
type: number
default: 400
description: HTTP status code of the error. Same as HTTP protocol response status
enum:
- 400
- 401
- 402
- 403
- 404
- 405
- 409
- 410
- 413
- 415
- 429
- 451
- 500
- 501
- 502
- 503
- 504
- 505
message:
type: string
description: Error message
errorCode:
type: string
enum:
- error:generic
- error:*
description: Application specific error code. Not always present.
errors:
type: array
description: Additional data validation errors, if present
items:
type: object
properties:
code:
type: string
description: Optional error code identifier
reason:
type: string
description: Reason of the validation error
message:
type: string
description: Error detailed description
meta:
type: object
description: Optional error metadata key-value pairs.
securitySchemes:
apiKey:
type: apiKey
name: Token
in: header
description: 'User API key token needs to be used on every API request that requires authentication.
You can define it via "token" URL query param or via "Token" HTTP request header.
Get or create your API key from the [Web Console](https://console.wassenger.com/apikeys).
**Note**: chat agents and supervisors have no access to the API.
#### Example as request header:
```
GET /v1/messages HTTP/1.1
Host: api.wassenger.com:443
Token: 5f2296349b12abf18c3e4a072cfceb47f51bde312477d048a0baf7cccf4af17861e28f80739d3a3f
```
#### Example as URL query param:
```
GET /v1/messages?token=5f2296349b12abf18c3e4a072cfceb47f51bde312477d048a0baf7cccf4af17861e28f80739d3a3f HTTP/1.1
Host: api.wassenger.com:443
```'
keypassToken:
type: apiKey
name: Authorization
in: header
description: Account-wide keypass token in the Authorization header (issued via the extension download).
externalDocs:
description: Website
url: https://app.wassenger.com
x-tagGroups:
- name: Messages (outbound)
tags:
- Messages
- name: Numbers Management
tags:
- Devices
- Session
- Groups
- Channels
- Queue
- Settings
- Profile
- Contacts
- Team Members
- Departments
- Labels
- Automatic Replies
- Automatic Assignment
- Automatic Resolution
- Quick Replies
- Meeting Links
- Business catalog
- Billing
- name: Chat
tags:
- Chats
- Chat Messages
- Chat Contacts
- Chat Files
- User Status
- Analytics
- name: Sales Funnel
tags:
- Pipeline
- Deals
- name: Campaigns
tags:
- Campaigns
- name: WhatsApp Business API
tags:
- Templates
- Templates Pricing
- Catalog
- Flows
- name: Files Storage
tags:
- Files
- name: Notifications
tags:
- Webhooks
- name: Utilities
tags:
- Verify
x-mcp:
protocolVersion: '2025-11-25'
capabilities:
tools: {}
prompts: {}
logging: {}
completions: {}
servers:
- url: https://api.wassenger.com/mcp
description: 'MCP server (beta). Authenticate with an Authorization Bearer header holding your API key. Setup guide: /help/mcp'
x-express-openapi-disable-response-validation-middleware: true
x-express-openapi-additional-middleware:
- null
x-express-openapi-schema-extension:
definitions:
schema:
properties:
oneOf:
type: array
minItems: 1
items: {}