# Object Events

## GET /v1/objects/{objectId}/events

>

```json
{"openapi":"3.0.0","info":{"title":"Whaly API","version":"1.0"},"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http","description":"Pass a Service Account Key as the Bearer token to authenticate. e.g. 'sk:xxxxxxx'"}},"schemas":{"PaginatedListWrapper":{"type":"object","properties":{"paging":{"$ref":"#/components/schemas/PagingInfo"}},"required":["paging"]},"PagingInfo":{"type":"object","properties":{"next":{"$ref":"#/components/schemas/PagingNext"}},"required":["next"]},"PagingNext":{"type":"object","properties":{"after":{"type":"string"}},"required":["after"]},"ObjectEventDto":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID"},"name":{"type":"string","description":"Label of the event"},"description":{"type":"string","description":"Description of the event","nullable":true},"source":{"type":"string","description":"Source of the event","enum":["external","api","radar","calendar_model_sync","manual","system_recommendation"]},"object":{"type":"string","description":"Object ID representing the object of the event"},"record_id":{"type":"string","description":"ID of the record in the object"},"external_id":{"type":"string","description":"ID of the event in the external system (ex. CRM)","nullable":true},"sync_token":{"type":"string","description":"Token used to sync the event with external systems having an async create API","nullable":true},"event_type":{"type":"string","description":"Type of event (e.g., meeting, call, visit, holiday)","nullable":true},"start_at":{"type":"string","description":"Start date and time of the event (ISO 8601 format)"},"end_at":{"type":"string","description":"End date and time of the event (ISO 8601 format)"},"location_object":{"type":"string","description":"Encoded object ID for location","nullable":true},"location_record_id":{"type":"string","description":"Record ID in location object","nullable":true},"location_record_label":{"type":"string","description":"Human-readable location label","nullable":true},"review_status":{"type":"string","description":"Status of the review: pending, approved, or rejected","enum":["pending","approved","rejected"]},"recommendation_reason":{"type":"string","description":"Reason for system recommendation (only for system_recommendation source)","nullable":true},"planning_strategy":{"type":"string","description":"Planning strategy ID (only for system_recommendation source)","nullable":true},"calendar_model_sync_id":{"type":"string","description":"Calendar Model Sync ID that created this event","nullable":true},"radar_id":{"type":"string","description":"Radar ID that created this event","nullable":true},"updated_at":{"type":"string","description":"Last update timestamp (ISO 8601 format)","nullable":true}},"required":["id","name","description","source","object","record_id","external_id","sync_token","event_type","start_at","end_at","location_object","location_record_id","location_record_label","review_status","recommendation_reason","planning_strategy","calendar_model_sync_id","radar_id","updated_at"]}}},"paths":{"/v1/objects/{objectId}/events":{"get":{"operationId":"ObjectEventsController_listAll","parameters":[{"name":"after","required":false,"in":"query","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"type":"number"}},{"name":"record_id","required":false,"in":"query","schema":{"type":"string"}},{"name":"external_id","required":false,"in":"query","schema":{"type":"string"}},{"name":"sync_token","required":false,"in":"query","schema":{"type":"string"}},{"name":"source","required":false,"in":"query","schema":{"enum":["external","manual","system_recommendation"],"type":"string"}},{"name":"review_status","required":false,"in":"query","schema":{"enum":["pending","approved","rejected"],"type":"string"}},{"name":"event_type","required":false,"in":"query","schema":{"type":"string"}},{"name":"start_at_gte","required":false,"in":"query","description":"ISO 8601 format","schema":{"type":"string"}},{"name":"start_at_lte","required":false,"in":"query","description":"ISO 8601 format","schema":{"type":"string"}},{"name":"end_at_gte","required":false,"in":"query","description":"ISO 8601 format","schema":{"type":"string"}},{"name":"end_at_lte","required":false,"in":"query","description":"ISO 8601 format","schema":{"type":"string"}},{"name":"has_external_id","required":false,"in":"query","schema":{"type":"boolean"}},{"name":"calendar_model_sync_id","required":false,"in":"query","schema":{"type":"string"}},{"name":"radar_id","required":false,"in":"query","schema":{"type":"string"}},{"name":"updated_at_gte","required":false,"in":"query","description":"ISO 8601 format","schema":{"type":"string"}},{"name":"updated_at_lte","required":false,"in":"query","description":"ISO 8601 format","schema":{"type":"string"}},{"name":"objectId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/PaginatedListWrapper"},{"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ObjectEventDto"}}}}]}}}}}}}}}
```

