openapi: 3.0.0 info: title: Kinde Management API Keys APIs API version: '1' description: The Kinde Management API programmatically manages a Kinde business - users, organizations, roles, permissions, feature flags, applications, connections, APIs and scopes, subscribers, properties, webhooks, and billing. Base URL is subdomain-scoped to your business (https://{subdomain}.kinde.com/api/v1). Authenticated with a Bearer JWT access token obtained via the OAuth2 client_credentials flow from a machine-to-machine (M2M) application. This document is grounded in the official Kinde Management API specification (https://api-spec.kinde.com/kinde-management-api-spec.yaml). contact: name: Kinde Support Team email: support@kinde.com url: https://docs.kinde.com termsOfService: https://docs.kinde.com/trust-center/agreements/terms-of-service/ servers: - url: https://{subdomain}.kinde.com variables: subdomain: default: your_kinde_subdomain description: The subdomain generated for your business on Kinde. security: - kindeBearerAuth: [] tags: - name: APIs paths: /api/v1/apis: get: tags: - APIs summary: Get APIs operationId: getAPIs description: "Returns a list of your APIs. The APIs are returned sorted by name.\n\n
\n read:apis\n
" parameters: - name: expand in: query description: 'Additional data to include in the response. Allowed value: "scopes".' schema: type: string responses: '200': description: OK '400': description: Bad request '403': description: Forbidden '429': description: Too many requests - rate limited security: - kindeBearerAuth: [] post: tags: - APIs summary: Create API operationId: addAPIs description: "Register a new API. For more information read [Register and manage APIs](https://docs.kinde.com/developer-tools/your-apis/register-manage-apis/).\n\n
\n create:apis\n
" responses: '200': description: OK '400': description: Bad request '403': description: Forbidden '429': description: Too many requests - rate limited security: - kindeBearerAuth: [] /api/v1/apis/{api_id}: get: tags: - APIs summary: Get API operationId: getAPI description: "Retrieve API details by ID.\n\n
\n read:apis\n
" responses: '200': description: OK '400': description: Bad request '403': description: Forbidden '429': description: Too many requests - rate limited security: - kindeBearerAuth: [] delete: tags: - APIs summary: Delete API operationId: deleteAPI description: "Delete an API you previously created.\n\n
\n delete:apis\n
" responses: '200': description: OK '400': description: Bad request '403': description: Forbidden '429': description: Too many requests - rate limited security: - kindeBearerAuth: [] /api/v1/apis/{api_id}/scopes: get: tags: - APIs summary: Get API scopes operationId: getAPIScopes description: "Retrieve API scopes by API ID.\n\n
\n read:api_scopes\n
" parameters: - name: api_id in: path required: true description: API ID schema: type: string responses: '200': description: OK '400': description: Bad request '403': description: Forbidden '429': description: Too many requests - rate limited security: - kindeBearerAuth: [] post: tags: - APIs summary: Create API scope operationId: addAPIScope description: "Create a new API scope.\n\n
\n create:api_scopes\n
" parameters: - name: api_id in: path required: true description: API ID schema: type: string responses: '200': description: OK '400': description: Bad request '403': description: Forbidden '429': description: Too many requests - rate limited security: - kindeBearerAuth: [] /api/v1/apis/{api_id}/scopes/{scope_id}: get: tags: - APIs summary: Get API scope operationId: getAPIScope description: "Retrieve API scope by API ID.\n\n
\n read:api_scopes\n
" parameters: - name: api_id in: path required: true description: API ID schema: type: string - name: scope_id in: path required: true description: Scope ID schema: type: string responses: '200': description: OK '400': description: Bad request '403': description: Forbidden '429': description: Too many requests - rate limited security: - kindeBearerAuth: [] patch: tags: - APIs summary: Update API scope operationId: updateAPIScope description: "Update an API scope.\n\n
\n update:api_scopes\n
" parameters: - name: api_id in: path required: true description: API ID schema: type: string - name: scope_id in: path required: true description: Scope ID schema: type: string responses: '200': description: OK '400': description: Bad request '403': description: Forbidden '429': description: Too many requests - rate limited security: - kindeBearerAuth: [] delete: tags: - APIs summary: Delete API scope operationId: deleteAPIScope description: "Delete an API scope you previously created.\n\n
\n delete:apis_scopes\n
" parameters: - name: api_id in: path required: true description: API ID schema: type: string - name: scope_id in: path required: true description: Scope ID schema: type: string responses: '200': description: OK '400': description: Bad request '403': description: Forbidden '429': description: Too many requests - rate limited security: - kindeBearerAuth: [] /api/v1/apis/{api_id}/applications: patch: tags: - APIs summary: Authorize API applications operationId: updateAPIApplications description: "Authorize applications to be allowed to request access tokens for an API\n\n
\n update:apis\n
" responses: '200': description: OK '400': description: Bad request '403': description: Forbidden '429': description: Too many requests - rate limited security: - kindeBearerAuth: [] /api/v1/apis/{api_id}/applications/{application_id}/scopes/{scope_id}: post: tags: - APIs summary: Add scope to API application operationId: addAPIApplicationScope description: "Add a scope to an API application.\n\n
\n create:api_application_scopes\n
" parameters: - name: api_id in: path required: true description: API ID schema: type: string - name: application_id in: path required: true description: Application ID schema: type: string - name: scope_id in: path required: true description: Scope ID schema: type: string responses: '200': description: OK '400': description: Bad request '403': description: Forbidden '429': description: Too many requests - rate limited security: - kindeBearerAuth: [] delete: tags: - APIs summary: Delete API application scope operationId: deleteAPIApplicationScope description: "Delete an API application scope you previously created.\n\n
\n delete:apis_application_scopes\n
" parameters: - name: api_id in: path required: true description: API ID schema: type: string - name: application_id in: path required: true description: Application ID schema: type: string - name: scope_id in: path required: true description: Scope ID schema: type: string responses: '200': description: OK '400': description: Bad request '403': description: Forbidden '429': description: Too many requests - rate limited security: - kindeBearerAuth: [] components: securitySchemes: kindeBearerAuth: type: http scheme: bearer bearerFormat: JWT description: Requires an access token obtained using the OAuth2 client_credentials flow from an authorized M2M application.