Browse endpoints

Delete a program

DELETE /api/v1/programs/{program_uuid} operationId: program.delete

Base: https://portal.watcheye.com.au/api/v1/programs/{program_uuid}

Soft-deletes the program and every entity in it (and that entity's checks, ID checks, reports, events, notes and crossmatches). The records are no longer returned by list/show endpoints but are retained for compliance and audit purposes. The deleted program record is returned in the response as confirmation; a subsequent show or list call for it will return 404.

See the Soft Deletion section of the API guide for the full policy (30-day recovery window, portal-only restore, what gets cascaded).

Path parameters

FieldDescription
program_uuidrequired string (uuid)

The program UUID

Responses

200

Program deleted

application/json
FieldDescription
data object
data.uuid string (uuid)

The program's UUID

Example: 9c3e0a8e-2b9f-4f0e-8d1a-1e2b3c4d5e6f

data.program_number string

A short obfuscated public identifier for the program (e.g. "P-123-456-789")

Example: P-123-456-789

data.program_name string

The display name of the program

Example: AML Onboarding Program

data.status string

Lifecycle status of the program:

  • active - normal operation
  • paused - monitors do not run; entities and checks remain accessible
  • archived - read-only; the program is hidden from default lists but not deleted

Enum: active, paused, archived

Example: active

data.report_emails array of strings

Email addresses (max 5) that receive event report notifications for this program

data.data_retention_months integer

How long, in months, to keep entity data for. Permitted values: 0 (no retention), 1, 3, 6, 12, 24, 36, 48, 60, 72, 84.

Example: 12

data.event_grouping string

Whether events from the same entity should be grouped into one event:

  • separate - each event is created as a separate event (capped by max_separate_events)
  • grouped - events are merged into a single event per entity

Enum: separate, grouped

Example: separate

data.max_separate_events integer or null

When event_grouping is separate, the maximum number of separate events to create for a single entity (5-100). Null when event_grouping is grouped.

Example: 10

data.default_risk_level string or null

The risk level pre-filled when a new entity is added to this program:

  • low / medium / high - new entities pre-fill with this risk rating
  • null - new entities start with no risk assigned; the rating may be left unassigned and set later (bulk file uploads assign low)

Enum: low, medium, high

Example: low

data.created_at string (date-time)

ISO 8601 timestamp at which the program was created

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

data.updated_at string (date-time)

ISO 8601 timestamp at which the program was last updated

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

api_reference string (uuid)
Standard error responses: 400 401 402 403 404 429 5XX See common error responses