Hadrian is experimental alpha software. Do not use in production.
Hadrian

Sso

SSO connection configuration (read-only from config). View OIDC and proxy auth settings for JIT user provisioning.

Get the SSO configuration for an organization

GET
/admin/v1/organizations/{org_slug}/sso-config
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

org_slug*string

Organization slug

Response Body

application/json

application/json

application/json

curl -X GET "https://loading/admin/v1/organizations/string/sso-config"
{
  "allowed_email_domains": [
    "string"
  ],
  "client_id": "string",
  "create_users": true,
  "created_at": "2019-08-24T14:15:22Z",
  "default_org_role": "string",
  "default_team_id": "191a8aa0-ed67-48ff-affa-ea86ee797d86",
  "default_team_role": "string",
  "discovery_url": "string",
  "enabled": true,
  "enforcement_mode": "optional",
  "groups_claim": "string",
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "identity_claim": "string",
  "issuer": "string",
  "org_claim": "string",
  "org_id": "a40f5d1f-d889-42e9-94ea-b9b33585fc6b",
  "provider_type": "oidc",
  "provisioning_enabled": true,
  "redirect_uri": "string",
  "saml_authn_context_class_ref": "string",
  "saml_email_attribute": "string",
  "saml_force_authn": true,
  "saml_groups_attribute": "string",
  "saml_identity_attribute": "string",
  "saml_idp_certificate": "string",
  "saml_idp_entity_id": "string",
  "saml_idp_slo_url": "string",
  "saml_idp_sso_url": "string",
  "saml_metadata_url": "string",
  "saml_name_attribute": "string",
  "saml_name_id_format": "string",
  "saml_sign_requests": true,
  "saml_sp_certificate": "string",
  "saml_sp_entity_id": "string",
  "scopes": [
    "string"
  ],
  "sync_attributes_on_login": true,
  "sync_memberships_on_login": true,
  "updated_at": "2019-08-24T14:15:22Z"
}
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}

Create a new SSO configuration for an organization

POST
/admin/v1/organizations/{org_slug}/sso-config
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

org_slug*string

Organization slug

Request Body

application/json

allowed_email_domains?array<string>

Allowed email domains (empty = allow all)

client_id?string|null

OAuth2 client ID (required for OIDC, not used for SAML)

client_secret?string|null

OAuth2 client secret (will be stored in secret manager) Required for OIDC, not used for SAML

create_users?boolean

Whether to create new users on first login (default: true)

default_org_role?string

Default role for new users in the organization (default: "member")

default_team_id?string|null

Default team to add new users to (optional)

Formatuuid
default_team_role?string

Default role for new users in the default team (default: "member")

discovery_url?string|null

Discovery URL for OIDC metadata (optional - defaults to issuer/.well-known/openid-configuration)

enabled?boolean

Whether this SSO config is active (default: true)

enforcement_mode?string

SSO enforcement mode (default: optional)

Value in"optional" | "required" | "test"
groups_claim?string|null

JWT claim containing group memberships (optional)

identity_claim?string

JWT claim to use as the user's identity (default: "sub")

issuer?string|null

OIDC issuer URL (e.g., "https://accounts.google.com") Required for OIDC, not used for SAML

org_claim?string|null

JWT claim containing organization IDs (optional)

provider_type?string

Provider type (defaults to 'oidc')

Value in"oidc" | "saml"
provisioning_enabled?boolean

Whether JIT provisioning is enabled (default: true)

redirect_uri?string|null

Redirect URI for OAuth2 callback (optional - uses global default if not set)

saml_authn_context_class_ref?string|null

Requested authentication context class

saml_email_attribute?string|null

SAML attribute name for email

saml_force_authn?boolean

Whether to force re-authentication at IdP (default: false)

saml_groups_attribute?string|null

SAML attribute name for groups

saml_identity_attribute?string|null

SAML attribute name for user identity (like identity_claim for OIDC)

saml_idp_certificate?string|null

IdP X.509 certificate for signature validation (PEM format)

saml_idp_entity_id?string|null

IdP entity identifier (e.g., "https://idp.example.com/metadata")

saml_idp_slo_url?string|null

IdP Single Logout service URL (optional)

saml_idp_sso_url?string|null

