Request account or team deletion
const url = 'https://api.deploybase.eu/api/v1/api/v1/team/deletion';const options = { method: 'POST', headers: {Authorization: '<Authorization>', 'Content-Type': 'application/json'}, body: '{"kind":"account"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.deploybase.eu/api/v1/api/v1/team/deletion \ --header 'Authorization: <Authorization>' \ --header 'Content-Type: application/json' \ --data '{ "kind": "account" }'Opens the cancelable 14-day grace period before the team and its data are erased (GDPR Art. 17). kind=account (the default, and the only kind on your home team) also erases your account and your memberships elsewhere; kind=team erases only this team and its sign-in organization, and is refused on your home team. Nothing is deleted until the grace period expires: sites stay online, the subscription is untouched, and access is retained so the request can be cancelled. Idempotent — a second request returns the outstanding one without moving the deadline. Refused, with a route to support, when the team has a live paid subscription, has other members, its sign-in organization holds other people’s accounts, or (account kind) the caller is the only owner of another team.
Authorizations
Section titled “ Authorizations ”Request Body
Section titled “ Request Body ”Deletion kind; an empty body means account
object
Kind is “account” (this team, which must be your home team, and your account) or “team” (this team only, which must not be your home team). Omitted means account.
Example
teamResponses
Section titled “ Responses ”Accepted
object
object
object
AlreadyPending marks an idempotent re-request: the response describes the request that was already outstanding, and the clock was NOT reset.
object
Kind is copied from teams.deletion_kind at claim time and decides Progress (DEP-763). Rows from before DEP-763 default to account in the database.
object
object
RequestedBy is copied from teams.deletion_requested_by at claim time, so the job still names the requester after the teams row is anonymised.
Kind is which erasure was requested: account (the team and the requester’s account) or team (this team only). DEP-763.
Example
{ "data": { "job": { "kind": "account", "progress": [ { "status": "pending" } ], "status": "pending" }, "kind": "account", "status": "active" }}Bad Request
object
object
Example generated
{ "code": "example", "details": "example", "error": "example", "meta": { "request_id": "example", "timestamp": "example", "trace_id": "example" }}Unauthorized
object
object
Example generated
{ "code": "example", "details": "example", "error": "example", "meta": { "request_id": "example", "timestamp": "example", "trace_id": "example" }}Forbidden
object
object
Example generated
{ "code": "example", "details": "example", "error": "example", "meta": { "request_id": "example", "timestamp": "example", "trace_id": "example" }}Not Found
object
object
Example generated
{ "code": "example", "details": "example", "error": "example", "meta": { "request_id": "example", "timestamp": "example", "trace_id": "example" }}Conflict
object
object
Example generated
{ "code": "example", "details": "example", "error": "example", "meta": { "request_id": "example", "timestamp": "example", "trace_id": "example" }}Internal Server Error
object
object
Example generated
{ "code": "example", "details": "example", "error": "example", "meta": { "request_id": "example", "timestamp": "example", "trace_id": "example" }}Service Unavailable
object
object
Example generated
{ "code": "example", "details": "example", "error": "example", "meta": { "request_id": "example", "timestamp": "example", "trace_id": "example" }}Live a8b7eb1d built