Skip to content
Connect an agent
Organisations

Turn single sign-on on or off, and set Require SSO and who joins on first sign-in

Each field left out keeps its value.

PATCH/orgs/{org}/sso/connection

TL;DR

QuestionAnswer
What does it do?Turn single sign-on on or off, and set Require SSO and who joins on first sign-in.
What does it take?A JSON body of type SsoSwitchesBody.
What does it return?Status 200 with a body of type SsoConnection.
What can go wrong?400 the body is not valid, no connection is set up, or require sso cannot be turned on yet (sso.invalid); 401 not signed in; 403 a member or a reader (orgs.forbidden), a plan without single sign-on (plan.sso_not_included), or the request came from an origin that may not make changes; 404 no such organisation, or the caller is not a member of it; 429 too many requests; 503 single sign-on is not set up on this server (sso.unavailable), or organisations are not. Every failure uses the one error envelope.

What it does

Each field left out keeps its value. Require SSO needs the connection on and a verified domain; turning the connection off turns Require SSO off. People who join on first sign-in are members or readers, never admins, within the member limit.

Path parameters

FieldTypeRequiredDescription
orgstringyesThe organisation's id or its slug.

Request body

The body has the type SsoSwitchesBody.

FieldTypeRequiredDescription
enabledbooleanno
requireSsobooleanno
jitbooleanno
jitRole"member" | "reader"no

Responses

StatusMeaningBody
200The connection.SsoConnection
400The body is not valid, no connection is set up, or Require SSO cannot be turned on yet (sso.invalid).ErrorResponse
401Not signed in.ErrorResponse
403A member or a reader (orgs.forbidden), a plan without single sign-on (plan.sso_not_included), or the request came from an origin that may not make changes.ErrorResponse
404No such organisation, or the caller is not a member of it.ErrorResponse
429Too many requests.ErrorResponse
503Single sign-on is not set up on this server (sso.unavailable), or organisations are not.ErrorResponse

Response body

A 200 answer has the type SsoConnection.

FieldTypeRequiredDescription
protocol"oidc" | "saml"yesOpenID Connect or SAML 2.0. One connection, one protocol.
issuerstringyesThe OpenID Connect issuer, or the SAML provider's entity id.
clientIdstring | nullyesOpenID Connect only.
secretSetbooleanyesTrue when an OpenID Connect client secret is stored. It is never returned. Always false for SAML.
tokenAuthMethod"client_secret_basic" | "client_secret_post" | nullyes
samlSamlConnectionyesSAML only.
saml.entityIdstringyesThe provider's entity id, which every Issuer must equal.
saml.ssoUrlstringyesThe provider's sign-in service on the redirect binding.
saml.certificatesobject[]yes
saml.certificates[].fingerprintstringyesSHA-256 of the certificate, as providers show it.
saml.certificates[].notAfterintegeryesWhen the certificate expires, in milliseconds since the epoch. Shown, not enforced.
saml.emailAttributestring | nullyesThe attribute that carries the address, or null when the name identifier does.
saml.metadataUrlstring | nullyesWhere the metadata was fetched from, or null when it was pasted.
enabledbooleanyes
requireSsobooleanyes
jitbooleanyes
jitRole"member" | "reader"yes
updatedAtintegeryes

See also

DocWhy
API referenceEvery endpoint, and the error envelope
SchemasEvery request and response type
Tool referenceThe operations as callable tools