# WhatsApp Integration via LowCodeAPI
**Last Updated**: February 10, 2026
## Overview
Messaging service
**Categories:**
- {'id': 'social-chat', 'name': 'Social Chat'}
## Base Endpoint
https://api.lowcodeapi.com/whatsapp
**Important**: Always include the provider name in the URL path after `api.lowcodeapi.com/`
## Authentication
**Type:** OAUTH2.0
**Official Documentation:** https://developers.facebook.com/docs/whatsapp/cloud-api/reference
## URL Format (Important)
LowCodeAPI supports two URL formats. **Always try the New Format first**, then fall back to Old Format if needed.
### New Format (Priority)
- Path parameters stay in the URL path
- Do NOT include path parameters as query parameters
- Example: `https://api.lowcodeapi.com/{provider}/resource/{id}?api_token=XXX`
### Old Format (Fallback)
- Path parameters become query parameters
- Example: `https://api.lowcodeapi.com/{provider}/resource/id?id={id}&api_token=XXX`
### Decision Flow for AI Agents
1. Always use **New Format** first - keep path parameters in the URL path
2. If you get a 404 or error, try **Old Format** with sanitized path
3. Log which format worked for future requests to this provider
## API Categories
## Common Endpoints
### Send a message
**Method:** POST
**LowCodeAPI Path:** /v22.0/<FROM_PHONE_NUMBER_ID>/messages
**New Format URL:**
https://api.lowcodeapi.com/whatsapp/v22.0/<FROM_PHONE_NUMBER_ID>/messages?api_token=YOUR_API_TOKEN
**Old Format URL:**
https://api.lowcodeapi.com/whatsapp/v22.0/from_phone_number_id/messages?FROM_PHONE_NUMBER_ID={FROM_PHONE_NUMBER_ID}&api_token=YOUR_API_TOKEN
**Path Parameters:**
| Parameter | Type | Description |
|-----------|------|-------------|
| FROM_PHONE_NUMBER_ID | string | |
**Request Body:**
| Field | Type | Description |
|-------|------|-------------|
| text | object | |
| type | string | |
| audio | object | |
| contacts | object | |
| context | object | |
| document | object | |
| hsm | object | |
| image | object | |
| interactive | object | |
| location | object | |
| messaging_product | string | |
| preview_url | boolean | |
| recipient_type | string | |
| status | string | |
| sticker | object | |
| template | object | |
| to | string | |
**Example Request (New Format):**
```bash
curl -X POST 'https://api.lowcodeapi.com/whatsapp/v22.0/<FROM_PHONE_NUMBER_ID>/messages?api_token=YOUR_API_TOKEN'
```
**Official Documentation:** https://developers.facebook.com/docs/whatsapp/cloud-api/reference/messages
### Mark message as read
**Method:** POST
**LowCodeAPI Path:** /v22.0/<FROM_PHONE_NUMBER_ID>/messages/<MESSAGE_ID>
**New Format URL:**
https://api.lowcodeapi.com/whatsapp/v22.0/<FROM_PHONE_NUMBER_ID>/messages/<MESSAGE_ID>?api_token=YOUR_API_TOKEN
**Old Format URL:**
https://api.lowcodeapi.com/whatsapp/v22.0/from_phone_number_id/messages/message_id?FROM_PHONE_NUMBER_ID={FROM_PHONE_NUMBER_ID}&MESSAGE_ID={MESSAGE_ID}&api_token=YOUR_API_TOKEN
**Path Parameters:**
| Parameter | Type | Description |
|-----------|------|-------------|
| FROM_PHONE_NUMBER_ID | string | |
| MESSAGE_ID | string | |
**Request Body:**
| Field | Type | Description |
|-------|------|-------------|
| status | string | |
**Example Request (New Format):**
```bash
curl -X POST 'https://api.lowcodeapi.com/whatsapp/v22.0/<FROM_PHONE_NUMBER_ID>/messages/<MESSAGE_ID>?api_token=YOUR_API_TOKEN'
```
**Official Documentation:** https://developers.facebook.com/docs/whatsapp/cloud-api/reference/messages#mark-message-as-read
### Upload media
**Method:** POST
**LowCodeAPI Path:** /v22.0/<MEDIA_ID>/media
**New Format URL:**
https://api.lowcodeapi.com/whatsapp/v22.0/<MEDIA_ID>/media?api_token=YOUR_API_TOKEN
**Old Format URL:**
https://api.lowcodeapi.com/whatsapp/v22.0/media_id/media?MEDIA_ID={MEDIA_ID}&api_token=YOUR_API_TOKEN
**Path Parameters:**
| Parameter | Type | Description |
|-----------|------|-------------|
| MEDIA_ID | string | |
**Request Body:**
| Field | Type | Description |
|-------|------|-------------|
| type | string | |
| file | file | |
| messaging_product | string | |
**Example Request (New Format):**
```bash
curl -X POST 'https://api.lowcodeapi.com/whatsapp/v22.0/<MEDIA_ID>/media?api_token=YOUR_API_TOKEN'
```
**Official Documentation:** https://developers.facebook.com/docs/whatsapp/cloud-api/reference/media#upload-media
### Retrieve Media URL
**Method:** GET
**LowCodeAPI Path:** /v22.0/<MEDIA_ID>
**New Format URL:**
https://api.lowcodeapi.com/whatsapp/v22.0/<MEDIA_ID>?api_token=YOUR_API_TOKEN
**Old Format URL:**
https://api.lowcodeapi.com/whatsapp/v22.0/media_id?MEDIA_ID={MEDIA_ID}&api_token=YOUR_API_TOKEN
**Path Parameters:**
| Parameter | Type | Description |
|-----------|------|-------------|
| MEDIA_ID | string | |
**Query Parameters:**
| Parameter | Type | Description |
|-----------|------|-------------|
| phone_number_id | string | |
**Example Request (New Format):**
```bash
curl -X GET 'https://api.lowcodeapi.com/whatsapp/v22.0/<MEDIA_ID>?api_token=YOUR_API_TOKEN'
```
**Official Documentation:** https://developers.facebook.com/docs/whatsapp/cloud-api/reference/media#retrieve-media-url
### Delete a specific media
**Method:** DELETE
**LowCodeAPI Path:** /v22.0/<MEDIA_ID>
**New Format URL:**
https://api.lowcodeapi.com/whatsapp/v22.0/<MEDIA_ID>?api_token=YOUR_API_TOKEN
**Old Format URL:**
https://api.lowcodeapi.com/whatsapp/v22.0/media_id?MEDIA_ID={MEDIA_ID}&api_token=YOUR_API_TOKEN
**Path Parameters:**
| Parameter | Type | Description |
|-----------|------|-------------|
| MEDIA_ID | string | |
**Query Parameters:**
| Parameter | Type | Description |
|-----------|------|-------------|
| phone_number_id | string | |
**Example Request (New Format):**
```bash
curl -X DELETE 'https://api.lowcodeapi.com/whatsapp/v22.0/<MEDIA_ID>?api_token=YOUR_API_TOKEN'
```
**Official Documentation:** https://developers.facebook.com/docs/whatsapp/cloud-api/reference/media#delete-media
### Download media from a media URL
**Method:** GET
**LowCodeAPI Path:** /v22.0/<MEDIA_URL>
**New Format URL:**
https://api.lowcodeapi.com/whatsapp/v22.0/<MEDIA_URL>?api_token=YOUR_API_TOKEN
**Old Format URL:**
https://api.lowcodeapi.com/whatsapp/v22.0/media_url?MEDIA_URL={MEDIA_URL}&api_token=YOUR_API_TOKEN
**Path Parameters:**
| Parameter | Type | Description |
|-----------|------|-------------|
| MEDIA_URL | string | |
**Example Request (New Format):**
```bash
curl -X GET 'https://api.lowcodeapi.com/whatsapp/v22.0/<MEDIA_URL>?api_token=YOUR_API_TOKEN'
```
**Official Documentation:** https://developers.facebook.com/docs/whatsapp/cloud-api/reference/media#download-media
### Verify Phone Number
**Method:** POST
**LowCodeAPI Path:** /v22.0/<FROM_PHONE_NUMBER_ID>/request_code
**New Format URL:**
https://api.lowcodeapi.com/whatsapp/v22.0/<FROM_PHONE_NUMBER_ID>/request_code?api_token=YOUR_API_TOKEN
**Old Format URL:**
https://api.lowcodeapi.com/whatsapp/v22.0/from_phone_number_id/request_code?FROM_PHONE_NUMBER_ID={FROM_PHONE_NUMBER_ID}&api_token=YOUR_API_TOKEN
**Path Parameters:**
| Parameter | Type | Description |
|-----------|------|-------------|
| FROM_PHONE_NUMBER_ID | string | |
**Request Body:**
| Field | Type | Description |
|-------|------|-------------|
| code_method | string | |
| language | string | |
**Example Request (New Format):**
```bash
curl -X POST 'https://api.lowcodeapi.com/whatsapp/v22.0/<FROM_PHONE_NUMBER_ID>/request_code?api_token=YOUR_API_TOKEN'
```
**Official Documentation:** https://developers.facebook.com/docs/whatsapp/cloud-api/reference/phone-numbers
### Verify Code
**Method:** POST
**LowCodeAPI Path:** /v22.0/<FROM_PHONE_NUMBER_ID>/verify_code
**New Format URL:**
https://api.lowcodeapi.com/whatsapp/v22.0/<FROM_PHONE_NUMBER_ID>/verify_code?api_token=YOUR_API_TOKEN
**Old Format URL:**
https://api.lowcodeapi.com/whatsapp/v22.0/from_phone_number_id/verify_code?FROM_PHONE_NUMBER_ID={FROM_PHONE_NUMBER_ID}&api_token=YOUR_API_TOKEN
**Path Parameters:**
| Parameter | Type | Description |
|-----------|------|-------------|
| FROM_PHONE_NUMBER_ID | string | |
**Request Body:**
| Field | Type | Description |
|-------|------|-------------|
| code | string | |
**Example Request (New Format):**
```bash
curl -X POST 'https://api.lowcodeapi.com/whatsapp/v22.0/<FROM_PHONE_NUMBER_ID>/verify_code?api_token=YOUR_API_TOKEN'
```
**Official Documentation:** https://developers.facebook.com/docs/whatsapp/cloud-api/reference/phone-numbers#verify-code
### Get Phone Number Information
**Method:** GET
**LowCodeAPI Path:** /v22.0/<FROM_PHONE_NUMBER_ID>
**New Format URL:**
https://api.lowcodeapi.com/whatsapp/v22.0/<FROM_PHONE_NUMBER_ID>?api_token=YOUR_API_TOKEN
**Old Format URL:**
https://api.lowcodeapi.com/whatsapp/v22.0/from_phone_number_id?FROM_PHONE_NUMBER_ID={FROM_PHONE_NUMBER_ID}&api_token=YOUR_API_TOKEN
**Path Parameters:**
| Parameter | Type | Description |
|-----------|------|-------------|
| FROM_PHONE_NUMBER_ID | string | |
**Query Parameters:**
| Parameter | Type | Description |
|-----------|------|-------------|
| fields | array | |
**Example Request (New Format):**
```bash
curl -X GET 'https://api.lowcodeapi.com/whatsapp/v22.0/<FROM_PHONE_NUMBER_ID>?api_token=YOUR_API_TOKEN'
```
**Official Documentation:** https://developers.facebook.com/docs/whatsapp/cloud-api/reference/phone-numbers#get-phone-number
### Migrate account
**Method:** POST
**LowCodeAPI Path:** /v22.0/<FROM_PHONE_NUMBER_ID>/register
**New Format URL:**
https://api.lowcodeapi.com/whatsapp/v22.0/<FROM_PHONE_NUMBER_ID>/register?api_token=YOUR_API_TOKEN
**Old Format URL:**
https://api.lowcodeapi.com/whatsapp/v22.0/from_phone_number_id/register?FROM_PHONE_NUMBER_ID={FROM_PHONE_NUMBER_ID}&api_token=YOUR_API_TOKEN
**Path Parameters:**
| Parameter | Type | Description |
|-----------|------|-------------|
| FROM_PHONE_NUMBER_ID | string | |
**Request Body:**
| Field | Type | Description |
|-------|------|-------------|
| backup.data | string | |
| backup.password | string | |
| messaging_product | string | |
| pin | string | |
**Example Request (New Format):**
```bash
curl -X POST 'https://api.lowcodeapi.com/whatsapp/v22.0/<FROM_PHONE_NUMBER_ID>/register?api_token=YOUR_API_TOKEN'
```
**Official Documentation:** https://developers.facebook.com/docs/whatsapp/cloud-api/reference/account-migration
## Usage Examples
### Example 1: Get User Profile
```bash
# Get current user information
curl -X GET "https://api.lowcodeapi.com/whatsapp/user?api_token=YOUR_API_TOKEN"
```
### Example 2: List Messages or Posts
```bash
# Get list of messages/posts
curl -X GET "https://api.lowcodeapi.com/whatsapp/messages?api_token=YOUR_API_TOKEN"
```
### Example 3: Send Message or Create Post
```bash
# Send a message
curl -X POST "https://api.lowcodeapi.com/whatsapp/chat.postMessage?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"channel": "CHANNEL_ID",
"text": "Hello from WhatsApp!"
}'
```
## Error Handling
LowCodeAPI returns standard HTTP status codes. Common errors:
| Status Code | Description |
|-------------|-------------|
| 200 | Success - Request completed successfully |
| 400 | Bad Request - Invalid parameters or request body |
| 401 | Unauthorized - Invalid or missing API token |
| 403 | Forbidden - Insufficient permissions |
| 404 | Not Found - Endpoint or resource doesn't exist |
| 429 | Too Many Requests - Rate limit exceeded |
| 500 | Server Error - Provider API error |
All error responses include error details:
```json
{
"data": {
"error": {
"message": "Error description",
"code": "ERROR_CODE"
}
}
}
```
## Complete Endpoint Reference
| Endpoint | Method | Category |
|----------|--------|----------|
| Send a message | POST | Messages |
| Mark message as read | POST | Messages |
| Upload media | POST | Media |
| Retrieve Media URL | GET | Media |
| Delete a specific media | DELETE | Media |
| Download media from a media URL | GET | Media |
| Verify Phone Number | POST | Phone Numbers |
| Verify Code | POST | Phone Numbers |
| Get Phone Number Information | GET | Phone Numbers |
| Migrate account | POST | Account Migration |
| Set Two-Step Verification | POST | Verification |
| Get Business Profile | GET | Business Profiles |
| Get Business Compliance Info | GET | Business Compliance |
| Update Business Compliance Info | POST | Business Compliance |
| Update Business Profile | POST | Business Profiles |
| Deregister a Business Phone Number | POST | Registration |
| Create Message Template | POST | Templates |
| Get Message Templates | GET | Templates |
| Delete Message Template | DELETE | Templates |
| Get Message Template | GET | Templates |
| Get Conversations | GET | Conversations |
| Mark Conversation as Read | POST | Conversations |
| Create Webhook Subscription | POST | Webhooks |
| Get Webhook Subscriptions | GET | Webhooks |
| Delete Webhook Subscription | DELETE | Webhooks |
| Get Analytics | GET | Analytics |
| Get WhatsApp Business Account | GET | Business Accounts |
| List Phone Numbers | GET | Phone Numbers |
| Get Conversation by ID | GET | Conversations |
## API Definition Endpoints
You can fetch the complete API specification for this provider:
**New Format (OpenAPI spec):**
```bash
curl 'https://backend.lowcodeapi.com/whatsapp/openapi'
```
**Old Format (API definition):**
```bash
curl 'https://backend.lowcodeapi.com/whatsapp/definition'
```
## Response Format
All responses are wrapped in a `data` key:
```json
{
"data": {
// Actual response from provider (object or array)
}
}
```