openapi: 3.0.0
info:
version: '1'
title: Kinde Account API Keys Properties 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: Properties
x-displayName: Properties
paths:
/account_api/v1/properties:
servers: []
get:
tags:
- Properties
operationId: GetUserProperties
summary: Get properties
description: 'Returns all properties for the user
'
parameters:
- name: page_size
in: query
required: false
description: Number of results per page. Defaults to 10 if parameter not sent.
schema:
type: integer
nullable: true
- name: starting_after
in: query
required: false
description: The ID of the property to start after.
schema:
type: string
nullable: true
example: prop_1234567890abcdef
responses:
'200':
description: Properties successfully retrieved.
content:
application/json:
schema:
$ref: '#/components/schemas/get_user_properties_response'
'403':
description: Invalid credentials.
'429':
description: Request was throttled.
security:
- kindeBearerAuth: []
/api/v1/properties:
servers: []
get:
tags:
- Properties
operationId: GetProperties
x-scope: read:properties
description: "Returns a list of properties\n\n
\n read:properties\n
\n"
summary: List properties
parameters:
- name: page_size
in: query
description: Number of results per page. Defaults to 10 if parameter not sent.
schema:
type: integer
nullable: true
- name: starting_after
in: query
description: The ID of the property to start after.
schema:
type: string
nullable: true
- name: ending_before
in: query
description: The ID of the property to end before.
schema:
type: string
nullable: true
- name: context
in: query
description: Filter results by user, organization or application context
schema:
type: string
nullable: true
enum:
- usr
- org
- app
responses:
'200':
description: Properties successfully retrieved.
content:
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/get_properties_response'
application/json:
schema:
$ref: '#/components/schemas/get_properties_response'
'400':
description: Invalid request.
content:
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/error_response'
application/json:
schema:
$ref: '#/components/schemas/error_response'
'403':
description: Invalid credentials.
content:
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/error_response'
application/json:
schema:
$ref: '#/components/schemas/error_response'
'429':
description: Request was throttled.
security:
- kindeBearerAuth: []
post:
tags:
- Properties
operationId: CreateProperty
x-scope: create:properties
description: "Create property.\n\n\n create:properties\n
\n"
summary: Create Property
requestBody:
description: Property details.
required: true
content:
application/json:
schema:
type: object
properties:
name:
description: The name of the property.
type: string
nullable: false
description:
description: Description of the property purpose.
type: string
nullable: false
key:
description: The property identifier to use in code.
type: string
nullable: false
type:
description: The property type.
type: string
enum:
- single_line_text
- multi_line_text
nullable: false
context:
description: The context that the property applies to.
type: string
enum:
- org
- usr
- app
nullable: false
is_private:
description: Whether the property can be included in id and access tokens.
type: boolean
nullable: false
category_id:
description: Which category the property belongs to.
type: string
nullable: false
required:
- name
- key
- type
- context
- is_private
- category_id
responses:
'201':
description: Property successfully created
content:
application/json:
schema:
$ref: '#/components/schemas/create_property_response'
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/create_property_response'
'400':
description: Invalid request.
content:
application/json:
schema:
$ref: '#/components/schemas/error_response'
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/error_response'
'403':
description: Invalid credentials.
'429':
description: Request was throttled.
security:
- kindeBearerAuth: []
/api/v1/properties/{property_id}:
servers: []
put:
tags:
- Properties
operationId: UpdateProperty
x-scope: update:properties
description: "Update property.\n\n\n update:properties\n
\n"
summary: Update Property
parameters:
- name: property_id
in: path
description: The unique identifier for the property.
required: true
schema:
type: string
requestBody:
description: The fields of the property to update.
required: true
content:
application/json:
schema:
type: object
properties:
name:
description: The name of the property.
type: string
nullable: false
description:
type: string
description: Description of the property purpose.
is_private:
type: boolean
description: Whether the property can be included in id and access tokens.
category_id:
description: Which category the property belongs to.
type: string
nullable: false
required:
- name
- is_private
- category_id
responses:
'200':
description: Property successfully updated.
content:
application/json:
schema:
$ref: '#/components/schemas/success_response'
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/success_response'
'400':
description: Invalid request.
content:
application/json:
schema:
$ref: '#/components/schemas/error_response'
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/error_response'
'403':
description: Invalid credentials.
'429':
description: Request was throttled.
security:
- kindeBearerAuth: []
delete:
tags:
- Properties
operationId: DeleteProperty
x-scope: delete:properties
description: "Delete property.\n\n\n delete:properties\n
\n"
summary: Delete Property
parameters:
- name: property_id
in: path
description: The unique identifier for the property.
required: true
schema:
type: string
responses:
'200':
description: Property successfully deleted.
content:
application/json:
schema:
$ref: '#/components/schemas/success_response'
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/success_response'
'400':
description: Invalid request.
content:
application/json:
schema:
$ref: '#/components/schemas/error_response'
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/error_response'
'403':
description: Invalid credentials.
'429':
description: Request was throttled.
security:
- kindeBearerAuth: []
components:
schemas:
error:
type: object
properties:
code:
type: string
description: Error code.
message:
type: string
description: Error message.
get_properties_response:
type: object
properties:
code:
type: string
description: Response code.
message:
type: string
description: Response message.
properties:
type: array
items:
$ref: '#/components/schemas/property'
has_more:
description: Whether more records exist.
type: boolean
success_response:
type: object
properties:
message:
type: string
example: Success
code:
type: string
example: OK
error_response:
type: object
properties:
errors:
type: array
items:
$ref: '#/components/schemas/error'
property:
type: object
properties:
id:
type: string
key:
type: string
name:
type: string
is_private:
type: boolean
description:
type: string
is_kinde_property:
type: boolean
create_property_response:
type: object
properties:
message:
type: string
code:
type: string
property:
type: object
properties:
id:
description: The property's ID.
type: string
get_user_properties_response:
type: object
properties:
data:
type: object
properties:
properties:
type: array
description: A list of properties
items:
type: object
properties:
id:
type: string
description: The friendly ID of a property
example: prop_0195ac80a14e8d71f42b98e75d3c61ad
name:
type: string
description: The name of the property
example: Company name
key:
type: string
description: The key of the property
example: company_name
value:
oneOf:
- type: string
- type: boolean
- type: integer
description: The value of the property
example: Acme Corp
metadata:
type: object
properties:
has_more:
type: boolean
description: Whether more records exist.
example: false
next_page_starting_after:
type: string
description: The ID of the last record on the current page.
example: prop_0195ac80a14e8d71f42b98e75d3c61ad
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