Enterprise SSO API Reference
These APIs can be called from your backend using your PropelAuth API Key. Click here more information about Enterprise SSO.
POST/api/backend/v1/org/<orgId>/allow_saml
Allow Org To Setup SAML
Allows an organization to setup SAML SSO. Users in the organization will then be able to go through the SAML setup flow.
Properties
- Name
orgId*- Type
- string
- Description
- The organization ID
Request
auth.allowOrgToSetupSamlConnection(
"1189c444-8a2d-4c41-8b4b-ae43ce79a492"
)Successful Response
POST/api/backend/v1/org/<orgId>/disallow_saml
Disallow Org To Setup SAML
Disallows an organization to setup SAML SSO. If the organization already has SAML setup, they will no longer be able to use it.
Properties
- Name
orgId*- Type
- string
- Description
- The organization ID
Request
auth.disallowOrgToSetupSamlConnection(
"1189c444-8a2d-4c41-8b4b-ae43ce79a492"
)Successful Response
POST/api/backend/v1/org/<orgId>/create_saml_connection_link
Create SAML Connection Link
Creates a link that allows a user to setup SAML for an organization without logging in or creating an account. Visit our SAML/Enterprise SSO docs for more information.
Properties
- Name
orgId*- Type
- string
- Description
- The organization ID
- Name
expiresInSeconds- Type
- number
- Description
- The amount of seconds before the link expires
Request
auth.createOrgSamlConnectionLink(
"1189c444-8a2d-4c41-8b4b-ae43ce79a492", // orgId
86400, // expired in seconds
)Successful Response
{
url: "https://example.com"
}GET/api/backend/v1/saml_sp_metadata/<orgId>
Fetch SAML SP Metadata
Fetches SAML Service Provider Metadata. This is the information your organizations will input into their IdP when configuring SAML.
Properties
- Name
orgId*- Type
- string
- Description
- The ID of the organization
Request
auth.fetchSamlSpMetadata("1189c444-8a2d-4c41-8b4b-ae43ce79a492")Successful Response
{
entityId: "https://auth.your.domain/saml/ORGS-URL-SLUG/metadata",
acsUrl: "https://auth.your.domain/saml/ORGS-URL-SLUG/acs",
logoutUrl: "https://auth.your.domain/saml/ORGS-URL-SLUG/logout"
}POST/api/backend/v1/saml_idp_metadata
Set SAML IdP Metadata
Sets the SAML metadata from an organization's IdP. Must be completed before using the SAML Go Live endpoint.
Properties
- Name
idpEntityId*- Type
- string
- Description
- The Entity ID (also known as Identity Provider Issuer) from the organization's IdP
- Name
idpSsoUrl*- Type
- string
- Description
- The Single Sign-On URL from the organization's IdP
- Name
idpCertificate*- Type
- string
- Description
- The Base-64 encoded X.509 certificate from the organization's IdP
- Name
provider*- Type
- string
- Description
- The name of the SAML provider. Must equal 'Google', 'Rippling', 'OneLogin', 'JumpCloud', 'Okta', 'Azure', 'Duo', or 'Generic'
Request
auth.setSamlIdpMetadata(orgId, {
idpEntityId: "https://sts.windows.net/SOME-UUID/",
idpSsoUrl: "https://login.microsoftonline.com/SOME-UUID/saml2",
idpCertificate: "-----BEGIN CERTIFICATE-----MyCertificateHere-----END CERTIFICATE-----",
provider: "Azure"
});Successful Response
POST/api/backend/v1/oidc_idp_metadata
Set OIDC IdP Metadata
Sets the OIDC metadata from an organization's IdP. Must be completed before using the SAML Go Live endpoint.
Properties
- Name
orgId*- Type
- string
- Description
- The organization ID
- Name
clientId*- Type
- string
- Description
- The client ID from the organization's IdP
- Name
clientSecret*- Type
- string
- Description
- The client secret from the organization's IdP
- Name
usesPkce*- Type
- boolean
- Description
- Whether the client uses PKCE
- Name
idpType*- Type
- string
- Description
- Must equal either 'Generic', 'Okta', or 'Azure'
- Name
oktaSsoDomain- Type
- string
- Description
- The Okta SSO domain. Only use this field if idpType is 'Okta'
- Name
entraTenantId- Type
- string
- Description
- The Entra/Azure tenant ID. Only use this field if idpType is 'Azure'
- Name
authUrl- Type
- string
- Description
- The Auth URL of the OIDC app in your customer's IdP. Only use this field if idpType is 'Generic'
- Name
tokenUrl- Type
- string
- Description
- The Token URL of the OIDC app in your customer's IdP. Only use this field if idpType is 'Generic'
- Name
userinfoUrl- Type
- string
- Description
- The User Info URL of the OIDC app in your customer's IdP. Only use this field if idpType is 'Generic'
Request
auth.setOidcIdpMetadata({
orgId: "1189c444-8a2d-4c41-8b4b-ae43ce79a492",
clientId: "0oaulhbkt9YBiT3Pn697",
clientSecret: "MHppDLafzd...",
usesPkce: true,
idpType: "Okta",
oktaSsoDomain: "example.okta.com",
});Successful Response
POST/api/backend/v1/saml_idp_metadata/go_live/<orgId>
Enable SAML Connection
Sets an organization's SAML status to Live after using the Set SAML IdP Metadata endpoint
Properties
- Name
orgId*- Type
- string
- Description
- The organization ID
Request
auth.samlGoLive(
"1189c444-8a2d-4c41-8b4b-ae43ce79a492"
)Successful Response
DELETE/api/backend/v1/saml_idp_metadata/<orgId>
Delete SAML Connection
Deletes an organization's SAML connection. The organization will still be able to enable SAML.
Properties
- Name
orgId*- Type
- string
- Description
- The organization ID
Request
auth.deleteSamlConnection("1189c444-8a2d-4c41-8b4b-ae43ce79a492")Successful Response
POST/api/backend/v1/isolate_org
Migrate Org to Isolated
Converts an org to an isolated org. See the Isolated Org docs for more information.
Properties
- Name
orgId*- Type
- string
- Description
- The organization ID
Request
auth.migrateOrgToIsolated(
"1189c444-8a2d-4c41-8b4b-ae43ce79a492"
)Successful Response
{}GET/api/backend/v1/scim/<orgId>/groups
Fetch Org SCIM Groups
Fetches SCIM groups for an organization that has SCIM enabled and is syncing groups from an external identity provider. Can optionally filter by a user ID to get groups for a specific user.
Properties
- Name
orgId*- Type
- string
- Description
- The ID of the organization
- Name
userId- Type
- string
- Description
- Filter by a user ID to get groups that a specific user belongs to.
- Name
pageSize- Type
- number
- Description
- The number of results to return per page.
- Name
pageNumber- Type
- number
- Description
- The page number to return.
Request
auth.fetchOrgScimGroups({
orgId: "1189c444-8a2d-4c41-8b4b-ae43ce79a492",
userId: "31c41c16-c281-44ae-9602-8a047e3bf33d",
pageSize: 10,
pageNumber: 0,
})Successful Response
{
totalGroups: 2,
pageSize: 10,
pageNumber: 0,
groups: [
{
groupId: "021103f2-24c1-4867-bb51-d7a37777ea1d",
displayName: "Engineering",
externalIdFromIdp: "abc123"
},
{
groupId: "4b14cf03-4f63-4840-9867-fb28c862b0d3",
displayName: "Sales",
externalIdFromIdp: "abc1234"
}
]
}GET/api/backend/v1/scim/<orgId>/groups/<groupId>
Fetch SCIM Group
Fetches a SCIM group for an organization and returns the group's membership.
Properties
- Name
orgId*- Type
- string
- Description
- The ID of the organization
- Name
groupId*- Type
- string
- Description
- The ID of the group to fetch.
- Name
membersPageSize- Type
- number
- Description
- The number of members to fetch per page.
- Name
membersPageNumber- Type
- number
- Description
- The page number of members to fetch.
Request
auth.fetchOrgScimGroup({
orgId: "1189c444-8a2d-4c41-8b4b-ae43ce79a492",
groupId: "31c41c16-c281-44ae-9602-8a047e3bf33d",
membersPageSize: 10,
membersPageNumber: 0,
})Successful Response
{
groupId: "068ce3f1-0b7e-4b91-8559-f64a558d9f9f",
externalIdFromIdp: "abc123",
displayName: "Engineering",
members: [
{
userId: "18bec57e-b6c0-4007-ba32-d65da45321ce"
}
]
}