## POST /v1/objects/{objectId}/events

>

```json
{"openapi":"3.0.0","info":{"title":"Whaly API","version":"1.0"},"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http","description":"Pass a Service Account Key as the Bearer token to authenticate. e.g. 'sk:xxxxxxx'"}},"schemas":{"CreateObjectEventDto":{"type":"object","properties":{"name":{"type":"string","description":"Label of the event"},"description":{"type":"string","description":"Description of the event","nullable":true},"source":{"type":"string","description":"Source of the event","enum":["external","api","radar","calendar_model_sync","manual","system_recommendation"]},"record_id":{"type":"string","description":"ID of the record in the object"},"external_id":{"type":"string","description":"ID of the event in the external system","nullable":true},"sync_token":{"type":"string","description":"Token used to sync the event with external systems (auto-generated UUID if not provided)","nullable":true},"event_type":{"type":"string","description":"Type of event (e.g., meeting, call, visit, holiday)","nullable":true},"start_at":{"type":"string","description":"Start date and time of the event (ISO 8601 format)"},"end_at":{"type":"string","description":"End date and time of the event (ISO 8601 format)"},"location_object":{"type":"string","description":"Object ID representing the location of the event","nullable":true},"location_record_id":{"type":"string","description":"Record ID in location object","nullable":true},"location_record_label":{"type":"string","description":"Human-readable location label","nullable":true},"review_status":{"type":"string","description":"Status of the review: pending, approved, or rejected (default: approved)","enum":["pending","approved","rejected"],"nullable":true},"recommendation_reason":{"type":"string","description":"Reason for system recommendation (only for system_recommendation source)","nullable":true},"planning_strategy":{"type":"string","description":"Encoded planning strategy ID","nullable":true},"calendar_model_sync_id":{"type":"string","description":"Calendar Model Sync ID to link this event to","nullable":true}},"required":["name","description","source","record_id","external_id","sync_token","event_type","start_at","end_at","location_object","location_record_id","location_record_label","review_status","recommendation_reason","planning_strategy","calendar_model_sync_id"]},"ObjectEventDto":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID"},"name":{"type":"string","description":"Label of the event"},"description":{"type":"string","description":"Description of the event","nullable":true},"source":{"type":"string","description":"Source of the event","enum":["external","api","radar","calendar_model_sync","manual","system_recommendation"]},"object":{"type":"string","description":"Object ID representing the object of the event"},"record_id":{"type":"string","description":"ID of the record in the object"},"external_id":{"type":"string","description":"ID of the event in the external system (ex. CRM)","nullable":true},"sync_token":{"type":"string","description":"Token used to sync the event with external systems having an async create API","nullable":true},"event_type":{"type":"string","description":"Type of event (e.g., meeting, call, visit, holiday)","nullable":true},"start_at":{"type":"string","description":"Start date and time of the event (ISO 8601 format)"},"end_at":{"type":"string","description":"End date and time of the event (ISO 8601 format)"},"location_object":{"type":"string","description":"Encoded object ID for location","nullable":true},"location_record_id":{"type":"string","description":"Record ID in location object","nullable":true},"location_record_label":{"type":"string","description":"Human-readable location label","nullable":true},"review_status":{"type":"string","description":"Status of the review: pending, approved, or rejected","enum":["pending","approved","rejected"]},"recommendation_reason":{"type":"string","description":"Reason for system recommendation (only for system_recommendation source)","nullable":true},"planning_strategy":{"type":"string","description":"Planning strategy ID (only for system_recommendation source)","nullable":true},"calendar_model_sync_id":{"type":"string","description":"Calendar Model Sync ID that created this event","nullable":true},"radar_id":{"type":"string","description":"Radar ID that created this event","nullable":true},"updated_at":{"type":"string","description":"Last update timestamp (ISO 8601 format)","nullable":true}},"required":["id","name","description","source","object","record_id","external_id","sync_token","event_type","start_at","end_at","location_object","location_record_id","location_record_label","review_status","recommendation_reason","planning_strategy","calendar_model_sync_id","radar_id","updated_at"]}}},"paths":{"/v1/objects/{objectId}/events":{"post":{"operationId":"ObjectEventsController_create","parameters":[{"name":"objectId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateObjectEventDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ObjectEventDto"}}}}}}}}}
```

