Request location sharing
client.chats.location.request(stringchatID, RequestOptionsoptions?): LocationRequestResponse { message, success }
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
409with code2016(GroupChatNotSupported). - 1:1 SMS and RCS chats return
409with code2017(ChatServiceNotSupported).
Request location sharing
import LinqAPIV3 from '@linqapp/sdk';
const client = new LinqAPIV3({
apiKey: process.env['LINQ_API_V3_API_KEY'], // This is the default and can be omitted
});
const locationRequestResponse = await client.chats.location.request(
'975d0776-bd17-4273-8337-f346b4c661b0',
);
console.log(locationRequestResponse.message);{
"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
}