Skip to main content
POST
/
settings
/
set
/
:instanceName
curl --request POST \
  --url https://api.example.com/settings/set/my-instance \
  --header 'apikey: YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
    "rejectCall": true,
    "msgCall": "Sorry, I cannot take calls at the moment. Please send a message.",
    "groupsIgnore": false,
    "alwaysOnline": true,
    "readMessages": true,
    "readStatus": false,
    "syncFullHistory": false
  }'
{
  "settings": {
    "instanceId": "my-instance",
    "rejectCall": true,
    "msgCall": "Sorry, I cannot take calls at the moment. Please send a message.",
    "groupsIgnore": false,
    "alwaysOnline": true,
    "readMessages": true,
    "readStatus": false,
    "syncFullHistory": false
  }
}

Overview

You can customize various settings for your WhatsApp instance, including call handling, message reading behavior, and history synchronization.
These settings apply to the entire instance and affect how your WhatsApp bot behaves.

Authentication

This endpoint requires authentication via the apikey header.
header.apikey
string
required
Your Evolution API key for authentication.

Path Parameters

path.instanceName
string
required
The name of your WhatsApp instance.

Request Body

rejectCall
boolean
default:"false"
Automatically reject incoming calls.
msgCall
string
Message to send when a call is rejected (only used if rejectCall is true).
groupsIgnore
boolean
default:"false"
Ignore messages from groups (don’t trigger webhooks or chatbot responses).
alwaysOnline
boolean
default:"false"
Keep the instance status as “online” at all times.
readMessages
boolean
default:"false"
Automatically mark all incoming messages as read.
readStatus
boolean
default:"false"
Automatically read status updates from contacts.
syncFullHistory
boolean
default:"false"
Synchronize full message history when connecting (may take longer to connect).
wavoipToken
string
Token for VOIP integration (advanced feature).

Response

settings
object
The updated settings object.
curl --request POST \
  --url https://api.example.com/settings/set/my-instance \
  --header 'apikey: YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
    "rejectCall": true,
    "msgCall": "Sorry, I cannot take calls at the moment. Please send a message.",
    "groupsIgnore": false,
    "alwaysOnline": true,
    "readMessages": true,
    "readStatus": false,
    "syncFullHistory": false
  }'
{
  "settings": {
    "instanceId": "my-instance",
    "rejectCall": true,
    "msgCall": "Sorry, I cannot take calls at the moment. Please send a message.",
    "groupsIgnore": false,
    "alwaysOnline": true,
    "readMessages": true,
    "readStatus": false,
    "syncFullHistory": false
  }
}

Setting Details

Call Rejection

When enabled, all incoming voice and video calls are automatically rejected. Useful for chatbot instances that should only handle text messages.

Message Handling

Automatically marks all incoming messages as read. The sender will see blue checkmarks immediately.

Presence and Status

Keeps your instance showing as “online” continuously. Useful for bot accounts to appear always available.

History Synchronization

When enabled, the instance will download and sync complete message history on first connection. This may significantly increase connection time but ensures all historical data is available.

Usage Notes

For chatbot instances, consider enabling rejectCall, alwaysOnline, and readMessages for the best user experience.
Enabling syncFullHistory can significantly slow down instance connection, especially for accounts with large message histories.
You can update settings at any time without needing to restart the instance. Changes take effect immediately.

Get Current Settings

To retrieve current settings:
GET /settings/find/:instanceName
This returns the current configuration for your instance.
curl --request GET \
  --url https://api.example.com/settings/find/my-instance \
  --header 'apikey: YOUR_API_KEY'

Build docs developers (and LLMs) love