---
title: "Upsert relationship"
method: PUT
path: "/v1/workspaces/{workspaceId}/relationship-rules/{relationshipRuleId}"
---

# Upsert relationship

`PUT /v1/workspaces/{workspaceId}/relationship-rules/{relationshipRuleId}`

## Path parameters

- `workspaceId` string, required
- `relationshipRuleId` string, required

## Request body

- UpsertRelationshipRuleRequest
  - `description` string
  - `fromSelector` union
    - JsonSelector
      - `json` object, required
    - CelSelector
      - `cel` string, required
  - `fromType` 'deployment' | 'environment' | 'resource', required
  - `matcher` CelMatcher, required
    - `cel` string, required
  - `metadata` object, required
  - `name` string, required
  - `reference` string, required
  - `relationshipType` string, required
  - `toSelector` union
    - JsonSelector
      - `json` object, required
    - CelSelector
      - `cel` string, required
  - `toType` 'deployment' | 'environment' | 'resource', required

## Response `202`

Accepted response

- RelationshipRule
  - `description` string
  - `fromSelector` union
    - JsonSelector
      - `json` object, required
    - CelSelector
      - `cel` string, required
  - `fromType` 'deployment' | 'environment' | 'resource', required
  - `id` string, required
  - `matcher` CelMatcher, required
    - `cel` string, required
  - `metadata` object, required
  - `name` string, required
  - `reference` string, required
  - `relationshipType` string, required
  - `toSelector` union
    - JsonSelector
      - `json` object, required
    - CelSelector
      - `cel` string, required
  - `toType` 'deployment' | 'environment' | 'resource', required
  - `workspaceId` string, required

## Other responses

- `400` — Invalid request
- `404` — Resource not found

## Changes

- **2026-02-19** `e61389fc98ac` — 5 breaking, 1 warning, 8 info
  - added the new required request property `fromType`
  - added the new required request property `matcher`
  - added the new required request property `relationshipType`
  - added the new required request property `toType`
  - …10 more

[Change history](https://skmtc.dev/ctrlplanedev/apis/ctrlplane-api/changes/v1/workspaces/:workspaceId/relationship-rules/:relationshipRuleId/put.md)

---

[API](https://skmtc.dev/ctrlplanedev/apis/ctrlplane-api.md) · [All operations](https://skmtc.dev/ctrlplanedev/apis/ctrlplane-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/ctrlplanedev/ctrlplane-api/revisions/e61389fc98ac/schema)
