Skip to content
V2 (Legacy) API ReferenceGet started

Start typing indicator

client.Chats.Typing.Start(ctx, chatID) error
POST/v3/chats/{chatId}/typing

Send a typing indicator to show that someone is typing in the chat.

Behavior & Limitations

Typing indicators are best-effort signals with the following limitations:

  • Active conversations only: The recipient must have sent or received a message in this chat within the last 5 minutes. If the chat is inactive, the request is still accepted (204) but the indicator will not reach the recipient’s device.

  • No delivery guarantee: Even for active chats, a 204 response only indicates the request was accepted for processing.

  • Group chats not supported: Attempting to start a typing indicator in a group chat will return a 403 error.

ParametersExpand Collapse
chatID string
formatuuid

Start typing indicator

package main

import (
  "context"

  "github.com/linq-team/linq-go"
  "github.com/linq-team/linq-go/option"
)

func main() {
  client := linqgo.NewClient(
    option.WithAPIKey("My API Key"),
  )
  err := client.Chats.Typing.Start(context.TODO(), "550e8400-e29b-41d4-a716-446655440000")
  if err != nil {
    panic(err.Error())
  }
}
{
  "error": {
    "status": 400,
    "code": 1002,
    "message": "Phone number must be in E.164 format"
  },
  "success": false
}
{
  "error": {
    "status": 401,
    "code": 2004,
    "message": "Unauthorized - missing or invalid authentication token"
  },
  "success": false
}
{
  "error": {
    "status": 403,
    "code": 2005,
    "message": "Access denied - insufficient permissions for this resource"
  },
  "success": false
}
{
  "error": {
    "status": 404,
    "code": 2001,
    "message": "Resource not found"
  },
  "success": false
}
{
  "error": {
    "status": 500,
    "code": 3006,
    "message": "Internal server error"
  },
  "success": false
}
Returns Examples
{
  "error": {
    "status": 400,
    "code": 1002,
    "message": "Phone number must be in E.164 format"
  },
  "success": false
}
{
  "error": {
    "status": 401,
    "code": 2004,
    "message": "Unauthorized - missing or invalid authentication token"
  },
  "success": false
}
{
  "error": {
    "status": 403,
    "code": 2005,
    "message": "Access denied - insufficient permissions for this resource"
  },
  "success": false
}
{
  "error": {
    "status": 404,
    "code": 2001,
    "message": "Resource not found"
  },
  "success": false
}
{
  "error": {
    "status": 500,
    "code": 3006,
    "message": "Internal server error"
  },
  "success": false
}