IdP Single Sign-On service URL (HTTP-Redirect or HTTP-POST binding)

saml_metadata_url?string|null

IdP metadata URL for auto-configuration (alternative to manual config)

saml_name_attribute?string|null

SAML attribute name for display name

saml_name_id_format?string|null

NameID format to request (e.g., 'urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress')

saml_sign_requests?boolean

Whether to sign AuthnRequests (default: false)

saml_sp_certificate?string|null

SP X.509 certificate for metadata (PEM format)

saml_sp_entity_id?string|null

Service Provider entity ID (Hadrian's identifier to the IdP)

saml_sp_private_key?string|null

SP private key for signing AuthnRequests (PEM format, will be stored in secret manager)

scopes?array<string>

OAuth2 scopes to request (defaults to ["openid", "email", "profile"])

sync_attributes_on_login?boolean

Whether to sync user attributes on each login (default: false)

sync_memberships_on_login?boolean

Whether to sync team memberships from IdP groups on each login (default: true)

Response Body

application/json

application/json

application/json

application/json

curl -X POST "https://loading/admin/v1/organizations/string/sso-config" \  -H "Content-Type: application/json" \  -d '{}'
{
  "allowed_email_domains": [
    "string"
  ],
  "client_id": "string",
  "create_users": true,
  "created_at": "2019-08-24T14:15:22Z",
  "default_org_role": "string",
  "default_team_id": "191a8aa0-ed67-48ff-affa-ea86ee797d86",
  "default_team_role": "string",
  "discovery_url": "string",
  "enabled": true,
  "enforcement_mode": "optional",
  "groups_claim": "string",
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "identity_claim": "string",
  "issuer": "string",
  "org_claim": "string",
  "org_id": "a40f5d1f-d889-42e9-94ea-b9b33585fc6b",
  "provider_type": "oidc",
  "provisioning_enabled": true,
  "redirect_uri": "string",
  "saml_authn_context_class_ref": "string",
  "saml_email_attribute": "string",
  "saml_force_authn": true,
  "saml_groups_attribute": "string",
  "saml_identity_attribute": "string",
  "saml_idp_certificate": "string",
  "saml_idp_entity_id": "string",
  "saml_idp_slo_url": "string",
  "saml_idp_sso_url": "string",
  "saml_metadata_url": "string",
  "saml_name_attribute": "string",
  "saml_name_id_format": "string",
  "saml_sign_requests": true,
  "saml_sp_certificate": "string",
  "saml_sp_entity_id": "string",
  "scopes": [
    "string"
  ],
  "sync_attributes_on_login": true,
  "sync_memberships_on_login": true,
  "updated_at": "2019-08-24T14:15:22Z"
}
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}

Update the SSO configuration for an organization

PATCH
/admin/v1/organizations/{org_slug}/sso-config
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

org_slug*string

Organization slug

Request Body

application/json

allowed_email_domains?|null

Update allowed email domains

client_id?string|null

Update OAuth2 client ID

client_secret?string|null

Update OAuth2 client secret (will be stored in secret manager)

create_users?boolean|null

Update create users flag

default_org_role?string|null

Update default org role

default_team_id?string|null

Update default team (set to null to remove)

Formatuuid
default_team_role?string|null

Update default team role

discovery_url?string|null

Update discovery URL (set to null to use default)

enabled?boolean|null

Update enabled flag

enforcement_mode?null|SsoEnforcementMode
groups_claim?string|null

Update groups claim (set to null to remove)

identity_claim?string|null

Update identity claim

issuer?string|null

Update OIDC issuer URL

org_claim?string|null

Update org claim (set to null to remove)

provider_type?null|SsoProviderType
provisioning_enabled?boolean|null

Update provisioning enabled flag

redirect_uri?string|null

Update redirect URI (set to null to use global default)

saml_authn_context_class_ref?string|null

Update authentication context class (set to null to remove)

saml_email_attribute?string|null

Update SAML email attribute (set to null to remove)

saml_force_authn?boolean|null

Update force re-authentication flag

saml_groups_attribute?string|null

Update SAML groups attribute (set to null to remove)

saml_identity_attribute?string|null

Update SAML identity attribute (set to null to remove)

