Kinde website screenshot

Kinde

Kinde is a developer-first authentication and customer identity platform that bundles authentication (passwords, passwordless, social, enterprise SSO), authorization (roles, permissions, scopes), B2B organizations, billing, and feature flags into a single integrated product. Founded in Australia, Kinde positions itself as "the fully integrated developer platform — secure and monetize your product from day one" and is used by over 70,000 developers. The platform exposes a Management API for tenant administration and an Account API for end-user self-service flows, both backed by published OpenAPI specs and a large open-source SDK ecosystem on GitHub (TypeScript, React, Next.js, Python, Go, Java, .NET, PHP, Ruby, Elixir, Flutter, iOS, Android, Expo, React Native, SvelteKit, Nuxt, Remix, TanStack Start) plus a Go-based CLI, a Terraform provider, and a Model Context Protocol (MCP) server for AI agents.

3 APIs 0 Features
AuthenticationAuthorizationCustomer IdentityIdentity ManagementOAuthOpenID ConnectSingle Sign-OnMulti-Factor AuthenticationRole-Based Access ControlFeature FlagsBillingB2BSaaSDeveloper Platform

APIs

Kinde Management API

The Kinde Management API exposes administrative endpoints for managing a Kinde business: users, organizations, applications, APIs, scopes, roles, permissions, connections, direc...

Kinde Account API

The Kinde Account API (also documented as the Frontend API) provides endpoints for the currently signed-in user to inspect their own identity, sessions, billing entitlements, fe...

Kinde MCP Server

