Kinde API Keys API

The API Keys API from Kinde — 3 operation(s) for api keys.

Operations 6

GET /api/v1/api_keys Get API keys #
POST /api/v1/api_keys Create API key #
GET /api/v1/api_keys/{key_id} Get API key #
DELETE /api/v1/api_keys/{key_id} Delete API key #
PUT /api/v1/api_keys/{key_id} Rotate API key #
POST /api/v1/api_keys/verify Verify API key #

Documentation

Specifications

Schemas & Data

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/kinde-api-keys-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

kinde-api-keys-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: '1'
  title: Kinde Account API Keys 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
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
  x-displayName: API Keys
paths:
  /api/v1/api_keys:
    servers: []
    get:
      tags:
      - API Keys
      operationId: getApiKeys
      x-scope: read:api_keys
      summary: Get API keys
      description: "Returns a list of API keys.\n\n<div>\n  <code>read:api_keys</code>\n</div>\n"
      parameters:
      - name: page_size
        in: query
        description: Number of results per page. Defaults to 50 if parameter not sent.
        schema:
          type:
          - integer
          - 'null'
      - name: starting_after
        in: query
        description: The ID of the API key to start after.
        schema:
          type:
          - string
          - 'null'
      - name: key_type
        in: query
        description: Filter by API key type (organization or user).
        schema:
          type:
          - string
          - 'null'
          enum:
          - organization
          - user
      - name: status
        in: query
        description: Filter by API key status (active, inactive, revoked).
        schema:
          type:
          - string
          - 'null'
          enum:
          - active
          - inactive
          - revoked
      - name: user_id
        in: query
        description: Filter by user ID to get API keys associated with a specific user.
        schema:
          type:
          - string
          - 'null'
      - name: org_code
        in: query
        description: Filter by organization code to get API keys associated with a specific organization.
        schema:
          type:
          - string
          - 'null'
      responses:
        '200':
          description: API keys successfully retrieved.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/get_api_keys_response'
        '400':
          $ref: '#/components/responses/bad_request'
        '403':
          $ref: '#/components/responses/forbidden'
        '429':
          $ref: '#/components/responses/too_many_requests'
      security:
      - kindeBearerAuth: []
    post:
      tags:
      - API Keys
      operationId: createApiKey
      x-scope: create:api_keys
      summary: Create API key
      description: "Create a new API key.\n\n<div>\n  <code>create:api_keys</code>\n</div>\n"
      requestBody:
        description: API key details.
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  description: The name of the API key.
                  type: string
                type:
                  description: The entity type that will use this API key.
                  type: string
                  enum:
                  - user
                  - organization
                  - environment
                api_id:
                  description: The ID of the API this key is associated with.
                  type: string
                scope_ids:
                  description: Array of scope IDs to associate with this API key.
                  type:
                  - array
                  - 'null'
                  items:
                    type: string
                user_id:
                  description: The ID of the user to associate with this API key (for user-level keys).
                  type:
                  - string
                  - 'null'
                org_code:
                  description: The organization code to associate with this API key (for organization-level keys).
                  type:
                  - string
                  - 'null'
              required:
              - name
              - api_id
              - type
      responses:
        '201':
          description: API key successfully created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/create_api_key_response'
        '400':
          $ref: '#/components/responses/bad_request'
        '403':
          $ref: '#/components/responses/forbidden'
        '429':
          $ref: '#/components/responses/too_many_requests'
      security:
      - kindeBearerAuth: []
  /api/v1/api_keys/{key_id}:
    servers: []
    get:
      tags:
      - API Keys
      operationId: getApiKey
      x-scope: read:api_keys
      summary: Get API key
      description: "Retrieve API key details by ID.\n\n<div>\n  <code>read:api_keys</code>\n</div>\n"
      parameters:
      - name: key_id
        in: path
        description: The ID of the API key.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: API key successfully retrieved.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/get_api_key_response'
        '400':
          $ref: '#/components/responses/bad_request'
        '403':
          $ref: '#/components/responses/forbidden'
        '404':
          $ref: '#/components/responses/not_found'
        '429':
          $ref: '#/components/responses/too_many_requests'
      security:
      - kindeBearerAuth: []
    delete:
      tags:
      - API Keys
      operationId: deleteApiKey
      x-scope: delete:api_keys
      summary: Delete API key
      description: "Delete an API key.\n\n<div>\n  <code>delete:api_keys</code>\n</div>\n"
      parameters:
      - name: key_id
        in: path
        description: The ID of the API key.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: API key successfully deleted.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/success_response'
        '400':
          $ref: '#/components/responses/bad_request'
        '403':
          $ref: '#/components/responses/forbidden'
        '404':
          $ref: '#/components/responses/not_found'
        '429':
          $ref: '#/components/responses/too_many_requests'
      security:
      - kindeBearerAuth: []
    put:
      tags:
      - API Keys
      operationId: rotateApiKey
      x-scope: update:api_keys
      summary: Rotate API key
      description: "Rotate an API key to generate a new key while maintaining the same permissions and associations.\n\n<div>\n  <code>update:api_keys</code>\n</div>\n"
      parameters:
      - name: key_id
        in: path
        description: The ID of the API key to rotate.
        required: true
        schema:
          type: string
      responses:
        '201':
          description: API key successfully rotated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rotate_api_key_response'
        '400':
          $ref: '#/components/responses/bad_request'
        '403':
          $ref: '#/components/responses/forbidden'
        '404':
          $ref: '#/components/responses/not_found'
        '429':
          $ref: '#/components/responses/too_many_requests'
      security:
      - kindeBearerAuth: []
  /api/v1/api_keys/verify:
    servers: []
    post:
      tags:
      - API Keys
      operationId: verifyApiKey
      summary: Verify API key
      description: 'Verify an API key (public endpoint, no authentication required).

        '
      requestBody:
        description: API key verification details.
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                api_key:
                  description: The API key to verify.
                  type: string
              required:
              - api_key
      responses:
        '200':
          description: API key verification result.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/verify_api_key_response'
        '400':
          $ref: '#/components/responses/bad_request'
        '401':
          $ref: '#/components/responses/forbidden'
        '429':
          $ref: '#/components/responses/too_many_requests'
      security:
      - kindeBearerAuth: []