saml_idp_certificate?string|null

Update IdP certificate (set to null to remove)

saml_idp_entity_id?string|null

Update IdP entity identifier (set to null to remove)

saml_idp_slo_url?string|null

Update IdP SLO URL (set to null to remove)

saml_idp_sso_url?string|null

Update IdP SSO URL (set to null to remove)

saml_metadata_url?string|null

Update IdP metadata URL (set to null to remove)

saml_name_attribute?string|null

Update SAML name attribute (set to null to remove)

saml_name_id_format?string|null

Update NameID format (set to null to remove)

saml_sign_requests?boolean|null

Update sign requests flag

saml_sp_certificate?string|null

Update SP certificate (set to null to remove)

saml_sp_entity_id?string|null

Update SP entity ID (set to null to remove)

saml_sp_private_key?string|null

Update SP private key (will be stored in secret manager)

scopes?|null

Update OAuth2 scopes

sync_attributes_on_login?boolean|null

Update sync attributes on login flag

sync_memberships_on_login?boolean|null

Update sync memberships on login flag

Response Body

application/json

application/json

application/json

curl -X PATCH "https://loading/admin/v1/organizations/string/sso-config" \  -H "Content-Type: application/json" \  -d '{}'
{
  "allowed_email_domains": [
    "string"
  ],
  "client_id": "string",
  "create_users": true,
  "created_at": "2019-08-24T14:15:22Z",
  "default_org_role": "string",
  "default_team_id": "191a8aa0-ed67-48ff-affa-ea86ee797d86",
  "default_team_role": "string",
  "discovery_url": "string",
  "enabled": true,
  "enforcement_mode": "optional",
  "groups_claim": "string",
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "identity_claim": "string",
  "issuer": "string",
  "org_claim": "string",
  "org_id": "a40f5d1f-d889-42e9-94ea-b9b33585fc6b",
  "provider_type": "oidc",
  "provisioning_enabled": true,
  "redirect_uri": "string",
  "saml_authn_context_class_ref": "string",
  "saml_email_attribute": "string",
  "saml_force_authn": true,
  "saml_groups_attribute": "string",
  "saml_identity_attribute": "string",
  "saml_idp_certificate": "string",
  "saml_idp_entity_id": "string",
  "saml_idp_slo_url": "string",
  "saml_idp_sso_url": "string",
  "saml_metadata_url": "string",
  "saml_name_attribute": "string",
  "saml_name_id_format": "string",
  "saml_sign_requests": true,
  "saml_sp_certificate": "string",
  "saml_sp_entity_id": "string",
  "scopes": [
    "string"
  ],
  "sync_attributes_on_login": true,
  "sync_memberships_on_login": true,
  "updated_at": "2019-08-24T14:15:22Z"
}
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}

Delete the SSO configuration for an organization

DELETE
/admin/v1/organizations/{org_slug}/sso-config
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

org_slug*string

Organization slug

Response Body

application/json

application/json

curl -X DELETE "https://loading/admin/v1/organizations/string/sso-config"
Empty
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}

Parse SAML IdP metadata from a URL

POST
/admin/v1/organizations/{org_slug}/sso-config/saml/parse-metadata
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

org_slug*string

Organization slug

Request Body

application/json

metadata_url*string

URL to fetch IdP metadata from (must be HTTPS for security)

Response Body

application/json

application/json

application/json

application/json

curl -X POST "https://loading/admin/v1/organizations/string/sso-config/saml/parse-metadata" \  -H "Content-Type: application/json" \  -d '{    "metadata_url": "string"  }'
{
  "certificates": [
    "string"
  ],
  "entity_id": "string",
  "name_id_formats": [
    "string"
  ],
  "slo_url": "string",
  "sso_url": "string"
}
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}

Get SP metadata for IdP configuration

GET
/admin/v1/organizations/{org_slug}/sso-config/saml/sp-metadata
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

org_slug*string

Organization slug

Response Body

application/samlmetadata+xml

application/json

application/json

curl -X GET "https://loading/admin/v1/organizations/string/sso-config/saml/sp-metadata"
Empty
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}

List SSO group mappings for an organization

GET
/admin/v1/organizations/{org_slug}/sso-group-mappings
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

