ProjectsValidate a task delete (dry run)

Validate a task delete (dry run)

Checks whether a task could be deleted, without deleting it.

Runs the same checks as DELETE /v1/task/{taskID} before its first write — access, the API refusals (sub-tasks or milestones, invoiced / booked payment, revenue vouchers, customer standard travel task) and the TimeLog delete rules (registrations, invoiced fixed-price instalment, TDR task in a completed contract) — and answers 200 with null. Where the delete reports only one rule violation, the dry run joins all of them into the message.

Use it to:

  • Ask before offering 'delete' in a sync UI; fall back to closing the task when it has registrations

Not for:

  • Deleting → DELETE /v1/task/{taskID}

Behaviour:

  • Idempotent.
  • Safe to retry.
  • Changes are visible to the next read immediately.

Call first: GET /v1/task

Next: DELETE /v1/task/{taskID}

See also: PUT /v1/task/{taskID}

Not yet documented: examples.

curl -X POST "https://app3.timelog.com/your-account/api/v1/task/123/validate-delete-task" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
"null"
POST
/v1/task/{taskID}/validate-delete-task
POST
Base URLstring

Target server for requests. Edit to use your own host.

Bearer Token
Bearer Tokenstring
Required

OAuth 2.0 bearer token, sent as Authorization: Bearer <token>. JWT and reference tokens are both accepted. The token must carry the required scope (default tlp). The token's sub claim is the acting user. A token WITHOUT sub (client-credentials) acts as the system service user. If the sub user cannot log in (inactive, locked, deleted), the request is rejected with 401 — it is no longer let through without a user. > Not yet documented: how to obtain a token. > Not yet documented: token lifetime.

OAuth 2.0 bearer token, sent as Authorization: Bearer <token>. JWT and reference tokens are both accepted. The token must carry the required scope (default tlp). The token's sub claim is the acting user. A token WITHOUT sub (client-credentials) acts as the system service user. If the sub user cannot log in (inactive, locked, deleted), the request is rejected with 401 — it is no longer let through without a user. > Not yet documented: how to obtain a token. > Not yet documented: token lifetime.
path
taskIDinteger
Required

The task to check. Route constraint :int.

Format: int32
Request Preview
Response

Response will appear here after sending the request

Authentication

header
Authorizationstring
Required

Bearer token. OAuth 2.0 bearer token, sent as Authorization: Bearer <token>. JWT and reference tokens are both accepted. The token must carry the required scope (default tlp).

The token's sub claim is the acting user. A token WITHOUT sub (client-credentials) acts as the system service user. If the sub user cannot log in (inactive, locked, deleted), the request is rejected with 401 — it is no longer let through without a user.

Not yet documented: how to obtain a token.

Not yet documented: token lifetime.

Path Parameters

taskIDinteger
Required

The task to check. Route constraint :int.

Responses

Success without content: HTTP 200 with the literal JSON body null. The literal null: no refusal and no delete-rule violation.