Skip to content
Get started

Request location sharing

POST/v3/chats/{chatId}/location/request

Request a contact in a chat to share their location. They receive an iMessage prompt and must accept before any location is available; once they do, read their location coordinates with GET /v3/chats/{chatId}/location.

The request is delivered asynchronously. The endpoint returns immediately with { "success": true, "message": "Location request sent" } and does not return coordinates.

Location requests only work in 1:1 iMessage chats (Apple limitation):

  • Group chats (any service) return 409 with code 2016 (GroupChatNotSupported).
  • 1:1 SMS and RCS chats return 409 with code 2017 (ChatServiceNotSupported).
Path ParametersExpand Collapse
chatId: string
formatuuid
ReturnsExpand Collapse
LocationRequestResponse object { message, success }
message: string
success: boolean

Request location sharing

curl https://api.linqapp.com/api/partner/v3/chats/$CHAT_ID/location/request \
    -X POST \
    -H "Authorization: Bearer $LINQ_API_V3_API_KEY"
{
  "success": true,
  "message": "Location request sent"
}
{
  "error": {
    "status": 400,
    "code": 1002,
    "message": "Phone number must be in E.164 format",
    "doc_url": "https://docs.linqapp.com/error/codes/1xxx/1002/"
  },
  "success": false
}
{
  "error": {
    "status": 401,
    "code": 2004,
    "message": "Unauthorized - missing or invalid authentication token",
    "doc_url": "https://docs.linqapp.com/error/codes/2xxx/2004/"
  },
  "success": false
}
{
  "error": {
    "status": 403,
    "code": 2005,
    "message": "Access denied - insufficient permissions for this resource",
    "doc_url": "https://docs.linqapp.com/error/codes/2xxx/2005/"
  },
  "success": false
}
{
  "error": {
    "status": 404,
    "code": 2001,
    "message": "Resource not found",
    "doc_url": "https://docs.linqapp.com/error/codes/2xxx/2001/"
  },
  "success": false
}
{
  "error": {
    "status": 409,
    "code": 2016,
    "message": "Location requests are not supported in group chats",
    "doc_url": "https://docs.linqapp.com/error/codes/2xxx/2016/"
  },
  "success": false
}
{
  "error": {
    "status": 409,
    "code": 2017,
    "message": "Location requests are only supported in iMessage chats",
    "doc_url": "https://docs.linqapp.com/error/codes/2xxx/2017/"
  },
  "success": false
}
{
  "error": {
    "status": 500,
    "code": 3006,
    "message": "Internal server error",
    "doc_url": "https://docs.linqapp.com/error/codes/3xxx/3006/"
  },
  "success": false
}
Returns Examples
{
  "success": true,
  "message": "Location request sent"
}
{
  "error": {
    "status": 400,
    "code": 1002,
    "message": "Phone number must be in E.164 format",
    "doc_url": "https://docs.linqapp.com/error/codes/1xxx/1002/"
  },
  "success": false
}
{
  "error": {
    "status": 401,
    "code": 2004,
    "message": "Unauthorized - missing or invalid authentication token",
    "doc_url": "https://docs.linqapp.com/error/codes/2xxx/2004/"
  },
  "success": false
}
{
  "error": {
    "status": 403,
    "code": 2005,
    "message": "Access denied - insufficient permissions for this resource",
    "doc_url": "https://docs.linqapp.com/error/codes/2xxx/2005/"
  },
  "success": false
}
{
  "error": {
    "status": 404,
    "code": 2001,
    "message": "Resource not found",
    "doc_url": "https://docs.linqapp.com/error/codes/2xxx/2001/"
  },
  "success": false
}
{
  "error": {
    "status": 409,
    "code": 2016,
    "message": "Location requests are not supported in group chats",
    "doc_url": "https://docs.linqapp.com/error/codes/2xxx/2016/"
  },
  "success": false
}
{
  "error": {
    "status": 409,
    "code": 2017,
    "message": "Location requests are only supported in iMessage chats",
    "doc_url": "https://docs.linqapp.com/error/codes/2xxx/2017/"
  },
  "success": false
}
{
  "error": {
    "status": 500,
    "code": 3006,
    "message": "Internal server error",
    "doc_url": "https://docs.linqapp.com/error/codes/3xxx/3006/"
  },
  "success": false
}