Skip to content

List my teams

GET
/api/v1/me/teams
curl --request GET \
--url https://api.deploybase.eu/api/v1/api/v1/me/teams \
--header 'Authorization: <Authorization>'

Returns every team the signed-in user is a member of, most recently active first, each with the caller’s role in it and flags for which one is their home team and which one the current request is acting on. Teams that are being purged or have been purged are omitted; a suspended team is included with status “suspended” so the switcher can explain why it is unusable. Requires a signed-in user: API keys authenticate a team, not a person.

OK

Media type application/json
object
data
meta
object
request_id
string
timestamp
string
trace_id
string
data
Array<object>
object
awaiting_payment_until
string
display_label

DisplayLabel is what to show a human. Never empty, even for teams whose name is still a raw Zitadel org UUID — models.Team.DisplayLabel owns that fallback.

string
id
string
interval
string
is_active

IsActive marks the team the current request is acting on.

boolean
is_home

IsHome marks the team the caller’s own Zitadel org maps to. Exactly one entry has it.

boolean
lapse_removal_at
string
lapsed_at

LapsedAt is set while this extra team is blocked as a second Free team of one of its owners (DEP-889): its sites keep serving, but nobody can deploy or create projects until it is paid for again. LapseRemovalAt is when it is deleted if that does not happen. Shown to every member, not just owners: a member who cannot deploy needs to know why.

string
last_active_at
string
name
string
pending_interval
string
pending_plan

PendingPlan and PendingInterval are the paid plan chosen when the team was created, so the waiting-for-payment page can restart the same checkout. Set only alongside AwaitingPaymentUntil, and only for owners.

string
plan

Plan, Interval and AwaitingPaymentUntil are filled only on teams the caller OWNS (DEP-766): what a team pays is the owner’s business, not a member’s. Plan is free, starter, pro or scale; Interval (monthly or annual) is absent on Free. AwaitingPaymentUntil is set while a team created on a paid plan waits for its first payment: the team is removed at that time if it is still unpaid. Such a team reads as Free until the payment lands.

string
role
string
slug
string
status

Status is the team’s lifecycle state, with “suspended” taking precedence over the deletion state machine: a suspended team is usually active, and “active” is exactly the wrong thing to tell someone whose team is closed.

string

Example

{
"data": [
{
"interval": "monthly",
"pending_interval": "monthly",
"pending_plan": "pro",
"plan": "pro"
}
]
}

Unauthorized

Media type application/json
object
code
string
details
error
string
meta
object
request_id
string
timestamp
string
trace_id
string

Example generated

{
"code": "example",
"details": "example",
"error": "example",
"meta": {
"request_id": "example",
"timestamp": "example",
"trace_id": "example"
}
}

Forbidden

Media type application/json
object
code
string
details
error
string
meta
object
request_id
string
timestamp
string
trace_id
string

Example generated

{
"code": "example",
"details": "example",
"error": "example",
"meta": {
"request_id": "example",
"timestamp": "example",
"trace_id": "example"
}
}

Internal Server Error

Media type application/json
object
code
string
details
error
string
meta
object
request_id
string
timestamp
string
trace_id
string

Example generated

{
"code": "example",
"details": "example",
"error": "example",
"meta": {
"request_id": "example",
"timestamp": "example",
"trace_id": "example"
}
}

Service Unavailable

Media type application/json
object
code
string
details
error
string
meta
object
request_id
string
timestamp
string
trace_id
string

Example generated

{
"code": "example",
"details": "example",
"error": "example",
"meta": {
"request_id": "example",
"timestamp": "example",
"trace_id": "example"
}
}

Live f79d25b6 built