# Replace example resource IDs and ownerId with values from your workspace.
: "${POWERDIALER_API_KEY:?Set POWERDIALER_API_KEY to your scoped API key}"
# Set this once per operation; reuse it with the same request after a timeout.
: "${POWERDIALER_REQUEST_ID:?Set POWERDIALER_REQUEST_ID to a new UUID for this operation}"
curl --request PATCH \
--url 'https://api.migration.powerdialer.ai/api/public/v2/custom-dispositions/123' \
--header "Authorization: Bearer $POWERDIALER_API_KEY" \
--header "Idempotency-Key: $POWERDIALER_REQUEST_ID" \
--header 'Content-Type: application/json' \
--data '{
"mappedDispositions": [
"Positive"
]
}'{
"id": 123,
"workspaceId": "org_example",
"name": "Follow up requested",
"mappedDispositions": [
"Positive"
],
"createdAt": "2026-10-12T12:00:00.000Z",
"updatedAt": "2026-10-12T12:00:00.000Z",
"renamedCalls": 0
}{
"error": {
"code": "invalid_api_key",
"message": "API key is invalid, expired or revoked",
"requestId": "00000000-0000-4000-8000-000000000004"
}
}Update a custom disposition
Manage the shared custom dispositions in the API key’s workspace. Existing personal definitions remain available in the app and are not exposed or migrated by this endpoint. Requires dispositions:write.
Writes require an unrestricted workspace key or a personal key owned by a current workspace administrator. Send an Idempotency-Key and reuse it with the same request after a timeout. Missing scope returns 403 insufficient_scope; a restricted workspace key returns 403 workspace_wide_key_required; a non-admin personal key returns 403 admin_required.
Names are unique within the workspace. Invalid or built-in names and empty/unknown mappings return 400 invalid_request; duplicate names return 409 disposition_name_conflict. Guessed IDs outside the workspace return 404 not_found. Shared renames and deletes preserve historical call labels; mapping changes affect future saves only. These operations configure definitions and do not apply a disposition to a call or execute CRM, DNC or automation actions.
See custom disposition compatibility.
Send name, mappedDispositions, or both. Omitted fields stay unchanged. A supplied mapping array replaces the entire array atomically.
# Replace example resource IDs and ownerId with values from your workspace.
: "${POWERDIALER_API_KEY:?Set POWERDIALER_API_KEY to your scoped API key}"
# Set this once per operation; reuse it with the same request after a timeout.
: "${POWERDIALER_REQUEST_ID:?Set POWERDIALER_REQUEST_ID to a new UUID for this operation}"
curl --request PATCH \
--url 'https://api.migration.powerdialer.ai/api/public/v2/custom-dispositions/123' \
--header "Authorization: Bearer $POWERDIALER_API_KEY" \
--header "Idempotency-Key: $POWERDIALER_REQUEST_ID" \
--header 'Content-Type: application/json' \
--data '{
"mappedDispositions": [
"Positive"
]
}'{
"id": 123,
"workspaceId": "org_example",
"name": "Follow up requested",
"mappedDispositions": [
"Positive"
],
"createdAt": "2026-10-12T12:00:00.000Z",
"updatedAt": "2026-10-12T12:00:00.000Z",
"renamedCalls": 0
}{
"error": {
"code": "invalid_api_key",
"message": "API key is invalid, expired or revoked",
"requestId": "00000000-0000-4000-8000-000000000004"
}
}Authorizations
Issued in Developers. Workspace/owner/scopes come from credential, never acting-user headers. API keys cannot manage API credentials.
Headers
Required. Omitting this header returns 400 idempotency_key_required and changes nothing; a value outside the pattern returns 400 idempotency_key_invalid. Persist one key for this logical operation before sending it. Reuse the same value only with the same method, path and body after a timeout. A changed request returns 409 idempotency_conflict; a matching retry returns the original response.
^[A-Za-z0-9._:-]{1,200}$Path Parameters
Numeric custom-disposition ID returned by POST /custom-dispositions or GET /custom-dispositions.
1 <= x <= 2147483647Body
Trimmed, case-sensitive label. Built-in names are reserved.
1 - 100Ordered built-in mappings. The first mapping drives CRM, DNC and automation. Duplicates are removed in order.
1 - 19 elementsNotDisposed, LeftVoicemail, Busy, Gatekeeper, NoAnswer, BadNumber, NotInService, Positive, Neutral, Negative, AnsweringMachine, WrongNumber, NotInterested, DoNotCall, NotAvailable, Sold, MeetingBooked, NoShow, PresentedNoSale Response
Successful operation.
Stable custom disposition definition ID.
x >= 1Workspace that owns this shared definition.
Trimmed, case-sensitive label. Built-in names are reserved.
1 - 100Ordered built-in mappings. The first mapping drives CRM, DNC and automation. Duplicates are removed in order.
1 - 19 elementsNotDisposed, LeftVoicemail, Busy, Gatekeeper, NoAnswer, BadNumber, NotInService, Positive, Neutral, Negative, AnsweringMachine, WrongNumber, NotInterested, DoNotCall, NotAvailable, Sold, MeetingBooked, NoShow, PresentedNoSale Shared definition edits never rewrite recorded call labels.