SMS Keywords API
Reserve keywords for inbound SMS routing.
Endpoints
| Method | Path | Description |
|---|---|---|
GET | /v1/sms/keywords | List keywords |
POST | /v1/sms/keywords | Create keyword |
GET | /v1/sms/keywords/{keyword_id} | Get keyword |
PATCH | /v1/sms/keywords/{keyword_id} | Update keyword |
DELETE | /v1/sms/keywords/{keyword_id} | Delete keyword |
GET | /v1/sms/keywords/check/{keyword} | Check keyword availability |
GET /v1/sms/keywords
List keywords
List your reserved keywords for inbound SMS routing.
Response:
Example:
bash
curl https://api.wayscloud.services/v1/sms/keywords \
-H "X-API-Key: YOUR_API_KEY"POST /v1/sms/keywords
Create keyword
Reserve a keyword for inbound SMS routing.
When someone sends an SMS starting with your keyword to a shared number, the message is routed to your webhook.
Example: Reserve "SUPPORT" → User texts "SUPPORT help me" → Your webhook receives the message.
Request Body:
| Field | Type | Description |
|---|---|---|
keyword | string | Required. Keyword (alphanumeric, case-insensitive) |
description | string | |
webhook_url | string | |
auto_reply_message | string |
Example:
json
{
"keyword": "SUPPORT",
"description": "Customer support keyword",
"webhook_url": "https://example.com/webhooks/sms",
"auto_reply_message": "Thank you for contacting support."
}Response:
| Field | Type | Description |
|---|---|---|
id | string | |
keyword | string | |
description | string | |
is_active | boolean | |
webhook_url | string | |
auto_reply_enabled | boolean | |
auto_reply_message | string | |
messages_received | integer | |
last_message_at | string | |
created_at | string |
Example:
bash
curl -X POST https://api.wayscloud.services/v1/sms/keywords \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{...}'GET /v1/sms/keywords/
Get keyword
Get details for a specific keyword.
Response:
| Field | Type | Description |
|---|---|---|
id | string | |
keyword | string | |
description | string | |
is_active | boolean | |
webhook_url | string | |
auto_reply_enabled | boolean | |
auto_reply_message | string | |
messages_received | integer | |
last_message_at | string | |
created_at | string |
Example:
bash
curl https://api.wayscloud.services/v1/sms/keywords/{keyword_id} \
-H "X-API-Key: YOUR_API_KEY"PATCH /v1/sms/keywords/
Update keyword
Update keyword settings (webhook URL, auto-reply, etc.).
Request Body:
| Field | Type | Description |
|---|---|---|
description | string | |
webhook_url | string | |
auto_reply_enabled | boolean | |
auto_reply_message | string | |
is_active | boolean |
Response:
| Field | Type | Description |
|---|---|---|
id | string | |
keyword | string | |
description | string | |
is_active | boolean | |
webhook_url | string | |
auto_reply_enabled | boolean | |
auto_reply_message | string | |
messages_received | integer | |
last_message_at | string | |
created_at | string |
Example:
bash
curl -X PATCH https://api.wayscloud.services/v1/sms/keywords/{keyword_id} \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{...}'DELETE /v1/sms/keywords/
Delete keyword
Release a keyword reservation.
Example:
bash
curl -X DELETE https://api.wayscloud.services/v1/sms/keywords/{keyword_id} \
-H "X-API-Key: YOUR_API_KEY"GET /v1/sms/keywords/check/
Check keyword availability
Check if a keyword is available for reservation.
Response:
| Field | Type | Description |
|---|---|---|
keyword | string | |
available | boolean |
Example:
bash
curl https://api.wayscloud.services/v1/sms/keywords/check/{keyword} \
-H "X-API-Key: YOUR_API_KEY"