Alianza SSO Authentication API
Operations for managing SSO authentication flows and callbacks
Operations for managing SSO authentication flows and callbacks
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/alianza-sso-authentication-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Alianza SSO Authentication API
version: '2'
description: 'Operations tagged SSO Authentication across 2 of this provider''s published API definitions: alianza-openapi-original.yml, alianza-sso-authentication-api-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.d2.alianza.com
description: Development
- url: https://api.q2.alianza.com
description: QA
- url: https://api.b2.alianza.com
description: Beta
- url: https://api.alianza.com
description: Production
security:
- X-Auth-Token: []
tags:
- name: SSO Authentication
description: Operations for managing SSO authentication flows and callbacks
paths:
/v2/authn/sso/{emailAddress}:
servers:
- url: https://api.d2.alianza.com
description: Development
- url: https://api.q2.alianza.com
description: QA
- url: https://api.b2.alianza.com
description: Beta
- url: https://api.alianza.com
description: Production
post:
tags:
- SSO Authentication
summary: Initiate SSO Authentication (Service Provider-Initiated Flow)
description: 'Initiates the SSO authentication process by redirecting the user to their configured Identity Provider (IdP).
What this endpoint does:
1. Looks up the SSO configuration based on the user''s email domain
2. Generates a SAML authentication request
3. Returns the SAML request in a 200 or 303 response depending on request parameters
Note: This does not authenticate the user directly. It starts the redirect flow to the IdP.
'
operationId: spInitiatedAuthn
parameters:
- name: emailAddress
in: path
required: true
description: The user's email address, used to identify the SSO configuration by email domain
schema:
type: string
format: email
- name: redirect
in: query
required: false
description: 'When true, returns HTTP 303 and may include a Location header.
When false, returns HTTP 200 with the redirect URL in the response body.
'
schema:
type: boolean
default: true
- name: X-AUTH-REDIRECT-OVERRIDE
in: header
required: false
description: 'Optional redirect URL override for specific applications.
If provided, the user will be redirected to this URL after successful authentication instead of the default callback URL.
'
schema:
type: string
format: uri
responses:
'200':
description: Redirect URI generated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/RedirectResponse'
example:
redirectUri: https://idp.example.com/login?SAMLRequest=abc123
'303':
description: 'See Other - redirect URL returned in the response body and optionally in the Location header.
'
headers:
Location:
description: 'Optional redirect URL to SSO provider login page.
Present when `redirect=true` and User-Agent is not AUCA.
'
required: false
schema:
type: string
format: uri
content:
application/json:
schema:
$ref: '#/components/schemas/RedirectResponse'
example:
redirectUri: https://idp.example.com/login?SAMLRequest=abc123
'400':
description: Bad Request - Invalid email or request parameters
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationErrorResponse'
example:
errors:
- path param emailAddress must be a well-formed email address
'404':
description: Not Found - SSO configuration not found for email domain
content:
application/json:
schema:
$ref: '#/components/schemas/PublicApiException'
'500':
description: Internal Server Error - Failed to build Auth0 URL
content:
application/json:
schema:
$ref: '#/components/schemas/PublicApiException'
/v2/authn/sso/login-callback:
servers:
- url: https://api.d2.alianza.com
description: Development
- url: https://api.q2.alianza.com
description: QA
- url: https://api.b2.alianza.com
description: Beta
- url: https://api.alianza.com
description: Production
post:
tags:
- SSO Authentication
summary: Complete SSO Authentication (IdP Callback)
description: 'Completes the SSO authentication flow after the user has authenticated with their Identity Provider.
Flow:
1. User authenticates at the IdP
2. IdP sends SAML assertion to Auth0
3. Auth0 exchanges it for an authorization code
4. This endpoint receives the code and exchanges it for user tokens
5. Returns a LoginTokenX object for authenticated API use
'
operationId: finishSSO
parameters:
- name: code
in: query
required: true
description: Authorization code from Auth0 after successful IdP authentication
schema:
type: string
- name: redirect_uri
in: query
required: true
description: Must exactly match the URI used in the initial authentication request
schema:
type: string
format: uri
- name: state
in: query
required: true
description: 'State token for session tracking and CSRF protection.
Contains the SSO configuration scope level.
'
schema:
type: string
enum:
- ACCOUNT_LEVEL_SSO
- PARTITION_ENFORCED_SSO
- PARTITION_SSO
responses:
'200':
description: Authentication successful
content:
application/json:
schema:
$ref: '#/components/schemas/LoginTokenX'
'400':
description: Bad Request - Invalid or malformed parameters
content:
application/json:
schema:
$ref: '#/components/schemas/OAuthErrorResponse'
examples:
invalidAuthorizationCode:
summary: Invalid Authorization Code
value:
code: INVALID_AUTHORIZATION_CODE
message: Authorization code is invalid or has expired
details:
code: eyJhbGci...
redirectUriMismatch:
summary: Redirect URI Mismatch
value:
code: REDIRECT_URI_MISMATCH
message: Redirect URI does not match the original request
details:
provided: https://wrong.alianza.com/callback
expected: https://app.alianza.com/auth/callback
'401':
description: Authentication failed - Invalid state or code verification failed
content:
application/json:
schema:
$ref: '#/components/schemas/OAuthErrorResponse'
example:
code: INVALID_STATE
message: State token validation failed - possible CSRF attack
details:
state: ACCOUNT_LEVEL_SSO
'404':
description: State not found or session expired
content:
application/json:
schema:
$ref: '#/components/schemas/OAuthErrorResponse'
example:
code: SESSION_EXPIRED
message: Authentication session has expired. Please initiate SSO login again.
details:
maxSessionAge: 15 minutes
/v2/authn/sso/sso-linkage:
servers:
- url: https://api.d2.alianza.com
description: Development
- url: https://api.q2.alianza.com
description: QA
- url: https://api.b2.alianza.com
description: Beta
- url: https://api.alianza.com
description: Production
delete:
tags:
- SSO Authentication
summary: Unlink SSO for a user
description: Removes the SSO linkage for a specific user.
operationId: unlinkSSO
parameters:
- name: partitionId
in: query
required: true
description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
schema:
type: string
- name: accountId
in: query
required: true
description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
schema:
type: string
- name: userId
in: query
required: true
description: ID of end-user to unlink
schema:
type: string
responses:
'204':
description: SSO linkage removed successfully
'401':
description: Unauthorized
'403':
description: Forbidden - insufficient permissions
'404':
description: SSO linkage not found
get:
tags:
- SSO Authentication
summary: Get SSO linkages
description: Retrieves SSO linkage information for specified SSO configurations.
operationId: getSSOLinkages
parameters:
- name: partitionId
in: query
required: true
description: ID of partition, refers to <a href="#/~schema/PartitionX">partition.id</a>
schema:
type: string
- name: accountId
in: query
required: true
description: ID of account, refers to <a href="#/~schema/Account">account.id</a>
schema:
type: string
responses:
'200':
description: SSO linkages retrieved successfully
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/SSOLinkage'
'401':
description: Unauthorized
'403':
description: Forbidden - insufficient permissions
components:
schemas:
SSOLinkage:
type: object
description: SSO linkage information
properties:
ssoName:
type: string
description: Name of the SSO configuration
emailAddress:
type: string
format: email
partitionId:
type: string
description: Partition identifier
accountId:
type: string
description: Account identifier
userId:
type: string
description: User identifier
externalId:
type: string
description: External identity provider ID
externalEmail:
type: string
format: email
description: Email from external identity provider
ValidationErrorResponse:
type: object
properties:
errors:
type: array
items:
type: string
example:
- path param emailAddress must be a well-formed email address
LoginTokenX:
type: object
properties:
authToken:
type: string
userId:
type: string
userType:
type: string
enum:
- AccountUser
- EndUser
- ManagementUser
- AlianzaUser
- BusinessLines
endUserType:
type: string
enum:
- ADMIN
- ADVANCED_ADMIN
- BASIC_ADMIN
- STANDARD
- STANDARD_ADMIN
- SUPER_ADMIN
username:
type: string
firstName:
type: string
lastName:
type: string
emailAddress:
type: string
partitionId:
type: string
partitionName:
type: string
accountId:
type: string
permissions:
type: object
additionalProperties:
type: string
enum:
- NONE
- READ_MYUSER
- READ
- EDIT_MYUSER
- EDIT
- CREATE_MYUSER
- CREATE
- DELETE_MYUSER
- DELETE
- DENIED
featureToggles:
type: object
additionalProperties:
type: boolean
mustChangePassword:
type: boolean
subPartitionIds:
type: array
items:
type: string
uniqueItems: true
tokenSource:
type: string
grantedAuthorities:
type: array
items:
type: string
uniqueItems: true
pwdHash:
type: string
mustAddEmail:
type: boolean
maxLifeInHours:
type: integer
format: int32
groupId:
type: string
groupName:
type: string
RedirectResponse:
type: object
required:
- redirectUri
properties:
redirectUri:
type: string
format: uri
description: URL of the Identity Provider login page where the user should be redirected
example: https://idp.example.com/login?SAMLRequest=abc123
PublicApiException:
type: object
properties:
status:
type: integer
messages:
type: array
items:
type: string
data:
type: object
additionalProperties: true
example:
key: value
key2: value2
OAuthErrorResponse:
type: object
properties:
code:
type: string
example: INVALID_STATE
message:
type: string
example: State token validation failed
details:
type: object
additionalProperties: true
securitySchemes:
X-Auth-Token:
type: apiKey
in: header
name: X-AUTH-TOKEN
x-refined-from:
- alianza-openapi-original.yml
- alianza-sso-authentication-api-openapi.yml