openapi: 3.0.0
info:
title: Kinde Management API
version: '1'
description: The Kinde Management API programmatically manages a Kinde business - users, organizations,
roles, permissions, feature flags, applications, connections, APIs and scopes, subscribers, properties,
webhooks, and billing. Base URL is subdomain-scoped to your business (https://{subdomain}.kinde.com/api/v1).
Authenticated with a Bearer JWT access token obtained via the OAuth2 client_credentials flow from
a machine-to-machine (M2M) application. This document is grounded in the official Kinde Management
API specification (https://api-spec.kinde.com/kinde-management-api-spec.yaml).
contact:
name: Kinde Support Team
email: support@kinde.com
url: https://docs.kinde.com
termsOfService: https://docs.kinde.com/trust-center/agreements/terms-of-service/
servers:
- url: https://{subdomain}.kinde.com
variables:
subdomain:
default: your_kinde_subdomain
description: The subdomain generated for your business on Kinde.
tags:
- name: API Keys
- name: APIs
- name: Applications
- name: Billing Entitlements
- name: Billing Agreements
- name: Billing Meter Usage
- name: Business
- name: Industries
- name: Timezones
- name: Callbacks
- name: Connected Apps
- name: Connections
- name: Directories
- name: Environments
- name: Environment variables
- name: Feature Flags
- name: Identities
- name: Organizations
- name: MFA
- name: Permissions
- name: Properties
- name: Property Categories
- name: Roles
- name: Search
- name: Subscribers
- name: Users
- name: Webhooks
components:
securitySchemes:
kindeBearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
description: Requires an access token obtained using the OAuth2 client_credentials flow from an
authorized M2M application.
security:
- kindeBearerAuth: []
paths:
/api/v1/api_keys:
get:
tags:
- API Keys
summary: Get API keys
operationId: getApiKeys
description: "Returns a list of API keys.\n\n
\n read:api_keys\n
"
parameters:
- name: page_size
in: query
description: Number of results per page. Defaults to 50 if parameter not sent.
schema:
type: integer
- name: starting_after
in: query
description: The ID of the API key to start after.
schema:
type: string
- name: key_type
in: query
description: Filter by API key type (organization or user).
schema:
type: string
- name: status
in: query
description: Filter by API key status (active, inactive, revoked).
schema:
type: string
- name: user_id
in: query
description: Filter by user ID to get API keys associated with a specific user.
schema:
type: string
- name: org_code
in: query
description: Filter by organization code to get API keys associated with a specific organization.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
post:
tags:
- API Keys
summary: Create API key
operationId: createApiKey
description: "Create a new API key.\n\n\n create:api_keys\n
"
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/api_keys/{key_id}:
get:
tags:
- API Keys
summary: Get API key
operationId: getApiKey
description: "Retrieve API key details by ID.\n\n\n read:api_keys\n
"
parameters:
- name: key_id
in: path
required: true
description: The ID of the API key.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
put:
tags:
- API Keys
summary: Rotate API key
operationId: rotateApiKey
description: "Rotate an API key to generate a new key while maintaining the same permissions and\
\ associations.\n\n\n update:api_keys\n
"
parameters:
- name: key_id
in: path
required: true
description: The ID of the API key to rotate.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
delete:
tags:
- API Keys
summary: Delete API key
operationId: deleteApiKey
description: "Delete an API key.\n\n\n delete:api_keys\n
"
parameters:
- name: key_id
in: path
required: true
description: The ID of the API key.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/api_keys/verify:
post:
tags:
- API Keys
summary: Verify API key
operationId: verifyApiKey
description: Verify an API key (public endpoint, no authentication required).
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/apis:
get:
tags:
- APIs
summary: Get APIs
operationId: getAPIs
description: "Returns a list of your APIs. The APIs are returned sorted by name.\n\n\n read:apis\n\
"
parameters:
- name: expand
in: query
description: 'Additional data to include in the response. Allowed value: "scopes".'
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
post:
tags:
- APIs
summary: Create API
operationId: addAPIs
description: "Register a new API. For more information read [Register and manage APIs](https://docs.kinde.com/developer-tools/your-apis/register-manage-apis/).\n\
\n\n create:apis\n
"
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/apis/{api_id}:
get:
tags:
- APIs
summary: Get API
operationId: getAPI
description: "Retrieve API details by ID.\n\n\n read:apis\n
"
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
delete:
tags:
- APIs
summary: Delete API
operationId: deleteAPI
description: "Delete an API you previously created.\n\n\n delete:apis\n
"
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/apis/{api_id}/scopes:
get:
tags:
- APIs
summary: Get API scopes
operationId: getAPIScopes
description: "Retrieve API scopes by API ID.\n\n\n read:api_scopes\n
"
parameters:
- name: api_id
in: path
required: true
description: API ID
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
post:
tags:
- APIs
summary: Create API scope
operationId: addAPIScope
description: "Create a new API scope.\n\n\n create:api_scopes\n
"
parameters:
- name: api_id
in: path
required: true
description: API ID
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/apis/{api_id}/scopes/{scope_id}:
get:
tags:
- APIs
summary: Get API scope
operationId: getAPIScope
description: "Retrieve API scope by API ID.\n\n\n read:api_scopes\n
"
parameters:
- name: api_id
in: path
required: true
description: API ID
schema:
type: string
- name: scope_id
in: path
required: true
description: Scope ID
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
patch:
tags:
- APIs
summary: Update API scope
operationId: updateAPIScope
description: "Update an API scope.\n\n\n update:api_scopes\n
"
parameters:
- name: api_id
in: path
required: true
description: API ID
schema:
type: string
- name: scope_id
in: path
required: true
description: Scope ID
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
delete:
tags:
- APIs
summary: Delete API scope
operationId: deleteAPIScope
description: "Delete an API scope you previously created.\n\n\n delete:apis_scopes\n\
"
parameters:
- name: api_id
in: path
required: true
description: API ID
schema:
type: string
- name: scope_id
in: path
required: true
description: Scope ID
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/apis/{api_id}/applications:
patch:
tags:
- APIs
summary: Authorize API applications
operationId: updateAPIApplications
description: "Authorize applications to be allowed to request access tokens for an API\n\n\n\
\ update:apis\n
"
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/apis/{api_id}/applications/{application_id}/scopes/{scope_id}:
post:
tags:
- APIs
summary: Add scope to API application
operationId: addAPIApplicationScope
description: "Add a scope to an API application.\n\n\n create:api_application_scopes\n\
"
parameters:
- name: api_id
in: path
required: true
description: API ID
schema:
type: string
- name: application_id
in: path
required: true
description: Application ID
schema:
type: string
- name: scope_id
in: path
required: true
description: Scope ID
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
delete:
tags:
- APIs
summary: Delete API application scope
operationId: deleteAPIApplicationScope
description: "Delete an API application scope you previously created.\n\n\n delete:apis_application_scopes\n\
"
parameters:
- name: api_id
in: path
required: true
description: API ID
schema:
type: string
- name: application_id
in: path
required: true
description: Application ID
schema:
type: string
- name: scope_id
in: path
required: true
description: Scope ID
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/applications:
get:
tags:
- Applications
summary: Get applications
operationId: getApplications
description: "Get a list of applications / clients.\n\n\n read:applications\n\
"
parameters:
- name: sort
in: query
description: Field and order to sort the result by.
schema:
type: string
- name: page_size
in: query
description: Number of results per page. Defaults to 10 if parameter not sent.
schema:
type: integer
- name: next_token
in: query
description: A string to get the next page of results if there are more results.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
post:
tags:
- Applications
summary: Create application
operationId: createApplication
description: "Create a new client.\n\n\n create:applications\n
"
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/applications/{application_id}:
get:
tags:
- Applications
summary: Get application
operationId: getApplication
description: "Gets an application given the application's ID.\n\n\n read:applications\n\
"
parameters:
- name: application_id
in: path
required: true
description: The identifier for the application.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
patch:
tags:
- Applications
summary: Update Application
operationId: updateApplication
description: "Updates a client's settings. For more information, read [Applications in Kinde](https://docs.kinde.com/build/applications/about-applications)\n\
\n\n update:applications\n
"
parameters:
- name: application_id
in: path
required: true
description: The identifier for the application.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
delete:
tags:
- Applications
summary: Delete application
operationId: deleteApplication
description: "Delete a client / application.\n\n\n delete:applications\n
"
parameters:
- name: application_id
in: path
required: true
description: The identifier for the application.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/applications/{application_id}/connections:
get:
tags:
- Applications
summary: Get connections
operationId: GetApplicationConnections
description: "Gets all connections for an application.\n\n\n read:application_connections\n\
"
parameters:
- name: application_id
in: path
required: true
description: The identifier/client ID for the application.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/applications/{application_id}/connections/{connection_id}:
post:
tags:
- Applications
summary: Enable connection
operationId: EnableConnection
description: "Enable an auth connection for an application.\n\n\n create:application_connections\n\
"
parameters:
- name: application_id
in: path
required: true
description: The identifier/client ID for the application.
schema:
type: string
- name: connection_id
in: path
required: true
description: The identifier for the connection.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
delete:
tags:
- Applications
summary: Remove connection
operationId: RemoveConnection
description: "Turn off an auth connection for an application\n\n\n delete:application_connections\n\
"
parameters:
- name: application_id
in: path
required: true
description: The identifier/client ID for the application.
schema:
type: string
- name: connection_id
in: path
required: true
description: The identifier for the connection.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/applications/{application_id}/properties:
get:
tags:
- Applications
summary: Get property values
operationId: getApplicationPropertyValues
description: "Gets properties for an application by client ID.\n\n\n read:application_properties\n\
"
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/applications/{application_id}/properties/{property_key}:
put:
tags:
- Applications
summary: Update property
operationId: updateApplicationsProperty
description: "Update application property value.\n\n\n update:application_properties\n\
"
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/applications/{application_id}/tokens:
patch:
tags:
- Applications
summary: Update application tokens
operationId: updateApplicationTokens
description: "Configure tokens for an application.\n \n update:application_tokens\n\
\
"
parameters:
- name: application_id
in: path
required: true
description: The identifier/client ID for the application.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/billing/entitlements:
get:
tags:
- Billing Entitlements
summary: Get billing entitlements
operationId: getBillingEntitlements
description: "Returns all the entitlements a billing customer currently has access to\n\n\n\
\ read:billing_entitlements\n
"
parameters:
- name: page_size
in: query
description: Number of results per page. Defaults to 10 if parameter not sent.
schema:
type: integer
- name: starting_after
in: query
description: The ID of the billing entitlement to start after.
schema:
type: string
- name: ending_before
in: query
description: The ID of the billing entitlement to end before.
schema:
type: string
- name: customer_id
in: query
required: true
description: The ID of the billing customer to retrieve entitlements for
schema:
type: string
- name: max_value
in: query
description: When the maximum limit of an entitlement is null, this value is returned as the maximum
limit
schema:
type: string
- name: expand
in: query
description: 'Additional plan data to include in the response. Allowed value: "plans".'
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/billing/agreements:
get:
tags:
- Billing Agreements
summary: Get billing agreements
operationId: getBillingAgreements
description: "Returns all the agreements a billing customer currently has access to\n\n\n \
\ read:billing_agreements\n
"
parameters:
- name: page_size
in: query
description: Number of results per page. Defaults to 10 if parameter not sent.
schema:
type: integer
- name: starting_after
in: query
description: The ID of the billing agreement to start after.
schema:
type: string
- name: ending_before
in: query
description: The ID of the billing agreement to end before.
schema:
type: string
- name: customer_id
in: query
required: true
description: The ID of the billing customer to retrieve agreements for
schema:
type: string
- name: feature_code
in: query
description: The feature code to filter by agreements only containing that feature
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
post:
tags:
- Billing Agreements
summary: Create billing agreement
operationId: createBillingAgreement
description: "Creates a new billing agreement based on the plan code passed, and cancels the customer's\
\ existing agreements\n\n\n create:billing_agreements\n
"
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/billing/meter_usage:
post:
tags:
- Billing Meter Usage
summary: Create meter usage record
operationId: createMeterUsageRecord
description: "Create a new meter usage record\n\n\n create:meter_usage\n
"
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/business:
get:
tags:
- Business
summary: Get business
operationId: getBusiness
description: "Get your business details.\n\n\n read:businesses\n
"
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
patch:
tags:
- Business
summary: Update business
operationId: updateBusiness
description: "Update your business details.\n\n\n update:businesses\n
"
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/industries:
get:
tags:
- Industries
summary: Get industries
operationId: getIndustries
description: "Get a list of industries and associated industry keys.\n\n\n read:industries\n\
"
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/timezones:
get:
tags:
- Timezones
summary: Get timezones
operationId: getTimezones
description: "Get a list of timezones and associated timezone keys.\n\n\n read:timezones\n\
"
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/applications/{app_id}/auth_redirect_urls:
get:
tags:
- Callbacks
summary: List Callback URLs
operationId: getCallbackURLs
description: "Returns an application's redirect callback URLs.\n\n\n read:applications_redirect_uris\n\
"
parameters:
- name: app_id
in: path
required: true
description: The identifier for the application.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
post:
tags:
- Callbacks
summary: Add Redirect Callback URLs
operationId: addRedirectCallbackURLs
description: "Add additional redirect callback URLs.\n\n\n create:applications_redirect_uris\n\
"
parameters:
- name: app_id
in: path
required: true
description: The identifier for the application.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
put:
tags:
- Callbacks
summary: Replace Redirect Callback URLs
operationId: replaceRedirectCallbackURLs
description: "Replace all redirect callback URLs.\n\n\n update:applications_redirect_uris\n\
"
parameters:
- name: app_id
in: path
required: true
description: The identifier for the application.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
delete:
tags:
- Callbacks
summary: Delete Callback URLs
operationId: deleteCallbackURLs
description: "Delete callback URLs.\n\n\n delete:applications_redirect_uris\n\
"
parameters:
- name: app_id
in: path
required: true
description: The identifier for the application.
schema:
type: string
- name: urls
in: query
required: true
description: Urls to delete, comma separated and url encoded.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/applications/{app_id}/auth_logout_urls:
get:
tags:
- Callbacks
summary: List logout URLs
operationId: getLogoutURLs
description: "Returns an application's logout redirect URLs.\n\n\n read:application_logout_uris\n\
"
parameters:
- name: app_id
in: path
required: true
description: The identifier for the application.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
post:
tags:
- Callbacks
summary: Add logout redirect URLs
operationId: addLogoutRedirectURLs
description: "Add additional logout redirect URLs.\n\n\n create:application_logout_uris\n\
"
parameters:
- name: app_id
in: path
required: true
description: The identifier for the application.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
put:
tags:
- Callbacks
summary: Replace logout redirect URls
operationId: replaceLogoutRedirectURLs
description: "Replace all logout redirect URLs.\n\n\n update:application_logout_uris\n\
"
parameters:
- name: app_id
in: path
required: true
description: The identifier for the application.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
delete:
tags:
- Callbacks
summary: Delete Logout URLs
operationId: deleteLogoutURLs
description: "Delete logout URLs.\n\n\n delete:application_logout_uris\n
"
parameters:
- name: app_id
in: path
required: true
description: The identifier for the application.
schema:
type: string
- name: urls
in: query
required: true
description: Urls to delete, comma separated and url encoded.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/connected_apps/auth_url:
get:
tags:
- Connected Apps
summary: Get Connected App URL
operationId: GetConnectedAppAuthUrl
description: "Get a URL that authenticates and authorizes a user to a third-party connected app.\n\
\n\n read:connected_apps\n
"
parameters:
- name: key_code_ref
in: query
required: true
description: The unique key code reference of the connected app to authenticate against.
schema:
type: string
- name: user_id
in: query
description: The id of the user that needs to authenticate to the third-party connected app.
schema:
type: string
- name: org_code
in: query
description: The code of the Kinde organization that needs to authenticate to the third-party
connected app.
schema:
type: string
- name: override_callback_url
in: query
description: A URL that overrides the default callback URL setup in your connected app configuration
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/connected_apps/token:
get:
tags:
- Connected Apps
summary: Get Connected App Token
operationId: GetConnectedAppToken
description: "Get an access token that can be used to call the third-party provider linked to the\
\ connected app.\n\n\n read:connected_apps\n
"
parameters:
- name: session_id
in: query
required: true
description: The unique sesssion id representing the login session of a user.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/connected_apps/revoke:
post:
tags:
- Connected Apps
summary: Revoke Connected App Token
operationId: RevokeConnectedAppToken
description: "Revoke the tokens linked to the connected app session.\n\n\n create:connected_apps\n\
"
parameters:
- name: session_id
in: query
required: true
description: The unique sesssion id representing the login session of a user.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/connections:
get:
tags:
- Connections
summary: Get connections
operationId: GetConnections
description: "Returns a list of authentication connections. Optionally you can filter this by a\
\ home realm domain.\n\n\n read:connections\n
"
parameters:
- name: page_size
in: query
description: Number of results per page. Defaults to 10 if parameter not sent.
schema:
type: integer
- name: home_realm_domain
in: query
description: Filter the results by the home realm domain.
schema:
type: string
- name: starting_after
in: query
description: The ID of the connection to start after.
schema:
type: string
- name: ending_before
in: query
description: The ID of the connection to end before.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
post:
tags:
- Connections
summary: Create Connection
operationId: CreateConnection
description: "Create Connection.\n\n\n create:connections\n
"
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/connections/{connection_id}:
get:
tags:
- Connections
summary: Get Connection
operationId: GetConnection
description: "Get Connection.\n\n\n read:connections\n
"
parameters:
- name: connection_id
in: path
required: true
description: The unique identifier for the connection.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
put:
tags:
- Connections
summary: Replace Connection
operationId: ReplaceConnection
description: "Replace Connection Config.\n\n\n update:connections\n
"
parameters:
- name: connection_id
in: path
required: true
description: The unique identifier for the connection.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
patch:
tags:
- Connections
summary: Update Connection
operationId: UpdateConnection
description: "Update Connection.\n\n\n update:connections\n
"
parameters:
- name: connection_id
in: path
required: true
description: The unique identifier for the connection.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
delete:
tags:
- Connections
summary: Delete Connection
operationId: deleteConnection
description: "Delete connection.\n\n\n delete:connections\n
"
parameters:
- name: connection_id
in: path
required: true
description: The identifier for the connection.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/directories:
get:
tags:
- Directories
summary: Get SCIM directories
operationId: getDirectories
description: "Returns a list of SCIM directories for your organization.\n\n\n read:scim_directories\n\
"
parameters:
- name: page_size
in: query
description: Number of results per page. Defaults to 50 if parameter not sent.
schema:
type: integer
- name: starting_after
in: query
description: The ID of the directory to start after.
schema:
type: string
- name: organization_code
in: query
description: Filter by organization code to get directories for a specific organization.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
post:
tags:
- Directories
summary: Create SCIM directory
operationId: createDirectory
description: "Create a new SCIM directory for user and group synchronization.\n\n\n create:scim_directories\n\
"
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/directories/{directory_id}:
get:
tags:
- Directories
summary: Get SCIM directory
operationId: getDirectory
description: "Retrieve SCIM directory details by ID.\n\n\n read:scim_directories\n\
"
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
patch:
tags:
- Directories
summary: Update SCIM directory
operationId: updateDirectory
description: "Update SCIM directory configuration.\n\n\n update:scim_directories\n\
"
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
delete:
tags:
- Directories
summary: Delete SCIM directory
operationId: deleteDirectory
description: "Delete a SCIM directory and all associated data.\n\n\n delete:scim_directories\n\
"
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
parameters:
- name: directory_id
in: path
required: true
schema:
type: string
/api/v1/environment:
get:
tags:
- Environments
summary: Get environment
operationId: getEnvironment
description: "Gets the current environment.\n\n\n read:environments\n
"
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/environment/feature_flags:
get:
tags:
- Environments
summary: List Environment Feature Flags
operationId: GetEnvironementFeatureFlags
description: "Get environment feature flags.\n\n\n read:environment_feature_flags\n\
"
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
delete:
tags:
- Environments
summary: Delete Environment Feature Flag Overrides
operationId: DeleteEnvironementFeatureFlagOverrides
description: "Delete all environment feature flag overrides.\n\n\n delete:environment_feature_flags\n\
"
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/environment/feature_flags/{feature_flag_key}:
patch:
tags:
- Environments
summary: Update Environment Feature Flag Override
operationId: UpdateEnvironementFeatureFlagOverride
description: "Update environment feature flag override.\n\n\n update:environment_feature_flags\n\
"
parameters:
- name: feature_flag_key
in: path
required: true
description: The identifier for the feature flag.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
delete:
tags:
- Environments
summary: Delete Environment Feature Flag Override
operationId: DeleteEnvironementFeatureFlagOverride
description: "Delete environment feature flag override.\n\n\n delete:environment_feature_flags\n\
"
parameters:
- name: feature_flag_key
in: path
required: true
description: The identifier for the feature flag.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/environment/logos:
get:
tags:
- Environments
summary: Read logo details
operationId: ReadLogo
description: "Read environment logo details\n\n\n read:environments\n
"
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/environment/logos/{type}:
put:
tags:
- Environments
summary: Add logo
operationId: AddLogo
description: "Add environment logo\n\n\n update:environments\n
"
parameters:
- name: type
in: path
required: true
description: The type of logo to add.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
delete:
tags:
- Environments
summary: Delete logo
operationId: DeleteLogo
description: "Delete environment logo\n\n\n update:environments\n
"
parameters:
- name: type
in: path
required: true
description: The type of logo to delete.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/environment_variables:
get:
tags:
- Environment variables
summary: Get environment variables
operationId: getEnvironmentVariables
description: "Get environment variables. This feature is in beta and admin UI is not yet available.\n\
\n\n read:environment_variables\n
"
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
post:
tags:
- Environment variables
summary: Create environment variable
operationId: createEnvironmentVariable
description: "Create a new environment variable. This feature is in beta and admin UI is not yet\
\ available.\n\n\n create:environment_variables\n
"
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/environment_variables/{variable_id}:
get:
tags:
- Environment variables
summary: Get environment variable
operationId: getEnvironmentVariable
description: "Retrieve environment variable details by ID. This feature is in beta and admin UI\
\ is not yet available.\n\n\n read:environment_variables\n
"
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
patch:
tags:
- Environment variables
summary: Update environment variable
operationId: updateEnvironmentVariable
description: "Update an environment variable you previously created. This feature is in beta and\
\ admin UI is not yet available.\n\n\n update:environment_variables\n
"
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
delete:
tags:
- Environment variables
summary: Delete environment variable
operationId: deleteEnvironmentVariable
description: "Delete an environment variable you previously created. This feature is in beta and\
\ admin UI is not yet available.\n\n\n delete:environment_variables\n
"
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/feature_flags:
post:
tags:
- Feature Flags
summary: Create Feature Flag
operationId: CreateFeatureFlag
description: "Create feature flag.\n\n\n create:feature_flags\n
"
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/feature_flags/{feature_flag_key}:
put:
tags:
- Feature Flags
summary: Replace Feature Flag
operationId: UpdateFeatureFlag
description: "Update feature flag.\n\n\n update:feature_flags\n
"
parameters:
- name: feature_flag_key
in: path
required: true
description: The key identifier for the feature flag.
schema:
type: string
- name: name
in: query
required: true
description: The name of the flag.
schema:
type: string
- name: description
in: query
required: true
description: Description of the flag purpose.
schema:
type: string
- name: type
in: query
required: true
description: The variable type
schema:
type: string
- name: allow_override_level
in: query
required: true
description: Allow the flag to be overridden at a different level.
schema:
type: string
- name: default_value
in: query
required: true
description: Default value for the flag used by environments and organizations.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
delete:
tags:
- Feature Flags
summary: Delete Feature Flag
operationId: DeleteFeatureFlag
description: "Delete feature flag\n\n\n delete:feature_flags\n
"
parameters:
- name: feature_flag_key
in: path
required: true
description: The identifier for the feature flag.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/identities/{identity_id}:
get:
tags:
- Identities
summary: Get identity
operationId: GetIdentity
description: "Returns an identity by ID\n\n\n read:identities\n
"
parameters:
- name: identity_id
in: path
required: true
description: The unique identifier for the identity.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
patch:
tags:
- Identities
summary: Update identity
operationId: UpdateIdentity
description: "Update identity by ID.\n\n\n update:identities\n
"
parameters:
- name: identity_id
in: path
required: true
description: The unique identifier for the identity.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
delete:
tags:
- Identities
summary: Delete identity
operationId: DeleteIdentity
description: "Delete identity by ID.\n\n\n delete:identities\n
"
parameters:
- name: identity_id
in: path
required: true
description: The unique identifier for the identity.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/organization/{org_code}/invites:
get:
tags:
- Organizations
summary: Get organization invites
operationId: getOrganizationInvites
description: "Get a list of invitations for an organization. By default, only pending (non-revoked,\
\ non-accepted) invitations are returned.\n\n\n read:organization_invites\n\
"
parameters:
- name: org_code
in: path
required: true
description: The organization's code.
schema:
type: string
- name: sort
in: query
description: Field and order to sort the result by.
schema:
type: string
- name: page_size
in: query
description: Number of results per page. Defaults to 10 if parameter not sent.
schema:
type: integer
- name: next_token
in: query
description: A string to get the next page of results if there are more results.
schema:
type: string
- name: include_revoked
in: query
description: Include revoked invitations in the results.
schema:
type: boolean
- name: include_accepted
in: query
description: Include accepted invitations in the results.
schema:
type: boolean
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
post:
tags:
- Organizations
summary: Create organization invite
operationId: createOrganizationInvite
description: 'Create a new invitation for an organization. An invitation email will be sent to the
provided email address if `send_email` is set to `true`.
Invitations cannot be created for organizations that are managed by directory sync; user and role
changes for those organizations must be made in the upstream identity provider.
Roles that require an explicit assignment permission cannot be granted to an invitee unless the
caller (or the user the token represents) holds that permission. On Kinde-hosted p'
parameters:
- name: org_code
in: path
required: true
description: The organization's code.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/organization/{org_code}/invites/{invite_code}:
get:
tags:
- Organizations
summary: Get organization invite
operationId: getOrganizationInvite
description: "Get details of a specific invitation by its code.\n\n\n read:organization_invites\n\
"
parameters:
- name: org_code
in: path
required: true
description: The organization's code.
schema:
type: string
- name: invite_code
in: path
required: true
description: The invitation's code.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
delete:
tags:
- Organizations
summary: Delete organization invite
operationId: deleteOrganizationInvite
description: "Revoke (delete) an invitation. This will mark the invitation as revoked and prevent\
\ it from being accepted.\n\n\n delete:organization_invites\n
"
parameters:
- name: org_code
in: path
required: true
description: The organization's code.
schema:
type: string
- name: invite_code
in: path
required: true
description: The invitation's code.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/mfa:
put:
tags:
- MFA
summary: Replace MFA Configuration
operationId: ReplaceMFA
description: "Replace MFA Configuration.\n\n\n update:mfa\n
"
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/organization:
get:
tags:
- Organizations
summary: Get organization
operationId: getOrganization
description: "Retrieve organization details by code.\n\n\n read:organizations\n\
"
parameters:
- name: code
in: query
required: true
description: The organization's code.
schema:
type: string
- name: expand
in: query
description: 'Additional data to include in the response. Allowed value: "billing".'
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
post:
tags:
- Organizations
summary: Create organization
operationId: createOrganization
description: "Create a new organization. To learn more read about [multi tenancy using organizations](https://docs.kinde.com/build/organizations/multi-tenancy-using-organizations/)\n\
\n\n create:organizations\n
"
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/organizations:
get:
tags:
- Organizations
summary: Get organizations
operationId: getOrganizations
description: "Get a list of organizations.\n\n\n read:organizations\n
"
parameters:
- name: sort
in: query
description: Field and order to sort the result by.
schema:
type: string
- name: page_size
in: query
description: Number of results per page. Defaults to 10 if parameter not sent.
schema:
type: integer
- name: next_token
in: query
description: A string to get the next page of results if there are more results.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/organization/{org_code}:
patch:
tags:
- Organizations
summary: Update Organization
operationId: updateOrganization
description: "Update an organization.\n\n\n update:organizations\n
"
parameters:
- name: org_code
in: path
required: true
description: The identifier for the organization.
schema:
type: string
- name: expand
in: query
description: 'Additional data to include in the response. Allowed value: "billing".'
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
delete:
tags:
- Organizations
summary: Delete Organization
operationId: deleteOrganization
description: "Delete an organization.\n\n\n delete:organizations\n
"
parameters:
- name: org_code
in: path
required: true
description: The identifier for the organization.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/organizations/{org_code}/users:
get:
tags:
- Organizations
summary: Get organization users
operationId: GetOrganizationUsers
description: "Get user details for all members of an organization.\n\n\n read:organization_users\n\
"
parameters:
- name: sort
in: query
description: Field and order to sort the result by.
schema:
type: string
- name: page_size
in: query
description: Number of results per page. Defaults to 10 if parameter not sent.
schema:
type: integer
- name: next_token
in: query
description: A string to get the next page of results if there are more results.
schema:
type: string
- name: org_code
in: path
required: true
description: The organization's code.
schema:
type: string
- name: permissions
in: query
description: Filter by user permissions comma separated (where all match)
schema:
type: string
- name: roles
in: query
description: Filter by user roles comma separated (where all match)
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
post:
tags:
- Organizations
summary: Add Organization Users
operationId: AddOrganizationUsers
description: "Add existing users to an organization.\n\n\n create:organization_users\n\
"
parameters:
- name: org_code
in: path
required: true
description: The organization's code.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
patch:
tags:
- Organizations
summary: Update Organization Users
operationId: UpdateOrganizationUsers
description: "Update users that belong to an organization.\n\n\n update:organization_users\n\
"
parameters:
- name: org_code
in: path
required: true
description: The organization's code.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/organizations/{org_code}/users/{user_id}/roles:
get:
tags:
- Organizations
summary: List Organization User Roles
operationId: GetOrganizationUserRoles
description: "Get roles for an organization user.\n\n\n read:organization_user_roles\n\
"
parameters:
- name: org_code
in: path
required: true
description: The organization's code.
schema:
type: string
- name: user_id
in: path
required: true
description: The user's id.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
post:
tags:
- Organizations
summary: Add Organization User Role
operationId: CreateOrganizationUserRole
description: "Add role to an organization user.\n\n\n create:organization_user_roles\n\
"
parameters:
- name: org_code
in: path
required: true
description: The organization's code.
schema:
type: string
- name: user_id
in: path
required: true
description: The user's id.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/organizations/{org_code}/users/{user_id}/roles/{role_id}:
delete:
tags:
- Organizations
summary: Delete Organization User Role
operationId: DeleteOrganizationUserRole
description: "Delete role for an organization user.\n\n\n delete:organization_user_roles\n\
"
parameters:
- name: org_code
in: path
required: true
description: The organization's code.
schema:
type: string
- name: user_id
in: path
required: true
description: The user's id.
schema:
type: string
- name: role_id
in: path
required: true
description: The role id.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/organizations/{org_code}/roles/{role_id}/users:
get:
tags:
- Organizations
summary: List organization role users
operationId: GetOrganizationRoleUsers
description: "Get users that have a given role within a specific organization.\n\n\n read:organization_user_roles\n\
"
parameters:
- name: org_code
in: path
required: true
description: The organization's code.
schema:
type: string
- name: role_id
in: path
required: true
description: The role's public id.
schema:
type: string
- name: page_size
in: query
description: Number of results per page. Defaults to 10 if parameter not sent.
schema:
type: integer
- name: next_token
in: query
description: A string to get the next page of results if there are more results.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/organizations/{org_code}/users/{user_id}/permissions:
get:
tags:
- Organizations
summary: List Organization User Permissions
operationId: GetOrganizationUserPermissions
description: "Get permissions for an organization user.\n\n\n read:organization_user_permissions\n\
"
parameters:
- name: org_code
in: path
required: true
description: The organization's code.
schema:
type: string
- name: user_id
in: path
required: true
description: The user's id.
schema:
type: string
- name: expand
in: query
description: 'Additional data to include in the response. Allowed value: "roles".'
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
post:
tags:
- Organizations
summary: Add Organization User Permission
operationId: CreateOrganizationUserPermission
description: "Add permission to an organization user.\n\n\n create:organization_user_permissions\n\
"
parameters:
- name: org_code
in: path
required: true
description: The organization's code.
schema:
type: string
- name: user_id
in: path
required: true
description: The user's id.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/organizations/{org_code}/users/{user_id}/permissions/{permission_id}:
delete:
tags:
- Organizations
summary: Delete Organization User Permission
operationId: DeleteOrganizationUserPermission
description: "Delete permission for an organization user.\n\n\n delete:organization_user_permissions\n\
"
parameters:
- name: org_code
in: path
required: true
description: The organization's code.
schema:
type: string
- name: user_id
in: path
required: true
description: The user's id.
schema:
type: string
- name: permission_id
in: path
required: true
description: The permission id.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/organizations/{org_code}/users/{user_id}:
delete:
tags:
- Organizations
summary: Remove Organization User
operationId: RemoveOrganizationUser
description: "Remove user from an organization.\n\n\n delete:organization_users\n\
"
parameters:
- name: org_code
in: path
required: true
description: The organization's code.
schema:
type: string
- name: user_id
in: path
required: true
description: The user's id.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/organizations/{org_code}/users/{user_id}/apis/{api_id}/scopes/{scope_id}:
post:
tags:
- Organizations
summary: Add scope to organization user api
operationId: addOrganizationUserAPIScope
description: "Add a scope to an organization user api.\n\n\n create:organization_user_api_scopes\n\
"
parameters:
- name: org_code
in: path
required: true
description: The identifier for the organization.
schema:
type: string
- name: user_id
in: path
required: true
description: User ID
schema:
type: string
- name: api_id
in: path
required: true
description: API ID
schema:
type: string
- name: scope_id
in: path
required: true
description: Scope ID
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
delete:
tags:
- Organizations
summary: Delete scope from organization user API
operationId: deleteOrganizationUserAPIScope
description: "Delete a scope from an organization user api you previously created.\n\n\n delete:organization_user_api_scopes\n\
"
parameters:
- name: org_code
in: path
required: true
description: The identifier for the organization.
schema:
type: string
- name: user_id
in: path
required: true
description: User ID
schema:
type: string
- name: api_id
in: path
required: true
description: API ID
schema:
type: string
- name: scope_id
in: path
required: true
description: Scope ID
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/organizations/{org_code}/users/{user_id}/mfa:
get:
tags:
- Organizations
summary: Get an organization user's MFA configuration
operationId: GetOrgUserMFA
description: "Get an organization user\u2019s MFA configuration.\n\n\n read:organization_user_mfa\n\
"
parameters:
- name: org_code
in: path
required: true
description: The identifier for the organization.
schema:
type: string
- name: user_id
in: path
required: true
description: The identifier for the user
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
delete:
tags:
- Organizations
summary: Reset all organization MFA for a user
operationId: ResetOrgUserMFAAll
description: "Reset all organization MFA factors for a user.\n\n\n delete:organization_user_mfa\n\
"
parameters:
- name: org_code
in: path
required: true
description: The identifier for the organization.
schema:
type: string
- name: user_id
in: path
required: true
description: The identifier for the user
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/organizations/{org_code}/users/{user_id}/mfa/{factor_id}:
delete:
tags:
- Organizations
summary: Reset specific organization MFA for a user
operationId: ResetOrgUserMFA
description: "Reset a specific organization MFA factor for a user.\n\n\n delete:organization_user_mfa\n\
"
parameters:
- name: org_code
in: path
required: true
description: The identifier for the organization.
schema:
type: string
- name: user_id
in: path
required: true
description: The identifier for the user
schema:
type: string
- name: factor_id
in: path
required: true
description: The identifier for the MFA factor
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/organizations/{org_code}/feature_flags:
get:
tags:
- Organizations
summary: List Organization Feature Flags
operationId: GetOrganizationFeatureFlags
description: "Get all organization feature flags.\n\n\n read:organization_feature_flags\n\
"
parameters:
- name: org_code
in: path
required: true
description: The identifier for the organization.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
delete:
tags:
- Organizations
summary: Delete Organization Feature Flag Overrides
operationId: DeleteOrganizationFeatureFlagOverrides
description: "Delete all organization feature flag overrides.\n\n\n delete:organization_feature_flags\n\
"
parameters:
- name: org_code
in: path
required: true
description: The identifier for the organization.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/organizations/{org_code}/feature_flags/{feature_flag_key}:
patch:
tags:
- Organizations
summary: Update Organization Feature Flag Override
operationId: UpdateOrganizationFeatureFlagOverride
description: "Update organization feature flag override.\n\n\n update:organization_feature_flags\n\
"
parameters:
- name: org_code
in: path
required: true
description: The identifier for the organization
schema:
type: string
- name: feature_flag_key
in: path
required: true
description: The identifier for the feature flag
schema:
type: string
- name: value
in: query
required: true
description: Override value
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
delete:
tags:
- Organizations
summary: Delete Organization Feature Flag Override
operationId: DeleteOrganizationFeatureFlagOverride
description: "Delete organization feature flag override.\n\n\n delete:organization_feature_flags\n\
"
parameters:
- name: org_code
in: path
required: true
description: The identifier for the organization.
schema:
type: string
- name: feature_flag_key
in: path
required: true
description: The identifier for the feature flag.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/organizations/{org_code}/properties/{property_key}:
put:
tags:
- Organizations
summary: Update Organization Property value
operationId: UpdateOrganizationProperty
description: "Update organization property value.\n\n\n update:organization_properties\n\
"
parameters:
- name: org_code
in: path
required: true
description: The identifier for the organization
schema:
type: string
- name: property_key
in: path
required: true
description: The identifier for the property
schema:
type: string
- name: value
in: query
required: true
description: The new property value
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/organizations/{org_code}/properties:
get:
tags:
- Organizations
summary: Get Organization Property Values
operationId: GetOrganizationPropertyValues
description: "Gets properties for an organization by org code.\n\n\n read:organization_properties\n\
"
parameters:
- name: org_code
in: path
required: true
description: The organization's code.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
patch:
tags:
- Organizations
summary: Update Organization Property values
operationId: UpdateOrganizationProperties
description: "Update organization property values.\n\n\n update:organization_properties\n\
"
parameters:
- name: org_code
in: path
required: true
description: The identifier for the organization
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/organizations/{org_code}/mfa:
put:
tags:
- Organizations
summary: Replace Organization MFA Configuration
operationId: ReplaceOrganizationMFA
description: "Replace Organization MFA Configuration.\n\n\n update:organization_mfa\n\
"
parameters:
- name: org_code
in: path
required: true
description: The identifier for the organization
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/organizations/{org_code}/passkey:
get:
tags:
- Organizations
summary: Get organization passkey settings
operationId: GetOrganizationPasskey
description: "Retrieve passkey settings for an organization, including whether the organization\
\ overrides the environment default.\n\n\n read:organization_passkey\n
"
parameters:
- name: org_code
in: path
required: true
description: The organization's code.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
put:
tags:
- Organizations
summary: Update organization passkey settings
operationId: UpdateOrganizationPasskey
description: "Update passkey settings for an organization. Set `is_override_environment_passkey_settings`\
\ to `false` to revert to the environment default without providing a policy.\n\n\n update:organization_passkey\n\
"
parameters:
- name: org_code
in: path
required: true
description: The organization's code.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/organization/{org_code}/handle:
delete:
tags:
- Organizations
summary: Delete organization handle
operationId: DeleteOrganizationHandle
description: "Delete organization handle\n\n\n delete:organization_handles\n\
"
parameters:
- name: org_code
in: path
required: true
description: The organization's code.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/organizations/{org_code}/logos:
get:
tags:
- Organizations
summary: Read organization logo details
operationId: ReadOrganizationLogo
description: "Read organization logo details\n\n\n read:organizations\n
"
parameters:
- name: org_code
in: path
required: true
description: The organization's code.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/organizations/{org_code}/logos/{type}:
post:
tags:
- Organizations
summary: Add organization logo
operationId: AddOrganizationLogo
description: "Add organization logo\n\n\n update:organizations\n
"
parameters:
- name: org_code
in: path
required: true
description: The organization's code.
schema:
type: string
- name: type
in: path
required: true
description: The type of logo to add.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
delete:
tags:
- Organizations
summary: Delete organization logo
operationId: DeleteOrganizationLogo
description: "Delete organization logo\n\n\n update:organizations\n
"
parameters:
- name: org_code
in: path
required: true
description: The organization's code.
schema:
type: string
- name: type
in: path
required: true
description: The type of logo to delete.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/organizations/{organization_code}/connections:
get:
tags:
- Organizations
summary: Get connections
operationId: GetOrganizationConnections
description: "Gets all connections for an organization.\n\n\n read:organization_connections\n\
"
parameters:
- name: organization_code
in: path
required: true
description: The organization code.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/organizations/{organization_code}/connections/{connection_id}:
post:
tags:
- Organizations
summary: Enable connection
operationId: EnableOrgConnection
description: "Enable an auth connection for an organization.\n\n\n create:organization_connections\n\
"
parameters:
- name: organization_code
in: path
required: true
description: The unique code for the organization.
schema:
type: string
- name: connection_id
in: path
required: true
description: The identifier for the connection.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
delete:
tags:
- Organizations
summary: Remove connection
operationId: RemoveOrgConnection
description: "Turn off an auth connection for an organization\n\n\n delete:organization_connections\n\
"
parameters:
- name: organization_code
in: path
required: true
description: The unique code for the organization.
schema:
type: string
- name: connection_id
in: path
required: true
description: The identifier for the connection.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/organizations/{org_code}/sessions:
patch:
tags:
- Organizations
summary: Update organization session configuration
operationId: UpdateOrganizationSessions
description: "Update the organization's session configuration.\n\n\n update:organizations\n\
"
parameters:
- name: org_code
in: path
required: true
description: The organization's code.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/passkey:
get:
tags:
- Environments
summary: Get environment passkey settings
operationId: GetPasskey
description: "Retrieve passkey policy for the current environment.\n\n\n read:passkey\n\
"
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
put:
tags:
- Environments
summary: Update environment passkey settings
operationId: UpdatePasskey
description: "Set the passkey policy for the current environment. Policies other than `off` require\
\ the `passkeys` entitlement.\n\n\n update:passkey\n
"
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/permissions:
get:
tags:
- Permissions
summary: List Permissions
operationId: GetPermissions
description: "The returned list can be sorted by permission name or permission ID 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:permissions\n
"
parameters:
- name: sort
in: query
description: Field and order to sort the result by.
schema:
type: string
- name: page_size
in: query
description: Number of results per page. Defaults to 10 if parameter not sent.
schema:
type: integer
- name: next_token
in: query
description: A string to get the next page of results if there are more results.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
post:
tags:
- Permissions
summary: Create Permission
operationId: CreatePermission
description: "Create a new permission.\n\n\n create:permissions\n
"
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/permissions/{permission_id}:
patch:
tags:
- Permissions
summary: Update Permission
operationId: UpdatePermissions
description: "Update permission\n\n\n update:permissions\n
"
parameters:
- name: permission_id
in: path
required: true
description: The identifier for the permission.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
delete:
tags:
- Permissions
summary: Delete Permission
operationId: DeletePermission
description: "Delete permission\n\n\n delete:permissions\n
"
parameters:
- name: permission_id
in: path
required: true
description: The identifier for the permission.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/properties:
get:
tags:
- Properties
summary: List properties
operationId: GetProperties
description: "Returns a list of properties\n\n\n read:properties\n
"
parameters:
- name: page_size
in: query
description: Number of results per page. Defaults to 10 if parameter not sent.
schema:
type: integer
- name: starting_after
in: query
description: The ID of the property to start after.
schema:
type: string
- name: ending_before
in: query
description: The ID of the property to end before.
schema:
type: string
- name: context
in: query
description: Filter results by user, organization or application context
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
post:
tags:
- Properties
summary: Create Property
operationId: CreateProperty
description: "Create property.\n\n\n create:properties\n
"
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/properties/{property_id}:
put:
tags:
- Properties
summary: Update Property
operationId: UpdateProperty
description: "Update property.\n\n\n update:properties\n
"
parameters:
- name: property_id
in: path
required: true
description: The unique identifier for the property.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
delete:
tags:
- Properties
summary: Delete Property
operationId: DeleteProperty
description: "Delete property.\n\n\n delete:properties\n
"
parameters:
- name: property_id
in: path
required: true
description: The unique identifier for the property.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/property_categories:
get:
tags:
- Property Categories
summary: List categories
operationId: GetCategories
description: "Returns a list of categories.\n\n\n read:property_categories\n\
"
parameters:
- name: page_size
in: query
description: Number of results per page. Defaults to 10 if parameter not sent.
schema:
type: integer
- name: starting_after
in: query
description: The ID of the category to start after.
schema:
type: string
- name: ending_before
in: query
description: The ID of the category to end before.
schema:
type: string
- name: context
in: query
description: Filter the results by User or Organization context
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
post:
tags:
- Property Categories
summary: Create Category
operationId: CreateCategory
description: "Create category.\n\n\n create:property_categories\n
"
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/property_categories/{category_id}:
put:
tags:
- Property Categories
summary: Update Category
operationId: UpdateCategory
description: "Update category.\n\n\n update:property_categories\n
"
parameters:
- name: category_id
in: path
required: true
description: The unique identifier for the category.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/roles:
get:
tags:
- Roles
summary: List roles
operationId: GetRoles
description: "The returned list can be sorted by role name or role key 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:roles\n
"
parameters:
- name: sort
in: query
description: Field and order to sort the result by.
schema:
type: string
- name: page_size
in: query
description: Number of results per page. Defaults to 10 if parameter not sent.
schema:
type: integer
- name: next_token
in: query
description: A string to get the next page of results if there are more results.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
post:
tags:
- Roles
summary: Create role
operationId: CreateRole
description: "Create role.\n\n\n create:roles\n
"
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/roles/{role_id}:
get:
tags:
- Roles
summary: Get role
operationId: GetRole
description: "Get a role\n\n\n read:roles\n
"
parameters:
- name: role_id
in: path
required: true
description: The identifier for the role.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
patch:
tags:
- Roles
summary: Update role
operationId: UpdateRoles
description: "Update a role\n\n\n update:roles\n
"
parameters:
- name: role_id
in: path
required: true
description: The identifier for the role.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
delete:
tags:
- Roles
summary: Delete role
operationId: DeleteRole
description: "Delete role\n\n\n delete:roles\n
"
parameters:
- name: role_id
in: path
required: true
description: The identifier for the role.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/roles/{role_id}/scopes:
get:
tags:
- Roles
summary: Get role scopes
operationId: GetRoleScopes
description: "Get scopes for a role.\n\n\n read:role_scopes\n
"
parameters:
- name: role_id
in: path
required: true
description: The role id.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
post:
tags:
- Roles
summary: Add role scope
operationId: AddRoleScope
description: "Add scope to role.\n\n\n create:role_scopes\n
"
parameters:
- name: role_id
in: path
required: true
description: The role id.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/roles/{role_id}/scopes/{scope_id}:
delete:
tags:
- Roles
summary: Delete role scope
operationId: DeleteRoleScope
description: "Delete scope from role.\n\n\n delete:role_scopes\n
"
parameters:
- name: role_id
in: path
required: true
description: The role id.
schema:
type: string
- name: scope_id
in: path
required: true
description: The scope id.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/roles/{role_id}/permissions:
get:
tags:
- Roles
summary: Get role permissions
operationId: GetRolePermissions
description: "Get permissions for a role.\n\n\n read:role_permissions\n
"
parameters:
- name: role_id
in: path
required: true
description: The role's public id.
schema:
type: string
- name: sort
in: query
description: Field and order to sort the result by.
schema:
type: string
- name: page_size
in: query
description: Number of results per page. Defaults to 10 if parameter not sent.
schema:
type: integer
- name: next_token
in: query
description: A string to get the next page of results if there are more results.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
patch:
tags:
- Roles
summary: Update role permissions
operationId: UpdateRolePermissions
description: "Update role permissions.\n\n\n update:role_permissions\n
"
parameters:
- name: role_id
in: path
required: true
description: The identifier for the role.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/roles/{role_id}/users:
get:
tags:
- Roles
summary: List role users
operationId: GetRoleUsers
description: "Get users that have a given role, across all organizations. Each user entry\nincludes\
\ the organization codes where they hold that role.\n\n\n read:organization_user_roles\n\
"
parameters:
- name: role_id
in: path
required: true
description: The role's public id.
schema:
type: string
- name: page_size
in: query
description: Number of results per page. Defaults to 10 if parameter not sent.
schema:
type: integer
- name: next_token
in: query
description: A string to get the next page of results if there are more results.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/roles/{role_id}/permissions/{permission_id}:
delete:
tags:
- Roles
summary: Remove role permission
operationId: RemoveRolePermission
description: "Remove a permission from a role.\n\n\n delete:role_permissions\n\
"
parameters:
- name: role_id
in: path
required: true
description: The role's public id.
schema:
type: string
- name: permission_id
in: path
required: true
description: The permission's public id.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/search/users:
get:
tags:
- Search
summary: Search users
operationId: searchUsers
description: "Search for users based on the provided query string. Set query to '*' to filter by\
\ other parameters only.\nThe number of records to return at a time can be controlled using the\
\ `page_size` query string parameter.\n\n\n read:users\n
"
parameters:
- name: page_size
in: query
description: Number of results per page. Defaults to 10 if parameter not sent.
schema:
type: integer
- name: query
in: query
description: Search the users by email or name. Use '*' to search all.
schema:
type: string
- name: api_scopes
in: query
description: Search the users by api scopes.
schema:
type: string
- name: properties
in: query
schema:
type: object
- name: starting_after
in: query
description: The ID of the user to start after.
schema:
type: string
- name: ending_before
in: query
description: The ID of the user to end before.
schema:
type: string
- name: expand
in: query
description: 'Additional data to include in the response. One or more of (comma-separated): "organizations",
"identities", "properties".'
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/subscribers:
get:
tags:
- Subscribers
summary: List Subscribers
operationId: GetSubscribers
description: "The returned list can be sorted by full name or email address\nin ascending or descending\
\ order. The number of records to return at a time can also be controlled using the `page_size`\
\ query\nstring parameter.\n\n\n read:subscribers\n
"
parameters:
- name: sort
in: query
description: Field and order to sort the result by.
schema:
type: string
- name: page_size
in: query
description: Number of results per page. Defaults to 10 if parameter not sent.
schema:
type: integer
- name: next_token
in: query
description: A string to get the next page of results if there are more results.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
post:
tags:
- Subscribers
summary: Create Subscriber
operationId: CreateSubscriber
description: "Create subscriber.\n\n\n create:subscribers\n
"
parameters:
- name: first_name
in: query
required: true
description: Subscriber's first name.
schema:
type: string
- name: last_name
in: query
required: true
description: Subscriber's last name.
schema:
type: string
- name: email
in: query
required: true
description: The email address of the subscriber.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/subscribers/{subscriber_id}:
get:
tags:
- Subscribers
summary: Get Subscriber
operationId: GetSubscriber
description: "Retrieve a subscriber record.\n\n\n read:subscribers\n
"
parameters:
- name: subscriber_id
in: path
required: true
description: The subscriber's id.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/users:
get:
tags:
- Users
summary: Get users
operationId: getUsers
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
"
parameters:
- name: page_size
in: query
description: Number of results per page. Defaults to 10 if parameter not sent.
schema:
type: integer
- 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
- name: next_token
in: query
description: A string to get the next page of results if there are more results.
schema:
type: string
- name: email
in: query
description: Filter the results by email address. The query string should be comma separated and
url encoded.
schema:
type: string
- name: username
in: query
description: Filter the results by username. The query string should be comma separated and url
encoded.
schema:
type: string
- name: phone
in: query
description: Filter the results by phone. The query string should be comma separated and url encoded.
schema:
type: string
- name: expand
in: query
description: 'Additional data to include in the response. One or more of (comma-separated): "organizations",
"identities", "billing".'
schema:
type: string
- name: has_organization
in: query
description: Filter the results by if the user has at least one organization assigned.
schema:
type: boolean
- 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.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/users/{user_id}/refresh_claims:
post:
tags:
- Users
summary: Refresh User Claims and Invalidate Cache
operationId: refreshUserClaims
description: "Refreshes the user's claims and invalidates the current cache.\n\n\n update:user_refresh_claims\n\
"
parameters:
- name: user_id
in: path
required: true
description: The id of the user whose claims needs to be updated.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/user:
get:
tags:
- Users
summary: Get user
operationId: getUserData
description: "Retrieve a user record.\n\n\n read:users\n
"
parameters:
- name: id
in: query
required: true
description: The user's id.
schema:
type: string
- name: expand
in: query
description: 'Additional data to include in the response. One or more of (comma-separated): "organizations",
"identities", "billing".'
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
post:
tags:
- Users
summary: Create user
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
"
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
patch:
tags:
- Users
summary: Update user
operationId: updateUser
description: "Update a user record.\n\n\n update:users\n
"
parameters:
- name: id
in: query
required: true
description: The user's id.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
delete:
tags:
- Users
summary: Delete user
operationId: deleteUser
description: "Delete a user record.\n\n\n delete:users\n
"
parameters:
- name: id
in: query
required: true
description: The user's id.
schema:
type: string
- 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
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/users/{user_id}/feature_flags/{feature_flag_key}:
patch:
tags:
- Users
summary: Update User Feature Flag Override
operationId: UpdateUserFeatureFlagOverride
description: "Update user feature flag override.\n\n\n update:user_feature_flags\n\
"
parameters:
- name: user_id
in: path
required: true
description: The identifier for the user
schema:
type: string
- name: feature_flag_key
in: path
required: true
description: The identifier for the feature flag
schema:
type: string
- name: value
in: query
required: true
description: Override value
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/users/{user_id}/properties/{property_key}:
put:
tags:
- Users
summary: Update Property value
operationId: UpdateUserProperty
description: "Update property value.\n\n\n update:user_properties\n
"
parameters:
- name: user_id
in: path
required: true
description: The identifier for the user
schema:
type: string
- name: property_key
in: path
required: true
description: The identifier for the property
schema:
type: string
- name: value
in: query
required: true
description: The new property value
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/users/{user_id}/properties:
get:
tags:
- Users
summary: Get property values
operationId: GetUserPropertyValues
description: "Gets properties for an user by ID.\n\n\n read:user_properties\n\
"
parameters:
- name: user_id
in: path
required: true
description: The user's ID.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
patch:
tags:
- Users
summary: Update Property values
operationId: UpdateUserProperties
description: "Update property values.\n\n\n update:user_properties\n
"
parameters:
- name: user_id
in: path
required: true
description: The identifier for the user
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/users/{user_id}/password:
put:
tags:
- Users
summary: Set User password
operationId: SetUserPassword
description: "Set user password.\n\n\n update:user_passwords\n
"
parameters:
- name: user_id
in: path
required: true
description: The identifier for the user
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/users/{user_id}/identities:
get:
tags:
- Users
summary: Get identities
operationId: GetUserIdentities
description: "Gets a list of identities for an user by ID.\n\n\n read:user_identities\n\
"
parameters:
- name: user_id
in: path
required: true
description: The user's ID.
schema:
type: string
- name: starting_after
in: query
description: The ID of the identity to start after.
schema:
type: string
- name: ending_before
in: query
description: The ID of the identity to end before.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
post:
tags:
- Users
summary: Create identity
operationId: CreateUserIdentity
description: "Creates an identity for a user.\n\n\n create:user_identities\n\
"
parameters:
- name: user_id
in: path
required: true
description: The user's ID.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/users/{user_id}/sessions:
get:
tags:
- Users
summary: Get user sessions
operationId: GetUserSessions
description: "Retrieve the list of active sessions for a specific user.\n\n\n read:user_sessions\n\
"
parameters:
- name: user_id
in: path
required: true
description: The identifier for the user
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
delete:
tags:
- Users
summary: Delete user sessions
operationId: DeleteUserSessions
description: "Invalidate user sessions.\n\n\n delete:user_sessions\n
"
parameters:
- name: user_id
in: path
required: true
description: The identifier for the user
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/users/{user_id}/mfa:
get:
tags:
- Users
summary: Get user's MFA configuration
operationId: GetUsersMFA
description: "Get a user\u2019s MFA configuration.\n\n\n read:user_mfa\n
"
parameters:
- name: user_id
in: path
required: true
description: The identifier for the user
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
delete:
tags:
- Users
summary: Reset all environment MFA for a user
operationId: ResetUsersMFAAll
description: "Reset all environment MFA factors for a user.\n\n\n delete:user_mfa\n\
"
parameters:
- name: user_id
in: path
required: true
description: The identifier for the user
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/users/{user_id}/mfa/{factor_id}:
delete:
tags:
- Users
summary: Reset specific environment MFA for a user
operationId: ResetUsersMFA
description: "Reset a specific environment MFA factor for a user.\n\n\n delete:user_mfa\n\
"
parameters:
- name: user_id
in: path
required: true
description: The identifier for the user
schema:
type: string
- name: factor_id
in: path
required: true
description: The identifier for the MFA factor
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/events/{event_id}:
get:
tags:
- Webhooks
summary: Get Event
operationId: GetEvent
description: "Returns an event\n\n\n read:events\n
"
parameters:
- name: event_id
in: path
required: true
description: The event id.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/event_types:
get:
tags:
- Webhooks
summary: List Event Types
operationId: GetEventTypes
description: "Returns a list event type definitions\n\n\n read:event_types\n\
"
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/webhooks/{webhook_id}:
patch:
tags:
- Webhooks
summary: Update a Webhook
operationId: UpdateWebHook
description: "Update a webhook\n\n\n update:webhooks\n
"
parameters:
- name: webhook_id
in: path
required: true
description: The webhook id.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
delete:
tags:
- Webhooks
summary: Delete Webhook
operationId: DeleteWebHook
description: "Delete webhook\n\n\n delete:webhooks\n
"
parameters:
- name: webhook_id
in: path
required: true
description: The webhook id.
schema:
type: string
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
/api/v1/webhooks:
get:
tags:
- Webhooks
summary: List Webhooks
operationId: GetWebHooks
description: "List webhooks\n\n\n read:webhooks\n
"
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []
post:
tags:
- Webhooks
summary: Create a Webhook
operationId: CreateWebHook
description: "Create a webhook\n\n\n create:webhooks\n
"
responses:
'200':
description: OK
'400':
description: Bad request
'403':
description: Forbidden
'429':
description: Too many requests - rate limited
security:
- kindeBearerAuth: []