openapi: 3.0.0
info:
version: '1'
title: Kinde Account API Keys Applications API
description: '
Provides endpoints to operate on an authenticated user.
## Intro
## How to use
1. Get a user access token - this can be obtained when a user signs in via the methods you''ve setup in Kinde (e.g. Google, passwordless, etc).
2. Call one of the endpoints below using the user access token in the Authorization header as a Bearer token. Typically, you can use the `getToken` command in the relevant SDK.
'
termsOfService: https://docs.kinde.com/trust-center/agreements/terms-of-service/
contact:
name: Kinde Support Team
email: support@kinde.com
url: https://docs.kinde.com
tags:
- name: Applications
x-displayName: Applications
paths:
/api/v1/applications:
servers: []
get:
tags:
- Applications
operationId: getApplications
x-scope: read:applications
summary: Get applications
description: "Get a list of applications / clients.\n\n
\n read:applications\n
\n"
parameters:
- name: sort
in: query
description: Field and order to sort the result by.
schema:
type: string
nullable: true
enum:
- name_asc
- name_desc
- name: page_size
in: query
description: Number of results per page. Defaults to 10 if parameter not sent.
schema:
type: integer
nullable: true
- name: next_token
in: query
description: A string to get the next page of results if there are more results.
schema:
type: string
nullable: true
responses:
'200':
description: A successful response with a list of applications or an empty list.
content:
application/json:
schema:
$ref: '#/components/schemas/get_applications_response'
'400':
$ref: '#/components/responses/bad_request'
'403':
$ref: '#/components/responses/forbidden'
'429':
$ref: '#/components/responses/too_many_requests'
security:
- kindeBearerAuth: []
post:
tags:
- Applications
operationId: createApplication
x-scope: create:applications
summary: Create application
description: "Create a new client.\n\n\n create:applications\n
\n"
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
description: The application's name.
type: string
example: React Native app
type:
description: The application's type. Use `reg` for regular server rendered applications, `spa` for single-page applications, `m2m` for machine-to-machine applications, and `device` for devices and IoT.
type: string
enum:
- reg
- spa
- m2m
- device
org_code:
description: Scope an M2M application to an org (Plus plan required).
type: string
example: org_1234567890abcdef
nullable: true
required:
- name
- type
responses:
'201':
description: Application successfully created.
content:
application/json:
schema:
$ref: '#/components/schemas/create_application_response'
'400':
$ref: '#/components/responses/bad_request'
'403':
$ref: '#/components/responses/forbidden'
'429':
$ref: '#/components/responses/too_many_requests'
security:
- kindeBearerAuth: []
/api/v1/applications/{application_id}:
servers: []
get:
tags:
- Applications
operationId: getApplication
summary: Get application
description: "Gets an application given the application's ID.\n\n\n read:applications\n
\n"
parameters:
- name: application_id
in: path
description: The identifier for the application.
required: true
schema:
type: string
nullable: false
example: 20bbffaa4c5e492a962273039d4ae18b
responses:
'200':
description: Application successfully retrieved.
content:
application/json:
schema:
$ref: '#/components/schemas/get_application_response'
'400':
$ref: '#/components/responses/bad_request'
'403':
$ref: '#/components/responses/forbidden'
'429':
$ref: '#/components/responses/too_many_requests'
security:
- kindeBearerAuth: []
patch:
tags:
- Applications
operationId: updateApplication
summary: Update Application
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
\n"
parameters:
- name: application_id
in: path
description: The identifier for the application.
required: true
schema:
type: string
example: 20bbffaa4c5e492a962273039d4ae18b
requestBody:
description: Application details.
required: false
content:
application/json:
schema:
type: object
properties:
name:
description: The application's name.
type: string
language_key:
description: The application's language key.
type: string
logout_uris:
description: The application's logout uris.
type: array
items:
type: string
redirect_uris:
description: The application's redirect uris.
type: array
items:
type: string
login_uri:
description: The default login route for resolving session issues.
type: string
homepage_uri:
description: The homepage link to your application.
type: string
responses:
'200':
description: Application successfully updated.
'400':
$ref: '#/components/responses/bad_request'
'403':
$ref: '#/components/responses/forbidden'
'429':
$ref: '#/components/responses/too_many_requests'
security:
- kindeBearerAuth: []
delete:
tags:
- Applications
operationId: deleteApplication
summary: Delete application
description: "Delete a client / application.\n\n\n delete:applications\n
\n"
parameters:
- name: application_id
in: path
description: The identifier for the application.
required: true
schema:
type: string
example: 20bbffaa4c5e492a962273039d4ae18b
responses:
'200':
description: Application successfully deleted.
content:
application/json:
schema:
$ref: '#/components/schemas/success_response'
'400':
$ref: '#/components/responses/bad_request'
'403':
$ref: '#/components/responses/forbidden'
'429':
$ref: '#/components/responses/too_many_requests'
security:
- kindeBearerAuth: []
/api/v1/applications/{application_id}/connections:
servers: []
get:
tags:
- Applications
operationId: GetApplicationConnections
description: "Gets all connections for an application.\n\n\n read:application_connections\n
\n"
summary: Get connections
parameters:
- name: application_id
in: path
description: The identifier/client ID for the application.
required: true
schema:
type: string
nullable: false
example: 20bbffaa4c5e492a962273039d4ae18b
responses:
'200':
description: Application connections successfully retrieved.
content:
application/json:
schema:
$ref: '#/components/schemas/get_connections_response'
'400':
$ref: '#/components/responses/bad_request'
'403':
$ref: '#/components/responses/forbidden'
'429':
$ref: '#/components/responses/too_many_requests'
security:
- kindeBearerAuth: []
/api/v1/applications/{application_id}/connections/{connection_id}:
servers: []
post:
tags:
- Applications
operationId: EnableConnection
summary: Enable connection
description: "Enable an auth connection for an application.\n\n\n create:application_connections\n
\n"
parameters:
- name: application_id
in: path
description: The identifier/client ID for the application.
required: true
schema:
type: string
example: 20bbffaa4c5e492a962273039d4ae18b
- name: connection_id
in: path
description: The identifier for the connection.
required: true
schema:
type: string
example: conn_0192c16abb53b44277e597d31877ba5b
responses:
'200':
description: Connection successfully enabled.
'400':
$ref: '#/components/responses/bad_request'
'403':
$ref: '#/components/responses/forbidden'
'429':
$ref: '#/components/responses/too_many_requests'
security:
- kindeBearerAuth: []
delete:
tags:
- Applications
operationId: RemoveConnection
summary: Remove connection
description: "Turn off an auth connection for an application\n\n\n delete:application_connections\n
\n"
parameters:
- name: application_id
in: path
description: The identifier/client ID for the application.
required: true
schema:
type: string
example: 20bbffaa4c5e492a962273039d4ae18b
- name: connection_id
in: path
description: The identifier for the connection.
required: true
schema:
type: string
example: conn_0192c16abb53b44277e597d31877ba5b
responses:
'200':
description: Connection successfully removed.
content:
application/json:
schema:
$ref: '#/components/schemas/success_response'
'400':
$ref: '#/components/responses/bad_request'
'403':
$ref: '#/components/responses/forbidden'
'429':
$ref: '#/components/responses/too_many_requests'
security:
- kindeBearerAuth: []
/api/v1/applications/{application_id}/properties:
servers: []
parameters:
- $ref: '#/components/parameters/application_id'
get:
tags:
- Applications
operationId: getApplicationPropertyValues
summary: Get property values
description: "Gets properties for an application by client ID.\n\n\n read:application_properties\n
\n"
responses:
'200':
description: Properties successfully retrieved.
content:
application/json:
schema:
$ref: '#/components/schemas/get_property_values_response'
'400':
$ref: '#/components/responses/bad_request'
'403':
$ref: '#/components/responses/forbidden'
'429':
$ref: '#/components/responses/too_many_requests'
security:
- kindeBearerAuth: []
/api/v1/applications/{application_id}/properties/{property_key}:
servers: []
parameters:
- $ref: '#/components/parameters/application_id'
- $ref: '#/components/parameters/property_key'
put:
tags:
- Applications
operationId: updateApplicationsProperty
summary: Update property
description: "Update application property value.\n\n\n update:application_properties\n
\n"
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
value:
oneOf:
- type: string
- type: boolean
description: The new value for the property
example: Some new value
required:
- value
responses:
'200':
description: Property successfully updated
content:
application/json:
schema:
$ref: '#/components/schemas/success_response'
'400':
$ref: '#/components/responses/bad_request'
'403':
$ref: '#/components/responses/forbidden'
'429':
$ref: '#/components/responses/too_many_requests'
security:
- kindeBearerAuth: []
/api/v1/applications/{application_id}/tokens:
servers: []
patch:
tags:
- Applications
operationId: updateApplicationTokens
summary: Update application tokens
description: "Configure tokens for an application.\n \n update:application_tokens\n
\n"
parameters:
- name: application_id
in: path
description: The identifier/client ID for the application.
required: true
schema:
type: string
example: 20bbffaa4c5e492a962273039d4ae18b
requestBody:
description: Application tokens.
required: true
content:
application/json:
schema:
type: object
properties:
access_token_lifetime:
description: The lifetime of an access token in seconds.
type: integer
example: 3600
refresh_token_lifetime:
description: The lifetime of a refresh token in seconds.
type: integer
example: 86400
id_token_lifetime:
description: The lifetime of an ID token in seconds.
type: integer
example: 3600
authenticated_session_lifetime:
description: The lifetime of an authenticated session in seconds.
type: integer
example: 86400
is_hasura_mapping_enabled:
description: Enable or disable Hasura mapping.
type: boolean
example: true
responses:
'200':
description: Application tokens successfully updated.
content:
application/json:
schema:
$ref: '#/components/schemas/success_response'
'400':
$ref: '#/components/responses/bad_request'
'403':
$ref: '#/components/responses/forbidden'
'429':
$ref: '#/components/responses/too_many_requests'
security:
- kindeBearerAuth: []
components:
responses:
bad_request:
description: Invalid request.
content:
application/json:
schema:
$ref: '#/components/schemas/error_response'
forbidden:
description: Unauthorized - invalid credentials.
content:
application/json:
schema:
$ref: '#/components/schemas/error_response'
too_many_requests:
description: Too many requests. Request was throttled.
content:
application/json:
schema:
$ref: '#/components/schemas/error_response'
schemas:
error:
type: object
properties:
code:
type: string
description: Error code.
message:
type: string
description: Error message.
get_application_response:
type: object
properties:
code:
type: string
description: Response code.
message:
type: string
description: Response message.
application:
type: object
properties:
id:
description: The application's identifier.
type: string
example: 3b0b5c6c8fcc464fab397f4969b5f482
name:
description: The application's name.
type: string
example: My React app
type:
description: The application's type.
type: string
enum:
- m2m
- reg
- spa
client_id:
description: The application's client ID.
type: string
example: 3b0b5c6c8fcc464fab397f4969b5f482
client_secret:
description: The application's client secret.
type: string
example: sUJSHI3ZQEVTJkx6hOxdOSHaLsZkCBRFLzTNOI791rX8mDjgt7LC
login_uri:
description: The default login route for resolving session issues.
type: string
example: https://yourapp.com/api/auth/login
homepage_uri:
description: The homepage link to your application.
type: string
example: https://yourapp.com
has_cancel_button:
description: Whether the application has a cancel button to allow users to exit the auth flow [Beta].
type: boolean
example: false
get_applications_response:
type: object
properties:
code:
type: string
description: Response code.
message:
type: string
description: Response message.
applications:
type: array
items:
$ref: '#/components/schemas/applications'
next_token:
description: Pagination token.
type: string
create_application_response:
type: object
properties:
code:
type: string
description: Response code.
message:
type: string
description: Response message.
application:
type: object
properties:
id:
description: The application's identifier.
type: string
example: 3b0b5c6c8fcc464fab397f4969b5f482
client_id:
description: The application's client ID.
type: string
example: 3b0b5c6c8fcc464fab397f4969b5f482
client_secret:
description: The application's client secret.
type: string
example: sUJSHI3ZQEVTJkx6hOxdOSHaLsZkCBRFLzTNOI791rX8mDjgt7LC
property_value:
type: object
properties:
id:
type: string
example: prop_0192b7e8b4f8ca08110d2b22059662a8
name:
type: string
example: Town
description:
type: string
example: Where the entity is located
nullable: true
key:
type: string
example: kp_town
value:
type: string
example: West-side Staines massive
nullable: true
error_response:
type: object
properties:
errors:
type: array
items:
$ref: '#/components/schemas/error'
get_connections_response:
type: object
properties:
code:
type: string
description: Response code.
message:
type: string
description: Response message.
connections:
type: array
items:
$ref: '#/components/schemas/connection'
has_more:
description: Whether more records exist.
type: boolean
connection:
type: object
properties:
code:
type: string
description: Response code.
message:
type: string
description: Response message.
connection:
type: object
properties:
id:
type: string
name:
type: string
display_name:
type: string
strategy:
type: string
success_response:
type: object
properties:
message:
type: string
example: Success
code:
type: string
example: OK
applications:
type: object
properties:
id:
type: string
name:
type: string
type:
type: string
get_property_values_response:
type: object
properties:
code:
type: string
description: Response code.
message:
type: string
description: Response message.
properties:
type: array
items:
$ref: '#/components/schemas/property_value'
next_token:
description: Pagination token.
type: string
parameters:
application_id:
in: path
name: application_id
description: The application's ID / client ID.
required: true
schema:
type: string
example: 3b0b5c6c8fcc464fab397f4969b5f482
property_key:
in: path
name: property_key
description: The property's key.
required: true
schema:
type: string
example: kp_some_key
securitySchemes:
kindeBearerAuth:
description: 'To access these endpoints, you will need to use a user token. This can be obtained when your users sign in via the methods you''ve setup in Kinde (e.g. Google, passwordless, etc). Find this using the getToken command in the relevant SDK.
'
type: http
scheme: bearer
bearerFormat: JWT