Skip to main content

Partner API: Admin SSO & Provisioning

Configure SAML SSO for an organization's admins with just-in-time provisioning and role mapping.

Admin SSO and provisioning

Configure single sign-on for an organization's admins (the people who edit and publish handbooks), with just-in-time provisioning and role mapping, so you never have to invite admins manually.

PUT /organizations/{orgId}/sso/admin | Access token

{
"protocol": "saml",
"idp": {
"entityId": "https://idp.acme.com/saml/metadata",
"ssoUrl": "https://idp.acme.com/saml/sso",
"certificate": "-----BEGIN CERTIFICATE-----\nMIID…\n-----END CERTIFICATE-----"
},
"jitProvisioning": true,
"roleAttribute": "airmason_role",
"roleMapping": {
"hr-admin": "owner",
"hr-editor": "handbook_editor",
"people-ops": "account_admin"
},
"defaultRole": null,
"enforced": true
}

Field

Notes

protocol

saml today; oidc on request

idp

Your identity provider's metadata. Alternatively pass metadataUrl and we fetch it.

jitProvisioning

When true, an admin who signs in via SSO for the first time is created automatically with the mapped role — no invitation needed

roleAttribute

Name of the SAML attribute (or OIDC claim) carrying the user's role

roleMapping

Your role values → AirMason roles: owner, account_admin, handbook_editor, handbook_publisher, employee_admin, viewer, or the name of a custom role you've defined in the org

defaultRole

Role for users whose attribute value has no mapping. null means such users are refused.

enforced

When true, admins can only sign in via SSO (password login disabled)

The response includes AirMason's side of the handshake — spEntityId, acsUrl and spCertificate — to configure in your IdP. Role changes in your IdP are applied on the user's next sign-in. GET returns the current configuration (certificate redacted); DELETE disables SSO and re-enables password login.

Employee-facing SSO (for the handbook portal) is configured the same way at PUT /organizations/{orgId}/sso/employee.


Partner API documentation:

Did this answer your question?