Skip to main content
GET
/
api
/
v1
/
activity
/
by-contact
/
{contactId}
Get timeline of activities for a contact (across all clients)
curl --request GET \
  --url https://api.raul.ugps.io/api/v1/activity/by-contact/{contactId} \
  --header 'Authorization: Bearer <token>'
[
  {
    "item_type": "activity",
    "date": "2023-11-07T05:31:56Z",
    "client_id": {},
    "activity_id": "<string>",
    "contact_id": {},
    "activity_type_id": 123,
    "activity_type_name": "<string>",
    "content": "<string>",
    "files_count": 123,
    "contact_name": {},
    "created_by_name": {},
    "external_source": {},
    "external_id": {},
    "emailMeta": {},
    "whatsappMeta": {},
    "visit_detail_id": "<string>",
    "visit_date": {},
    "description": {},
    "visit_type_name": {},
    "visit_status_name": {},
    "technician_name": {},
    "address": {},
    "task_id": "<string>",
    "task_status": "<string>",
    "assigned_to_name": {},
    "isThread": false,
    "threadCount": 123,
    "threadMessages": "<array>",
    "threadType": "email"
  }
]

Authorizations

Authorization
string
header
required

Bearer token authentication

Path Parameters

contactId
string
required

Contact UUID

Query Parameters

activity_type_id
number

Filter by activity type

contact_id
string

Filtrar por contacto

date_from
string

Filter activities from this date

Example:

"2026-01-01"

date_to
string

Filter activities until this date

Example:

"2026-12-31"

include_emails
boolean
default:true

Incluir emails en el timeline (default: true)

group_threads
boolean
default:true

Agrupar emails por thread_id cuando tienen conversaciones (default: true)

whatsapp_gap_hours
number
default:0

WhatsApp: split conversations into sessions when gap >= N hours (0 = no split). Default: 24.

Response

200 - application/json

Timeline items (activities only) sorted by date DESC

item_type
enum<string>
required

Tipo de item: activity, visit o task

Available options:
activity,
visit,
task
date
string<date-time>
required

Fecha del evento (para ordenamiento)

client_id
object
required

ID del cliente

activity_id
string

ID de la actividad (si item_type = activity)

contact_id
object

ID del contacto asociado

activity_type_id
number

ID del tipo de actividad

activity_type_name
string

Nombre del tipo de actividad

content
string

Contenido de la actividad o tarea

files_count
number

Cantidad de archivos adjuntos

contact_name
object

Nombre del contacto

created_by_name
object

Nombre del creador

external_source
object

Fuente externa (outlook, whatsapp, etc.)

external_id
object

ID externo en el sistema de origen

emailMeta
object

Metadatos de correo asociados a la actividad

whatsappMeta
object

Metadatos de WhatsApp asociados a la actividad

visit_detail_id
string

ID de la visita (si item_type = visit)

visit_date
object

Fecha de la visita

description
object

Descripción de la visita

visit_type_name
object

Tipo de visita

visit_status_name
object

Estado de la visita

technician_name
object

Nombre del técnico

address
object

Dirección de la visita

task_id
string

ID de la tarea

task_status
string

Estado de la tarea

assigned_to_name
object

Nombre del responsable asignado

isThread
boolean
default:false

Indica si este item es un thread agrupado de emails

threadCount
number

Cantidad de mensajes en el thread (cuando isThread = true)

threadMessages
array

Array de actividades que forman parte del thread (cuando isThread = true)

threadType
enum<string>

Tipo de hilo agrupado

Available options:
email,
whatsapp