List paginated activity logs for one entity
curl --request GET \
--url https://api-v2.watchcollect.com/v2/entity-logs/{entity_type}/{entity_id} \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api-v2.watchcollect.com/v2/entity-logs/{entity_type}/{entity_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api-v2.watchcollect.com/v2/entity-logs/{entity_type}/{entity_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"entity": {
"type": "watch_listing",
"id": "<string>",
"label": "<string>"
},
"scope": "timeline",
"items": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"event_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"event_type": "ClassificationModelSelected",
"event_version": 1,
"category": "ingest",
"action": "classification_model_selected",
"summary": "Classification model changed",
"occurred_at_ms": 123,
"actor": {
"type": "user",
"id": "<string>",
"display_name": "<string>"
},
"entity": {
"type": "watch_listing",
"id": "<string>",
"label": "<string>"
},
"related_entities": [
{
"type": "watch_listing",
"id": "<string>",
"label": "<string>"
}
],
"changes": [
{
"field": "model_profile_id",
"label": "Model profile",
"value_type": "string",
"before": "<string>",
"after": "<string>"
}
],
"details": [
{
"key": "connector_id",
"value": "openrouter",
"label": "Connector"
}
],
"source": {
"kind": "api",
"request_id": "<string>",
"command_id": "<string>",
"service": "<string>"
},
"redacted": true
}
],
"has_more": true,
"next_cursor": "<string>"
}{
"error": {
"code": "invalid_payload",
"message": "event is required",
"request_id": "018f06e2-4f8d-7c01-8a0d-cc6fd78f7001"
}
}{
"error": {
"code": "invalid_payload",
"message": "event is required",
"request_id": "018f06e2-4f8d-7c01-8a0d-cc6fd78f7001"
}
}{
"error": {
"code": "invalid_payload",
"message": "event is required",
"request_id": "018f06e2-4f8d-7c01-8a0d-cc6fd78f7001"
}
}logs
List paginated activity logs for one entity
Returns a tenant-scoped entity timeline. watch_listing is the public watch-level entity used by market cards; tenant singleton settings such as classification AI settings use entity_id=current.
GET
/
v2
/
entity-logs
/
{entity_type}
/
{entity_id}
List paginated activity logs for one entity
curl --request GET \
--url https://api-v2.watchcollect.com/v2/entity-logs/{entity_type}/{entity_id} \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api-v2.watchcollect.com/v2/entity-logs/{entity_type}/{entity_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api-v2.watchcollect.com/v2/entity-logs/{entity_type}/{entity_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"entity": {
"type": "watch_listing",
"id": "<string>",
"label": "<string>"
},
"scope": "timeline",
"items": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"event_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"event_type": "ClassificationModelSelected",
"event_version": 1,
"category": "ingest",
"action": "classification_model_selected",
"summary": "Classification model changed",
"occurred_at_ms": 123,
"actor": {
"type": "user",
"id": "<string>",
"display_name": "<string>"
},
"entity": {
"type": "watch_listing",
"id": "<string>",
"label": "<string>"
},
"related_entities": [
{
"type": "watch_listing",
"id": "<string>",
"label": "<string>"
}
],
"changes": [
{
"field": "model_profile_id",
"label": "Model profile",
"value_type": "string",
"before": "<string>",
"after": "<string>"
}
],
"details": [
{
"key": "connector_id",
"value": "openrouter",
"label": "Connector"
}
],
"source": {
"kind": "api",
"request_id": "<string>",
"command_id": "<string>",
"service": "<string>"
},
"redacted": true
}
],
"has_more": true,
"next_cursor": "<string>"
}{
"error": {
"code": "invalid_payload",
"message": "event is required",
"request_id": "018f06e2-4f8d-7c01-8a0d-cc6fd78f7001"
}
}{
"error": {
"code": "invalid_payload",
"message": "event is required",
"request_id": "018f06e2-4f8d-7c01-8a0d-cc6fd78f7001"
}
}{
"error": {
"code": "invalid_payload",
"message": "event is required",
"request_id": "018f06e2-4f8d-7c01-8a0d-cc6fd78f7001"
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Available options:
watch_listing, classified_watch, classification, canonical_message, message_occurrence, classification_settings, ai_connector, saved_view, whatsapp_session, whatsapp_group, market_alert, contact_profile, outbound_text_send, workspace Minimum string length:
1Query Parameters
timeline includes curated related events; direct includes only events where the requested entity is primary.
Available options:
timeline, direct Available options:
ingest, session, group, message, media, classification, market, ai_settings, view, alert, profile, replay, system Required range:
1 <= x <= 200Response
Cursor page of entity log entries.
Show child attributes
Show child attributes
timeline includes curated related events; direct includes only events where the requested entity is primary.
Available options:
timeline, direct Show child attributes
Show child attributes