---
updatedAt: 2026-09-26T02:51:07.000Z
agentTools:
  projectIndex: https://developers.dialpad.com/llms.txt
---

# Custom IVR -- Assign

Assigns an already-created IVR recording to a target for a given IVR type, replacing whatever was previously assigned. This selects which existing recording plays; it does not change the recording's own name or description.

Rate limit: 1200 per minute.

# OpenAPI definition

```json
{
  "components": {
    "schemas": {
      "protos.custom_ivr.CustomIvrDetailsProto": {
        "properties": {
          "date_added": {
            "description": "Date when this IVR was added.",
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "description": {
            "description": "[single-line only]\n\nThe description of the IVR.",
            "type": [
              "null",
              "string"
            ]
          },
          "id": {
            "description": "Id of this IVR.",
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "name": {
            "description": "[single-line only]\n\nThe name of this IVR.",
            "type": [
              "null",
              "string"
            ]
          },
          "selected": {
            "description": "True if this IVR is selected for this type of IVR.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "text": {
            "description": "The text for this IVR if there is no mp3.",
            "type": [
              "null",
              "string"
            ]
          }
        },
        "title": "Custom IVR details.",
        "type": "object"
      },
      "protos.custom_ivr.CustomIvrProto": {
        "properties": {
          "ivr_type": {
            "description": "Type of IVR.",
            "enum": [
              "ADMIN_AUTO_RECORDING",
              "ASK_FIRST_OPERATOR_NOT_AVAILABLE",
              "AUTO_RECORDING",
              "CALLAI_AUTO_RECORDING",
              "CALLAI_AUTO_RECORDING_INBOUND",
              "CALLAI_AUTO_RECORDING_OUTBOUND",
              "CALLAI_TOGGLE_DISABLED",
              "CALLAI_TOGGLE_ENABLED",
              "CG_AUTO_RECORDING",
              "CLOSED",
              "CLOSED_DEPARTMENT_INTRO",
              "CLOSED_MENU",
              "CLOSED_MENU_OPTION",
              "CSAT_INTRO",
              "CSAT_OUTRO",
              "CSAT_PREAMBLE",
              "CSAT_QUESTION",
              "DEPARTMENT_INTRO",
              "GREETING",
              "HOLD_AGENT_READY",
              "HOLD_APPREC",
              "HOLD_CALLBACK_ACCEPT",
              "HOLD_CALLBACK_ACCEPTED",
              "HOLD_CALLBACK_CONFIRM",
              "HOLD_CALLBACK_CONFIRM_NUMBER",
              "HOLD_CALLBACK_DIFFERENT_NUMBER",
              "HOLD_CALLBACK_DIRECT",
              "HOLD_CALLBACK_FULFILLED",
              "HOLD_CALLBACK_INVALID_NUMBER",
              "HOLD_CALLBACK_KEYPAD",
              "HOLD_CALLBACK_REJECT",
              "HOLD_CALLBACK_REJECTED",
              "HOLD_CALLBACK_REQUEST",
              "HOLD_CALLBACK_REQUESTED",
              "HOLD_CALLBACK_SAME_NUMBER",
              "HOLD_CALLBACK_TRY_AGAIN",
              "HOLD_CALLBACK_UNDIALABLE",
              "HOLD_ESCAPE_VM_EIGHT",
              "HOLD_ESCAPE_VM_FIVE",
              "HOLD_ESCAPE_VM_FOUR",
              "HOLD_ESCAPE_VM_NINE",
              "HOLD_ESCAPE_VM_ONE",
              "HOLD_ESCAPE_VM_POUND",
              "HOLD_ESCAPE_VM_SEVEN",
              "HOLD_ESCAPE_VM_SIX",
              "HOLD_ESCAPE_VM_STAR",
              "HOLD_ESCAPE_VM_TEN",
              "HOLD_ESCAPE_VM_THREE",
              "HOLD_ESCAPE_VM_TWO",
              "HOLD_ESCAPE_VM_ZERO",
              "HOLD_ESTIMATED_WAIT_TIME",
              "HOLD_INTERRUPT",
              "HOLD_INTRO",
              "HOLD_MUSIC",
              "HOLD_POSITION_EIGHT",
              "HOLD_POSITION_FIVE",
              "HOLD_POSITION_FOUR",
              "HOLD_POSITION_MORE",
              "HOLD_POSITION_NINE",
              "HOLD_POSITION_ONE",
              "HOLD_POSITION_SEVEN",
              "HOLD_POSITION_SIX",
              "HOLD_POSITION_TEN",
              "HOLD_POSITION_THREE",
              "HOLD_POSITION_TWO",
              "HOLD_POSITION_ZERO",
              "HOLD_WAIT",
              "INCOMING_CALL_FROM_GROUP",
              "MENU",
              "MENU_OPTION",
              "NEXT_TARGET",
              "POWER_DIALER_CALL_GREETING",
              "POWER_DIALER_VM_DROP",
              "PREFERRED_OPERATOR_PROMPT",
              "VM_DROP_MESSAGE",
              "VM_UNAVAILABLE",
              "VM_UNAVAILABLE_CLOSED",
              null
            ],
            "type": [
              "null",
              "string"
            ]
          },
          "ivrs": {
            "description": "A list of IVR detail objects.",
            "items": {
              "$ref": "#/components/schemas/protos.custom_ivr.CustomIvrDetailsProto",
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "title": "Custom IVR.",
        "type": "object"
      },
      "protos.custom_ivr.UpdateCustomIvrMessage": {
        "properties": {
          "ivr_id": {
            "description": "The id of the ivr that you want to use for the ivr type.",
            "format": "int64",
            "type": "integer"
          },
          "select_option": {
            "description": "For call center auto call recording only. Set ivr for inbound or outbound. Default is both.",
            "enum": [
              "inbound",
              "outbound",
              null
            ],
            "type": [
              "null",
              "string"
            ]
          }
        },
        "required": [
          "ivr_id"
        ],
        "type": "object"
      }
    },
    "securitySchemes": {
      "bearer_token": {
        "description": "The API key can be put in the Authorization header.\ni.e. Authorization: Bearer <api_key>",
        "scheme": "bearer",
        "type": "http"
      }
    }
  },
  "info": {
    "description": "Dialpad's APIs for customer and third-party developer use",
    "title": "Dialpad",
    "version": "v2",
    "x-logo": {
      "altText": "Dialpad",
      "url": "https://storage.googleapis.com/dialpad_openapi_specs/logo.png"
    }
  },
  "openapi": "3.1.0",
  "paths": {
    "/api/v2/customivrs/{target_type}/{target_id}/{ivr_type}": {
      "patch": {
        "deprecated": false,
        "description": "Assigns an already-created IVR recording to a target for a given IVR type, replacing whatever was previously assigned. This selects which existing recording plays; it does not change the recording's own name or description.\n\nRate limit: 1200 per minute.",
        "operationId": "ivr.assign",
        "parameters": [
          {
            "description": "Target's type.",
            "in": "path",
            "name": "target_type",
            "required": true,
            "schema": {
              "enum": [
                "callcenter",
                "callrouter",
                "channel",
                "coachinggroup",
                "coachingteam",
                "department",
                "office",
                "room",
                "staffgroup",
                "unknown",
                "user"
              ],
              "type": "string"
            }
          },
          {
            "description": "The target's id.",
            "in": "path",
            "name": "target_id",
            "required": true,
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "description": "Type of ivr you want to assign",
            "in": "path",
            "name": "ivr_type",
            "required": true,
            "schema": {
              "enum": [
                "ADMIN_AUTO_RECORDING",
                "ASK_FIRST_OPERATOR_NOT_AVAILABLE",
                "AUTO_RECORDING",
                "CALLAI_AUTO_RECORDING",
                "CALLAI_AUTO_RECORDING_INBOUND",
                "CALLAI_AUTO_RECORDING_OUTBOUND",
                "CALLAI_TOGGLE_DISABLED",
                "CALLAI_TOGGLE_ENABLED",
                "CG_AUTO_RECORDING",
                "CLOSED",
                "CLOSED_DEPARTMENT_INTRO",
                "CLOSED_MENU",
                "CLOSED_MENU_OPTION",
                "CSAT_INTRO",
                "CSAT_OUTRO",
                "CSAT_PREAMBLE",
                "CSAT_QUESTION",
                "DEPARTMENT_INTRO",
                "GREETING",
                "HOLD_AGENT_READY",
                "HOLD_APPREC",
                "HOLD_CALLBACK_ACCEPT",
                "HOLD_CALLBACK_ACCEPTED",
                "HOLD_CALLBACK_CONFIRM",
                "HOLD_CALLBACK_CONFIRM_NUMBER",
                "HOLD_CALLBACK_DIFFERENT_NUMBER",
                "HOLD_CALLBACK_DIRECT",
                "HOLD_CALLBACK_FULFILLED",
                "HOLD_CALLBACK_INVALID_NUMBER",
                "HOLD_CALLBACK_KEYPAD",
                "HOLD_CALLBACK_REJECT",
                "HOLD_CALLBACK_REJECTED",
                "HOLD_CALLBACK_REQUEST",
                "HOLD_CALLBACK_REQUESTED",
                "HOLD_CALLBACK_SAME_NUMBER",
                "HOLD_CALLBACK_TRY_AGAIN",
                "HOLD_CALLBACK_UNDIALABLE",
                "HOLD_ESCAPE_VM_EIGHT",
                "HOLD_ESCAPE_VM_FIVE",
                "HOLD_ESCAPE_VM_FOUR",
                "HOLD_ESCAPE_VM_NINE",
                "HOLD_ESCAPE_VM_ONE",
                "HOLD_ESCAPE_VM_POUND",
                "HOLD_ESCAPE_VM_SEVEN",
                "HOLD_ESCAPE_VM_SIX",
                "HOLD_ESCAPE_VM_STAR",
                "HOLD_ESCAPE_VM_TEN",
                "HOLD_ESCAPE_VM_THREE",
                "HOLD_ESCAPE_VM_TWO",
                "HOLD_ESCAPE_VM_ZERO",
                "HOLD_ESTIMATED_WAIT_TIME",
                "HOLD_INTERRUPT",
                "HOLD_INTRO",
                "HOLD_MUSIC",
                "HOLD_POSITION_EIGHT",
                "HOLD_POSITION_FIVE",
                "HOLD_POSITION_FOUR",
                "HOLD_POSITION_MORE",
                "HOLD_POSITION_NINE",
                "HOLD_POSITION_ONE",
                "HOLD_POSITION_SEVEN",
                "HOLD_POSITION_SIX",
                "HOLD_POSITION_TEN",
                "HOLD_POSITION_THREE",
                "HOLD_POSITION_TWO",
                "HOLD_POSITION_ZERO",
                "HOLD_WAIT",
                "INCOMING_CALL_FROM_GROUP",
                "MENU",
                "MENU_OPTION",
                "NEXT_TARGET",
                "POWER_DIALER_CALL_GREETING",
                "POWER_DIALER_VM_DROP",
                "PREFERRED_OPERATOR_PROMPT",
                "VM_DROP_MESSAGE",
                "VM_UNAVAILABLE",
                "VM_UNAVAILABLE_CLOSED"
              ],
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/protos.custom_ivr.UpdateCustomIvrMessage",
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "examples": {
                  "json_example": {
                    "value": {
                      "ivr_type": "DEPARTMENT_INTRO",
                      "ivrs": [
                        {
                          "date_added": "1356998400000",
                          "id": "4516793766903808",
                          "name": "mocked-file.mp3",
                          "selected": false
                        },
                        {
                          "date_added": "1356998400000",
                          "id": "5079743720325120",
                          "name": "test_mp3",
                          "selected": true
                        },
                        {
                          "date_added": "1356998400000",
                          "id": "5642693673746432",
                          "name": "test_mp3",
                          "selected": false
                        }
                      ]
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/protos.custom_ivr.CustomIvrProto"
                }
              }
            },
            "description": "A successful response"
          }
        },
        "summary": "Custom IVR -- Assign",
        "tags": [
          "customivrs"
        ],
        "x-access": [
          "user"
        ],
        "x-ratelimit": [
          [
            20,
            1
          ]
        ]
      }
    }
  },
  "servers": [
    {
      "url": "https://dialpad.com"
    },
    {
      "url": "https://sandbox.dialpad.com"
    }
  ],
  "security": [
    {
      "bearer_token": []
    }
  ],
  "x-readme": {
    "apply-tag-changes": true,
    "explorer-enabled": true,
    "proxy-enabled": false
  }
}
```