How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Descope Auth API

The Auth API from Descope — 52 operation(s) for auth.

Descope Auth API is one of 16 APIs that Descope publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Authentication. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, and an API reference.

This API exposes 58 operations across 52 paths, and defines 72 schemas. It is described by OpenAPI 3.0.3, at version 0.0.1.

Requests are made against 2 base URLs: https://api.descope.com, {customUrl}.

58 operations 52 paths 72 schemas 12 GET46 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.3
API Version
0.0.1
Base URL
https://api.descope.com
Authentication
HTTP Bearer, HTTP Bearer, HTTP Bearer, HTTP Bearer, HTTP Bearer
Contact
Resource Areas
1

Authentication & Security 5

Descope Auth API declares 5 security schemes for authenticating requests. It accepts HTTP bearer tokens (Project ID) (Descope Project ID). It accepts HTTP bearer tokens (Project ID:Refresh JWT) (Descope Project ID:Refresh JWT). It accepts HTTP bearer tokens (ProjectId:AccessKey) (Descope Project ID:Access Key). It accepts HTTP bearer tokens (Project ID:Session JWT) (Descope Project ID:Session JWT). It accepts HTTP bearer tokens (ProjectId:ManagementKey) (Descope Project ID and Management Key). By default, every request must be authenticated.

  • Descope Project ID — Project ID as bearer token.
  • Descope Project ID:Refresh JWT — Project ID:Refresh JWT as bearer token.
  • Descope Project ID:Access Key — Project ID:Access Key as bearer token.
  • Descope Project ID:Session JWT — Project ID:Session JWT as bearer token.
  • Descope Project ID and Management Key — Project ID:Management Key as bearer token.

Paths & Operations 58

Across 52 paths, the API surfaces 58 operations — 12 GET, 46 POST. Each is listed below with its method, path, parameters, and response codes.

