---
title: "Update routing group"
method: PATCH
path: "/v2/routing-groups/{id}"
tags: ["Routing Groups"]
---

# Update routing group

`PATCH /v2/routing-groups/{id}`

## Request

- Base URL: `https://api.carecycle.ai`
- URL: `https://api.carecycle.ai/v2/routing-groups/{id}`
- Auth: API key in header `x-api-key`

Change a routing group's settings. Fields keep the older transferConfig names.

## Path parameters

- `id` string, uuid, required: Transfer config ID

## Request body

- union
  - object
    - `expectedUsageHash` string
    - `expectedUpdatedAt` string, date-time, nullable
    - `name` string: Transfer config name
    - `description` string, nullable
    - `configuration` object, required
      - `version` 2, required
      - `destination` union, required
        - object
          - `type` 'direct', required
          - `phoneNumber` string, nullable, required
          - `externalHandoff` object, required
            - `mode` 'cold' | 'warm', required
        - object
          - `type` 'dynamic', required
          - `pingUrl` string
          - `method` 'GET' | 'POST'
          - `timeout` integer
          - `headers` object
          - `body` object
          - `transferNumberField` string
          - `transferNumber` string
          - `successConditions` object[]
            - `field` string, required
            - `operator` 'equals' | 'greater_than' | 'not_equals' | 'contains', required
            - `value` union, required
              - …
          - `fallback` union, required
            - object
              - …
            - object
              - …
            - object
              - …
          - `externalHandoff` object, required
            - `mode` 'cold' | 'warm', required
        - object
          - `type` 'sip', required
          - `uri` string, nullable, required
          - `headers` object, required
          - `externalHandoff` object, required
            - `mode` 'cold' | 'warm', required
        - object
          - `type` 'softphone', required
          - `routingConfigId` string, uuid, nullable, required
          - `handoffStrategy` 'wait-for-operator' | 'immediate-transfer', required
          - `voiceAiFallback` union, required
            - object
              - …
            - object
              - …
            - object
              - …
          - `agentWorkspace` object, required
            - `screenBehavior` 'call-form' | 'customer-details' | 'inbox' | 'none', required
            - `callFormId` string, uuid, nullable, required
          - `agentFirstHandling` object, nullable, required
            - `callback` object
              - …
            - `primaryVoicemailGreeting` string, nullable
            - `afterHoursVoicemailGreeting` string, nullable
      - `drafts` object, required
        - `direct` object
          - `type` 'direct', required
          - `phoneNumber` string, nullable, required
          - `externalHandoff` object, required
            - `mode` 'cold' | 'warm', required
        - `dynamic` object
          - `type` 'dynamic', required
          - `pingUrl` string
          - `method` 'GET' | 'POST'
          - `timeout` integer
          - `headers` object
          - `body` object
          - `transferNumberField` string
          - `transferNumber` string
          - `successConditions` object[]
            - `field` string, required
            - `operator` 'equals' | 'greater_than' | 'not_equals' | 'contains', required
            - `value` union, required
              - …
          - `fallback` union, required
            - object
              - …
            - object
              - …
            - object
              - …
          - `externalHandoff` object, required
            - `mode` 'cold' | 'warm', required
        - `sip` object
          - `type` 'sip', required
          - `uri` string, nullable, required
          - `headers` object, required
          - `externalHandoff` object, required
            - `mode` 'cold' | 'warm', required
        - `softphone` object
          - `type` 'softphone', required
          - `routingConfigId` string, uuid, nullable, required
          - `handoffStrategy` 'wait-for-operator' | 'immediate-transfer', required
          - `voiceAiFallback` union, required
            - object
              - …
            - object
              - …
            - object
              - …
          - `agentWorkspace` object, required
            - `screenBehavior` 'call-form' | 'customer-details' | 'inbox' | 'none', required
            - `callFormId` string, uuid, nullable, required
          - `agentFirstHandling` object, nullable, required
            - `callback` object
              - …
            - `primaryVoicemailGreeting` string, nullable
            - `afterHoursVoicemailGreeting` string, nullable
      - `warmTransfer` object, required
        - `mode` 'wait-for-operator' | 'immediate-summary', required
        - `summaryPrompt` string, nullable, required
  - object
    - `description` string, nullable
    - `routingConfigId` string, uuid, nullable
    - `type` 'direct' | 'dynamic' | 'sip' | 'softphone'
    - `warmTransfer` boolean
    - `directPhoneNumber` string, nullable
    - `dynamicOptions` object, nullable
      - `pingUrl` string
      - `method` 'GET' | 'POST'
      - `timeout` number
      - `headers` object
      - `body` object
      - `transferNumberField` string
      - `transferNumber` string
      - `successConditions` object[]
        - `field` string, required
        - `operator` 'equals' | 'greater_than' | 'not_equals' | 'contains', required
        - `value` union, required
          - string
          - number
          - boolean
    - `sipUri` string, nullable
    - `sipHeaders` string, nullable
    - `softphoneFallbackType` 'appointment_booking' | 'phone_number' | 'none' | 'null', nullable
    - `softphoneFallbackPhoneNumber` string, nullable
    - `agentFirstFallbackConfig` object, nullable
      - `callback` object
        - `offerEnabled` boolean
        - `abandonOfferEnabled` boolean
        - `aiOfferEnabled` boolean
        - `expiryMinutes` integer
        - `maxAttempts` integer
        - `retryDelayMinutes` integer
        - `closeBufferMinutes` integer
      - `primaryVoicemailGreeting` string, nullable
      - `afterHoursVoicemailGreeting` string, nullable
    - `appointmentConfigId` string, uuid, nullable
    - `softphoneHandoffStrategy` 'wait-for-operator' | 'immediate-transfer'
    - `screenBehavior` 'call-form' | 'customer-details' | 'inbox' | 'none'
    - `callFormId` string, uuid, nullable
    - `expectedUsageHash` string
    - `expectedUpdatedAt` string, date-time, nullable
    - `name` string: Transfer config name

