---
id: SCR-PFM-INT-018
title: Extension handler detail
route: '/console/{tenantId}/configuration/platform/extensions/handlers/{handlerId}'
surface: console
product_area: platform
module: integrations
revision: 1
status: draft
design_intent: proposed
implementation_evidence: partially-observed
inference: []
source_sha:
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
purpose: 'Inspect a handler, edit or change its standing, and exercise it with example input.'
supports:
  - JNY-PFM-INT-005
  - CAP-PFM-INT-017
permission: >-
  No extension-specific guard in the preview components; their layout admits previews only in mock mode or
  mock preview
entry_from:
  - '/console/{tenantId}/configuration/platform/extensions'
  - '/console/{tenantId}/configuration/platform/extensions/points/{pointKey}'
exits_to:
  - '/console/{tenantId}/configuration/platform/extensions'
displays:
  - field: 'Kind, target, implemented points, rule definition and status'
    source: getExtensionHandler (sample data today)
  - field: Invocation history
    source: listExtensionInvocations (sample data today)
actions:
  - label: Edit
    operation_id: updateExtensionHandler
    permission: >-
      No permission check in the sample adapter control; the matching Platform operation has its own
      permission
    confirm: false
  - label: Test
    operation_id: testExtensionHandler
    permission: >-
      No permission check in the sample adapter control; the matching Platform operation has its own
      permission
    confirm: false
  - label: Enable or Disable Handler
    operation_id: updateExtensionHandler
    permission: >-
      No permission check in the sample adapter control; the matching Platform operation has its own
      permission
    confirm: false
states:
  - loading
  - error
validation:
  - BR-CAP-PFM-INT-017-01
  - BR-CAP-PFM-INT-017-03
  - BR-CAP-PFM-INT-017-04
  - BR-CAP-PFM-INT-017-05
  - BR-CAP-PFM-INT-017-10
patterns:
  - Configuration layout permits these pages only in mock mode.
  - 'QueryState uses LoadingLine, Alert and retry controls for preview reads.'
  - 'Tabs, DefinitionList, handler editor Sheet and a JSON test form.'
  - Preview controls contain no extension permission guard; production APIs authorize independently.
component: components/extensions/handler-detail-page.tsx
evidence:
  - >-
    react-console at baf6dae3: components/extensions/handler-detail-page.tsx, handler-detail.tsx,
    handler-editor-sheet.tsx
controls: [TC-AVL-004, TC-AVL-005, TC-AZ-001, TC-AZ-002, TC-AZ-003, TC-AZ-004, TC-CRY-001, TC-CRY-002, TC-CRY-003, TC-CRY-004, TC-DAT-001, TC-DAT-003, TC-DAT-004, TC-DAT-006, TC-IAM-001, TC-IAM-002, TC-IAM-004, TC-IAM-005, TC-IAM-006, TC-LOG-002, TC-LOG-003, TC-LOG-004, TC-LOG-005, TC-MON-001, TC-MON-002, TC-PI-001, TC-PI-002, TC-PI-003, TC-PI-004, TC-PI-005, TC-SEC-001, TC-SEC-002, TC-SEC-003, TC-SEC-004, TC-TEN-001, TC-TEN-002, TC-TEN-003, TC-VEN-001, TC-VEN-002, TC-VEN-003]
---

# Extension handler detail

## What the Screen Is For

Inspect a handler, edit or change its standing, and exercise it with example input.

## What It Shows and Lets People Do

Overview shows handler kind, implementation, capture setting and sample health. Non-built-in handlers expose an editor; enablement and disablement use the sample adapter. The test tab validates JSON and uses declared examples. A safeguard-resume control also calls the sample adapter and has no corresponding reset route in the examined service. There is no delete control in the detail component.

## States and Errors

Outside mock mode the enclosing layout displays an unavailable message. Loading and errors pass through the preview query-state component. Successful local behavior is not evidence of a connected service or of production permission enforcement.

## Patterns It Must Respect

Configuration layout permits these pages only in mock mode. QueryState uses LoadingLine, Alert and retry controls for preview reads. Tabs, DefinitionList, handler editor Sheet and a JSON test form. Preview controls contain no extension permission guard; production APIs authorize independently.