Auth 58
GET
/v1/auth/saml/idp/initiate
SAML IDP Initiate Redirect
SAMLIDPInitiateHTTPRedirectBinding 6 params → 200
POST
/v1/auth/saml/idp/initiate
SAML IDP Initiate POST
SAMLIDPInitiateHTTPPostBinding body → 200
GET
/v1/auth/saml/idp/sso
SAML IDP Redirect Binding
SAMLIDPHTTPRedirectBinding 8 params → 200
POST
/v1/auth/saml/idp/sso
SAML IDP POST Binding
SAMLIDPHTTPPostBinding 1 param body → 200
POST
/v1/auth/saml/idp/sso-finish
SAML IDP Finish
SAMLIDPFinishEndpoint body → 200
GET
/v1/auth/wsfed/idp/initiate
WS-Fed IDP Initiate
WSFedIDPInitiateGet 3 params → 200
POST
/v1/auth/wsfed/idp/initiate
WS-Fed IDP Initiate
WSFedIDPInitiatePost body → 200
GET
/v1/auth/wsfed/idp/sso
WS-Fed IDP Passive
WSFedIDPPassiveGet 8 params → 200
POST
/v1/auth/wsfed/idp/sso
WS-Fed IDP Passive
WSFedIDPPassivePost body → 200
POST
/v1/auth/wsfed/idp/sso-finish
WS-Fed IDP Finish
WSFedIDPFinishEndpoint body → 200
POST
/v1/auth/accesskey/exchange
Exchange Key
ExchangeAccessKey body → 200
POST
/v1/auth/refresh
Refresh Session
RefreshSession body → 200
POST
/v1/auth/try-refresh
Try Refresh Session
TryRefreshSession body → 200
GET
/v1/auth/me
My Details
Me → 200
GET
/v1/auth/me/history
Get Session History
MeAuthHistory → 200
POST
/v1/auth/tenant/select
Select an active tenant
SelectTenant body → 200
GET
/v1/auth/idp/sso/logout
Logout
IDPSSOLogoutGet 1 param → 200
POST
/v1/auth/idp/sso/logout
Logout
IDPSSOLogoutPost body → 200
POST
/v1/auth/logout
Sign-Out
Logout body → 200
POST
/v1/auth/logoutall
Sign-Out All Active Sessions
LogoutAllDevices body → 200
POST
/v1/auth/validate
Validate Session
ValidateSession body → 200
POST
/v1/auth/notp/{provider}/update
Update User NOTP
UpdateUserNOTP 1 param body → 200
POST
/v1/auth/oauth/authorize
Sign-Up / Sign-In
AuthorizeOAuth 7 params body → 200
POST
/v1/auth/oauth/authorize/signin
Create Redirect URI for Sign-In Request
CreateOAuthRedirectURISignin 7 params body → 200
POST
/v1/auth/oauth/authorize/signup
Create Redirect URI for Sign-Up Request
CreateOAuthRedirectURISignup 7 params body → 200
POST
/v1/auth/oauth/authorize/update
Creating OAuth redirect URI for update user request
CreateOAuthRedirectURIUpdateUser 6 params body → 200
POST
/v1/auth/oauth/native/start
Starts a full OAuth flow using native APIs
OAuthNativeStart body → 200
POST
/v1/auth/oauth/exchange
Exchange Code
ExchangeCodeoauth body → 200
POST
/v1/auth/oauth/native/finish
Finishes a full OAuth flow using native APIs
OAuthNativeFinish body → 200
POST
/v1/auth/onetap/idtoken/exchange
Exchanges one tap id token for a JWT
ExchangeOneTapIDToken body → 200
POST
/v1/auth/onetap/idtoken/verify
Verifies one tap id token for a code
VerifyOneTapIDToken body → 200
GET
/v1/auth/onetap/clientid/{provider}
Get Google One Tap Client ID Configuration
GetOneTapClientID 1 param → 200
POST
/v1/auth/password/signup
Sign-Up User
SignUpPassword body → 200
POST
/v1/auth/password/signin
Sign-In User
SignInPassword body → 200
POST
/v1/auth/password/replace
Replace Password
ReplaceUserPassword body → 200
POST
/v1/auth/password/update
Update Password
UpdateUserPassword body → 200
GET
/v1/auth/password/policy
Get Password Policy
GetPasswordPolicy → 200
POST
/v1/auth/recovery-codes
Generate recovery codes for a user
GenerateUserRecoveryCodes body → 200
POST
/v1/auth/recovery-codes/signin
Sign in a user using a recovery code
SignInRecoveryCode body → 200
POST
/v1/auth/saml/authorize
Creating SAML redirect URI
CreateSAMLRedirect 84 params body → 200
POST
/v1/auth/saml/exchange
Finalize SAML authentication
ExchangeToken body → 200
GET
/v1/auth/saml/idp/metadata
IDP Metadata URL for external SAML services
SAMLIDPMetadata 1 param → 200
POST
/v1/auth/security-questions/setup
Sets up security questions for a user
SetupUserSecurityQuestions body → 200
GET
/v1/auth/security-questions/verify
Get the security questions for a user to verify
GetUserSecurityVerifyQuestions → 200
POST
/v1/auth/security-questions/verify
Verifies the security questions for a user
VerifyUserSecurityQuestions body → 200
POST
/v1/auth/sso/authorize
Start SSO
AuthorizeSAML 84 params body → 200
POST
/v1/auth/sso/exchange
Exchange SSO Code
ExchangeCodesso body → 200
POST
/v1/auth/totp/signup
Sign-Up
SignUpTOTP body → 200
POST
/v1/auth/totp/verify
Sign-In / Verify
VerifyCodeTOTP body → 200
POST
/v1/auth/totp/update
Add / Update Key
UpdateUserTOTP body → 200
POST
/v1/auth/webauthn/signup/start
User Sign-Up
WebAuthnSignupStart body → 200
POST
/v1/auth/webauthn/signup/finish
Finalize Sign-Up
WebAuthnSignupFinish body → 200
POST
/v1/auth/webauthn/signin/start
User Sign-In
WebAuthnSigninStart body → 200
POST
/v1/auth/webauthn/signin/finish
Finalize Sign-In
WebAuthnSigninFinish body → 200
POST
/v1/auth/webauthn/signup-in/start
User Sign-In with Auto Sign-Up
WebAuthnSignUpInStart body → 200
POST
/v1/auth/webauthn/update/start
Add WebAuthn Device
WebAuthnDeviceAddStart body → 200
POST
/v1/auth/webauthn/update/finish
Finalize Add WebAuthn
WebAuthnDeviceAddFinish body → 200
GET
/v1/auth/wsfed/idp/metadata
WS-Fed IDP Metadata
WSFedIDPMetadata 1 param → 200

Schemas 72

The contract defines 72 schemas that model the data the API accepts and returns. The most detailed are ResponseUser (34 properties), JWTResponse (19 properties), OptionalJWTResponse (15 properties), UpdateUserNOTPRequest (11 properties). Each schema is shown below with its type and property counts.

