---
id: SCR-PFM-INT-008
title: Bindings
route: '/console/{tenantId}/configuration/platform/integrations/bindings'
surface: console
product_area: platform
module: integrations
revision: 1
status: draft
design_intent: confirmed
implementation_evidence: observed
origin: docs/milestones/INTG-M2-calls-through-the-gateway.md#Decisions M2-D4
inference: []
source_sha:
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
purpose: Assign accounts to capability scopes and explain the account a future invocation would select.
supports:
  - JNY-PFM-INT-003
  - JNY-PFM-INT-002
  - CAP-PFM-INT-007
  - CAP-PFM-INT-008
permission: platform.integrations.read
entry_from:
  - '/console/{tenantId}/configuration/platform/integrations'
  - '/console/{tenantId}/configuration/platform/integrations/{integrationKey}/connections/{connectionId}'
exits_to:
  - '/console/{tenantId}/configuration/platform/integrations/{integrationKey}/connections/{connectionId}'
displays:
  - field: 'Current bindings with capability, scope, connection, state and invalid reason'
    source: listIntegrationBindings
  - field: Binding history
    source: listIntegrationBindingRevisions
  - field: Eligible connections for a capability
    source: listIntegrationConnections (discovery)
  - field: Explain trace
    source: resolveIntegrationBinding
actions:
  - label: Add Binding
    operation_id: putIntegrationBinding
    permission: platform.integrations.manage
    confirm: false
  - label: Replace
    operation_id: putIntegrationBinding
    permission: platform.integrations.manage
    confirm: false
  - label: Remove
    operation_id: deleteIntegrationBinding
    permission: platform.integrations.manage
    confirm: true
  - label: Explain
    operation_id: resolveIntegrationBinding
    permission: platform.integrations.read
    confirm: false
states:
  - empty
  - loading
  - error
  - read-only
validation:
  - BR-CAP-PFM-INT-007-02
  - BR-CAP-PFM-INT-007-03
  - BR-CAP-PFM-INT-007-10
  - BR-CAP-PFM-INT-008-09
patterns:
  - LibraryPage with breadcrumb navigation.
  - 'ReadState, Empty and shared error presentation for data reads.'
  - The Library access boundary controls entry; each action retains its implemented permission gate.
  - Binding table and an explanation panel for scope traversal.
component: components/integrations/bindings-screen.tsx
evidence:
  - >-
    react-console at baf6dae3: components/integrations/bindings-screen.tsx, resolution-explain.tsx;
    lib/integrations/binding-suggestions.ts, resolution.ts
controls: [TC-AVL-001, TC-AVL-005, TC-AZ-001, TC-AZ-002, TC-AZ-003, TC-AZ-004, TC-AZ-006, TC-CHG-001, TC-CHG-002, TC-CHG-003, TC-CHG-004, TC-CHG-005, TC-CHG-006, TC-CHG-007, TC-DAT-001, TC-DAT-002, TC-DAT-003, TC-DAT-004, TC-IAM-001, TC-IAM-002, TC-IAM-004, TC-IAM-005, TC-LOG-001, TC-LOG-002, TC-LOG-003, TC-LOG-004, TC-LOG-005, TC-MON-001, TC-PI-001, TC-PI-003, TC-PI-005, TC-PRV-001, TC-PRV-002, TC-TEN-001, TC-TEN-002, TC-TEN-003, TC-VEN-001, TC-VEN-002, TC-VEN-003]
---

# Bindings

## What the Screen Is For

Assign accounts to capability scopes and explain the account a future invocation would select.

## What It Shows and Lets People Do

The table combines capability, scope, chosen account, standing and invalid reason. Binding history explains revisions, while the explanation panel shows the scopes visited and the eligibility checks that determined selection.

## States and Errors

The Library rejects entry without its read authority. Shared loading and error presentation handles data reads; mutation controls are gated separately. A visible control can still be refused by the API’s independent authorization or lifecycle validation.

## Patterns It Must Respect

LibraryPage with breadcrumb navigation. ReadState, Empty and shared error presentation for data reads. The Library access boundary controls entry; each action retains its implemented permission gate. Binding table and an explanation panel for scope traversal.
