Skip to content

Resume an erasure

POST
/v1/memory/erasures/{erasureId}/resume
curl --request POST \
--url https://example.com/v1/memory/erasures/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/resume \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "force": true }'

Tries an unfinished erasure again now. With force: true, an erasure waiting-on-run (a turn of the person’s in a flow that serves other people) stops waiting: the run is cancelled and the erasure goes on; without it, it waits until its deadline (waitingOn.until). A finished erasure comes back as it is. Requires admin on the tenant.

erasureId
required
string format: uuid

The erasure (a UUID).

Idempotency-Key
string
>= 1 characters

Caller-supplied idempotency key, scoped to the caller: the same key from someone else in the tenant is their own request (from 0.1.5). Retries with the same key return the original response byte-identical (per docs/API-ROUTE-CONVENTIONS.md §3.1). A retry sent while the first request still runs is answered 409 idempotency-key-in-flight with Retry-After, on a runtime whose store holds keys (from 0.1.5); retry after it, and you get the first request’s answer. An answer that carries a secret (a new API key or public run token, a session token, a generated signing secret) isn’t kept: a retry gets 409 idempotency-key-replay-withheld, with the first request’s status and when it succeeded (from 0.1.5).

Media typeapplication/json
object
force

Stop waiting for a run in a flow that serves other people: it’s cancelled, and the erasure goes on.

boolean
Examplegenerated
{
"force": true
}

The erasure.

Media typeapplication/json
object
id
required
string format: uuid
selectorKind
required
string
Allowed values: fact participant external conversation
selector
One of:

One fact.

object
factId
required
string
>= 1 characters <= 256 characters
status
required

waiting-on-run: a turn of the person’s sits in a flow that serves other people; the erasure waits for it (waitingOn) until its deadline, then cancels it.

string
Allowed values: pending running waiting-on-run completed failed
phase
required

Where a running erasure is: seed, expand, settle (the person’s unfinished runs end, or it waits for them, before anything is cleared), erase, then done.

string
Allowed values: seed expand settle erase done
requestedBy
required

user:<id> or service:<id>.

string
matchable
required

A replay after a backup restore can find this person again: a keyed hash was kept.

boolean
counts
required

What each store cleared or deleted, by store.

object
key
additional properties
integer
attempts
required

Failed attempts so far.

integer
lastError

The last failure’s code, or not-yet:<reason> while it waits. Never content.

string
waitingOn

The run it waits (or waited) for, and until when; kept as the record of the wait.

object
runId
required
string format: uuid
until
string format: date-time
forced

A tenant admin said not to wait.

boolean
settleRoundsCapped

Runs of the person’s kept appearing, round after round: the erasure went on to erase after its last round rather than wait any longer. Absent: it didn’t.

boolean
createdAt
required
string format: date-time
startedAt
string format: date-time
completedAt
string format: date-time
replayedAt
string format: date-time
Example
{
"selectorKind": "fact",
"selector": {
"subject": {
"kind": "participant"
}
},
"status": "pending",
"phase": "seed",
"forced": true,
"settleRoundsCapped": true
}

The body is {force?: boolean}.

Media typeapplication/json
object
error
required
object
code
required

Stable machine-readable discriminant. Values match domain error codes (see docs/API-ROUTE-CONVENTIONS.md §4.3).

string
message
required
string
details

Optional, kind-specific.

object
key
additional properties
any
requestId
required

Server-assigned request id; also echoed via X-Request-Id header.

string
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"details": {},
"requestId": "example"
}
}

Missing / malformed / expired / revoked bearer token.

Media typeapplication/json
object
error
required
object
code
required

Stable machine-readable discriminant. Values match domain error codes (see docs/API-ROUTE-CONVENTIONS.md §4.3).

string
message
required
string
details

Optional, kind-specific.

object
key
additional properties
any
requestId
required

Server-assigned request id; also echoed via X-Request-Id header.

string
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"details": {},
"requestId": "example"
}
}

Not a tenant admin.

Media typeapplication/json
object
error
required
object
code
required

Stable machine-readable discriminant. Values match domain error codes (see docs/API-ROUTE-CONVENTIONS.md §4.3).

string
message
required
string
details

Optional, kind-specific.

object
key
additional properties
any
requestId
required

Server-assigned request id; also echoed via X-Request-Id header.

string
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"details": {},
"requestId": "example"
}
}

No such erasure in this tenant.

Media typeapplication/json
object
error
required
object
code
required

Stable machine-readable discriminant. Values match domain error codes (see docs/API-ROUTE-CONVENTIONS.md §4.3).

string
message
required
string
details

Optional, kind-specific.

object
key
additional properties
any
requestId
required

Server-assigned request id; also echoed via X-Request-Id header.

string
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"details": {},
"requestId": "example"
}
}

Idempotency-Key was reused with a different body, or resource-state conflict.

Media typeapplication/json
object
error
required
object
code
required

Stable machine-readable discriminant. Values match domain error codes (see docs/API-ROUTE-CONVENTIONS.md §4.3).

string
message
required
string
details

Optional, kind-specific.

object
key
additional properties
any
requestId
required

Server-assigned request id; also echoed via X-Request-Id header.

string
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"details": {},
"requestId": "example"
}
}

Server error (unmapped domain code or framework crash).

Media typeapplication/json
object
error
required
object
code
required

Stable machine-readable discriminant. Values match domain error codes (see docs/API-ROUTE-CONVENTIONS.md §4.3).

string
message
required
string
details

Optional, kind-specific.

object
key
additional properties
any
requestId
required

Server-assigned request id; also echoed via X-Request-Id header.

string
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"details": {},
"requestId": "example"
}
}