CoreStack Users Auth API
User Authentication - passwords, keys, verification and activation
User Authentication - passwords, keys, verification and activation
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/corestack:corestack-usersauth-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
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: CoreStack External Users Auth API
version: 1.0.0
termsOfService: http://corestack.io/
license:
name: CoreStack Inc License
url: http://corestack.io/licenses/LICENSE-2.0.html
description: User Authentication - passwords, keys, verification and activation
servers:
- url: /
tags:
- name: UsersAuth
description: User Authentication - passwords, keys, verification and activation
paths:
/users/change_password/{user_id}:
parameters:
- name: user_id
in: path
required: true
schema:
type: string
put:
responses:
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ModelError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ModelError'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ModelError'
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ChangePasswordResponse'
summary: Change Password
description: Update the password of the user. This password will be used for login to portal and it will not affect the Access Key / Secret Key associated with the user. Cannot update password of another user within the same CoreStack account. Can be updated for the user associated with Access Key / Secret Key
operationId: ChangePassword
security:
- auth_token: []
tags:
- UsersAuth
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ChangePasswordRequest'
required: true
/users/change_time_zone/{user_id}:
parameters:
- name: user_id
in: path
required: true
schema:
type: string
put:
responses:
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ModelError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ModelError'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ModelError'
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ChangeTimezoneResponse'
summary: Change Timezone
description: Update the timezone settings of the user. In CoreStack portal, wherever the datatime is shown it is converted to the timezone set to the user. Cannot update timezone of another user within the same CoreStack account. Can be updated for the user associated with Access Key / Secret Key
operationId: ChangeTimezone
security:
- auth_token: []
tags:
- UsersAuth
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ChangeTimezoneRequest'
required: true
/users/forget_password/{user_id}:
post:
responses:
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ModelError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ModelError'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ModelError'
'200':
description: Forgotten
content:
application/json:
schema:
type: boolean
summary: Forget Password
description: Forget the password of the user. This password will be used for login to portal and it will not affect the Access Key / Secret Key associated with the user
operationId: ForgetPassword
parameters:
- name: user_id
in: path
required: true
description: User Id fetched from List User API
schema:
type: string
security:
- auth_token: []
tags:
- UsersAuth
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ForgetPasswordRequest'
required: true
/users/regenerate_key/{user_id}:
parameters:
- name: user_id
in: path
required: true
schema:
type: string
put:
responses:
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ModelError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ModelError'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ModelError'
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/RegenerateKeyResponse'
summary: Regenerate Key
description: Regenerate the Access Key and Secret Key for the user. The old key will be invalidated and a new key will be generated.
operationId: RegenerateKey
security:
- auth_token: []
tags:
- UsersAuth
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RegenerateKeyRequest'
required: true
/users/resend_token/{user_id}:
post:
responses:
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ModelError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ModelError'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ModelError'
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ResendTokenResponse'
summary: Resend User Token for Activation
description: Resend User Activation Link
operationId: ResendTokenUser
parameters:
- name: user_id
in: path
required: true
description: Id of user
schema:
type: string
security:
- auth_token: []
tags:
- UsersAuth
/users/reset_password:
post:
responses:
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ModelError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ModelError'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ModelError'
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ResetPasswordResponse'
summary: Reset Password
description: Reset the password of the user.This password will be used for login to portal and it will not affect the Access Key / Secret Key associated with the user
operationId: UsersResetPassword
tags:
- UsersAuth
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ResetPasswordRequest'
required: true
/users/{user_id}/activate_user/{auth_token}:
post:
responses:
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ModelError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ModelError'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ModelError'
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ActivateUserResponse'
summary: Activate User
description: Activate user using auth token
operationId: AuthActivateUser
parameters:
- name: user_id
in: path
required: true
description: Id of user
schema:
type: string
- name: auth_token
in: path
required: true
description: auth_token to activate created user.Can be fetched from the activation email sent
schema:
type: string
security:
- auth_token: []
tags:
- UsersAuth
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ActivateRequest'
required: true
/users/{user_id}/verify_user/{auth_token}:
post:
responses:
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ModelError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ModelError'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ModelError'
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/VerifyUserResponse'
summary: Verify User
description: Verify user using auth token
operationId: AuthVerifyUser
parameters:
- name: user_id
in: path
required: true
description: Id of user
schema:
type: string
- name: auth_token
in: path
required: true
description: auth_token to verify created user.Can be fetched from the activation email sent
schema:
type: string
security:
- auth_token: []
tags:
- UsersAuth
/v1/user/verify/{access_key}:
parameters:
- name: access_key
in: path
required: true
schema:
type: string
post:
responses:
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ModelError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ModelError'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ModelError'
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/UserVerificationResponse'
summary: Auth0 User Verification
description: User Verify
operationId: UserVerify
tags:
- UsersAuth
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserVerificationRequest'
required: true
/v1/user/{user_id}/password_reset:
parameters:
- name: user_id
in: path
required: true
schema:
type: string
post:
responses:
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ModelError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ModelError'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ModelError'
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/UserUpdateResponse'
summary: Reset Password for Auth0 User
description: Reset Password for the Auth0 User
operationId: ResetPassword
security:
- auth_token: []
tags:
- UsersAuth
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PasswordResetRequest'
required: true
/v1/users/invite:
post:
responses:
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ModelError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ModelError'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ModelError'
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/UserInviteResponse'
summary: Invite User
description: Invite user
operationId: InviteUser
security:
- auth_token: []
tags:
- UsersAuth
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserInviteRequest'
required: true
components:
schemas:
ChangeTimezoneResponse:
required:
- timezone
- user_id
properties:
timezone:
description: Contains information about the timezone set for the user. Raw offset of the timezone. It means the amount of time in milliseconds to add to UTC to get standard time in the required time zone. Id of the Timezone such as Asia/Kolkata, Asia/Dubai and so on
$ref: '#/components/schemas/ChangeTimezoneData'
user_id:
type: string
description: ID of the user to whom the timezone is changed
type: object
ChangeTimezoneRequest:
required:
- new_timezone_id
properties:
new_timezone_id:
type: string
description: New timezone id to be set for the user. For a valid list of timezone values to use, please refer https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
type: object
UserInviteRequest:
required:
- email
- master_account_id
- tenants
properties:
email:
type: string
description: Email ID of the user. This wil be unique across all the CoreStack accounts
tenants:
type: array
description: List of roles assignments for the user. The same user can be assigned different roles in different tenants
items:
$ref: '#/components/schemas/UserInviteTenantRoles'
master_account_id:
type: string
description: ID of the Account Master in CoreStack
user_groups:
type: array
items:
type: string
description: Ids of the Usergroups
type: object
ChangeTimezoneData:
required:
- id
- raw_offset
properties:
raw_offset:
type: string
description: Raw offset of the timezone. It means the amount of time in milliseconds to add to UTC to get standard time in the required time zone
id:
type: string
description: ID of the Timezone such as Asia/Kolkata, Asia/Dubai and so on
type: object
RegenerateKeyResponse:
required:
- access_key
- status
- user_id
properties:
user_id:
type: string
description: ID of the user
access_key:
type: string
description: The newly generated access key
status:
type: string
description: Current status of the user
type: object
ForgetPasswordRequest:
required:
- email_id
properties:
email_id:
type: string
description: User email id.
type: object
ModelError:
required:
- message
properties:
message:
type: string
description: Error response message.
type: object
ActivateRequest:
required:
- password
properties:
password:
type: string
description: user password
type: object
VerifyUserResponse:
required:
- account_master_name
- tenant_names
- timezone
- user_email
- user_id
- user_name
properties:
user_id:
type: string
description: user id
user_name:
type: string
description: user name
user_email:
type: string
description: user email
tenant_names:
type: array
description: user tenant names
items:
type: string
account_master_name:
type: string
description: user name
timezone:
type: string
description: Contains information about the timezone set for the user.
type: object
ActivateUserResponse:
required:
- user_id
properties:
user_id:
type: string
description: User ID
type: object
UserInviteTenantRoles:
required:
- role_ids
- tenant_id
properties:
tenant_id:
type: string
description: ID of the tenant within the CoreStack account
role_ids:
type: array
description: Ids of the Roles to be assigned to the user under a tenant
items:
type: string
type: object
UserVerificationResponse:
properties:
user_id:
type: string
description: User id
token:
type: string
reset_key:
type: string
status:
type: string
type: object
ChangePasswordResponse:
required:
- user_id
properties:
user_id:
type: string
description: ID of the User to whom the password is changed
type: object
PasswordResetRequest:
properties:
password:
type: string
description: Set new password
reset_key:
type: string
type: object
UserUpdateResponse:
required:
- user_id
properties:
user_id:
type: string
description: ID of the updated User
type: object
ResetPasswordResponse:
properties:
status:
type: string
description: Status of Reset Password API call.
message:
type: string
description: Message of reset Password API call.
data:
type: string
description: Link for Reset Password
type: object
UserVerificationRequest:
required:
- email
properties:
email:
type: string
description: User email
type: object
ChangePasswordRequest:
required:
- current_password
- new_password
properties:
current_password:
type: string
description: Current password of the user being used. If you are unaware of the current password, use forgot password option in the CoreStack portal.
new_password:
type: string
description: New Password to be set for the user. Password length must be of 8-15 characters with atleast one special character(_$^@*!#&.), one number and starting character must be an alphabet.
type: object
UserInviteResponse:
properties:
user_id:
type: string
description: ID of the newly invited User
type: object
ResendTokenResponse:
required:
- user_id
properties:
user_id:
type: string
description: user id
type: object
ResetPasswordRequest:
required:
- email_id
- url
properties:
email_id:
type: string
description: User email id.
url:
type: string
description: Please Provide the URl
type: object
RegenerateKeyRequest:
properties:
require_access_key:
type: boolean
description: Update whether access key is required for this user.
type: object
securitySchemes:
auth_token:
type: apiKey
in: header
name: X-Auth-Token