Skip to content
Get started

Get location data

chats.location.retrieve(strchat_id) -> GetChatLocationResponse
GET/v3/chats/{chatId}/location

Retrieve the current location for contacts sharing with you in a chat.

Returns a GeoJSON FeatureCollection with a Feature for each participant actively sharing their location.

Works for both 1:1 and group chats. In group chats, returns a separate feature for each participant who is sharing. Each feature’s properties.handle identifies the user.

Returns an empty features array if no one is sharing or no location data is available yet.

ParametersExpand Collapse
chat_id: str
formatuuid
ReturnsExpand Collapse
class GetChatLocationResponse:
data: Data
features: List[DataFeature]
geometry: DataFeatureGeometry
coordinates: List[float]

[longitude, latitude] or [longitude, latitude, altitude]

type: Literal["Point"]
properties: DataFeatureProperties
handle: str

Phone number or email of the person sharing their location

address: Optional[str]

Full street address

locality: Optional[str]

City or locality name

updated_at: Optional[datetime]

When the location was last updated

formatdate-time
type: Literal["Feature"]
type: Literal["FeatureCollection"]
success: bool

Get location data

import os
from linq import LinqAPIV3

client = LinqAPIV3(
    api_key=os.environ.get("LINQ_API_V3_API_KEY"),  # This is the default and can be omitted
)
get_chat_location_response = client.chats.location.retrieve(
    "975d0776-bd17-4273-8337-f346b4c661b0",
)
print(get_chat_location_response.data)
{
  "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": 500,
    "code": 3006,
    "message": "Internal server error",
    "doc_url": "https://docs.linqapp.com/error/codes/3xxx/3006/"
  },
  "success": false
}
Returns Examples
{
  "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": 500,
    "code": 3006,
    "message": "Internal server error",
    "doc_url": "https://docs.linqapp.com/error/codes/3xxx/3006/"
  },
  "success": false
}