---
title: "Update a connector route"
method: PATCH
path: "/routes/{routeId}"
tags: ["Routes"]
---

# Update a connector route

`PATCH /routes/{routeId}`

Updates a route definition. Implementations should avoid mutating routes that are currently
running unless they snapshot the effective route definition into each run.

## Path parameters

- `routeId` string, uuid, required — Stable identifier for a connector route.

## Request body

- ConnectorRouteUpdateRequest — Partial update for a connector route. Use this to adjust bindings, transformation, trigger, or policy.
  - `displayName` string — Updated route name.
  - `description` string — Updated route description.
  - `sourceBindingIds` OperationBindingId[] — Replacement list of source operation bindings.
  - `destinationBindingIds` OperationBindingId[] — Replacement list of destination operation bindings.
  - `transformationId` string, uuid — Stable identifier for a transformation definition.
  - `trigger` ConnectorTrigger — Trigger policy for starting a route. Triggers are declarative; actual scheduling, event subscriptions, and pipeline wiring are runtime concerns.
    - `triggerType` 'ON_DEMAND' | 'SCHEDULE' | 'EVENT' | 'WEBHOOK' | 'PIPELINE', required — Trigger mechanism for the route.
    - `schedule` string — Cron expression for scheduled triggers.
    - `eventType` string — Event type that starts an event-triggered route.
    - `pipelineRef` string — Reference to a platform pipeline, workflow, or orchestration definition that starts the route.
    - `metadata` StringMap — Small string-only metadata map for labels, ownership, routing hints, and implementation-specific annotations. Use first-class fields for contractually significant data.
  - `atomicity` 'BEST_EFFORT' | 'PER_RECORD' | 'ALL_OR_NOTHING' — Failure and rollback semantics expected for a route run.
  - `purpose` string — Updated processing purpose.
  - `legalBasis` string — Updated legal, contractual, or policy basis.
  - `enabled` boolean — Whether this route is eligible for execution.
  - `egressPolicy` EgressPolicy — Network and payload egress limits for connector operations. This is the connector policy hook for SSRF protection, tenant boundary checks, and later semantic/compliance checks. Runtime adapters should resolve names before connecting and pass the resolved address to the evaluator when DNS pinning is enabled.
    - `allowedHosts` string[] — Hostnames or wildcard host patterns the connector is allowed to contact. Use `*.example.com` for one-or-more subdomains.
    - `blockedHosts` string[] — Hostnames or wildcard host patterns that are always denied, even when they also match an allowed host pattern.
    - `allowedCidrs` string[] — IPv4 CIDR ranges the connector may contact when the target or resolved address is an IP address.
    - `allowedProtocols` AccessProtocol[] — Access protocols allowed by this connector or operation.
    - `allowedPorts` integer[] — Network ports allowed by this connector or operation. Empty means protocol defaults are allowed unless another policy blocks the target.
    - `blockPrivateNetworks` boolean — Whether private, loopback, link-local, local, multicast, and cloud metadata targets are denied by default.
    - `pinResolvedAddress` boolean — Whether runtime adapters should connect to the already-validated resolved address to reduce DNS rebinding risk.
    - `maxPayloadBytes` integer — Maximum allowed request or response payload size in bytes.
    - `requiresTenantBoundary` boolean — Whether route execution must enforce tenant boundary checks before egress.
    - `metadata` StringMap — Small string-only metadata map for labels, ownership, routing hints, and implementation-specific annotations. Use first-class fields for contractually significant data.
  - `materializationPolicy` MaterializationPolicy — Policy for retaining, caching, indexing, or mirroring data touched by connector routes.
    - `mode` 'NONE' | 'CACHE' | 'PERSIST' | 'MIRROR' | 'INDEX' — How, if at all, connector data may be retained or projected into platform storage.
    - `ttlSeconds` integer — Time to live for materialized data in seconds.
    - `storageResourceDescriptorId` string, uuid — Stable identifier for a described external or internal resource shape.
    - `retention` RetentionSpec — Retention metadata used by governance and future compliance checks. It can be applied to fields, resources, materialized data, or dead-letter payloads.
      - `purpose` string — Processing purpose.
      - `legalBasis` string — Legal or contractual basis for retention.
      - `retentionPeriod` string — ISO-8601 duration, for example P30D or P7Y.
      - `deleteAction` 'DELETE' | 'ANONYMIZE' | 'PSEUDONYMIZE' | 'TOMBSTONE' | 'REVIEW' — Action to apply when retention expires or deletion is required by policy.
      - `metadata` StringMap — Small string-only metadata map for labels, ownership, routing hints, and implementation-specific annotations. Use first-class fields for contractually significant data.
    - `metadata` StringMap — Small string-only metadata map for labels, ownership, routing hints, and implementation-specific annotations. Use first-class fields for contractually significant data.
  - `metadata` StringMap — Small string-only metadata map for labels, ownership, routing hints, and implementation-specific annotations. Use first-class fields for contractually significant data.

## Response `200`

Connector route updated.