org_slug*string

Organization slug

Query Parameters

limit?integer|null

Maximum number of results to return

Formatint64
cursor?string|null

Cursor for keyset pagination. Encoded as base64 string.

direction?string|null

Pagination direction: "forward" (default) or "backward".

include_deleted?boolean|null

Include soft-deleted records in results

Response Body

application/json

application/json

application/json

application/json

curl -X GET "https://loading/admin/v1/organizations/string/sso-group-mappings"
{
  "data": [
    {
      "created_at": "2019-08-24T14:15:22Z",
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "idp_group": "string",
      "org_id": "a40f5d1f-d889-42e9-94ea-b9b33585fc6b",
      "priority": 0,
      "role": "string",
      "sso_connection_name": "string",
      "team_id": "810007d0-bec5-486c-b5d1-28fcd8a079ba",
      "updated_at": "2019-08-24T14:15:22Z"
    }
  ],
  "pagination": {
    "has_more": true,
    "limit": 100,
    "next_cursor": "MTczMzU4MDgwMDAwMDphYmMxMjM0NS02Nzg5LTAxMjMtNDU2Ny0wMTIzNDU2Nzg5YWI",
    "prev_cursor": "string"
  }
}
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}

Create a new SSO group mapping

POST
/admin/v1/organizations/{org_slug}/sso-group-mappings
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

org_slug*string

Organization slug

Request Body

application/json

idp_group*string

The IdP group name exactly as it appears in the groups claim

priority?integer

Priority for role precedence (higher = wins when multiple mappings target same team) Defaults to 0 if not specified.

Formatint32
role?string|null

Role to assign (within the team if team_id is set, otherwise org-level role)

sso_connection_name?string

Which SSO connection this mapping applies to (defaults to 'default')

team_id?string|null

Team to add users to when they have this IdP group (optional)

Formatuuid

Response Body

application/json

application/json

application/json

curl -X POST "https://loading/admin/v1/organizations/string/sso-group-mappings" \  -H "Content-Type: application/json" \  -d '{    "idp_group": "string"  }'
{
  "created_at": "2019-08-24T14:15:22Z",
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "idp_group": "string",
  "org_id": "a40f5d1f-d889-42e9-94ea-b9b33585fc6b",
  "priority": 0,
  "role": "string",
  "sso_connection_name": "string",
  "team_id": "810007d0-bec5-486c-b5d1-28fcd8a079ba",
  "updated_at": "2019-08-24T14:15:22Z"
}
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}

Export SSO group mappings

GET
/admin/v1/organizations/{org_slug}/sso-group-mappings/export
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

org_slug*string

Organization slug

Query Parameters

format?string

Export format (json or csv, defaults to json)

Value in"json" | "csv"
sso_connection_name?string|null

Filter by SSO connection name (optional)

Response Body

text/csv

application/json

application/json

curl -X GET "https://loading/admin/v1/organizations/string/sso-group-mappings/export"
Empty
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}

Import SSO group mappings

POST
/admin/v1/organizations/{org_slug}/sso-group-mappings/import
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

org_slug*string

Organization slug

Request Body

application/json

mappings*

List of mappings to import

on_conflict?string

How to handle conflicts with existing mappings

Value in"skip" | "overwrite" | "error"

Response Body

application/json

application/json

application/json

application/json

curl -X POST "https://loading/admin/v1/organizations/string/sso-group-mappings/import" \  -H "Content-Type: application/json" \  -d '{    "mappings": [      {        "idp_group": "string"      }    ]  }'
{
  "created": 0,
  "errors": [
    {
      "error": "string",
      "idp_group": "string",
      "index": 0
    }
  ],
  "skipped": 0,
  "updated": 0
}
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}

Test SSO group mapping resolution

POST
/admin/v1/organizations/{org_slug}/sso-group-mappings/test
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

org_slug*string

Organization slug

Request Body

application/json

default_role?string

Default role to use for mappings without a role (defaults to 'member')

idp_groups*array<string>

List of IdP group names to test

sso_connection_name?string

SSO connection name (defaults to 'default')

Response Body

application/json

application/json

application/json

application/json

