Skip to content

Resolve a team's sign-in providers

GET
/api/v1/public/sso/{team}
curl --request GET \
--url https://api.deploybase.eu/api/v1/api/v1/public/sso/example

Returns a team’s display name and its ACTIVE identity provider connections, so the sign-in page can render one button per provider. No authentication required, and deliberately incurious: only a name, a slug and the Zitadel provider id each button needs are returned — never the issuer, the client id or the scopes. An unknown team, a team being deleted and a team with no active connection all answer 404 with the same code, so the endpoint cannot be used to discover which teams exist or which have SSO configured. Rate limited per IP.

team
required
string

Team slug or UUID

OK

Media type application/json
object
data
meta
object
request_id
string
timestamp
string
trace_id
string
data
object
connections
Array<object>
object
id
string
idp_id

IdpID is the Zitadel provider configuration id, and it IS public on purpose: the browser needs it to start the IdP intent (POST /v2/idp_intents), exactly as the GitHub button does with an id that lives in a frontend environment variable. It authenticates nobody — starting an intent against it still requires completing a sign-in at the customer’s own provider.

string
name
string
team
object
name
string
slug
string
Example generated
{
"data": {
"connections": [
{
"id": "example",
"idp_id": "example",
"name": "example"
}
],
"team": {
"name": "example",
"slug": "example"
}
},
"meta": {
"request_id": "example",
"timestamp": "example",
"trace_id": "example"
}
}

SSO_NOT_FOUND

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"
}
}

Rate limit exceeded

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"
}
}