Browse endpoints

Update an event

PATCH /api/v1/events/{event_uuid} operationId: event.update

Base: https://portal.watcheye.com.au/api/v1/events/{event_uuid}

Update an event's status and/or attach a note. At least one of status or note must be supplied; sending neither returns 400 No updates to apply.

Status

The status field accepts any of the lifecycle values:

  • new - the default starting state
  • investigating - someone (or some integration) is actively working the event
  • closed_dismissed - reviewed and dismissed (e.g. false positive)
  • closed_duplicate - this event duplicates another event
  • closed_error - the event was caused by a data entry error
  • closed_confirmed - the event has been confirmed and acted on

Notes

The note field accepts up to 5000 characters. Each PATCH that supplies a note value creates a new note attached to the event - this endpoint does not update an existing note. Notes created via this endpoint are attributed to the calling API key (the response notes[].created_by carries { type: "api_key", uuid, label }) and cannot be edited or deleted from the portal. Any API key on the same account can manage them via the notes PATCH / DELETE endpoints. They appear in the portal alongside notes created by portal users.

Author attribution

When this endpoint changes the status, the event's "last actioned by" attribution in the portal is cleared because an API key is not a user. The audit log records the API key and the request api_reference UUID, so you can always identify which integration made the change.

Path parameters

FieldDescription
event_uuidrequired string (uuid)

The event UUID

Request body

Content type application/json. At least one of `status` or `note` must be supplied.

FieldDescription
status string

Enum: new, investigating, closed_dismissed, closed_duplicate, closed_error, closed_confirmed

Example: investigating

note string [max 5000 characters]

Free-text note to attach to the event. Max 5000 characters.

Example: Confirmed match against verified passport details.

Responses

200

Event updated

application/json
FieldDescription
data object

Same as Event, plus the embedded notes collection. Returned by the show and update endpoints so callers do not need a follow-up request to read the notes.

data.uuid string (uuid)

The event's UUID

Example: 4d7e0a8e-2b9f-4f0e-8d1a-1e2b3c4d5e6f

data.event_number string

A short obfuscated public identifier for the event

Example: V-A1-B2C-3D4

data.status string

Lifecycle status of the event

Enum: new, investigating, closed_dismissed, closed_duplicate, closed_error, closed_confirmed

data.check_type string

The operation type of the parent check

Example: pep_sanction_check

data.check_summary string or null

Short, human-readable summary of the parent check

data.check_response_index integer or null

Index into the parent check's response array (null for grouped events)

data.check_result_ids array of integers

Provider-side result identifiers that triggered this event

data.archived_at string (date-time) or null
data.deleted_at string (date-time) or null
data.entity_uuid string (uuid)
data.program_uuid string (uuid)
data.check_uuid string (uuid)
data.notes_count integer
data.notes array of objects

All notes attached to the event, oldest first.

data.notes[].uuid string (uuid)

The note's UUID

Example: 7c1c0a8e-2b9f-4f0e-8d1a-1e2b3c4d5e6f

data.notes[].note_text string

The free-text content of the note (max 5000 characters)

Example: Confirmed match against verified passport details.

data.notes[].created_by object or null

Identifies who created the note. The type discriminator picks the shape of the remaining fields:

  • { type: "user", uuid, username } - a portal user created the note.
  • { type: "api_key", uuid, label } - an API key on this account created the note.
  • null - rare legacy notes from before actor attribution was recorded.
data.notes[].created_by.type string

Discriminator for the actor type.

Enum: user, api_key

data.notes[].created_by.uuid string (uuid)

UUID of the user or API key that created the note.

data.notes[].created_by.username string

Username of the portal user. Present only when type is user.

data.notes[].created_by.label string

Label of the API key. Present only when type is api_key.

data.notes[].is_immutable boolean

When true, the note is an immutable audit-trail entry (for example, a bulk-update record) and cannot be edited or deleted through any channel.

Example: false

data.notes[].created_at string (date-time)

ISO 8601 timestamp at which the note was created

Example: 2025-01-01T00:00:00Z

data.notes[].updated_at string (date-time)

ISO 8601 timestamp at which the note was last updated

Example: 2025-01-01T00:00:00Z

data.created_at string (date-time)
api_reference string (uuid)
Standard error responses: 400 401 403 404 429 5XX See common error responses