Back to API overview

Enterprise SSO

6 endpoints

SAML and OIDC single sign-on for enterprise customers.

sso.read
sso.write

Manage SAML and OIDC SSO connections for a sub-organization.

Authenticate with your organization API key. Include subOrgId as a query parameter or in the request body when using an org-wide key. Sub-org-scoped keys automatically target their sub-organization.
GET
/v1/sso/connections

List SSO connections. Requires sso.read.

Query Parameters

ParamTypeRequiredDescription
subOrgIdstringNoSub-organization ID. Required for org-wide keys on write operations; optional on list when the key is scoped to one sub-org.

Response — 200

{ "connections": [ /* SSO connections */ ] }
POST
/v1/sso/connections

Create a SAML or OIDC connection in draft status. Requires sso.write.

Query Parameters

ParamTypeRequiredDescription
subOrgIdstringNoSub-organization ID. Required for org-wide keys on write operations; optional on list when the key is scoped to one sub-org.

Request Body

ParamTypeRequiredDescription
namestringYesConnection display name
protocolstringYessaml or oidc
idp_entity_idstringNoSAML IdP entity ID
idp_sso_urlstringNoSAML IdP SSO URL
oidc_issuerstringNoOIDC issuer URL
oidc_client_idstringNoOIDC client ID
subOrgIdstringYesSub-organization ID. Required for org-wide keys on write operations; optional on list when the key is scoped to one sub-org.

Response — 200

{ "connection": { /* draft connection */ } }
GET
/v1/sso/connections/{connectionId}

Get a single SSO connection. Requires sso.read.

Query Parameters

ParamTypeRequiredDescription
subOrgIdstringNoSub-organization ID. Required for org-wide keys on write operations; optional on list when the key is scoped to one sub-org.

Response — 200

{ "connection": { /* ... */ } }
PATCH
/v1/sso/connections/{connectionId}

Update connection configuration, status, or group mappings. Requires sso.write.

Query Parameters

ParamTypeRequiredDescription
subOrgIdstringNoSub-organization ID. Required for org-wide keys on write operations; optional on list when the key is scoped to one sub-org.

Request Body

ParamTypeRequiredDescription
statusstringNodraft, testing, active, or error
namestringNoConnection display name
group_role_mappingobjectNoMap IdP groups to OS roles
subOrgIdstringYesSub-organization ID. Required for org-wide keys on write operations; optional on list when the key is scoped to one sub-org.

Response — 200

{ "connection": { /* updated */ } }
DELETE
/v1/sso/connections/{connectionId}

Delete an SSO connection. Requires sso.write.

Query Parameters

ParamTypeRequiredDescription
subOrgIdstringNoSub-organization ID. Required for org-wide keys on write operations; optional on list when the key is scoped to one sub-org.

Response — 200

{ "success": true }
POST
/v1/sso/connections/{connectionId}/test

Test SAML or OIDC connectivity. Requires sso.write.

Query Parameters

ParamTypeRequiredDescription
subOrgIdstringNoSub-organization ID. Required for org-wide keys on write operations; optional on list when the key is scoped to one sub-org.

Response — 200

{ "success": true, "status": "testing" }