> ## Documentation Index
> Fetch the complete documentation index at: https://www.ayrshare.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Set Auto Response

> Send an auto response to Facebook, Instagram, and X/Twitter messages, with a custom message and wait time, when your support desk is unavailable.

Automatically send message auto responses to the correspondent. This is useful if your customer service support desk is not currently available.

If active, the auto response is used for Facebook, Instagram, and X/Twitter messages for a given User Profile. On X/Twitter, it is sent only when new messages are retrieved with your X API keys, through [Get Messages](https://www.ayrshare.com/docs/apis/messages/get-messages.md) or the Messages page of the Ayrshare dashboard, and each retrieval sends at most one auto response, to the sender of the newest message. WhatsApp messages do not get auto responses.

> [!NOTE]
>
> An auto response is a message sent on your behalf, so it counts toward the User Profile's monthly [conversation limit](https://www.ayrshare.com/docs/apis/messages/overview.md#conversation-limit-&-pricing) the same as a message you send yourself. When the limit is reached, auto responses to new recipients are not sent until the next billing cycle.

## Header Parameters

**Authorization** `string` *required*

[API Key](https://www.ayrshare.com/docs/apis/overview.md#authorization) of the Primary Profile.

Format: `Authorization: Bearer API_KEY`
**Profile-Key** `string`

[Profile Key](https://www.ayrshare.com/docs/apis/overview.md#profile-key-format) of a User Profile.

Format: `Profile-Key: PROFILE_KEY`

## Body Parameters

**autoResponseActive** `boolean` (default: false)

Whether the auto response is active.

**autoResponseWaitSeconds** `number` (default: 86400)

The number of seconds to wait before sending the auto response again to the correspondent. Default is 86,400 seconds (24 hours).

**autoResponseMessage** `string`

The auto response message.

Default: "Thank you for contacting us. A customer care agent will get back to you soon."

Send an empty "" string to reset the message to the default.

```bash cURL theme={"system"}
curl \
-H "Authorization: Bearer API_KEY" \
-H 'Content-Type: application/json' \
-d '{"autoResponseActive": true, "autoResponseWaitSeconds": 30, "autoResponseMessage": "Howdy!"' \
-X POST https://api.ayrshare.com/api/messages/autoresponse
```

```javascript JavaScript theme={"system"}
const url = 'https://api.ayrshare.com/api/messages/autoresponse';
const options = {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer API_KEY'
  },
  body: JSON.stringify({
    'autoResponseActive': true,
    'autoResponseWaitSeconds': 30,
    'autoResponseMessage': 'Howdy!'
  })
};

fetch(url, options)
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error('Error:', error));
```

```python Python theme={"system"}
import json
import requests

url = 'https://api.ayrshare.com/api/messages/autoresponse'
headers = {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer API_KEY'
}
data = {
    'autoResponseActive': True,
    'autoResponseWaitSeconds': 30,
    'autoResponseMessage': 'Howdy!'
}

response = requests.post(url, headers=headers, data=json.dumps(data))

try:
    response.raise_for_status()
    data = response.json()
    print(data)
except requests.exceptions.RequestException as e:
    print('Error:', e)
```

```php PHP theme={"system"}
<?php

$url = 'https://api.ayrshare.com/api/messages/autoresponse';
$headers = [
    'Content-Type: application/json',
    'Authorization: Bearer API_KEY'
];
$data = [
    'autoResponseActive' => true,
    'autoResponseWaitSeconds' => 30,
    'autoResponseMessage' => 'Howdy!'
];

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));

$response = curl_exec($ch);

if (curl_errno($ch)) {
    echo 'Error: ' . curl_error($ch);
} else {
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    if ($httpCode >= 400) {
        echo 'Error: HTTP ' . $httpCode;
    } else {
        $data = json_decode($response, true);
        print_r($data);
    }
}

curl_close($ch);
```

```csharp C# theme={"system"}
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Text;
using System.Text.Json;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        string url = "https://api.ayrshare.com/api/messages/autoresponse";
        var headers = new Dictionary<string, string>
        {
            {"Content-Type", "application/json"},
            {"Authorization", "Bearer API_KEY"}
        };
        var data = new Dictionary<string, object>
        {
            {"autoResponseActive", true},
            {"autoResponseWaitSeconds", 30},
            {"autoResponseMessage", "Howdy!"}
        };

        using (var client = new HttpClient())
        {
            var jsonData = JsonSerializer.Serialize(data);
            var content = new StringContent(jsonData, Encoding.UTF8, "application/json");

            foreach (var header in headers)
            {
                client.DefaultRequestHeaders.Add(header.Key, header.Value);
            }

            var response = await client.PostAsync(url, content);

            try
            {
                response.EnsureSuccessStatusCode();
                string responseBody = await response.Content.ReadAsStringAsync();
                var responseData = JsonSerializer.Deserialize<Dictionary<string, object>>(responseBody);
                Console.WriteLine(JsonSerializer.Serialize(responseData, new JsonSerializerOptions { WriteIndented = true }));
            }
            catch (HttpRequestException e)
            {
                Console.WriteLine($"Error: {e.Message}");
            }
        }
    }
}
```

```java Java theme={"system"}
import java.io.IOException;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.util.HashMap;
import java.util.Map;

public class Main {
    public static void main(String[] args) {
        String url = "https://api.ayrshare.com/api/messages/autoresponse";
        Map<String, String> headers = new HashMap<>();
        headers.put("Content-Type", "application/json");
        headers.put("Authorization", "Bearer API_KEY");

        Map<String, Object> data = new HashMap<>();
        data.put("autoResponseActive", true);
        data.put("autoResponseWaitSeconds", 30);
        data.put("autoResponseMessage", "Howdy!");

        HttpClient client = HttpClient.newHttpClient();
        HttpRequest request = HttpRequest.newBuilder()
                .uri(URI.create(url))
                .headers(headers.entrySet().stream()
                        .map(entry -> entry.getKey() + ": " + entry.getValue())
                        .toArray(String[]::new))
                .POST(HttpRequest.BodyPublishers.ofString(getJsonString(data)))
                .build();

        try {
            HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
            if (response.statusCode() >= 400) {
                System.out.println("Error: HTTP " + response.statusCode());
            } else {
                System.out.println(response.body());
            }
        } catch (IOException | InterruptedException e) {
            System.out.println("Error: " + e.getMessage());
        }
    }

    private static String getJsonString(Map<String, Object> data) {
        StringBuilder jsonBuilder = new StringBuilder();
        jsonBuilder.append("{");
        for (Map.Entry<String, Object> entry : data.entrySet()) {
            jsonBuilder.append("\"").append(entry.getKey()).append("\":");
            if (entry.getValue() instanceof String) {
                jsonBuilder.append("\"").append(entry.getValue()).append("\"");
            } else {
                jsonBuilder.append(entry.getValue());
            }
            jsonBuilder.append(",");
        }
        if (jsonBuilder.length() > 1) {
            jsonBuilder.setLength(jsonBuilder.length() - 1);
        }
        jsonBuilder.append("}");
        return jsonBuilder.toString();
    }
}
```

```json 200: Success theme={"system"}
{
    "status": "success",
    "updated": {
        "autoResponseActive": true,
        "autoResponseMessage": "Howdy!",
        "autoResponseWaitSeconds": 30
    }
}
```

```json 400: Error theme={"system"}
{
  "action": "request",
  "status": "error",
  "code": 101,
  "message": "Missing or incorrect parameters. Please verify with the docs. .../ayrshare.com/rest-api/endpoints"
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.