## Response `200`

PATCH /v2/routing-groups/:id Positive response

- PatchV2RoutingGroupsIdPositiveResponse
  - `transferConfig` object, required
    - `id` string, uuid, required
    - `clientId` string, uuid, nullable, required
    - `name` string, nullable, required
    - `description` string, nullable, required
    - `configuration` object, required
      - `version` 2, required
      - `destination` union, required
        - object
          - `type` 'direct', required
          - `phoneNumber` string, nullable, required
          - `externalHandoff` object, required
            - `mode` 'cold' | 'warm', required
        - object
          - `type` 'dynamic', required
          - `pingUrl` string
          - `method` 'GET' | 'POST'
          - `timeout` integer
          - `headers` object
          - `body` object
          - `transferNumberField` string
          - `transferNumber` string
          - `successConditions` object[]
            - `field` string, required
            - `operator` 'equals' | 'greater_than' | 'not_equals' | 'contains', required
            - `value` union, required
              - …
          - `fallback` union, required
            - object
              - …
            - object
              - …
            - object
              - …
          - `externalHandoff` object, required
            - `mode` 'cold' | 'warm', required
        - object
          - `type` 'sip', required
          - `uri` string, nullable, required
          - `headers` object, required
          - `externalHandoff` object, required
            - `mode` 'cold' | 'warm', required
        - object
          - `type` 'softphone', required
          - `routingConfigId` string, uuid, nullable, required
          - `handoffStrategy` 'wait-for-operator' | 'immediate-transfer', required
          - `voiceAiFallback` union, required
            - object
              - …
            - object
              - …
            - object
              - …
          - `agentWorkspace` object, required
            - `screenBehavior` 'call-form' | 'customer-details' | 'inbox' | 'none', required
            - `callFormId` string, uuid, nullable, required
          - `agentFirstHandling` object, required
            - `callback` object
              - …
            - `primaryVoicemailGreeting` string, nullable
            - `afterHoursVoicemailGreeting` string, nullable
      - `drafts` object, required
        - `direct` object
          - `type` 'direct', required
          - `phoneNumber` string, nullable, required
          - `externalHandoff` object, required
            - `mode` 'cold' | 'warm', required
        - `dynamic` object
          - `type` 'dynamic', required
          - `pingUrl` string
          - `method` 'GET' | 'POST'
          - `timeout` integer
          - `headers` object
          - `body` object
          - `transferNumberField` string
          - `transferNumber` string
          - `successConditions` object[]
            - `field` string, required
            - `operator` 'equals' | 'greater_than' | 'not_equals' | 'contains', required
            - `value` union, required
              - …
          - `fallback` union, required
            - object
              - …
            - object
              - …
            - object
              - …
          - `externalHandoff` object, required
            - `mode` 'cold' | 'warm', required
        - `sip` object
          - `type` 'sip', required
          - `uri` string, nullable, required
          - `headers` object, required
          - `externalHandoff` object, required
            - `mode` 'cold' | 'warm', required
        - `softphone` object
          - `type` 'softphone', required
          - `routingConfigId` string, uuid, nullable, required
          - `handoffStrategy` 'wait-for-operator' | 'immediate-transfer', required
          - `voiceAiFallback` union, required
            - object
              - …
            - object
              - …
            - object
              - …
          - `agentWorkspace` object, required
            - `screenBehavior` 'call-form' | 'customer-details' | 'inbox' | 'none', required
            - `callFormId` string, uuid, nullable, required
          - `agentFirstHandling` object, required
            - `callback` object
              - …
            - `primaryVoicemailGreeting` string, nullable
            - `afterHoursVoicemailGreeting` string, nullable
      - `warmTransfer` object, required
        - `mode` 'wait-for-operator' | 'immediate-summary', required
        - `summaryPrompt` string, nullable, required
    - `routingConfigId` string, uuid, nullable, required
    - `appointmentConfigId` string, uuid, nullable, required
    - `callFormId` string, uuid, nullable, required
    - `createdAt` string, date-time, nullable, required: Transfer config creation time. ISO 8601 timestamp
    - `updatedAt` string, date-time, nullable, required: Transfer config last update time. ISO 8601 timestamp

## Other responses

- `400`: PATCH /v2/routing-groups/:id Negative response 400
- `401`: PATCH /v2/routing-groups/:id Negative response 401
- `403`: PATCH /v2/routing-groups/:id Negative response 403
- `404`: PATCH /v2/routing-groups/:id Negative response 404
- `409`: PATCH /v2/routing-groups/:id Negative response 409
- `422`: PATCH /v2/routing-groups/:id Negative response 422
- `429`: PATCH /v2/routing-groups/:id Negative response 429
- `500`: PATCH /v2/routing-groups/:id Negative response 500
- `502`: PATCH /v2/routing-groups/:id Negative response 502
- `503`: PATCH /v2/routing-groups/:id Negative response 503

---

[API](https://skmtc.dev/carecycle/apis/carecycle-public-api.md) - [All operations](https://skmtc.dev/carecycle/apis/carecycle-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/carecycle/apis/carecycle-public-api/revisions/db390c743c36?raw)
