Preview a suspension
const url = 'https://api.deploybase.eu/api/v1/api/v1/admin/teams/example/suspension-preview';const options = {method: 'GET', headers: {Authorization: '<Authorization>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://api.deploybase.eu/api/v1/api/v1/admin/teams/example/suspension-preview \ --header 'Authorization: <Authorization>'For the team about to be suspended: its owners and admins (with owner_by_transfer_at when they became owner of this team by an accepted ownership transfer in the last 90 days) and, per person, the other teams they own with the plan, the owner count and what a cascade class would do to each (suspended, held with a hold_reason, or already_suspended). Read-only.
Authorizations
Section titled “ Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “ Path Parameters ”Team ID (UUID)
Responses
Section titled “ Responses ”OK
object
object
object
object
CanConfirmTransferee: the admin may name them in confirmed_transferee_ids, which makes their teams classify like any subject’s (OutcomeIfConfirmed). False when the transfer lookup failed: an unknown is never confirmable.
IsTransferee: their teams are all held (T1) unless the admin confirms them. True when OwnerByTransferAt is set or the lookup failed.
object
Outcome is the row state the cascade would write: pending (suspend), held or already_suspended.
OutcomeIfConfirmed / HoldReasonIfConfirmed: what the cascade does to this team when the candidate is a confirmable transferee and the admin confirms them. Absent otherwise.
OwnerByTransferAt is when they accepted an ownership offer of the origin, if within the last 90 days (T1: such a person is not pre-ticked and never auto-cascades).
TransferLookupFailed: the transfer could not be read, so they are treated as a transferee.
Example generated
{ "data": { "candidates": [ { "can_confirm_transferee": true, "email": "example", "is_transferee": true, "owned_teams": [ { "hold_reason": "example", "hold_reason_if_confirmed": "example", "outcome": "example", "outcome_if_confirmed": "example", "owner_count": 1, "plan": "example", "team_id": "example", "team_name": "example" } ], "owner_by_transfer_at": "example", "role": "example", "transfer_lookup_failed": true, "user_id": "example" } ], "origin_team_id": "example", "origin_team_name": "example" }, "meta": { "request_id": "example", "timestamp": "example", "trace_id": "example" }}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" }}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 f79d25b6 built