Skip to content

Disable a platform plugin.

PUT
/api/admin/platform/plugins/{id}/disable
Code sample: Shell / cURL
curl --request PUT \
--url https://auth.example.com/api/admin/platform/plugins/example/disable \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "tenant_id": "default" }'

Stores the platform plugin enabled flag as false in KV and invalidates runtime plugin caches. Missing plugins return not found. For a built-in human verification provider the tenants are checked first (see 409 and 503); the same concurrency limit as the tenant disable applies.

id
required
string
Media type application/json
object
tenant_id
string
key
additional properties
Example
{
"tenant_id": "default"
}

Plugin enable or disable response.

Media type application/json
object
success
required
boolean
pluginId
required
string
tenantId
required
string | null
enabled
required
boolean
configSource
required
string
Allowed values: kv env default
configured
required
boolean
missingRequiredFields
required
Array<string>
provisioning
object
operationId
required
string
state
required
string
Allowed values: pending blocked
kind
required
string
Allowed values: provisioning cleanup
key
additional properties
key
additional properties
Example
{
"success": true,
"configSource": "kv",
"provisioning": {
"state": "pending",
"kind": "provisioning"
}
}

Error response.

Media type application/json
object
error
string
message
string
error_description
string
key
additional properties
Example generated
{
"error": "example",
"message": "example",
"error_description": "example"
}

Error response.

Media type application/json
object
error
string
message
string
error_description
string
key
additional properties
Example generated
{
"error": "example",
"message": "example",
"error_description": "example"
}

Error response.

Media type application/json
object
error
string
message
string
error_description
string
key
additional properties
Example generated
{
"error": "example",
"message": "example",
"error_description": "example"
}

A built-in human verification (CAPTCHA) provider cannot be disabled platform-wide while tenants that inherit it require it for a flow (error: human_verification_provider_in_use, with tenants listing the first 20 and tenant_count), or when there are more than 200 tenants to check (error: human_verification_scope_too_large; disable it per tenant).

Media type application/json
object
error
required
string
Allowed values: human_verification_provider_in_use human_verification_scope_too_large
error_description
string
plugin_id
string
tenant_count
integer
tenants
Array<object>
object
tenant_id
string
settings
Array<string>
Example
{
"error": "human_verification_provider_in_use"
}

Error response.

Media type application/json
object
error
string
message
string
error_description
string
key
additional properties
Example generated
{
"error": "example",
"message": "example",
"error_description": "example"
}

The tenants could not be checked, so a human verification provider was not disabled. reason: tenant_directory_unavailable means no tenant list is configured in this environment; retrying does not help, disable the provider per tenant instead. reason: settings_unavailable is a failed read; try again.

Media type application/json
object
error
required
string
Allowed values: temporarily_unavailable
error_description
string
reason
string
Allowed values: tenant_directory_unavailable settings_unavailable
plugin_id
string
Example
{
"error": "temporarily_unavailable",
"reason": "tenant_directory_unavailable"
}