Skip to main content
GET
https://app.autocalls.ai/api/
/
user
/
whatsapp
/
session-status
curl -X GET "https://app.autocalls.ai/api/user/whatsapp/session-status?sender_id=12&recipient_phone=+1234567890" \
  -H "Authorization: Bearer YOUR_API_KEY"
{
  "success": true,
  "has_conversation": true,
  "conversation_id": 1234,
  "customer_name": "John Doe",
  "last_customer_message_at": "2026-02-24T10:30:00+00:00",
  "session_status": {
    "is_open": true,
    "can_send_freeform": true,
    "requires_template": false,
    "message": "Session open (23 hr 45 min remaining). Unlimited free-form messages allowed.",
    "minutes_remaining": 1425,
    "expires_at": "2026-02-25T10:30:00+00:00"
  }
}
This endpoint checks whether an active 24-hour messaging window exists between your WhatsApp sender and a specific recipient. Use this to determine whether you can send freeform messages or need to use a template message.

Query Parameters

sender_id
integer
required
The ID of the WhatsApp sender (obtained from the Get Senders endpoint)
recipient_phone
string
required
The recipient’s phone number in international format (e.g., +1234567890)

Response Fields

success
boolean
Whether the request was successful
has_conversation
boolean
Whether a conversation exists with this recipient
conversation_id
integer
The conversation ID (only present when has_conversation is true)
customer_name
string
The customer’s name if available (only present when has_conversation is true)
last_customer_message_at
string
ISO 8601 timestamp of the customer’s last message (only present when has_conversation is true)
session_status
object

Error Responses

404 Not Found
curl -X GET "https://app.autocalls.ai/api/user/whatsapp/session-status?sender_id=12&recipient_phone=+1234567890" \
  -H "Authorization: Bearer YOUR_API_KEY"
{
  "success": true,
  "has_conversation": true,
  "conversation_id": 1234,
  "customer_name": "John Doe",
  "last_customer_message_at": "2026-02-24T10:30:00+00:00",
  "session_status": {
    "is_open": true,
    "can_send_freeform": true,
    "requires_template": false,
    "message": "Session open (23 hr 45 min remaining). Unlimited free-form messages allowed.",
    "minutes_remaining": 1425,
    "expires_at": "2026-02-25T10:30:00+00:00"
  }
}

Typical Workflow

Use this endpoint as part of a message-sending flow:
  1. Check session status before sending a message
  2. If can_send_freeform is true → use Send Freeform Message
  3. If requires_template is true → use Send Template Message

Notes

  • The 24-hour window is based on the customer’s last inbound message timestamp.
  • Each new customer message resets the 24-hour timer.
  • This endpoint does not consume any balance — it’s a read-only status check.