Enable or disable an application in an organization

PUT /v1/organizations/{org_id}/applications/{application_id} · permission organizations:write

Sets the application's status in the organization. Writing the current status again is a no-op and keeps the version. If-Match is optional; when given it must match the current ETag. Disabling keeps the assignments; they apply again when the application is re-enabled. Writes are recorded in the management audit log as organization_application.enabled or organization_application.disabled.

Request

Field Type Required Description
org_id path yes Organization ID (org_…).
application_id path yes Application ID (app_…).
If-Match header no Optional. The current ETag ("0" for a row that was never written); on mismatch 412.
status string yes enabled or disabled.

Response

200 OK with the access row and its new ETag.

{
  "organization_id": "org_01j9xk3m7q8r2s4t6v8w0y2z4a",
  "application_id": "app_01j9xm4n8r9s3t5v7w9x1y3z5b",
  "status": "enabled",
  "enabled_at": "2026-10-12T09:30:00.123456Z",
  "updated_at": "2026-10-12T09:30:00.123456Z",
  "version": 1
}

Errors

HTTP code When
404 not_found The organization or application does not exist in this environment.
409 organization_pending_deletion Enabling in an organization that is pending deletion.
412 precondition_failed If-Match does not match the current version; with "0", another request wrote the row first.
422 validation_failed status is missing or not enabled/disabled.
401 unauthenticated The credential is missing, invalid or revoked.
403 insufficient_permissions The credential lacks the required permission.
429 rate_limited The rate limit was exceeded; retry after the Retry-After period.
503 service_unavailable A dependency is temporarily unavailable; retry after the Retry-After period.

Example

curl -i -X PUT "https://api.eu.keenauth.com/v1/organizations/org_01j9xk3m7q8r2s4t6v8w0y2z4a/applications/app_01j9xm4n8r9s3t5v7w9x1y3z5b" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -H 'If-Match: "0"' \
  -d '{"status":"enabled"}'