Chat messages
Send Typing Indicator
Send a typing indicator to a specific chat.
This endpoint allows you to trigger a "typing..." indicator in a specific chat group. This is useful for building interactive chat experiences, letting the other participant know that a message is currently being drafted.
https://v1.apifansly.com/api/fansly
POST
/{account_id}/chats/typing
Get Started
All requests to the Fansly API require an API Key. See the Authentication page for details.
curl -X POST "https://v1.apifansly.com/api/fansly/{account_id}/chats/typing" \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"chatId": "chat_group_id"
}'fetch("https://v1.apifansly.com/api/fansly/{account_id}/chats/typing", {
method: "POST",
headers: {
"x-api-key": "YOUR_API_KEY",
"Content-Type": "application/json"
},
body: JSON.stringify({
"chatId": "chat_group_id"
})
})import requests
url = "https://v1.apifansly.com/api/fansly/{account_id}/chats/typing"
headers = {
"x-api-key": "YOUR_API_KEY",
"Content-Type": "application/json"
}
payload = {
"chatId": "chat_group_id"
}
response = requests.post(url, headers=headers, json=payload)
print(response.json())import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
HttpClient client = HttpClient.newHttpClient();
String jsonPayload = "{\"chatId\":\"chat_group_id\"}";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://v1.apifansly.com/api/fansly/{account_id}/chats/typing"))
.header("x-api-key", "YOUR_API_KEY")
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(jsonPayload))
.build();
client.sendAsync(request, HttpResponse.BodyHandlers.ofString())
.thenApply(HttpResponse::body)
.thenAccept(System.out::println)
.join();using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
var client = new HttpClient();
client.DefaultRequestHeaders.Add("x-api-key", "YOUR_API_KEY");
var payload = new StringContent("{\"chatId\":\"chat_group_id\"}", Encoding.UTF8, "application/json");
var response = await client.PostAsync("https://v1.apifansly.com/api/fansly/{account_id}/chats/typing", payload);
var responseString = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseString);package main
import (
"bytes"
"fmt"
"io/ioutil"
"net/http"
)
func main() {
url := "https://v1.apifansly.com/api/fansly/{account_id}/chats/typing"
payload := []byte(`{"chatId":"chat_group_id"}`)
req, _ := http.NewRequest("POST", url, bytes.NewBuffer(payload))
req.Header.Set("x-api-key", "YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(body))
}Path Parameters
account_id*
stringThe unique identifier for the connected account.
Request Body
chatId*
stringThe unique group ID of the chat where you want to send the typing indicator.
Note
Once triggered, the typing indicator will be displayed to the other user for approximately 5 seconds. If the user continues typing, you should call this endpoint periodically.
Response
{
"statusCode": 201,
"message": "Success",
"data": {
"status_code": 200,
"data": {
"success": true,
"response": null
}
},
"timestamp": "2026-05-17T02:00:10.199Z"
}Response Body
| Field | Type | Description |
|---|---|---|
statusCode | number | The HTTP status code of the response (e.g., 201) |
message | string | A human-readable message about the result |
data | object | The main response payload |
├─ status_code | number | The internal status code of the Fansly operation |
└─ data | object | Nested data container |
├─ success | boolean | Indicates whether the request was successful |
└─ response | null | Returns null upon successful delivery |
timestamp | string | The ISO 8601 timestamp of when the response was generated |