The Kinde MCP (Model Context Protocol) server acts as a bridge between AI assistants and a Kinde account. It exposes a subset of the Kinde Management API as MCP tools (query org...

Collections

Arazzo Workflows

Kinde Assign Organization User Role

Find an existing user by email and grant them a role within an organization.

ARAZZO

Kinde Create Organization with Users

Stand up a new organization and seed it with existing users and roles.

ARAZZO

Kinde Create Role with Permission

Create a permission, create a role, and attach the permission to the role.

ARAZZO

Kinde End User Self-Serve Portal

Read the signed-in user's profile, roles, and entitlements, then mint a self-serve portal link.

ARAZZO

Kinde Invite User to Organization

Validate roles, create an organization invitation, and poll until it is sent.

ARAZZO

Kinde Migrate User with Password

Create a user with an email identity and import their existing hashed password.

ARAZZO

Kinde Provision User into Organization

Create a user, add them to an organization, and grant a role in one pass.

ARAZZO

Kinde Register Application with Connection

Create an application, set its callback URLs, create a social connection, and enable it.

ARAZZO

Kinde Roll Out Feature Flag to Organization

Create an org-overridable feature flag and set its value for one organization.

ARAZZO

Pricing Plans

Kinde Plans Pricing

5 plans

PLANS

Rate Limits

Kinde Rate Limits

4 limits

RATE LIMITS

FinOps

Kinde Finops

FINOPS

Semantic Vocabularies

Kinde Context

36 classes · 9 properties

JSON-LD

API Governance Rules

Kinde API Rules

12 rules · 2 errors 8 warnings 2 info

SPECTRAL

JSON Structure

Kinde Organization Structure

0 properties

JSON STRUCTURE

Kinde User Structure

0 properties

JSON STRUCTURE

Example Payloads

Kinde Create Role Example

2 fields

EXAMPLE

Kinde Create User Example

2 fields

EXAMPLE

Kinde Create Webhook Example

2 fields

EXAMPLE

Resources

🔗
PostmanWorkspace
PostmanWorkspace
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🌐
Portal
Portal
🔗
Login
Login
📝
Signup
Signup
💰
Pricing
Pricing
📰
Blog
Blog
🟢
StatusPage
StatusPage
🟢
StatusPageRSS
StatusPageRSS
🟢
StatusPageAtom
StatusPageAtom
📄
ChangeLog
ChangeLog
🔗
RoadMap
RoadMap
👥
GitHub
GitHub
📜
TermsOfService
TermsOfService
🔗
TrustCenter
TrustCenter
💬
Support
Support
🔗
ContactSales
ContactSales
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps
🔗
Vocabulary
Vocabulary
🔗
JSONLD
JSONLD
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
🔗
CLI
CLI
🔗
CLI
CLI
🔗
CLI
CLI
🔧
Tools
Tools
🔧
Tools
Tools
🔧
Tools
Tools
🔧
Tools
Tools
🔧
Tools
Tools
🔧
Tools
Tools
🔧
Tools
Tools
🔧
Tools
Tools
🔧
Tools
Tools
🔧
Tools
Tools
🔗
Documentation
Documentation
🔗
LlmsText
LlmsText

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Kinde Management API
  version: '1'
items:
- info:
    name: API Keys
    type: folder
  items:
  - info:
      name: Get API keys
      type: http
    http:
      method: GET
      url: https://{subdomain}.kinde.com/api/v1/api_keys
      params:
      - name: page_size
        value: ''
        type: query
        description: Number of results per page. Defaults to 50 if parameter not sent.
      - name: starting_after
        value: ''
        type: query
        description: The ID of the API key to start after.
      - name: key_type
        value: ''
        type: query
        description: Filter by API key type (organization or user).
      - name: status
        value: ''
        type: query
        description: Filter by API key status (active, inactive, revoked).
      - name: user_id
        value: ''
        type: query
        description: Filter by user ID to get API keys associated with a specific user.
      - name: org_code
        value: ''
        type: query
        description: Filter by organization code to get API keys associated with a specific organization.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "Returns a list of API keys.\n\n<div>\n  <code>read:api_keys</code>\n</div>\n"
  - info:
      name: Create API key
      type: http
    http:
      method: POST
      url: https://{subdomain}.kinde.com/api/v1/api_keys
      body:
        type: json
        data: '{}'
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "Create a new API key.\n\n<div>\n  <code>create:api_keys</code>\n</div>\n"
  - info:
      name: Get API key
      type: http
    http:
      method: GET
      url: https://{subdomain}.kinde.com/api/v1/api_keys/:key_id
      params:
      - name: key_id
        value: ''
        type: path
        description: The ID of the API key.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "Retrieve API key details by ID.\n\n<div>\n  <code>read:api_keys</code>\n</div>\n"
  - info:
      name: Rotate API key
      type: http
    http:
      method: PUT
      url: https://{subdomain}.kinde.com/api/v1/api_keys/:key_id
      params:
      - name: key_id
        value: ''
        type: path
        description: The ID of the API key to rotate.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "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"
  - info:
      name: Delete API key
      type: http
    http:
      method: DELETE
      url: https://{subdomain}.kinde.com/api/v1/api_keys/:key_id
      params:
      - name: key_id
        value: ''
        type: path
        description: The ID of the API key.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "Delete an API key.\n\n<div>\n  <code>delete:api_keys</code>\n</div>\n"
  - info:
      name: Verify API key
      type: http
    http:
      method: POST
      url: https://{subdomain}.kinde.com/api/v1/api_keys/verify
      body:
        type: json
        data: '{}'
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: 'Verify an API key (public endpoint, no authentication required).

      '
- info:
    name: APIs
    type: folder
  items:
  - info:
      name: Get APIs
      type: http
    http:
      method: GET
      url: https://{subdomain}.kinde.com/api/v1/apis
      params:
      - name: expand
        value: ''
        type: query
        description: 'Additional data to include in the response. Allowed value: "scopes".'
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "Returns a list of your APIs. The APIs are returned sorted by name.\n\n<div>\n  <code>read:apis</code>\n</div>\n"
  - info:
      name: Create API
      type: http
    http:
      method: POST
      url: https://{subdomain}.kinde.com/api/v1/apis
      body:
        type: json
        data: '{}'
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "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<div>\n  <code>create:apis</code>\n</div>\n"
  - info:
      name: Get API
      type: http
    http:
      method: GET
      url: https://{subdomain}.kinde.com/api/v1/apis/:api_id
      params:
      - name: api_id
        value: ''
        type: path
        description: The API's ID.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "Retrieve API details by ID.\n\n<div>\n  <code>read:apis</code>\n</div>\n"
  - info:
      name: Delete API
      type: http
    http:
      method: DELETE
      url: https://{subdomain}.kinde.com/api/v1/apis/:api_id
      params:
      - name: api_id
        value: ''
        type: path
        description: The API's ID.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "Delete an API you previously created.\n\n<div>\n  <code>delete:apis</code>\n</div>\n"
  - info:
      name: Get API scopes
      type: http
    http:
      method: GET
      url: https://{subdomain}.kinde.com/api/v1/apis/:api_id/scopes
      params:
      - name: api_id
        value: ''
        type: path
        description: API ID
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "Retrieve API scopes by API ID.\n\n<div>\n  <code>read:api_scopes</code>\n</div>\n"
  - info:
      name: Create API scope
      type: http
    http:
      method: POST
      url: https://{subdomain}.kinde.com/api/v1/apis/:api_id/scopes
      params:
      - name: api_id
        value: ''
        type: path
        description: API ID
      body:
        type: json
        data: '{}'
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "Create a new API scope.\n\n<div>\n  <code>create:api_scopes</code>\n</div>\n"
  - info:
      name: Get API scope
      type: http
    http:
      method: GET
      url: https://{subdomain}.kinde.com/api/v1/apis/:api_id/scopes/:scope_id
      params:
      - name: api_id
        value: ''
        type: path
        description: API ID
      - name: scope_id
        value: ''
        type: path
        description: Scope ID
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "Retrieve API scope by API ID.\n\n<div>\n  <code>read:api_scopes</code>\n</div>\n"
  - info:
      name: Update API scope
      type: http
    http:
      method: PATCH
      url: https://{subdomain}.kinde.com/api/v1/apis/:api_id/scopes/:scope_id
      params:
      - name: api_id
        value: ''
        type: path
        description: API ID
      - name: scope_id
        value: ''
        type: path
        description: Scope ID
      body:
        type: json
        data: '{}'
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "Update an API scope.\n\n<div>\n  <code>update:api_scopes</code>\n</div>\n"
  - info:
      name: Delete API scope
      type: http
    http:
      method: DELETE
      url: https://{subdomain}.kinde.com/api/v1/apis/:api_id/scopes/:scope_id
      params:
      - name: api_id
        value: ''
        type: path
        description: API ID
      - name: scope_id
        value: ''
        type: path
        description: Scope ID
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "Delete an API scope you previously created.\n\n<div>\n  <code>delete:apis_scopes</code>\n</div>\n"
  - info:
      name: Authorize API applications
      type: http
    http:
      method: PATCH
      url: https://{subdomain}.kinde.com/api/v1/apis/:api_id/applications
      params:
      - name: api_id
        value: ''
        type: path
        description: The API's ID.
      body:
        type: json
        data: '{}'
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "Authorize applications to be allowed to request access tokens for an API\n\n<div>\n  <code>update:apis</code>\n\
      </div>\n"
  - info:
      name: Add scope to API application
      type: http
    http:
      method: POST
      url: https://{subdomain}.kinde.com/api/v1/apis/:api_id/applications/:application_id/scopes/:scope_id
      params:
      - name: api_id
        value: ''
        type: path
        description: API ID
      - name: application_id
        value: ''
        type: path
        description: Application ID
      - name: scope_id
        value: ''
        type: path
        description: Scope ID
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "Add a scope to an API application.\n\n<div>\n  <code>create:api_application_scopes</code>\n</div>\n"
  - info:
      name: Delete API application scope
      type: http
    http:
      method: DELETE
      url: https://{subdomain}.kinde.com/api/v1/apis/:api_id/applications/:application_id/scopes/:scope_id
      params:
      - name: api_id
        value: ''
        type: path
        description: API ID
      - name: application_id
        value: ''
        type: path
        description: Application ID
      - name: scope_id
        value: ''
        type: path
        description: Scope ID
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "Delete an API application scope you previously created.\n\n<div>\n  <code>delete:apis_application_scopes</code>\n\
      </div>\n"
- info:
    name: Applications
    type: folder
  items:
  - info:
      name: Get applications
      type: http
    http:
      method: GET
      url: https://{subdomain}.kinde.com/api/v1/applications
      params:
      - name: sort
        value: ''
        type: query
        description: Field and order to sort the result by.
      - name: page_size
        value: ''
        type: query
        description: Number of results per page. Defaults to 10 if parameter not sent.
      - name: next_token
        value: ''
        type: query
        description: A string to get the next page of results if there are more results.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "Get a list of applications / clients.\n\n<div>\n  <code>read:applications</code>\n</div>\n"
  - info:
      name: Create application
      type: http
    http:
      method: POST
      url: https://{subdomain}.kinde.com/api/v1/applications
      body:
        type: json
        data: '{}'
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "Create a new client.\n\n<div>\n  <code>create:applications</code>\n</div>\n"
  - info:
      name: Get application
      type: http
    http:
      method: GET
      url: https://{subdomain}.kinde.com/api/v1/applications/:application_id
      params:
      - name: application_id
        value: ''
        type: path
        description: The identifier for the application.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "Gets an application given the application's ID.\n\n<div>\n  <code>read:applications</code>\n</div>\n"
  - info:
      name: Update Application
      type: http
    http:
      method: PATCH
      url: https://{subdomain}.kinde.com/api/v1/applications/:application_id
      params:
      - name: application_id
        value: ''
        type: path
        description: The identifier for the application.
      body:
        type: json
        data: '{}'
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "Updates a client's settings. For more information, read [Applications in Kinde](https://docs.kinde.com/build/applications/about-applications)\n\
      \n<div>\n  <code>update:applications</code>\n</div>\n"
  - info:
      name: Delete application
      type: http
    http:
      method: DELETE
      url: https://{subdomain}.kinde.com/api/v1/applications/:application_id
      params:
      - name: application_id
        value: ''
        type: path
        description: The identifier for the application.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "Delete a client / application.\n\n<div>\n  <code>delete:applications</code>\n</div>\n"
  - info:
      name: Get connections
      type: http
    http:
      method: GET
      url: https://{subdomain}.kinde.com/api/v1/applications/:application_id/connections
      params:
      - name: application_id
        value: ''
        type: path
        description: The identifier/client ID for the application.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "Gets all connections for an application.\n\n<div>\n  <code>read:application_connections</code>\n</div>\n"
  - info:
      name: Enable connection
      type: http
    http:
      method: POST
      url: https://{subdomain}.kinde.com/api/v1/applications/:application_id/connections/:connection_id
      params:
      - name: application_id
        value: ''
        type: path
        description: The identifier/client ID for the application.
      - name: connection_id
        value: ''
        type: path
        description: The identifier for the connection.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "Enable an auth connection for an application.\n\n<div>\n  <code>create:application_connections</code>\n</div>\n"
  - info:
      name: Remove connection
      type: http
    http:
      method: DELETE
      url: https://{subdomain}.kinde.com/api/v1/applications/:application_id/connections/:connection_id
      params:
      - name: application_id
        value: ''
        type: path
        description: The identifier/client ID for the application.
      - name: connection_id
        value: ''
        type: path
        description: The identifier for the connection.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "Turn off an auth connection for an application\n\n<div>\n  <code>delete:application_connections</code>\n</div>\n"
  - info:
      name: Get property values
      type: http
    http:
      method: GET
      url: https://{subdomain}.kinde.com/api/v1/applications/:application_id/properties
      params:
      - name: application_id
        value: ''
        type: path
        description: The application's ID / client ID.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "Gets properties for an application by client ID.\n\n<div>\n  <code>read:application_properties</code>\n</div>\n"
  - info:
      name: Update property
      type: http
    http:
      method: PUT
      url: https://{subdomain}.kinde.com/api/v1/applications/:application_id/properties/:property_key
      params:
      - name: application_id
        value: ''
        type: path
        description: The application's ID / client ID.
      - name: property_key
        value: ''
        type: path
        description: The property's key.
      body:
        type: json
        data: '{}'
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "Update application property value.\n\n<div>\n  <code>update:application_properties</code>\n</div>\n"
  - info:
      name: Update application tokens
      type: http
    http:
      method: PATCH
      url: https://{subdomain}.kinde.com/api/v1/applications/:application_id/tokens
      params:
      - name: application_id
        value: ''
        type: path
        description: The identifier/client ID for the application.
      body:
        type: json
        data: '{}'
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "Configure tokens for an application.\n  <div>\n    <code>update:application_tokens</code>\n  </div>\n"
- info:
    name: Billing Entitlements
    type: folder
  items:
  - info:
      name: Get billing entitlements
      type: http
    http:
      method: GET
      url: https://{subdomain}.kinde.com/api/v1/billing/entitlements
      params:
      - name: page_size
        value: ''
        type: query
        description: Number of results per page. Defaults to 10 if parameter not sent.
      - name: starting_after
        value: ''
        type: query
        description: The ID of the billing entitlement to start after.
      - name: ending_before
        value: ''
        type: query
        description: The ID of the billing entitlement to end before.
      - name: customer_id
        value: ''
        type: query
        description: The ID of the billing customer to retrieve entitlements for
      - name: max_value
        value: ''
        type: query
        description: When the maximum limit of an entitlement is null, this value is returned as the maximum limit
      - name: expand
        value: ''
        type: query
        description: 'Additional plan data to include in the response. Allowed value: "plans".'
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "Returns all the entitlements a billing customer currently has access to\n\n<div>\n  <code>read:billing_entitlements</code>\n\
      </div>\n"
- info:
    name: Billing Agreements
    type: folder
  items:
  - info:
      name: Get billing agreements
      type: http
    http:
      method: GET
      url: https://{subdomain}.kinde.com/api/v1/billing/agreements
      params:
      - name: page_size
        value: ''
        type: query
        description: Number of results per page. Defaults to 10 if parameter not sent.
      - name: starting_after
        value: ''
        type: query
        description: The ID of the billing agreement to start after.
      - name: ending_before
        value: ''
        type: query
        description: The ID of the billing agreement to end before.
      - name: customer_id
        value: customer_0195ac80a14c2ca2cec97d026d864de0
        type: query
        description: The ID of the billing customer to retrieve agreements for
      - name: feature_code
        value: ''
        type: query
        description: The feature code to filter by agreements only containing that feature
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "Returns all the agreements a billing customer currently has access to\n\n<div>\n  <code>read:billing_agreements</code>\n\
      </div>\n"
  - info:
      name: Create billing agreement
      type: http
    http:
      method: POST
      url: https://{subdomain}.kinde.com/api/v1/billing/agreements
      body:
        type: json
        data: '{}'
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "Creates a new billing agreement based on the plan code passed, and cancels the customer's existing agreements\n\
      \n<div>\n  <code>create:billing_agreements</code>\n</div>\n"
- info:
    name: Billing Meter Usage
    type: folder
  items:
  - info:
      name: Create meter usage record
      type: http
    http:
      method: POST
      url: https://{subdomain}.kinde.com/api/v1/billing/meter_usage
      body:
        type: json
        data: '{}'
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "Create a new meter usage record\n\n<div>\n  <code>create:meter_usage</code>\n</div>\n"
- info:
    name: Business
    type: folder
  items:
  - info:
      name: Get business
      type: http
    http:
      method: GET
      url: https://{subdomain}.kinde.com/api/v1/business
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "Get your business details.\n\n<div>\n  <code>read:businesses</code>\n</div>\n"
  - info:
      name: Update business
      type: http
    http:
      method: PATCH
      url: https://{subdomain}.kinde.com/api/v1/business
      body:
        type: json
        data: '{}'
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "Update your business details.\n\n<div>\n  <code>update:businesses</code>\n</div>\n"
- info:
    name: Industries
    type: folder
  items:
  - info:
      name: Get industries
      type: http
    http:
      method: GET
      url: https://{subdomain}.kinde.com/api/v1/industries
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "Get a list of industries and associated industry keys.\n\n<div>\n  <code>read:industries</code>\n</div>\n"
- info:
    name: Timezones
    type: folder
  items:
  - info:
      name: Get timezones
      type: http
    http:
      method: GET
      url: https://{subdomain}.kinde.com/api/v1/timezones
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "Get a list of timezones and associated timezone keys.\n\n<div>\n  <code>read:timezones</code>\n</div>\n"
- info:
    name: Callbacks
    type: folder
  items:
  - info:
      name: List Callback URLs
      type: http
    http:
      method: GET
      url: https://{subdomain}.kinde.com/api/v1/applications/:app_id/auth_redirect_urls
      params:
      - name: app_id
        value: ''
        type: path
        description: The identifier for the application.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "Returns an application's redirect callback URLs.\n\n<div>\n  <code>read:applications_redirect_uris</code>\n</div>\n"
  - info:
      name: Add Redirect Callback URLs
      type: http
    http:
      method: POST
      url: https://{subdomain}.kinde.com/api/v1/applications/:app_id/auth_redirect_urls
      params:
      - name: app_id
        value: ''
        type: path
        description: The identifier for the application.
      body:
        type: json
        data: '{}'
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "Add additional redirect callback URLs.\n\n<div>\n  <code>create:applications_redirect_uris</code>\n</div>\n"
  - info:
      name: Replace Redirect Callback URLs
      type: http
    http:
      method: PUT
      url: https://{subdomain}.kinde.com/api/v1/applications/:app_id/auth_redirect_urls
      params:
      - name: app_id
        value: ''
        type: path
        description: The identifier for the application.
      body:
        type: json
        data: '{}'
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "Replace all redirect callback URLs.\n\n<div>\n  <code>update:applications_redirect_uris</code>\n</div>\n"
  - info:
      name: Delete Callback URLs
      type: http
    http:
      method: DELETE
      url: https://{subdomain}.kinde.com/api/v1/applications/:app_id/auth_redirect_urls
      params:
      - name: app_id
        value: ''
        type: path
        description: The identifier for the application.
      - name: urls
        value: ''
        type: query
        description: Urls to delete, comma separated and url encoded.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "Delete callback URLs.\n\n<div>\n  <code>delete:applications_redirect_uris</code>\n</div>\n"
  - info:
      name: List logout URLs
      type: http
    http:
      method: GET
      url: https://{subdomain}.kinde.com/api/v1/applications/:app_id/auth_logout_urls
      params:
      - name: app_id
        value: ''
        type: path
        description: The identifier for the application.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "Returns an application's logout redirect URLs.\n\n<div>\n  <code>read:application_logout_uris</code>\n</div>\n"
  - info:
      name: Add logout redirect URLs
      type: http
    http:
      method: POST
      url: https://{subdomain}.kinde.com/api/v1/applications/:app_id/auth_logout_urls
      params:
      - name: app_id
        value: ''
        type: path
        description: The identifier for the application.
      body:
        type: json
        data: '{}'
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "Add additional logout redirect URLs.\n\n<div>\n  <code>create:application_logout_uris</code>\n</div>\n"
  - info:
      name: Replace logout redirect URls
      type: http
    http:
      method: PUT
      url: https://{subdomain}.kinde.com/api/v1/applications/:app_id/auth_logout_urls
      params:
      - name: app_id
        value: ''
        type: path
        description: The identifier for the application.
      body:
        type: json
        data: '{}'
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "Replace all logout redirect URLs.\n\n<div>\n  <code>update:application_logout_uris</code>\n</div>\n"
  - info:
      name: Delete Logout URLs
      type: http
    http:
      method: DELETE
      url: https://{subdomain}.kinde.com/api/v1/applications/:app_id/auth_logout_urls
      params:
      - name: app_id
        value: ''
        type: path
        description: The identifier for the application.
      - name: urls
        value: ''
        type: query
        description: Urls to delete, comma separated and url encoded.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "Delete logout URLs.\n\n<div>\n  <code>delete:application_logout_uris</code>\n</div>\n"
- info:
    name: Connected Apps
    type: folder
  items:
  - info:
      name: Get Connected App URL
      type: http
    http:
      method: GET
      url: https://{subdomain}.kinde.com/api/v1/connected_apps/auth_url
      params:
      - name: key_code_ref
        value: ''
        type: query
        description: The unique key code reference of the connected app to authenticate against.
      - name: user_id
        value: ''
        type: query
        description: The id of the user that needs to authenticate to the third-party connected app.
      - name: org_code
        value: ''
        type: query
        description: The code of the Kinde organization that needs to authenticate to the third-party connected app.
      - name: override_callback_url
        value: ''
        type: query
        description: A URL that overrides the default callback URL setup in your connected app configuration
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "Get a URL that authenticates and authorizes a user to a third-party connected app.\n\n<div>\n  <code>read:connected_apps</code>\n\
      </div>\n"
  - info:
      name: Get Connected App Token
      type: http
    http:
      method: GET
      url: https://{subdomain}.kinde.com/api/v1/connected_apps/token
      params:
      - name: session_id
        value: ''
        type: query
        description: The unique sesssion id representing the login session of a user.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "Get an access token that can be used to call the third-party provider linked to the connected app.\n\n<div>\n \
      \ <code>read:connected_apps</code>\n</div>\n"
  - info:
      name: Revoke Connected App Token
      type: http
    http:
      method: POST
      url: https://{subdomain}.kinde.com/api/v1/connected_apps/revoke
      params:
      - name: session_id
        value: ''
        type: query
        description: The unique sesssion id representing the login session of a user.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "Revoke the tokens linked to the connected app session.\n\n<div>\n  <code>create:connected_apps</code>\n</div>\n"
- info:
    name: Connections
    type: folder
  items:
  - info:
      name: Get connections
      type: http
    http:
      method: GET
      url: https://{subdomain}.kinde.com/api/v1/connections
      params:
      - name: page_size
        value: ''
        type: query
        description: Number of results per page. Defaults to 10 if parameter not sent.
      - name: home_realm_domain
        value: ''
        type: query
        description: Filter the results by the home realm domain.
      - name: starting_after
        value: ''
        type: query
        description: The ID of the connection to start after.
      - name: ending_before
        value: ''
        type: query
        description: The ID of the connection to end before.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "Returns a list of authentication connections. Optionally you can filter this by a home realm domain.\n\n<div>\n\
      \  <code>read:connections</code>\n</div>\n"
  - info:
      name: Create Connection
      type: http
    http:
      method: POST
      url: https://{subdomain}.kinde.com/api/v1/connections
      body:
        type: json
        data: '{}'
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "Create Connection.\n\n<div>\n  <code>create:connections</code>\n</div>\n"
  - info:
      name: Get Connection
      type: http
    http:
      method: GET
      url: https://{subdomain}.kinde.com/api/v1/connections/:connection_id
      params:
      - name: connection_id
        value: ''
        type: path
        description: The unique identifier for the connection.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "Get Connection.\n\n<div>\n  <code>read:connections</code>\n</div>\n"
  - info:
      name: Replace Connection
      type: http
    http:
      method: PUT
      url: https://{subdomain}.kinde.com/api/v1/connections/:connection_id
      params:
      - name: connection_id
        value: ''
        type: path
        description: The unique identifier for the connection.
      body:
        type: json
        data: '{}'
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "Replace Connection Config.\n\n<div>\n  <code>update:connections</code>\n</div>\n"
  - info:
      name: Update Connection
      type: http
    http:
      method: PATCH
      url: https://{subdomain}.kinde.com/api/v1/connections/:connection_id
      params:
      - name: connection_id
        value: ''
        type: path
        description: The unique identifier for the connection.
      body:
        type: json
        data: '{}'
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "Update Connection.\n\n<div>\n  <code>update:connections</code>\n</div>\n"
  - info:
      name: Delete Connection
      type: http
    http:
      method: DELETE
      url: https://{subdomain}.kinde.com/api/v1/connections/:connection_id
      params:
      - name: connection_id
        value: ''
        type: path
        description: The identifier for the connection.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "Delete connection.\n\n<div>\n  <code>delete:connections</code>\n</div>\n"
- info:
    name: Directories
    type: folder
  items:
  - info:
      name: Get SCIM directories
      type: http
    http:
      method: GET
      url: https://{subdomain}.kinde.com/api/v1/directories
      params:
      - name: page_size
        value: ''
        type: query
        description: Number of results per page. Defaults to 50 if parameter not sent.
      - name: starting_after
        value: ''
        type: query
        description: The ID of the directory to start after.
      - name: organization_code
        value: ''
        type: query
        description: Filter by organization code to get directories for a specific organization.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "Returns a list of SCIM directories for your organization.\n\n<div>\n  <code>read:scim_directories</code>\n</div>\n"
  - info:
      name: Create SCIM directory
      type: http
    http:
      method: POST
      url: https://{subdomain}.kinde.com/api/v1/directories
      body:
        type: json
        data: '{}'
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "Create a new SCIM directory for user and group synchronization.\n\n<div>\n  <code>create:scim_directories</code>\n\
      </div>\n"
  - info:
      name: Get SCIM directory
      type: http
    http:
      method: GET
      url: https://{subdomain}.kinde.com/api/v1/directories/:directory_id
      params:
      - name: directory_id
        value: ''
        type: path
        description: The directory's ID.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: "Retrieve SCIM directory details by ID.\n\n<div>\n  <code>read:scim_directories</code>\n</div>\n"
  - info:
      name: Update SCIM directory
      type: http
    http:
      method: PATCH
      url: https://{subdomain}.kinde.com/api/v1/directories/:directory_id
      params:
      - name: directory_id
        value: ''
        type: path
        description: The directory's ID.
      body:
        type: json
        data: '{}'
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: 'Update SCIM directory configuration.

      '
  - info:
      name: Delete SCIM directo

# --- truncated at 32 KB (96 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/kinde/refs/heads/main/apis.yml