Delete an adhoc check
/adhoc-checks/{adhoc_check_uuid}
Soft-deletes the adhoc check. For a group check (check_type = group), its child checks
are deleted alongside it. See the
Soft Deletion section of the API guide
for the full policy (30-day recovery window, portal-only restore).
The records are no longer returned by list/show endpoints but remain in the database for
compliance and audit purposes.
Example Request
DELETERequest Schema
adhoc_check_uuid
The adhoc check UUID
Available Response Data
13 Data Pointsuuid uuid
The adhoc check's UUID
check_number string (A short obfuscated public identifier for the adhoc check (e.g. "Q-A1B2CD"))
check_type string
The type of check that was run
check_type_name string
Display name for the check type
status enum
Lifecycle status of the adhoc check: pending, processing, complete, failed
failed_reason string
Short reason why the check failed
outcome enum
High-level outcome of the check: pass, warning
check_summary string
Short, human-readable summary of the result
data_summary string
Short, human-readable summary of the subject the check ran against
checked_at timestamp
ISO 8601 timestamp at which the check was run
created_by object
Identifies who launched the adhoc check
parent_uuid uuid (UUID of the parent (group) adhoc check this check is a child of)
api_reference uuid
unique request identifier for log tracing and audit
API Data Scale & Coverage tag
Unmatched data depth to power your compliance and verification workflows.
Sandbox Environment
Build and test against a sandbox account. Sandbox is a separate account with its own UUID and its own API keys, and the environment is fixed at the account level, so you cannot switch an existing key between live and sandbox with a parameter or header. Both share the same base URL, so the account behind your key is what determines which environment you are in. GET /v1/account returns an environment field of live or sandbox, and that is the authoritative answer.
Calls on a sandbox key are not billed. Every endpoint, response shape, error envelope, idempotency and rate-limit behaviour mirrors live, so the only change when you move to production should be the credentials. Sandbox accounts are provisioned by your Global Data account manager.
Technical Use Cases tag
Removing a record from day-to-day workflows
Take a adhoc check out of active lists when it is no longer relevant. The delete is a soft delete: the record is hidden from the API and the portal but retained for compliance.
Recoverable for 30 days
A soft-deleted record can be restored from the portal within 30 days. After that window it is eligible for permanent removal.
Prefer archiving where you need to keep it
Where a record must stay accessible for audit or historical reporting, archive it instead. Archived records are retained indefinitely and are not subject to the 30-day window.
Compliance & Security tag
Enterprise-grade infrastructure audited against the standards your regulators require.
Common Questions tag
Everything you need to know about implementation details and compliance infrastructure.
gavel Compliance
Is the record permanently removed?
add
Is the record permanently removed?
No. Every DELETE in this API is a soft delete, because WatchEye retains a record of every entity, program, monitor and note for compliance and audit purposes.
A soft-deleted record disappears from list endpoints, and its own GET returns 404. The original DELETE returns the deleted record once as confirmation; subsequent calls return 404.
Deleted records can be restored from the portal within 30 days. There is no API equivalent of the restore action. After 30 days they are eligible for permanent removal. If you need to keep a record beyond that window, archive it instead.
rocket_launch Implementation
What are the rate limits?
add
What are the rate limits?
600 requests per minute by default, enforced with a 60-second fixed window. Every response carries X-RateLimit-Limit and X-RateLimit-Remaining.
Exceeding the limit returns 429 Too Many Requests with a Retry-After header giving the number of seconds to wait, and X-RateLimit-Reset giving the reset timestamp. Schedule retries from Retry-After instead of a fixed sleep, and slow down before you hit zero, not after.
Higher limits can be arranged case by case through WatchEye support.
Ready to integrate Delete an adhoc check?
Talk to our team about credentials, sandbox access and the right combination of endpoints for your workflow.
