Scalar auth API
The auth API from Scalar — 27 operation(s) for auth.
The auth API from Scalar — 27 operation(s) for auth.
openapi: 3.1.1
info:
title: Core access-groups auth API
description: Core services for Scalar
version: 1.0.1
contact:
name: Marc from Scalar
url: https://scalar.com
email: support@scalar.com
security:
- BearerAuth: []
tags:
- name: auth
paths:
/me:
get:
tags:
- auth
description: Get a users basic information
operationId: getme
responses:
'200':
description: Default Response
content:
application/json:
schema:
$ref: '#/components/schemas/user'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/400'
'401':
description: No auth
content:
application/json:
schema:
$ref: '#/components/schemas/401'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/404'
'422':
description: Invalid payload
content:
application/json:
schema:
$ref: '#/components/schemas/422'
'500':
description: Uncaught error
content:
application/json:
schema:
$ref: '#/components/schemas/500'
/login/email:
post:
tags:
- auth
description: Login with email password flow
operationId: postloginEmail
responses:
'200':
description: Default Response
content:
application/json:
schema:
$ref: '#/components/schemas/token-response'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/400'
'401':
description: No auth
content:
application/json:
schema:
$ref: '#/components/schemas/401'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/404'
'422':
description: Invalid payload
content:
application/json:
schema:
$ref: '#/components/schemas/422'
'500':
description: Uncaught error
content:
application/json:
schema:
$ref: '#/components/schemas/500'
security: []
requestBody:
content:
application/json:
schema:
type: object
properties:
email:
$ref: '#/components/schemas/email'
password:
type: string
required:
- email
- password
additionalProperties: false
required: true
/login/email-signup:
post:
tags:
- auth
description: Register with email password flow
operationId: postloginEmailSignup
responses:
'200':
description: Default Response
content:
application/json:
schema:
$ref: '#/components/schemas/token-response'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/400'
'401':
description: No auth
content:
application/json:
schema:
$ref: '#/components/schemas/401'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/404'
'422':
description: Invalid payload
content:
application/json:
schema:
$ref: '#/components/schemas/422'
'500':
description: Uncaught error
content:
application/json:
schema:
$ref: '#/components/schemas/500'
security: []
requestBody:
content:
application/json:
schema:
type: object
properties:
email:
$ref: '#/components/schemas/email'
password:
type: string
minLength: 8
displayName:
type: string
teamSlug:
$ref: '#/components/schemas/slug'
teamName:
type: string
signupDataUid:
type: string
teamInvite:
type: string
otp:
default: ''
type: string
minLength: 6
otpClientId:
default: ''
type: string
minLength: 6
flow:
type: string
enum:
- oss-agent
required:
- email
- password
- otp
- otpClientId
additionalProperties: false
required: true
/login/email-otp:
post:
tags:
- auth
description: Send an OTP verification code to the email
operationId: postloginEmailOtp
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
properties:
otpClientId:
type: string
required:
- otpClientId
additionalProperties: false
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/400'
'401':
description: No auth
content:
application/json:
schema:
$ref: '#/components/schemas/401'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/404'
'422':
description: Invalid payload
content:
application/json:
schema:
$ref: '#/components/schemas/422'
'500':
description: Uncaught error
content:
application/json:
schema:
$ref: '#/components/schemas/500'
security: []
requestBody:
content:
application/json:
schema:
type: object
properties:
email:
$ref: '#/components/schemas/email'
required:
- email
additionalProperties: false
required: true
/login/email-otp/verify:
post:
tags:
- auth
description: Verify OTP
operationId: postloginEmailOtpVerify
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: 'null'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/400'
'401':
description: No auth
content:
application/json:
schema:
$ref: '#/components/schemas/401'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/404'
'422':
description: Invalid payload
content:
application/json:
schema:
$ref: '#/components/schemas/422'
'500':
description: Uncaught error
content:
application/json:
schema:
$ref: '#/components/schemas/500'
security: []
requestBody:
content:
application/json:
schema:
type: object
properties:
email:
$ref: '#/components/schemas/email'
otp:
type: string
minLength: 6
maxLength: 6
otpClientId:
type: string
minLength: 6
required:
- email
- otp
- otpClientId
additionalProperties: false
required: true
/login/refresh:
post:
tags:
- auth
description: Refresh an access token and set the team uid token
operationId: postloginRefresh
responses:
'200':
description: Default Response
content:
application/json:
schema:
$ref: '#/components/schemas/token-response'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/400'
'401':
description: No auth
content:
application/json:
schema:
$ref: '#/components/schemas/401'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/404'
'422':
description: Invalid payload
content:
application/json:
schema:
$ref: '#/components/schemas/422'
'500':
description: Uncaught error
content:
application/json:
schema:
$ref: '#/components/schemas/500'
security: []
requestBody:
content:
application/json:
schema:
type: object
properties:
refreshToken:
type: string
teamUid:
type: string
required:
- refreshToken
additionalProperties: false
required: true
/login/exchange:
post:
tags:
- auth
description: Exchange the short lived URL token for access/refresh tokens
operationId: postloginExchange
responses:
'200':
description: Default Response
content:
application/json:
schema:
$ref: '#/components/schemas/token-response'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/400'
'401':
description: No auth
content:
application/json:
schema:
$ref: '#/components/schemas/401'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/404'
'422':
description: Invalid payload
content:
application/json:
schema:
$ref: '#/components/schemas/422'
'500':
description: Uncaught error
content:
application/json:
schema:
$ref: '#/components/schemas/500'
security: []
requestBody:
content:
application/json:
schema:
type: object
properties:
exchangeToken:
type: string
required:
- exchangeToken
additionalProperties: false
required: true
/login/get-exchange:
post:
tags:
- auth
description: Gets an exchange token that can be used to redirect a user with auth credentials to different domain
operationId: postloginGetExchange
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
properties:
exchangeToken:
type: string
required:
- exchangeToken
additionalProperties: false
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/400'
'401':
description: No auth
content:
application/json:
schema:
$ref: '#/components/schemas/401'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/404'
'422':
description: Invalid payload
content:
application/json:
schema:
$ref: '#/components/schemas/422'
'500':
description: Uncaught error
content:
application/json:
schema:
$ref: '#/components/schemas/500'
requestBody:
content:
application/json:
schema:
type: object
properties:
refreshToken:
type: string
required:
- refreshToken
additionalProperties: false
required: true
/login/request-password-reset:
post:
tags:
- auth
description: Request reset password
operationId: postloginRequestPasswordReset
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: 'null'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/400'
'401':
description: No auth
content:
application/json:
schema:
$ref: '#/components/schemas/401'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/404'
'422':
description: Invalid payload
content:
application/json:
schema:
$ref: '#/components/schemas/422'
'500':
description: Uncaught error
content:
application/json:
schema:
$ref: '#/components/schemas/500'
security: []
requestBody:
content:
application/json:
schema:
type: object
properties:
email:
$ref: '#/components/schemas/email'
clientId:
type: string
required:
- email
- clientId
additionalProperties: false
required: true
/login/reset-password:
post:
tags:
- auth
description: Verify password reset request
operationId: postloginResetPassword
responses:
'200':
description: Default Response
content:
application/json:
schema:
$ref: '#/components/schemas/token-response'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/400'
'401':
description: No auth
content:
application/json:
schema:
$ref: '#/components/schemas/401'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/404'
'422':
description: Invalid payload
content:
application/json:
schema:
$ref: '#/components/schemas/422'
'500':
description: Uncaught error
content:
application/json:
schema:
$ref: '#/components/schemas/500'
security: []
requestBody:
content:
application/json:
schema:
type: object
properties:
clientId:
type: string
resetToken:
type: string
password:
type: string
required:
- clientId
- resetToken
- password
additionalProperties: false
required: true
/login/change-password:
post:
tags:
- auth
description: Change password for authenticated user
operationId: postloginChangePassword
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: 'null'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/400'
'401':
description: No auth
content:
application/json:
schema:
$ref: '#/components/schemas/401'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/404'
'422':
description: Invalid payload
content:
application/json:
schema:
$ref: '#/components/schemas/422'
'500':
description: Uncaught error
content:
application/json:
schema:
$ref: '#/components/schemas/500'
requestBody:
content:
application/json:
schema:
type: object
properties:
oldPassword:
type: string
newPassword:
type: string
required:
- oldPassword
- newPassword
additionalProperties: false
required: true
/login/personal-token/generate:
post:
tags:
- auth
description: Generate a new personal token
operationId: postloginPersonalTokenGenerate
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
properties:
uid:
type: string
personalToken:
type: string
required:
- uid
- personalToken
additionalProperties: false
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/400'
'401':
description: No auth
content:
application/json:
schema:
$ref: '#/components/schemas/401'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/404'
'422':
description: Invalid payload
content:
application/json:
schema:
$ref: '#/components/schemas/422'
'500':
description: Uncaught error
content:
application/json:
schema:
$ref: '#/components/schemas/500'
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
minLength: 3
maxLength: 50
description:
type: string
maxLength: 200
refreshToken:
type: string
required:
- name
- refreshToken
additionalProperties: false
required: true
/login/personal-token/access:
post:
tags:
- auth
description: Generate a new access token from a personal token
operationId: postloginPersonalTokenAccess
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
properties:
accessToken:
type: string
required:
- accessToken
additionalProperties: false
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/400'
'401':
description: No auth
content:
application/json:
schema:
$ref: '#/components/schemas/401'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/404'
'422':
description: Invalid payload
content:
application/json:
schema:
$ref: '#/components/schemas/422'
'500':
description: Uncaught error
content:
application/json:
schema:
$ref: '#/components/schemas/500'
security: []
requestBody:
content:
application/json:
schema:
type: object
properties:
personalToken:
type: string
required:
- personalToken
additionalProperties: false
required: true
/login/personal-token/{uid}/revoke:
post:
tags:
- auth
description: Revoke a personal token
operationId: postloginPersonalTokenUidRevoke
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: 'null'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/400'
'401':
description: No auth
content:
application/json:
schema:
$ref: '#/components/schemas/401'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/404'
'422':
description: Invalid payload
content:
application/json:
schema:
$ref: '#/components/schemas/422'
'500':
description: Uncaught error
content:
application/json:
schema:
$ref: '#/components/schemas/500'
parameters:
- schema:
$ref: '#/components/schemas/nanoid'
in: path
name: uid
required: true
/login/personal-token/{uid}:
delete:
tags:
- auth
description: Delete a personal token
operationId: deleteloginPersonalTokenUid
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: 'null'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/400'
'401':
description: No auth
content:
application/json:
schema:
$ref: '#/components/schemas/401'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/404'
'422':
description: Invalid payload
content:
application/json:
schema:
$ref: '#/components/schemas/422'
'500':
description: Uncaught error
content:
application/json:
schema:
$ref: '#/components/schemas/500'
parameters:
- schema:
$ref: '#/components/schemas/nanoid'
in: path
name: uid
required: true
/identity-provider/{uid}:
get:
tags:
- auth
description: Get an identity provider configuration for a team
operationId: getidentityProviderUid
responses:
'200':
description: Default Response
content:
application/json:
schema:
$ref: '#/components/schemas/identity-provider-record'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/400'
'401':
description: No auth
content:
application/json:
schema:
$ref: '#/components/schemas/401'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/404'
'422':
description: Invalid payload
content:
application/json:
schema:
$ref: '#/components/schemas/422'
'500':
description: Uncaught error
content:
application/json:
schema:
$ref: '#/components/schemas/500'
parameters:
- schema:
$ref: '#/components/schemas/nanoid'
in: path
name: uid
required: true
delete:
tags:
- auth
description: Delete an identity provider configuration for a team
operationId: deleteidentityProviderUid
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: 'null'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/400'
'401':
description: No auth
content:
application/json:
schema:
$ref: '#/components/schemas/401'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/404'
'422':
description: Invalid payload
content:
application/json:
schema:
$ref: '#/components/schemas/422'
'500':
description: Uncaught error
content:
application/json:
schema:
$ref: '#/components/schemas/500'
parameters:
- schema:
$ref: '#/components/schemas/nanoid'
in: path
name: uid
required: true
/identity-provider:
post:
tags:
- auth
description: Add an identity provider configuration for a team
operationId: postidentityProvider
responses:
'200':
description: Default Response
content:
application/json:
schema:
$ref: '#/components/schemas/identity-provider-record'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/400'
'401':
description: No auth
content:
application/json:
schema:
$ref: '#/components/schemas/401'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/403'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/404'
'422':
description: Invalid payload
content:
application/json:
schema:
$ref: '#/components/schemas/422'
'500':
description: Uncaught error
content:
application/json:
schema:
$ref: '#/components/schemas/500'
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
issuer:
default: ''
description: This is the URI that identifies your SAML identity provider. Any assertions must use a matching <saml:Issuer> attribute.
type: string
ssoUrl:
default: ''
description: This URL is used by Scalar to initiate a SAML login.
type: string
x509Cert:
default: ''
description: The authentication certificate issued by your identity provider
# --- truncated at 32 KB (53 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/scalar/refs/heads/main/openapi/scalar-auth-api-openapi.yml