openapi: 3.0.0
info:
version: '1'
title: Kinde Account API Keys Users API
description: '
Provides endpoints to operate on an authenticated user.
## Intro
## How to use
1. Get a user access token - this can be obtained when a user signs in via the methods you''ve setup in Kinde (e.g. Google, passwordless, etc).
2. Call one of the endpoints below using the user access token in the Authorization header as a Bearer token. Typically, you can use the `getToken` command in the relevant SDK.
'
termsOfService: https://docs.kinde.com/trust-center/agreements/terms-of-service/
contact:
name: Kinde Support Team
email: support@kinde.com
url: https://docs.kinde.com
tags:
- name: Users
x-displayName: Users
paths:
/api/v1/users:
servers: []
get:
tags:
- Users
operationId: getUsers
x-scope: read:users
description: "The returned list can be sorted by full name or email address in ascending or descending order. The number of records to return at a time can also be controlled using the `page_size` query string parameter.\n\n
\n read:users\n
\n"
summary: Get users
parameters:
- name: page_size
in: query
description: Number of results per page. Defaults to 10 if parameter not sent.
schema:
type: integer
nullable: true
- name: user_id
in: query
description: Filter the results by User ID. The query string should be comma separated and url encoded.
schema:
type: string
nullable: true
- name: next_token
in: query
description: A string to get the next page of results if there are more results.
schema:
type: string
nullable: true
- name: email
in: query
description: Filter the results by email address. The query string should be comma separated and url encoded.
schema:
type: string
nullable: true
- name: username
in: query
description: Filter the results by username. The query string should be comma separated and url encoded.
schema:
type: string
nullable: true
- name: phone
in: query
description: Filter the results by phone. The query string should be comma separated and url encoded.
schema:
type: string
nullable: true
- name: expand
in: query
description: 'Additional data to include in the response. One or more of (comma-separated): "organizations", "identities", "billing".'
required: false
schema:
type: string
nullable: true
- name: has_organization
in: query
description: Filter the results by if the user has at least one organization assigned.
required: false
schema:
type: boolean
nullable: true
- name: active_since
in: query
description: Filter the results to only include users who have been active since this date. Date should be in ISO 8601 format.
required: false
schema:
type: string
format: date-time
nullable: true
responses:
'200':
description: Users successfully retrieved.
content:
application/json:
schema:
$ref: '#/components/schemas/users_response'
'400':
$ref: '#/components/responses/bad_request'
'403':
$ref: '#/components/responses/forbidden'
'429':
$ref: '#/components/responses/too_many_requests'
security:
- kindeBearerAuth: []
/api/v1/users/{user_id}/refresh_claims:
servers: []
post:
tags:
- Users
operationId: refreshUserClaims
x-scope: update:user_refresh_claims
description: "Refreshes the user's claims and invalidates the current cache.\n\n\n update:user_refresh_claims\n
\n"
summary: Refresh User Claims and Invalidate Cache
parameters:
- in: path
name: user_id
schema:
type: string
required: true
description: The id of the user whose claims needs to be updated.
responses:
'200':
description: Claims successfully refreshed.
content:
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/success_response'
application/json:
schema:
$ref: '#/components/schemas/success_response'
'400':
description: Bad request.
content:
application/json:
schema:
$ref: '#/components/schemas/error_response'
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/error_response'
'403':
description: Bad request.
content:
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/error_response'
application/json:
schema:
$ref: '#/components/schemas/error_response'
'429':
description: Request was throttled.
security:
- kindeBearerAuth: []
/api/v1/user:
servers: []
get:
tags:
- Users
operationId: getUserData
x-scope: read:users
description: "Retrieve a user record.\n\n\n read:users\n
\n"
summary: Get user
parameters:
- name: id
in: query
description: The user's id.
required: true
schema:
type: string
nullable: false
- name: expand
in: query
description: 'Additional data to include in the response. One or more of (comma-separated): "organizations", "identities", "billing".'
required: false
schema:
type: string
nullable: true
responses:
'200':
description: User successfully retrieved.
content:
application/json:
schema:
$ref: '#/components/schemas/user'
'400':
$ref: '#/components/responses/bad_request'
'403':
$ref: '#/components/responses/forbidden'
'429':
$ref: '#/components/responses/too_many_requests'
security:
- kindeBearerAuth: []
post:
tags:
- Users
operationId: createUser
description: "Creates a user record and optionally zero or more identities for the user. An example identity could be the email\naddress of the user.\n\n\n create:users\n
\n"
summary: Create user
requestBody:
description: The details of the user to create.
required: false
content:
application/json:
schema:
type: object
properties:
profile:
description: Basic information required to create a user.
type: object
properties:
given_name:
type: string
description: User's first name.
family_name:
type: string
description: User's last name.
picture:
type: string
description: The user's profile picture.
organization_code:
description: The unique code associated with the organization you want the user to join.
type: string
provided_id:
description: An external id to reference the user.
type: string
identities:
type: array
description: Array of identities to assign to the created user
items:
type: object
description: The result of the user creation operation.
properties:
type:
type: string
description: The type of identity to create, e.g. email, username, or phone.
enum:
- email
- phone
- username
is_verified:
type: boolean
description: Set whether an email or phone identity is verified or not.
example: true
details:
type: object
description: Additional details required to create the user.
properties:
email:
type: string
description: The email address of the user.
example: email@email.com
phone:
type: string
description: The phone number of the user.
example: '+61426148233'
phone_country_id:
type: string
description: The country code for the phone number.
example: au
username:
type: string
description: The username of the user.
example: myusername
example:
- type: email
is_verified: true
details:
email: email@email.com
- type: phone
is_verified: false
details:
phone: '+61426148233'
phone_country_id: au
- type: username
details:
username: myusername
responses:
'200':
description: User successfully created.
content:
application/json:
schema:
$ref: '#/components/schemas/create_user_response'
'400':
$ref: '#/components/responses/bad_request'
'403':
$ref: '#/components/responses/forbidden'
'429':
$ref: '#/components/responses/too_many_requests'
security:
- kindeBearerAuth: []
patch:
tags:
- Users
operationId: updateUser
description: "Update a user record.\n\n\n update:users\n
\n"
summary: Update user
parameters:
- name: id
in: query
description: The user's id.
required: true
schema:
type: string
nullable: false
requestBody:
description: The user to update.
required: true
content:
application/json:
schema:
type: object
properties:
given_name:
type: string
description: User's first name.
family_name:
type: string
description: User's last name.
picture:
type: string
description: The user's profile picture.
is_suspended:
type: boolean
description: Whether the user is currently suspended or not.
is_password_reset_requested:
type: boolean
description: Prompt the user to change their password on next sign in.
provided_id:
description: An external id to reference the user.
type: string
responses:
'200':
description: User successfully updated.
content:
application/json:
schema:
$ref: '#/components/schemas/update_user_response'
'400':
$ref: '#/components/responses/bad_request'
'403':
$ref: '#/components/responses/forbidden'
'429':
$ref: '#/components/responses/too_many_requests'
security:
- kindeBearerAuth: []
delete:
tags:
- Users
operationId: deleteUser
description: "Delete a user record.\n\n\n delete:users\n
\n"
summary: Delete user
parameters:
- name: id
in: query
description: The user's id.
required: true
schema:
type: string
nullable: false
example: kp_c3143a4b50ad43c88e541d9077681782
- name: is_delete_profile
in: query
description: Delete all data and remove the user's profile from all of Kinde, including the subscriber list
schema:
type: boolean
nullable: false
example: true
responses:
'200':
description: User successfully deleted.
content:
application/json:
schema:
$ref: '#/components/schemas/success_response'
'400':
$ref: '#/components/responses/bad_request'
'403':
$ref: '#/components/responses/forbidden'
'429':
$ref: '#/components/responses/too_many_requests'
security:
- kindeBearerAuth: []
/api/v1/users/{user_id}/feature_flags/{feature_flag_key}:
servers: []
patch:
tags:
- Users
operationId: UpdateUserFeatureFlagOverride
description: "Update user feature flag override.\n\n\n update:user_feature_flags\n
\n"
summary: Update User Feature Flag Override
parameters:
- name: user_id
in: path
description: The identifier for the user
required: true
schema:
type: string
- name: feature_flag_key
in: path
description: The identifier for the feature flag
required: true
schema:
type: string
- name: value
in: query
description: Override value
required: true
schema:
type: string
responses:
'200':
description: Feature flag override successfully updated.
content:
application/json:
schema:
$ref: '#/components/schemas/success_response'
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/success_response'
'400':
description: Invalid request.
content:
application/json:
schema:
$ref: '#/components/schemas/error_response'
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/error_response'
'403':
description: Invalid credentials.
'429':
description: Request was throttled.
security:
- kindeBearerAuth: []
/api/v1/users/{user_id}/properties/{property_key}:
servers: []
put:
tags:
- Users
operationId: UpdateUserProperty
description: "Update property value.\n\n\n update:user_properties\n
\n"
summary: Update Property value
parameters:
- name: user_id
in: path
description: The identifier for the user
required: true
schema:
type: string
- name: property_key
in: path
description: The identifier for the property
required: true
schema:
type: string
- name: value
in: query
description: The new property value
required: true
schema:
type: string
responses:
'200':
description: Property successfully updated.
content:
application/json:
schema:
$ref: '#/components/schemas/success_response'
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/success_response'
'400':
description: Invalid request.
content:
application/json:
schema:
$ref: '#/components/schemas/error_response'
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/error_response'
'403':
description: Invalid credentials.
'429':
description: Request was throttled.
security:
- kindeBearerAuth: []
/api/v1/users/{user_id}/properties:
servers: []
get:
tags:
- Users
operationId: GetUserPropertyValues
description: "Gets properties for an user by ID.\n\n\n read:user_properties\n
\n"
summary: Get property values
parameters:
- name: user_id
in: path
description: The user's ID.
required: true
schema:
type: string
nullable: false
responses:
'200':
description: Properties successfully retrieved.
content:
application/json:
schema:
$ref: '#/components/schemas/get_property_values_response'
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/get_property_values_response'
'400':
description: Bad request.
content:
application/json:
schema:
$ref: '#/components/schemas/error_response'
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/error_response'
'403':
description: Invalid credentials.
'429':
description: Request was throttled.
security:
- kindeBearerAuth: []
patch:
tags:
- Users
operationId: UpdateUserProperties
description: "Update property values.\n\n\n update:user_properties\n
\n"
summary: Update Property values
parameters:
- name: user_id
in: path
description: The identifier for the user
required: true
schema:
type: string
requestBody:
description: Properties to update.
required: true
content:
application/json:
schema:
type: object
properties:
properties:
description: Property keys and values
type: object
nullable: false
required:
- properties
responses:
'200':
description: Properties successfully updated.
content:
application/json:
schema:
$ref: '#/components/schemas/success_response'
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/success_response'
'400':
description: Invalid request.
content:
application/json:
schema:
$ref: '#/components/schemas/error_response'
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/error_response'
'403':
description: Invalid credentials.
'429':
description: Request was throttled.
security:
- kindeBearerAuth: []
/api/v1/users/{user_id}/password:
servers: []
put:
tags:
- Users
operationId: SetUserPassword
description: "Set user password.\n\n\n update:user_passwords\n
\n"
summary: Set User password
parameters:
- name: user_id
in: path
description: The identifier for the user
required: true
schema:
type: string
requestBody:
description: Password details.
required: true
content:
application/json:
schema:
type: object
properties:
hashed_password:
description: The hashed password.
type: string
hashing_method:
description: The hashing method or algorithm used to encrypt the user’s password. Default is bcrypt.
type: string
enum:
- bcrypt
- crypt
- md5
- wordpress
salt:
type: string
description: Extra characters added to passwords to make them stronger. Not required for bcrypt.
salt_position:
type: string
description: Position of salt in password string. Not required for bcrypt.
enum:
- prefix
- suffix
is_temporary_password:
type: boolean
description: The user will be prompted to set a new password after entering this one.
required:
- hashed_password
responses:
'200':
description: User successfully created.
content:
application/json:
schema:
$ref: '#/components/schemas/success_response'
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/success_response'
'400':
description: Error creating user.
content:
application/json:
schema:
$ref: '#/components/schemas/error_response'
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/error_response'
'403':
description: Invalid credentials.
'429':
description: Request was throttled.
security:
- kindeBearerAuth: []
/api/v1/users/{user_id}/identities:
servers: []
get:
tags:
- Users
operationId: GetUserIdentities
x-scope: read:user_identities
description: "Gets a list of identities for an user by ID.\n\n\n read:user_identities\n
\n"
summary: Get identities
parameters:
- name: user_id
in: path
description: The user's ID.
required: true
schema:
type: string
nullable: false
- name: starting_after
in: query
description: The ID of the identity to start after.
schema:
type: string
nullable: true
- name: ending_before
in: query
description: The ID of the identity to end before.
schema:
type: string
nullable: true
responses:
'200':
description: Identities successfully retrieved.
content:
application/json:
schema:
$ref: '#/components/schemas/get_identities_response'
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/get_identities_response'
'400':
description: Bad request.
content:
application/json:
schema:
$ref: '#/components/schemas/error_response'
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/error_response'
'403':
description: Invalid credentials.
'429':
description: Request was throttled.
security:
- kindeBearerAuth: []
post:
tags:
- Users
operationId: CreateUserIdentity
description: "Creates an identity for a user.\n\n\n create:user_identities\n
\n"
summary: Create identity
parameters:
- name: user_id
in: path
description: The user's ID.
required: true
schema:
type: string
nullable: false
requestBody:
description: The identity details.
required: false
content:
application/json:
schema:
type: object
properties:
value:
type: string
description: The email address, social identity, or username of the user.
example: sally@example.com
type:
type: string
description: The identity type
enum:
- email
- username
- phone
- enterprise
- social
example: email
phone_country_id:
type: string
description: The country code for the phone number, only required when identity type is 'phone'.
example: au
connection_id:
type: string
description: The social or enterprise connection ID, only required when identity type is 'social' or 'enterprise'.
example: conn_019289347f1193da6c0e4d49b97b4bd2
responses:
'201':
description: Identity successfully created.
content:
application/json:
schema:
$ref: '#/components/schemas/create_identity_response'
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/create_identity_response'
'400':
description: Error creating identity.
content:
application/json:
schema:
$ref: '#/components/schemas/error_response'
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/error_response'
'403':
description: Invalid credentials.
'429':
description: Request was throttled.
security:
- kindeBearerAuth: []
/api/v1/users/{user_id}/sessions:
servers: []
get:
tags:
- Users
operationId: GetUserSessions
description: "Retrieve the list of active sessions for a specific user.\n\n\n read:user_sessions\n
\n"
summary: Get user sessions
parameters:
- name: user_id
in: path
description: The identifier for the user
required: true
schema:
type: string
example: kp_c3143a4b50ad43c88e541d9077681782
responses:
'200':
description: Successfully retrieved user sessions.
content:
application/json:
schema:
$ref: '#/components/schemas/get_user_sessions_response'
'400':
$ref: '#/components/responses/bad_request'
'403':
$ref: '#/components/responses/forbidden'
'404':
$ref: '#/components/responses/not_found'
'429':
$ref: '#/components/responses/too_many_requests'
security:
- kindeBearerAuth: []
delete:
tags:
- Users
operationId: DeleteUserSessions
description: "Invalidate user sessions.\n\n\n delete:user_sessions\n
\n"
summary: Delete user sessions
parameters:
- name: user_id
in: path
description: The identifier for the user
required: true
schema:
type: string
example: kp_c3143a4b50ad43c88e541d9077681782
responses:
'200':
description: User sessions successfully invalidated.
content:
application/json:
schema:
$ref: '#/components/schemas/success_response'
'400':
$ref: '#/components/responses/bad_request'
'403':
$ref: '#/components/responses/forbidden'
'404':
$ref: '#/components/responses/not_found'
'429':
$ref: '#/components/responses/too_many_requests'
security:
- kindeBearerAuth: []
/api/v1/users/{user_id}/mfa:
servers: []
get:
tags:
- Users
operationId: GetUsersMFA
description: "Get a user’s MFA configuration.\n\n\n read:user_mfa\n
\n"
summary: Get user's MFA configuration
parameters:
- name: user_id
in: path
description: The identifier for the user
required: true
schema:
type: string
example: kp_c3143a4b50ad43c88e541d9077681782
responses:
'200':
description: Successfully retrieve user's MFA configuration.
content:
application/json:
schema:
$ref: '#/components/schemas/get_user_mfa_response'
'400':
$ref: '#/components/responses/bad_request'
'403':
$ref: '#/components/responses/forbidden'
'404':
$ref: '#/components/responses/not_found'
'429':
$ref: '#/components/responses/too_many_requests'
security:
- kindeBearerAuth: []
delete:
tags:
- Users
operationId: ResetUsersMFAAll
description: "Reset all environment MFA factors for a user.\n\n\n delete:user_mfa\n
\n"
summary: Reset all environment MFA for a user
parameters:
- name: user_id
in: path
description: The identifier for the user
required: true
schema:
type: string
example: kp_c3143a4b50ad43c88e541d9077681782
responses:
'200':
description: User's MFA successfully reset.
content:
application/json:
schema:
$ref: '#/components/schemas/success_response'
'400':
$ref: '#/components/responses/bad_request'
'403':
$ref: '#/components/responses/forbidden'
'404':
$ref: '#/components/responses/not_found'
'429':
$ref: '#/components/responses/too_many_requests'
security:
- kindeBearerAuth: []
/api/v1/users/{user_id}/mfa/{factor_id}:
servers: []
delete:
tags:
- Users
operationId: ResetUsersMFA
description: "Reset a specific environment MFA factor for a user.\n\n\n delete:user_mfa\n
\n"
summary: Reset specific environment MFA for a user
parameters:
- name: user_id
in: path
description: The identifier for the user
required: true
schema:
type: string
example: kp_c3143a4b50ad43c88e541d9077681782
- name: factor_id
in: path
description: The identifier for the MFA factor
required: true
schema:
type: string
example: mfa_0193278a00ac29b3f6d4e4d462d55c47
responses:
'200':
description: User's MFA successfully reset.
content:
application/json:
schema:
$ref: '#/components/schemas/success_response'
'400':
$ref: '#/components/responses/bad_request'
'403':
$ref: '#/components/responses/forbidden'
'404':
$ref: '#/components/responses/not_found'
'429':
$ref: '#/components/responses/too_many_requests'
security:
- kindeBearerAuth: []
components:
schemas:
user:
type: object
properties:
id:
type: string
description: Unique ID of the user in Kinde.
provided_id:
type: string
description: External ID for user.
preferred_email:
type: string
description: Default email address of the user in Kinde.
phone:
type: string
description: User's primary phone number.
username:
type: string
description: Primary username of the user in Kinde.
last_name:
type: string
description: User's last name.
first_name:
type: string
description: User's first name.
is_suspended:
type: boolean
description: Whether the user is currently suspended or not.
picture:
type: string
description: User's profile picture URL.
total_sign_ins:
type: integer
description: Total number of user sign ins.
nullable: true
failed_sign_ins:
type: integer
description: Number of consecutive failed user sign ins.
nullable: true
last_signed_in:
type: string
description: Last sign in date in ISO 8601 format.
nullable: true
created_on:
type: string
description: Date of user creation in ISO 8601 format.
nullable: true
organizations:
type: array
description: Array of organizations a user belongs to.
items:
type: string
identities:
type: array
description: Array of identities belonging to the user.
items:
type: object
properties:
type:
type: string
identity:
type: string
billing:
type: object
properties:
customer_id:
type: string
users_response:
type: object
properties:
code:
type: string
description: Response code.
message:
type: string
description: Response message.
users:
type: array
items:
type: object
properties:
id:
type: string
description: Unique ID of the user in Kinde.
provided_id:
type: string
description: External ID for user.
email:
type: string
description: Default email address of the user in Kinde.
phone:
type: string
description: User's primary phone number.
username:
type: string
description: Primary username of the user in Kinde.
last_name:
type: string
description: User's last name.
first_name:
type: string
description: User's first name.
is_suspended:
type: boolean
description: Whether the user is currently suspended or not.
picture:
type: string
description: User's profile picture URL.
total_sign_ins:
type: integer
description: Total number of user sign ins.
nullable: true
failed_sign_ins:
type: integer
description: Number of consecutive failed user sign ins.
nullable: true
last_signed_in:
type: string
description: Last sign in date in ISO 8601 format.
nullable: true
created_on:
type: string
description: Date of user creation in ISO 8601 format.
nullable: true
last_organization_sign_ins:
type: array
description: Array of organization sign-in information for the user.
nullable: true
items:
type: object
properties:
org_code:
type: string
description: The organization code.
example: org_d2d85014942
last_signed_in:
type: string
format: date-time
description: The date and time the user last signed in to this organization in ISO 8601 format.
example: '2026-01-28T14:26:02.448856+00:00'
organizations:
type: array
description: Array of organizations a user belongs to.
items:
type: string
identities:
type: array
description: Array of identities belonging to the user.
items:
type: object
properties:
type:
type: string
identity:
type: string
billing:
type: object
properties:
customer_id:
type: string
description: The billing customer id.
example: customer_1245adbc6789
next_token:
type: string
description: Pagination token.
identity:
type: object
properties:
id:
type: string
description: The unique ID for the identity
example: identity_019617f0cd72460a42192cf37b41084f
type:
type: string
description: The type of identity
example: email
is_confirmed:
type: boolean
description: Whether the identity is confirmed
example: true
created_on:
type: string
description: Date of user creation in ISO 8601 format
example: '2025-01-01T00:00:00Z'
last_login_on:
type: string
description: Date of last login in ISO 8601 format
example: '2025-01-05T00:00:00Z'
total_logins:
type: integer
example: 20
name:
type: string
description: The value of the identity
example: sally@example.com
email:
type: string
description: The associated email of the identity
example: sally@example.com
is_primary:
type: boolean
description: Whether the identity is the primary identity for the user
nullable: true
example: true
property_value:
type: object
properties:
id:
type: string
example: prop_0192b7e8b4f8ca08110d2b22059662a8
name:
type: string
example: Town
description:
type: string
example: Where the entity is located
nullable: true
key:
type: string
example: kp_town
value:
type: string
example: West-side Staines massive
nullable: true
error_response:
type: object
properties:
errors:
type: array
items:
$ref: '#/components/schemas/error'
user_identity:
type: object
properties:
type:
type: string
description: The type of identity object created.
result:
type: object
description: The result of the user creation operation.
properties:
created:
type: boolean
description: True if the user identity was successfully created.
get_property_values_response:
type: object
properties:
code:
type: string
description: Response code.
message:
type: string
description: Response message.
properties:
type: array
items:
$ref: '#/components/schemas/property_value'
next_token:
description: Pagination token.
type: string
get_identities_response:
type: object
properties:
code:
type: string
description: Response code.
message:
type: string
description: Response message.
identities:
type: array
items:
$ref: '#/components/schemas/identity'
has_more:
description: Whether more records exist.
type: boolean
not_found_response:
type: object
properties:
errors:
type: object
properties:
code:
type: string
example: ROUTE_NOT_FOUND
message:
type: string
example: The requested API route does not exist
success_response:
type: object
properties:
message:
type: string
example: Success
code:
type: string
example: OK
get_user_mfa_response:
type: object
properties:
message:
type: string
code:
type: string
mfa:
type: object
properties:
id:
description: The MFA's identifier.
type: string
example: mfa_01933d1ca1f093e7fad48ebcdb65a871
type:
description: The type of MFA (e.g. email, SMS, authenticator app).
type: string
example: email
created_on:
description: The timestamp when the MFA was created.
type: string
format: date-time
example: '2024-11-18T13:31:46.795085+11:00'
name:
description: The identifier used for MFA (e.g. email address, phone number).
type: string
example: sally@gmail.com
is_verified:
description: Whether the MFA is verified or not.
type: boolean
example: true
usage_count:
description: The number of times MFA has been used.
type: integer
example: 2
last_used_on:
description: The timestamp when the MFA was last used.
type: string
format: date-time
example: '2024-11-18T13:32:07.22538+11:00'
create_identity_response:
type: object
properties:
message:
type: string
code:
type: string
identity:
type: object
properties:
id:
description: The identity's ID.
type: string
get_user_sessions_response:
type: object
properties:
code:
type: string
example: OK
message:
type: string
example: Success
has_more:
type: boolean
example: false
sessions:
type: array
items:
type: object
properties:
user_id:
description: The unique identifier of the user associated with the session.
type: string
example: kp_5fc30d0547734f30aca617450202169f
org_code:
description: The organization code associated with the session, if applicable.
type: string
nullable: true
example: org_1ccfb819462
client_id:
description: The client ID used to initiate the session.
type: string
example: 3b0b5c6c8fcc464fab397f4969b5f482
expires_on:
description: The timestamp indicating when the session will expire.
type: string
format: date-time
example: '2025-04-02T13:04:20.315701+11:00'
session_id:
description: The unique identifier of the session.
type: string
example: session_0xc75ec12fe8434ffc9d527794f00692e5
started_on:
description: The timestamp when the session was initiated.
type: string
format: date-time
example: '2025-04-01T13:04:20.315701+11:00'
updated_on:
description: The timestamp of the last update to the session.
type: string
format: date-time
example: '2025-04-01T13:04:20+11'
connection_id:
description: The identifier of the connection through which the session was established.
type: string
example: conn_75ab8ec0faae4f73bae9fc64daf120c9
last_ip_address:
description: The last known IP address of the user during this session.
type: string
example: 192.168.65.1
last_user_agent:
description: The last known user agent (browser or app) used during this session.
type: string
example: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36
initial_ip_address:
description: The IP address from which the session was initially started.
type: string
example: 192.168.65.1
initial_user_agent:
description: The user agent (browser or app) used when the session was first created.
type: string
example: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36
error:
type: object
properties:
code:
type: string
description: Error code.
message:
type: string
description: Error message.
create_user_response:
type: object
properties:
id:
description: Unique ID of the user in Kinde.
type: string
created:
description: True if the user was successfully created.
type: boolean
identities:
type: array
items:
$ref: '#/components/schemas/user_identity'
update_user_response:
type: object
properties:
id:
type: string
description: Unique ID of the user in Kinde.
given_name:
type: string
description: User's first name.
family_name:
type: string
description: User's last name.
email:
type: string
description: User's preferred email.
is_suspended:
type: boolean
description: Whether the user is currently suspended or not.
is_password_reset_requested:
type: boolean
description: Whether a password reset has been requested.
picture:
type: string
description: User's profile picture URL.
nullable: true
responses:
bad_request:
description: Invalid request.
content:
application/json:
schema:
$ref: '#/components/schemas/error_response'
too_many_requests:
description: Too many requests. Request was throttled.
content:
application/json:
schema:
$ref: '#/components/schemas/error_response'
not_found:
description: The specified resource was not found
content:
application/json:
schema:
$ref: '#/components/schemas/not_found_response'
forbidden:
description: Unauthorized - invalid credentials.
content:
application/json:
schema:
$ref: '#/components/schemas/error_response'
securitySchemes:
kindeBearerAuth:
description: 'To access these endpoints, you will need to use a user token. This can be obtained when your users sign in via the methods you''ve setup in Kinde (e.g. Google, passwordless, etc). Find this using the getToken command in the relevant SDK.
'
type: http
scheme: bearer
bearerFormat: JWT