Clerk Config API

Operations for managing instance configuration. The config API provides a unified interface for reading and updating instance settings, including authentication methods, SSO connections, and other instance-level configuration options.

Operations 4

GET /platform/applications/{applicationID}/instances/{envOrInsID}/config Get Instance Config #
PATCH /platform/applications/{applicationID}/instances/{envOrInsID}/config Update Instance Config #
PUT /platform/applications/{applicationID}/instances/{envOrInsID}/config Replace Instance Config #
GET /platform/applications/{applicationID}/instances/{envOrInsID}/config/schema Get Instance Config Schema #

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/clerk-com-config-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

clerk-com-config-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Clerk Platform Config API
  x-logo:
    url: https://clerk.com/_next/image?url=%2Fimages%2Fclerk-logo.svg&w=96&q=75
    altText: Clerk docs
    href: https://clerk.com/docs
  contact:
    email: support@clerk.com
    name: Clerk Platform Team
    url: https://clerk.com/support
  description: 'The Clerk REST Platform API, for programmatic management of resources of a workspace.


    > [!note]

    > This API is currently in private beta. If you''d like access for your workspace, please fill out and submit our [request form](https://clerkdev.notion.site/2df2b9ab44fe803f9031e9f3185c5e19).'
  version: BETA
  termsOfService: https://clerk.com/terms
  license:
    name: MIT
    url: https://github.com/clerk/openapi-specs/blob/main/LICENSE
servers:
- url: https://api.clerk.com/v1
security:
- platform_api_access_token: []
tags:
- name: Config
  description: Operations for managing instance configuration. The config API provides a unified interface for reading and updating instance settings, including authentication methods, SSO connections, and other instance-level configuration options.
paths:
  /platform/applications/{applicationID}/instances/{envOrInsID}/config:
    get:
      operationId: PlatformGetConfig
      x-speakeasy-group: platform
      x-speakeasy-name-override: getConfig
      tags:
      - Config
      summary: Get Instance Config
      description: 'Get the configuration for an application instance.


        The `envOrInsID` parameter can be either an environment type (e.g., "development", "production")

        or an instance ID.


        Optionally filter to specific config keys using the `keys` query parameter.


        Requires the `applications:manage` scope.

        '
      security:
      - platform_api_access_token: []
      parameters:
      - name: applicationID
        in: path
        description: Application ID.
        required: true
        schema:
          type: string
      - name: envOrInsID
        in: path
        description: 'Environment type (e.g., "development", "production") or instance ID.

          '
        required: true
        schema:
          type: string
      - name: keys
        in: query
        description: Config keys to retrieve. If not specified, all keys are returned.
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      responses:
        '200':
          description: Instance config retrieved successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatformConfigResponse'
        '400':
          $ref: '#/components/responses/ClerkErrors'
        '401':
          $ref: '#/components/responses/AuthenticationInvalid'
        '403':
          $ref: '#/components/responses/AuthorizationInvalid'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
    patch:
      operationId: PlatformPatchConfig
      x-speakeasy-group: platform
      x-speakeasy-name-override: patchConfig
      tags:
      - Config
      summary: Update Instance Config
      description: 'Update the configuration for an application instance.


        The `envOrInsID` parameter can be either an environment type (e.g., "development", "production")

        or an instance ID.


        Use the `dry_run` query parameter to preview changes without applying them.

        Use the `destructive` query parameter to allow clearing config keys by setting them to null.

        Use the `If-Match` header to provide optimistic concurrency control via config version.


        Requires the `applications:manage` scope.

        '
      security:
      - platform_api_access_token: []
      parameters:
      - name: applicationID
        in: path
        description: Application ID.
        required: true
        schema:
          type: string
      - name: envOrInsID
        in: path
        description: 'Environment type (e.g., "development", "production") or instance ID.

          '
        required: true
        schema:
          type: string
      - name: dry_run
        in: query
        description: If true, preview the changes without applying them.
        required: false
        schema:
          type: boolean
          default: false
      - name: destructive
        in: query
        description: If true, allow clearing config keys by setting them to null.
        required: false
        schema:
          type: boolean
          default: false
      - name: keys
        in: query
        description: Config keys to return in the response. If not specified, only updated keys are returned.
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: If-Match
        in: header
        description: Config version for optimistic concurrency control.
        required: false
        schema:
          type: string
      requestBody:
        description: Config updates to apply.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PlatformConfigPatchRequest'
      responses:
        '200':
          description: Instance config updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatformConfigPatchResponse'
        '400':
          $ref: '#/components/responses/ClerkErrors'
        '401':
          $ref: '#/components/responses/AuthenticationInvalid'
        '402':
          $ref: '#/components/responses/PaymentRequired'
        '403':
          $ref: '#/components/responses/AuthorizationInvalid'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
    put:
      operationId: PlatformPutConfig
      x-speakeasy-group: platform
      x-speakeasy-name-override: putConfig
      tags:
      - Config
      summary: Replace Instance Config
      description: 'Replace the full configuration for an application instance.


        Unlike PATCH, PUT requires all config keys to be included in the request body.

        If any keys are missing, a 400 error is returned listing the missing keys.


        The `envOrInsID` parameter can be either an environment type (e.g., "development", "production")

        or an instance ID.


        Use the `dry_run` query parameter to preview changes without applying them.

        Use the `destructive` query parameter to allow clearing config keys by setting them to null.

        Use the `If-Match` header to provide optimistic concurrency control via config version.


        Requires the `applications:manage` scope.

        '
      security:
      - platform_api_access_token: []
      parameters:
      - name: applicationID
        in: path
        description: Application ID.
        required: true
        schema:
          type: string
      - name: envOrInsID
        in: path
        description: 'Environment type (e.g., "development", "production") or instance ID.

          '
        required: true
        schema:
          type: string
      - name: dry_run
        in: query
        description: If true, preview the changes without applying them.
        required: false
        schema:
          type: boolean
          default: false
      - name: destructive
        in: query
        description: If true, allow clearing config keys by setting them to null.
        required: false
        schema:
          type: boolean
          default: false
      - name: If-Match
        in: header
        description: Config version for optimistic concurrency control.
        required: false
        schema:
          type: string
      requestBody:
        description: Complete config to apply. All config keys must be included.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PlatformConfigPatchRequest'
      responses:
        '200':
          description: Instance config replaced successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatformConfigPatchResponse'
        '400':
          $ref: '#/components/responses/ClerkErrors'
        '401':
          $ref: '#/components/responses/AuthenticationInvalid'
        '402':
          $ref: '#/components/responses/PaymentRequired'
        '403':
          $ref: '#/components/responses/AuthorizationInvalid'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
  /platform/applications/{applicationID}/instances/{envOrInsID}/config/schema:
    get:
      operationId: PlatformGetConfigSchema
      x-speakeasy-group: platform
      x-speakeasy-name-override: getConfigSchema
      tags:
      - Config
      summary: Get Instance Config Schema
      description: 'Get the JSON Schema for the instance configuration.


        The `envOrInsID` parameter can be either an environment type (e.g., "development", "production")

        or an instance ID.


        Optionally filter to specific config keys using the `keys` query parameter.


        Requires the `applications:manage` scope.

        '
      security:
      - platform_api_access_token: []
      parameters:
      - name: applicationID
        in: path
        description: Application ID.
        required: true
        schema:
          type: string
      - name: envOrInsID
        in: path
        description: 'Environment type (e.g., "development", "production") or instance ID.

          '
        required: true
        schema:
          type: string
      - name: keys
        in: query
        description: Config keys to retrieve schema for. If not specified, all keys are returned.
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      responses:
        '200':
          description: Instance config schema retrieved successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatformConfigSchemaResponse'
        '400':
          $ref: '#/components/responses/ClerkErrors'
        '401':
          $ref: '#/components/responses/AuthenticationInvalid'
        '403':
          $ref: '#/components/responses/AuthorizationInvalid'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
components:
  responses:
    Conflict:
      description: Conflict
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ClerkErrors'
    ResourceNotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ClerkErrors'
    ClerkErrors:
      description: Request was not successful
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ClerkErrors'
    PaymentRequired:
      description: Payment required
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ClerkErrors'
    UnprocessableEntity:
      description: Invalid request parameters
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ClerkErrors'
    AuthorizationInvalid:
      description: Authorization invalid
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ClerkErrors'
    AuthenticationInvalid:
      description: Authentication invalid
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ClerkErrors'
  schemas:
    ClerkError:
      type: object
      properties:
        message:
          type: string
        long_message:
          type: string
        code:
          type: string
        meta:
          type: object
      required:
      - message
      - long_message
      - code
    PlatformConfigSchemaResponse:
      type: object
      description: JSON Schema describing the available configuration options.
      properties:
        $schema:
          type: string
          description: JSON Schema version.
        $id:
          type: string
          description: Schema identifier.
        type:
          type: string
        properties:
          type: object
          description: Schema definitions for each configuration key.
          additionalProperties: true
      additionalProperties: true
    ClerkErrors:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/ClerkError'
        meta:
          type: object
        clerk_trace_id:
          type: string
      required:
      - errors
    PlatformConfigResponse:
      type: object
      description: Instance configuration response containing key-value pairs and metadata.
      properties:
        config_version:
          type: string
          description: Configuration version for optimistic concurrency control.
      additionalProperties: true
    PlatformConfigPatchRequest:
      type: object
      description: Configuration updates to apply. Keys should match config key names.
      additionalProperties: true
    PlatformConfigPatchResponse:
      type: object
      description: Configuration patch response containing the result of the operation.
      properties:
        config_version:
          type: string
          description: Updated configuration version.
        dry_run:
          type: boolean
          description: Whether this was a dry run (changes were not applied).
        before:
          type: object
          description: Configuration state before the patch was applied.
          additionalProperties: true
        after:
          type: object
          description: Configuration state after the patch was applied.
          additionalProperties: true
      additionalProperties: true
  securitySchemes:
    platform_api_access_token:
      type: http
      scheme: bearer
      description: Platform API access token.
externalDocs:
  url: https://clerk.com/docs
x-tagGroups:
- name: Core Resources
  tags:
  - Applications
  - Domains
  - Application Transfers
  - Users
  - JWT Templates
  - Redirect URLs
  - Config