openapi: 3.0.0 info: version: '1' title: Kinde Account API Keys Identities 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: Identities x-displayName: Identities paths: /api/v1/identities/{identity_id}: servers: [] get: tags: - Identities operationId: GetIdentity x-scope: read:identities description: "Returns an identity by ID\n\n
\n read:identities\n
\n" summary: Get identity parameters: - name: identity_id in: path description: The unique identifier for the identity. required: true schema: type: string responses: '200': description: Identity successfully retrieved. content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/identity' application/json: schema: $ref: '#/components/schemas/identity' '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: [] patch: tags: - Identities operationId: UpdateIdentity x-scope: update:identities description: "Update identity by ID.\n\n
\n update:identities\n
\n" summary: Update identity parameters: - name: identity_id in: path description: The unique identifier for the identity. required: true schema: type: string requestBody: description: The fields of the identity to update. required: true content: application/json: schema: type: object properties: is_primary: description: Whether the identity is the primary for it's type type: boolean nullable: false responses: '200': description: Identity 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: - Identities operationId: DeleteIdentity x-scope: delete:identities description: "Delete identity by ID.\n\n
\n delete:identities\n
\n" summary: Delete identity parameters: - name: identity_id in: path description: The unique identifier for the identity. required: true schema: type: string responses: '200': description: Identity 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. identity: type: object properties: id: type: string description: The unique ID for the identity example: identity_019617f0cd72460a42192cf37b41084f type: type: string description: The type of identity example: email is_confirmed: type: boolean description: Whether the identity is confirmed example: true created_on: type: string description: Date of user creation in ISO 8601 format example: '2025-01-01T00:00:00Z' last_login_on: type: string description: Date of last login in ISO 8601 format example: '2025-01-05T00:00:00Z' total_logins: type: integer example: 20 name: type: string description: The value of the identity example: sally@example.com email: type: string description: The associated email of the identity example: sally@example.com is_primary: type: boolean description: Whether the identity is the primary identity for the user nullable: true example: true 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' 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