## GET /v1/objects/{objectId}/events/{eventId}

>

```json
{"openapi":"3.0.0","info":{"title":"Whaly API","version":"1.0"},"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http","description":"Pass a Service Account Key as the Bearer token to authenticate. e.g. 'sk:xxxxxxx'"}},"schemas":{"ObjectEventDto":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID"},"name":{"type":"string","description":"Label of the event"},"description":{"type":"string","description":"Description of the event","nullable":true},"source":{"type":"string","description":"Source of the event","enum":["external","api","radar","calendar_model_sync","manual","system_recommendation"]},"object":{"type":"string","description":"Object ID representing the object of the event"},"record_id":{"type":"string","description":"ID of the record in the object"},"external_id":{"type":"string","description":"ID of the event in the external system (ex. CRM)","nullable":true},"sync_token":{"type":"string","description":"Token used to sync the event with external systems having an async create API","nullable":true},"event_type":{"type":"string","description":"Type of event (e.g., meeting, call, visit, holiday)","nullable":true},"start_at":{"type":"string","description":"Start date and time of the event (ISO 8601 format)"},"end_at":{"type":"string","description":"End date and time of the event (ISO 8601 format)"},"location_object":{"type":"string","description":"Encoded object ID for location","nullable":true},"location_record_id":{"type":"string","description":"Record ID in location object","nullable":true},"location_record_label":{"type":"string","description":"Human-readable location label","nullable":true},"review_status":{"type":"string","description":"Status of the review: pending, approved, or rejected","enum":["pending","approved","rejected"]},"recommendation_reason":{"type":"string","description":"Reason for system recommendation (only for system_recommendation source)","nullable":true},"planning_strategy":{"type":"string","description":"Planning strategy ID (only for system_recommendation source)","nullable":true},"calendar_model_sync_id":{"type":"string","description":"Calendar Model Sync ID that created this event","nullable":true},"radar_id":{"type":"string","description":"Radar ID that created this event","nullable":true},"updated_at":{"type":"string","description":"Last update timestamp (ISO 8601 format)","nullable":true}},"required":["id","name","description","source","object","record_id","external_id","sync_token","event_type","start_at","end_at","location_object","location_record_id","location_record_label","review_status","recommendation_reason","planning_strategy","calendar_model_sync_id","radar_id","updated_at"]}}},"paths":{"/v1/objects/{objectId}/events/{eventId}":{"get":{"operationId":"ObjectEventsController_findOne","parameters":[{"name":"eventId","required":true,"in":"path","schema":{"type":"string"}},{"name":"objectId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ObjectEventDto"}}}}}}}}}
```

## PUT /v1/objects/{objectId}/events/{eventId}

>

