Kinde Properties API

The Properties API from Kinde — 3 operation(s) for properties.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

kinde-properties-api-openapi.yml Raw ↑
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<div>\n  <code>read:properties</code>\n</div>\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<div>\n  <code>create:properties</code>\n</div>\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<div>\n  <code>update:properties</code>\n</div>\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<div>\n  <code>delete:properties</code>\n</div>\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