components:
  schemas:
    error_response:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/error'
    not_found_response:
      type: object
      properties:
        errors:
          type: object
          properties:
            code:
              type: string
              example: ROUTE_NOT_FOUND
            message:
              type: string
              example: The requested API route does not exist
    success_response:
      type: object
      properties:
        message:
          type: string
          example: Success
        code:
          type: string
          example: OK
    rotate_api_key_response:
      type: object
      properties:
        code:
          type: string
          description: Response code.
          example: API_KEY_ROTATED
        message:
          type: string
          description: Response message.
          example: API key rotated successfully
        api_key:
          type: object
          properties:
            id:
              type: string
              description: The unique ID for the API key.
              example: api_key_0195ac80a14e8d71f42b98e75d3c61ad
            key:
              type: string
              description: The new API key value (only shown once).
              example: k_live_1234567890abcdef1234567890abcdef
    verify_api_key_response:
      type: object
      properties:
        code:
          type: string
          description: Response code.
          example: API_KEY_VERIFIED
        message:
          type: string
          description: Response message.
          example: API key verified
        is_valid:
          type: boolean
          description: Whether the API key is valid.
          example: true
        key_id:
          type: string
          description: The unique ID for the API key.
          example: api_key_0195ac80a14e8d71f42b98e75d3c61ad
        status:
          type: string
          description: The status of the API key.
          example: active
        scopes:
          type: array
          description: Array of scopes associated with this key.
          items:
            type: string
          example:
          - read:users
          - write:users
        org_code:
          type:
          - string
          - 'null'
          description: The organization code associated with this key.
          example: org_123
        user_id:
          type:
          - string
          - 'null'
          description: The user ID associated with this key.
          example: user_456
        last_verified_on:
          type:
          - string
          - 'null'
          format: date-time
          description: When the API key was last verified.
          example: '2024-11-18T13:32:03+11'
        verification_count:
          type: integer
          description: Number of times this API key has been verified.
          example: 42
    get_api_key_response:
      type: object
      properties:
        code:
          type: string
          description: Response code.
          example: OK
        message:
          type: string
          description: Response message.
          example: Success
        api_key:
          type: object
          properties:
            id:
              description: The unique ID for the API key.
              type: string
              example: api_key_0195ac80a14e8d71f42b98e75d3c61ad
            name:
              type: string
              description: The API key's name.
              example: My API Key
            type:
              type: string
              description: The type of API key.
              example: organization
            status:
              type: string
              description: The status of the API key.
              example: active
            key_prefix:
              type: string
              description: The first 6 characters of the API key for identification.
              example: k_live
            key_suffix:
              type:
              - string
              - 'null'
              description: The last 4 characters of the API key for identification.
              example: abcd
            created_on:
              type: string
              format: date-time
              description: When the API key was created.
              example: '2024-11-18T13:32:03+11'
            last_verified_on:
              type:
              - string
              - 'null'
              format: date-time
              description: When the API key was last verified.
              example: '2024-11-18T13:32:03+11'
            last_verified_ip:
              type:
              - string
              - 'null'
              description: The IP address from which the API key was last verified.
              example: 192.168.1.1
            created_by:
              type:
              - string
              - 'null'
              description: The name of the user who created the API key.
              example: John Doe
            api_ids:
              type: array
              description: Array of API IDs associated with this key.
              items:
                type: string
              example:
              - api_123
              - api_456
            scopes:
              type: array
              description: Array of scopes associated with this key.
              items:
                type: string
              example:
              - read:users
              - write:users
            verification_count:
              type:
              - integer
              - 'null'
              description: Number of times this API key has been verified.
              example: 42
            organization_id:
              type:
              - string
              - 'null'
              description: The organization code associated with this key.
              example: org_123
            user_id:
              type:
              - string
              - 'null'
              description: The user ID associated with this key.
              example: user_456
    get_api_keys_response:
      type: object
      properties:
        code:
          type: string
          description: Response code.
          example: OK
        message:
          type: string
          description: Response message.
          example: Success
        has_more:
          description: Whether more records exist.
          type: boolean
        api_keys:
          type: array
          items:
            type: object
            properties:
              id:
                description: The unique ID for the API key.
                type: string
                example: api_key_0195ac80a14e8d71f42b98e75d3c61ad
              name:
                type: string
                description: The API key's name.
                example: My API Key
              type:
                type: string
                description: The type of API key.
                example: organization
              status:
                type: string
                description: The status of the API key.
                example: active
              key_prefix:
                type: string
                description: The first 6 characters of the API key for identification.
                example: kinde_
              key_suffix:
                type:
                - string
                - 'null'
                description: The last 4 characters of the API key for identification.
                example: abcd
              created_on:
                type: string
                format: date-time
                description: When the API key was created.
                example: '2024-11-18T13:32:03+11'
              last_verified_on:
                type:
                - string
                - 'null'
                format: date-time
                description: When the API key was last verified.
                example: '2024-11-18T13:32:03+11'
              last_verified_ip:
                type:
                - string
                - 'null'
                description: The IP address from which the API key was last verified.
                example: 192.168.1.1
              created_by:
                type:
                - string
                - 'null'
                description: The name of the user who created the API key.
                example: John Doe
              api_ids:
                type: array
                description: Array of API IDs associated with this key.
                items:
                  type: string
                example:
                - api_123
                - api_456
              scopes:
                type: array
                description: Array of scopes associated with this key.
                items:
                  type: string
                example:
                - read:users
                - write:users
    error:
      type: object
      properties:
        code:
          type: string
          description: Error code.
        message:
          type: string
          description: Error message.
    create_api_key_response:
      type: object
      properties:
        message:
          type: string
          description: A Kinde generated message.
          example: API key created
        code:
          type: string
          description: A Kinde generated status code.
          example: API_KEY_CREATED
        api_key:
          type: object
          properties:
            id:
              description: The unique ID for the API key.
              type: string
              example: api_key_0195ac80a14e8d71f42b98e75d3c61ad
            key:
              description: The API key value (only shown once on creation).
              type: string
              example: k_live_1234567890abcdef
  responses:
    forbidden:
      description: Unauthorized - invalid credentials.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error_response'
    not_found:
      description: The specified resource was not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/not_found_response'
    bad_request:
      description: Invalid request.
      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'
  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