GoRunner

Clean exit: drop presence and release the lock

Requires scope workflow:read
DELETE
/api/workflows/{id}/presence

The explicit counterpart to the beat: removes you from the presence set and releases the editing lock if you hold it, so the next editor does not wait out the TTL.

It is purely an optimisation — a killed tab reaches the same state within about 30 seconds by expiry. It is idempotent and always answers 200, including when you were never present. It does NOT verify that the workflow exists beyond parsing the id, and it takes no request body.

Authorization

bearerAuth
AuthorizationBearer <token>

An API token: Authorization: Bearer grt_…. Mint one in the app under Settings → Workspace → API tokens; the raw value is shown once. Scopes confine the token — see x-permission on each operation.

In: header

Path Parameters

id*string

Workflow id (UUID). A malformed id answers 404 here, not 400 — presence never discloses whether a flow exists.

Formatuuid

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X DELETE "https://example.com/api/workflows/497f6eca-6276-4993-bfeb-53cbbbba6f08/presence"
{  "data": {    "message": "Left"  }}