```json
{"openapi":"3.0.0","info":{"title":"Whaly API","version":"1.0"},"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http","description":"Pass a Service Account Key as the Bearer token to authenticate. e.g. 'sk:xxxxxxx'"}},"schemas":{"UpdateObjectEventDto":{"type":"object","properties":{"name":{"type":"string","description":"Label of the event","nullable":true},"description":{"type":"string","description":"Description of the event","nullable":true},"source":{"type":"string","description":"Source of the event","enum":["external","api","radar","calendar_model_sync","manual","system_recommendation"],"nullable":true},"external_id":{"type":"string","description":"ID of the event in the external system","nullable":true},"sync_token":{"type":"string","description":"Token used to sync the event with external systems","nullable":true},"event_type":{"type":"string","description":"Type of event (e.g., meeting, call, visit, holiday)","nullable":true},"start_at":{"type":"string","description":"Start date and time of the event (ISO 8601 format)","nullable":true},"end_at":{"type":"string","description":"End date and time of the event (ISO 8601 format)","nullable":true},"location_object":{"type":"string","description":"Object ID for location","nullable":true},"location_record_id":{"type":"string","description":"Record ID in location object","nullable":true},"location_record_label":{"type":"string","description":"Human-readable location label","nullable":true},"review_status":{"type":"string","description":"Status of the review: pending, approved, or rejected","enum":["pending","approved","rejected"],"nullable":true},"recommendation_reason":{"type":"string","description":"Reason for system recommendation (only for system_recommendation source)","nullable":true},"planning_strategy":{"type":"string","description":"Planning strategy ID (only for system_recommendation source)","nullable":true}},"required":["name","description","source","external_id","sync_token","event_type","start_at","end_at","location_object","location_record_id","location_record_label","review_status","recommendation_reason","planning_strategy"]},"ObjectEventDto":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID"},"name":{"type":"string","description":"Label of the event"},"description":{"type":"string","description":"Description of the event","nullable":true},"source":{"type":"string","description":"Source of the event","enum":["external","api","radar","calendar_model_sync","manual","system_recommendation"]},"object":{"type":"string","description":"Object ID representing the object of the event"},"record_id":{"type":"string","description":"ID of the record in the object"},"external_id":{"type":"string","description":"ID of the event in the external system (ex. CRM)","nullable":true},"sync_token":{"type":"string","description":"Token used to sync the event with external systems having an async create API","nullable":true},"event_type":{"type":"string","description":"Type of event (e.g., meeting, call, visit, holiday)","nullable":true},"start_at":{"type":"string","description":"Start date and time of the event (ISO 8601 format)"},"end_at":{"type":"string","description":"End date and time of the event (ISO 8601 format)"},"location_object":{"type":"string","description":"Encoded object ID for location","nullable":true},"location_record_id":{"type":"string","description":"Record ID in location object","nullable":true},"location_record_label":{"type":"string","description":"Human-readable location label","nullable":true},"review_status":{"type":"string","description":"Status of the review: pending, approved, or rejected","enum":["pending","approved","rejected"]},"recommendation_reason":{"type":"string","description":"Reason for system recommendation (only for system_recommendation source)","nullable":true},"planning_strategy":{"type":"string","description":"Planning strategy ID (only for system_recommendation source)","nullable":true},"calendar_model_sync_id":{"type":"string","description":"Calendar Model Sync ID that created this event","nullable":true},"radar_id":{"type":"string","description":"Radar ID that created this event","nullable":true},"updated_at":{"type":"string","description":"Last update timestamp (ISO 8601 format)","nullable":true}},"required":["id","name","description","source","object","record_id","external_id","sync_token","event_type","start_at","end_at","location_object","location_record_id","location_record_label","review_status","recommendation_reason","planning_strategy","calendar_model_sync_id","radar_id","updated_at"]}}},"paths":{"/v1/objects/{objectId}/events/{eventId}":{"put":{"operationId":"ObjectEventsController_update","parameters":[{"name":"eventId","required":true,"in":"path","schema":{"type":"string"}},{"name":"objectId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateObjectEventDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ObjectEventDto"}}}}}}}}}
```

## DELETE /v1/objects/{objectId}/events/{eventId}

>

```json
{"openapi":"3.0.0","info":{"title":"Whaly API","version":"1.0"},"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http","description":"Pass a Service Account Key as the Bearer token to authenticate. e.g. 'sk:xxxxxxx'"}},"schemas":{"ObjectEventDeleteResultDto":{"type":"object","properties":{"id":{"type":"string"},"isDeleted":{"type":"boolean"}},"required":["id","isDeleted"]}}},"paths":{"/v1/objects/{objectId}/events/{eventId}":{"delete":{"operationId":"ObjectEventsController_delete","parameters":[{"name":"eventId","required":true,"in":"path","schema":{"type":"string"}},{"name":"objectId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ObjectEventDeleteResultDto"}}}}}}}}}
```