- ConnectorRoute — Request to compose one or more source operation bindings, one or more destination operation bindings, optional transformation, trigger, and execution policies.
  - `displayName` string, required — Human-readable route name.
  - `description` string — Route purpose and operational boundaries.
  - `sourceBindingIds` OperationBindingId[], required — Source operation bindings that feed this route. More than one source supports enrichment and reference-data joins.
  - `destinationBindingIds` OperationBindingId[], required — Destination operation bindings written by this route. More than one destination supports fan-out.
  - `transformationId` string, uuid — Stable identifier for a transformation definition.
  - `trigger` ConnectorTrigger — Trigger policy for starting a route. Triggers are declarative; actual scheduling, event subscriptions, and pipeline wiring are runtime concerns.
    - `triggerType` 'ON_DEMAND' | 'SCHEDULE' | 'EVENT' | 'WEBHOOK' | 'PIPELINE', required — Trigger mechanism for the route.
    - `schedule` string — Cron expression for scheduled triggers.
    - `eventType` string — Event type that starts an event-triggered route.
    - `pipelineRef` string — Reference to a platform pipeline, workflow, or orchestration definition that starts the route.
    - `metadata` StringMap — Small string-only metadata map for labels, ownership, routing hints, and implementation-specific annotations. Use first-class fields for contractually significant data.
  - `atomicity` 'BEST_EFFORT' | 'PER_RECORD' | 'ALL_OR_NOTHING' — Failure and rollback semantics expected for a route run.
  - `purpose` string — Processing purpose captured at route design time for audit and future governance checks.
  - `legalBasis` string — Legal, contractual, or policy basis for the route's data movement.
  - `enabled` boolean — Whether this route is eligible for scheduled, event, webhook, or on-demand execution.
  - `egressPolicy` EgressPolicy — Network and payload egress limits for connector operations. This is the connector policy hook for SSRF protection, tenant boundary checks, and later semantic/compliance checks. Runtime adapters should resolve names before connecting and pass the resolved address to the evaluator when DNS pinning is enabled.
    - `allowedHosts` string[] — Hostnames or wildcard host patterns the connector is allowed to contact. Use `*.example.com` for one-or-more subdomains.
    - `blockedHosts` string[] — Hostnames or wildcard host patterns that are always denied, even when they also match an allowed host pattern.
    - `allowedCidrs` string[] — IPv4 CIDR ranges the connector may contact when the target or resolved address is an IP address.
    - `allowedProtocols` AccessProtocol[] — Access protocols allowed by this connector or operation.
    - `allowedPorts` integer[] — Network ports allowed by this connector or operation. Empty means protocol defaults are allowed unless another policy blocks the target.
    - `blockPrivateNetworks` boolean — Whether private, loopback, link-local, local, multicast, and cloud metadata targets are denied by default.
    - `pinResolvedAddress` boolean — Whether runtime adapters should connect to the already-validated resolved address to reduce DNS rebinding risk.
    - `maxPayloadBytes` integer — Maximum allowed request or response payload size in bytes.
    - `requiresTenantBoundary` boolean — Whether route execution must enforce tenant boundary checks before egress.
    - `metadata` StringMap — Small string-only metadata map for labels, ownership, routing hints, and implementation-specific annotations. Use first-class fields for contractually significant data.
  - `materializationPolicy` MaterializationPolicy, required — Policy for retaining, caching, indexing, or mirroring data touched by connector routes.
    - `mode` 'NONE' | 'CACHE' | 'PERSIST' | 'MIRROR' | 'INDEX' — How, if at all, connector data may be retained or projected into platform storage.
    - `ttlSeconds` integer — Time to live for materialized data in seconds.
    - `storageResourceDescriptorId` string, uuid — Stable identifier for a described external or internal resource shape.
    - `retention` RetentionSpec — Retention metadata used by governance and future compliance checks. It can be applied to fields, resources, materialized data, or dead-letter payloads.
      - `purpose` string — Processing purpose.
      - `legalBasis` string — Legal or contractual basis for retention.
      - `retentionPeriod` string — ISO-8601 duration, for example P30D or P7Y.
      - `deleteAction` 'DELETE' | 'ANONYMIZE' | 'PSEUDONYMIZE' | 'TOMBSTONE' | 'REVIEW' — Action to apply when retention expires or deletion is required by policy.
      - `metadata` StringMap — Small string-only metadata map for labels, ownership, routing hints, and implementation-specific annotations. Use first-class fields for contractually significant data.
    - `metadata` StringMap — Small string-only metadata map for labels, ownership, routing hints, and implementation-specific annotations. Use first-class fields for contractually significant data.
  - `metadata` StringMap — Small string-only metadata map for labels, ownership, routing hints, and implementation-specific annotations. Use first-class fields for contractually significant data.
  - `routeId` string, uuid, required — Stable identifier for a connector route.
  - `createdAt` string, date-time, required — Creation timestamp.
  - `updatedAt` string, date-time, required — Last update timestamp.
  - `createdByUserId` string — Optional user id that created the route.
  - `updatedByUserId` string — Optional user id that last updated the route.
  - `deletedAt` string, date-time — Soft-delete timestamp. Deleted routes are hidden from normal route lookup and listing but retained for run lineage.

## Other responses

- `400` — Validation error.
- `401` — Authentication is required.
- `404` — The requested resource was not found.

---

[API](https://skmtc.net/sphereon-opensource/apis/connector-integration-profile-api.md) · [All operations](https://skmtc.net/sphereon-opensource/apis/connector-integration-profile-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/sphereon-opensource/connector-integration-profile-api/versions/60cb8c70871b/schema)
