---
title: "Apply an explicitly confirmed company fallback-mode change"
method: PATCH
path: "/v1/protocol/commerce/connected/business-central/{connectionId}/safety-settings"
---

# Apply an explicitly confirmed company fallback-mode change

`PATCH /v1/protocol/commerce/connected/business-central/{connectionId}/safety-settings`

## Request

- Base URL: `https://api.decionis.com`
- URL: `https://api.decionis.com/v1/protocol/commerce/connected/business-central/{connectionId}/safety-settings`
- Auth: HTTP bearer

Default off; requires COMMERCE_MCP_OAUTH_CONNECTED_ENABLED, the exact fresh nine-scope v3 consent, current Microsoft purchase and membership, and signed supported-source eligibility. It never upgrades a legacy v1 or v2 grant. Also requires COMMERCE_MCP_BUSINESS_CENTRAL_NATIVE_ENABLED and a separately verified current company connection/native read grant within the purchaser tenant extracted by Accounts. No caller-supplied tenant, economics or source URL is accepted. Eight-second deadline and fixed bounded source reads apply. Requires erp:configure, current Accounts owner/admin, a separately verified native configure grant and provider-observed write permission. Only FAIL_OPEN/FAIL_CLOSED changes are supported. Exact old/new mode, settings ID, connection revision, nonwildcard ETag and idempotency must match the reviewed request. Adapter-proven non-writes are terminal NOT_APPLIED; uncertain outcomes stay reserved and never retry a PATCH. A read can reconcile only the same applied operation UUID. This settings change performs no financial ERP action.

## Path parameters

- `connectionId` string, uuid, required

## Headers

- `Idempotency-Key` string, required
- `If-Match` string, required

## Request body

- CommerceNativeFallbackRequest
  - `org_id` string, uuid, required
  - `settings_id` string, uuid, required
  - `expected_connection_revision` integer, required
  - `expected_etag` string, required
  - `expected_fallback_mode` 'FAIL_OPEN' | 'FAIL_CLOSED', required
  - `fallback_mode` 'FAIL_OPEN' | 'FAIL_CLOSED', required
  - `idempotency_key` string, required
  - `confirmation` true, required

## Response `200`

Bounded private result

- CommerceNativeFallbackResponse
  - `version` 'commerce-native-bc-configuration-v1', required
  - `org_id` string, uuid, required
  - `connection_id` string, uuid, required
  - `connection_revision` integer, required
  - `operation_id` string, uuid, required
  - `outcome` 'applied', required
  - `before` object, required
    - `version` 'decionis.business_central.guard.status.v1', required
    - `connection_id` string, uuid, required
    - `settings_id` string, uuid, required
    - `etag` string, required
    - `observed_at` string, date-time, required
    - `enabled` boolean, required
    - `fallback_mode` 'FAIL_OPEN' | 'FAIL_CLOSED', required
    - `default_fallback_mode` 'FAIL_OPEN', required
    - `configured` boolean, required
    - `can_configure` boolean, required
    - `preflight_readiness` object
      - `version` 'bc_native_preflight_readiness_v1', required
      - `profile_configured` boolean, required
      - `missing` string[], required
      - `document_evidence_required` true, required
    - `consecutive_failures` integer, required
    - `circuit_open_until` string, date-time, nullable, required
    - `last_configuration_operation_id` string, uuid, nullable, required
    - `timeout_ms` 150, required
    - `intercepts` unknown[], required
      - unknown
    - `outage_scope` 'fail_open_availability_only', required
  - `after` object, required
    - `version` 'decionis.business_central.guard.status.v1', required
    - `connection_id` string, uuid, required
    - `settings_id` string, uuid, required
    - `etag` string, required
    - `observed_at` string, date-time, required
    - `enabled` boolean, required
    - `fallback_mode` 'FAIL_OPEN' | 'FAIL_CLOSED', required
    - `default_fallback_mode` 'FAIL_OPEN', required
    - `configured` boolean, required
    - `can_configure` boolean, required
    - `preflight_readiness` object
      - `version` 'bc_native_preflight_readiness_v1', required
      - `profile_configured` boolean, required
      - `missing` string[], required
      - `document_evidence_required` true, required
    - `consecutive_failures` integer, required
    - `circuit_open_until` string, date-time, nullable, required
    - `last_configuration_operation_id` string, uuid, nullable, required
    - `timeout_ms` 150, required
    - `intercepts` unknown[], required
      - unknown
    - `outage_scope` 'fail_open_availability_only', required
  - `financial_action_executed` false, required

## Other responses

- `400`: Invalid, oversized or conflicting request fields
- `401`: Authentication required
- `403`: Current signed authority, source, scope, role or company permission denied
- `404`: Authorized source, document or evidence unavailable
- `409`: Exact source, policy, evidence or idempotency binding changed; an uncertain write is never retried
- `429`: Request rate limit reached
- `503`: Default-off capability or required dependency unavailable

---

[API](https://skmtc.dev/decionis/apis/decionis-policy-evaluation-api.md) · [All operations](https://skmtc.dev/decionis/apis/decionis-policy-evaluation-api/llms.txt) · [OpenAPI document](https://skmtc.dev/decionis/apis/decionis-policy-evaluation-api/revisions/357f5e459d0c?raw)