MeAuthHistoryResponse
object
1 property
OAuthNativeStartResponse
object
5 properties
NOTPLinkResponse
object
3 properties
WebauthnSignUpOrInStartRequest
object
5 properties
SAMLIDPMetadataResponse
object
1 property
PasskeyOptions
object
4 properties
SAMLIDPFinishEndpointRequest
object
3 properties
OptionalJWTResponse
object
This is a copy of JWTResponse with all fields optional This is used so in case an empty response is returned, it won't send zero values
15 properties
UpdateUserNOTPRequest
object
11 properties
LogoutRequest
object
1 property
SelectTenantRequest
object
1 property
OperationResponse
object
WebauthnSignUpStartRequest
object
5 properties
SetupUserSecurityQuestionsRequest
object
Setup Questions
2 properties
PasskeyOptions_WebauthnAuthenticatorSelectionCriteria
object
5 properties
PasswordPolicyResponse
object
7 properties
GetUserSecurityVerifyQuestionsResponse
object
1 property
PasswordSignUpRequest
object
4 properties
SecurityQuestionAnswer
object
2 properties
ValidateSessionResponse
object
1 property
ExchangeOneTapIDTokenRequest
object
4 properties
IDPSSOLogoutRequest
object
1 property
WebauthnSignInStartRequest
object
4 properties
TOTPSignUpRequest
object
3 properties
OAuthRedirectResponse
object
2 properties
TOTPVerifyCodeRequest
object
3 properties
PasswordSignInRequest
object
4 properties
JWTResponse
object
NOTE: if you add a new field to this message, also add it to the OptionalJWTResponse message
19 properties
SetupUserSecurityQuestionsResponse
object
TOTPUpdateRequest
object
1 property
WSFedIDPFinishEndpointResponse
object
4 properties
RecoveryCode
object
1 property
SignUpUser
object
9 properties
AccessKeyLoginOptions
object
2 properties
WebauthnSignUpFinishRequest
object
2 properties
ExchangeAccessKeyResponse
object
2 properties
WSFedIDPPassiveRequest
object
8 properties
NOTPTemplateIDs
object
NOTP Requests & Responses
3 properties
IDPResponse
object
9 properties
ExportedAuthHistory
object
6 properties
LoginOptions
object
10 properties
UserTenants
object
4 properties
SAMLRedirectResponse
object
1 property
WebauthnAddDeviceStartRequest
object
3 properties
WSFedIDPInitiateRequest
object
3 properties
SAMLIDPSSORequestPOSTData
object
7 properties
PasswordReplaceRequest
object
5 properties
WSFedIDPFinishEndpointRequest
object
2 properties
WebauthnAddDeviceFinishResponse
object
ExchangeTokenRequest
object
1 property
RefreshSessionRequest
object
1 property
SignInRecoveryCodeRequest
object
3 properties
TOTPResponse
object
3 properties
WebauthnStartResponse
object
3 properties
ValidateSessionRequest
object
ExchangeAccessKeyRequest
object
1 property
OAuthNativeStartRequest
object
4 properties
WebauthnAddDeviceFinishRequest
object
2 properties
SecurityQuestion
object
Same as service service's SecurityQuestion, but we don't want to depend on project service
2 properties
VerifyUserSecurityQuestionsRequest
object
Verify Questions
3 properties
SAMLIDPInitiateRequestPOST
object
6 properties
SAMLIDPFinishEndpointResponse
object
4 properties
ResponseUser
object
34 properties
WSFedIDPMetadataResponse
object
1 property
WebauthnSignInFinishRequest
object
2 properties
GenerateUserRecoveryCodesRequest
object
1 property
VerifyOneTapIDTokenResponse
object
1 property
GetOneTapClientIDResponse
object
1 property
PasswordUpdateRequest
object
2 properties
SignupLoginOptions
object
5 properties
GenerateUserRecoveryCodesResponse
object
1 property
OAuthNativeFinishRequest
object
5 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

descope-auth-api-openapi.yml Raw ↑

Other APIs Descope publishes across the network.

Descope Apps API
Descope Custom Attributes API
Descope Default API
Descope Email API
Descope Embedded Link API
Descope Fedcm API
Descope Instant Message (IM) API
Descope Keys API
Descope Mgmt API
Descope Oauth2 API
Descope Scim API
Descope Text Message (SMS) API
Where this information came from

This is an independent, third-party profile of Descope Auth API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.