curl -X POST "https://loading/admin/v1/organizations/string/sso-group-mappings/test" \  -H "Content-Type: application/json" \  -d '{    "idp_groups": [      "string"    ]  }'
{
  "resolved": [
    {
      "idp_group": "string",
      "role": "string",
      "team_id": "810007d0-bec5-486c-b5d1-28fcd8a079ba",
      "team_name": "string"
    }
  ],
  "unmapped_groups": [
    "string"
  ]
}
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}

Get an SSO group mapping by ID

GET
/admin/v1/organizations/{org_slug}/sso-group-mappings/{mapping_id}
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

org_slug*string

Organization slug

mapping_id*string

Mapping ID

Formatuuid

Response Body

application/json

application/json

application/json

curl -X GET "https://loading/admin/v1/organizations/string/sso-group-mappings/497f6eca-6276-4993-bfeb-53cbbbba6f08"
{
  "created_at": "2019-08-24T14:15:22Z",
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "idp_group": "string",
  "org_id": "a40f5d1f-d889-42e9-94ea-b9b33585fc6b",
  "priority": 0,
  "role": "string",
  "sso_connection_name": "string",
  "team_id": "810007d0-bec5-486c-b5d1-28fcd8a079ba",
  "updated_at": "2019-08-24T14:15:22Z"
}
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}

Update an SSO group mapping

PATCH
/admin/v1/organizations/{org_slug}/sso-group-mappings/{mapping_id}
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

org_slug*string

Organization slug

mapping_id*string

Mapping ID

Formatuuid

Request Body

application/json

idp_group?string|null

Update the IdP group name

priority?integer|null

Update the priority (higher = wins when multiple mappings target same team)

Formatint32
role?string|null

Update the role (set to null to remove role assignment)

team_id?string|null

Update the team assignment (set to null to remove team assignment)

Formatuuid

Response Body

application/json

application/json

application/json

curl -X PATCH "https://loading/admin/v1/organizations/string/sso-group-mappings/497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "Content-Type: application/json" \  -d '{}'
{
  "created_at": "2019-08-24T14:15:22Z",
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "idp_group": "string",
  "org_id": "a40f5d1f-d889-42e9-94ea-b9b33585fc6b",
  "priority": 0,
  "role": "string",
  "sso_connection_name": "string",
  "team_id": "810007d0-bec5-486c-b5d1-28fcd8a079ba",
  "updated_at": "2019-08-24T14:15:22Z"
}
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}

Delete an SSO group mapping

DELETE
/admin/v1/organizations/{org_slug}/sso-group-mappings/{mapping_id}
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

org_slug*string

Organization slug

mapping_id*string

Mapping ID

Formatuuid

Response Body

application/json

application/json

curl -X DELETE "https://loading/admin/v1/organizations/string/sso-group-mappings/497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}

List configured SSO connections

GET
/admin/v1/sso-connections
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Response Body

application/json

application/json

curl -X GET "https://loading/admin/v1/sso-connections"
{
  "data": [
    {
      "client_id": "string",
      "default_org_role": "string",
      "default_team_id": "string",
      "default_team_role": "string",
      "groups_claim": "string",
      "identity_claim": "string",
      "issuer": "string",
      "jit_enabled": true,
      "name": "string",
      "organization_id": "string",
      "scopes": [
        "string"
      ],
      "sync_memberships_on_login": true,
      "type": "string"
    }
  ]
}
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}

Get a specific SSO connection by name

GET
/admin/v1/sso-connections/{name}
AuthorizationBearer <token>

API key authentication using Bearer token format

In: header

Path Parameters

name*string

SSO connection name

Response Body

application/json

application/json

application/json

curl -X GET "https://loading/admin/v1/sso-connections/string"
{
  "client_id": "string",
  "default_org_role": "string",
  "default_team_id": "string",
  "default_team_role": "string",
  "groups_claim": "string",
  "identity_claim": "string",
  "issuer": "string",
  "jit_enabled": true,
  "name": "string",
  "organization_id": "string",
  "scopes": [
    "string"
  ],
  "sync_memberships_on_login": true,
  "type": "string"
}
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}
{
  "error": {
    "code": "budget_exceeded",
    "message": "Budget limit exceeded for monthly period",
    "param": null,
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "invalid_request_error"
  }
}