API reference

Deleting your account

Your account's deletion: what a request would get and what stops it, scheduling it with a fresh confirmation, keeping your account, and the link in every notice.
POST/v1/account/deletion/cancel

The link in a deletion notice (no session; ID's cancel page posts it): keeps the account the token was sent for. The same answer for any token, spent, unknown or valid; 429 past 10 tries an hour from one network.

Auth
None.

Request body

  • tokenstringrequired

    Up to 100 characters.

curl -X POST 'https://api.cactive.com.au/v1/account/deletion/cancel' \
  -H 'Content-Type: application/json' \
  -d '{
    "token": "example"
  }'
Send it from this page with your session or a key.

Response 200

{
  status: "cancelled"
}
GET/v1/me/account/deletion

Your account's deletion: the open request (status, eraseAt, graceDays), or, with status: none, the grace a request now would get (graceDays, and graceReason: credential_change when it's longer because a credential changed this week) and the blockers to deal with first, each with its action; after a preview, planCounts (by service and kind) and preview (handlers done of total). Your own first-party session only (ID, the phone apps), never a key, an assistant or another app.

Auth
A person's token or an API key, as Authorization: Bearer.
Get an API key

Errors

  • 403Only you can delete your account, in your account settings.
curl 'https://api.cactive.com.au/v1/me/account/deletion' \
  -H "Authorization: Bearer $CACTIVE_TOKEN"
Send it from this page with your session or a key.

Response 200

{
  status: "none" | "blocked" | "cancelled" | "scheduled" | "erasing" | "finalising" | "erased"
  delId?: string
  requestedAt?: number
  eraseAt?: number
  graceDays: number
  graceReason?: "credential_change"
  blockers: {
    kind: "org_last_owner" | "org_only_member" | "mirage_server_owner"
    orgId?: string
    serverId?: string
    label: string
    action: {
      label: string
      url: string
    }
  }[]
  personalPlan?: {
    planId: string
    name?: string
  }
  planCounts?: {
    [key: string]: {
      [key: string]: number
    }
  }
  preview?: {
    requestedAt: number
    done: number
    total: number
  }
}
POST/v1/me/account/deletion/preview

Counts what deleting your account would erase, app by app, without deleting anything: 202 with previewId and total, the number of services counting; the counts fill in on GET /v1/me/account/deletion (planCounts, preview) as each finishes. One at a time, 3 a day.

Auth
A person's token or an API key, as Authorization: Bearer.
Get an API key

Errors

  • 403Only you can delete your account, in your account settings.
  • 403Sign in again first.
curl -X POST 'https://api.cactive.com.au/v1/me/account/deletion/preview' \
  -H "Authorization: Bearer $CACTIVE_TOKEN"
Send it from this page with your session or a key.

Response 202

{
  previewId: string
  total: number
}
POST/v1/me/account/deletion

Schedules your account's deletion (confirm: "delete", an optional reason): it's frozen at once (signed out everywhere, credentials suspended, your plan stops renewing) and erased after the grace, and every address and verified number you have is told, with a link that keeps it. Needs a second factor confirmed for account_delete and a sign-in from the last 10 minutes (ID's deletion page gives both), else 403 step_up; 403 first_party_only for anything but your own session; 409 blocked with the blockers, or already_scheduled; 429 past 3 a month.

Auth
A person's token or an API key, as Authorization: Bearer.
Get an API key

Request body

  • confirm"delete"required
  • reason"not_using" | "privacy" | "too_expensive" | "switching" | "other"
  • viaobject
  • via.app"home" | "caity" | "tasks" | "brain" | "mail" | "drive" | "photos" | "git" | "cloud" | "maps" | "tenant" | "admin" | "account" | "authenticator" | "mirage" | "health" | "weather" | "marketing" | "crm" | "food" | "vehicles"
  • via.stepUpMethodstring

    Up to 20 characters.

Errors

  • 403Only you can delete your account, in your account settings.
  • 403Sign in again first.
curl -X POST 'https://api.cactive.com.au/v1/me/account/deletion' \
  -H "Authorization: Bearer $CACTIVE_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{
    "confirm": "delete"
  }'
Send it from this page with your session or a key.

Response 201

{
  delId: string
  eraseAt: number
  graceDays: number
}
DELETE/v1/me/account/deletion

Keeps your account: cancels a scheduled deletion ("Keep my account" after signing in). Everything works again; sign in again on your devices. 409 too_late once erasure has begun.

Auth
A person's token or an API key, as Authorization: Bearer.
Get an API key

Errors

  • 403Only you can delete your account, in your account settings.
curl -X DELETE 'https://api.cactive.com.au/v1/me/account/deletion' \
  -H "Authorization: Bearer $CACTIVE_TOKEN"
Send it from this page with your session or a key.

Response 200

{
  status: "cancelled"
}