# 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 DELETE \
--url 'https://api.migration.powerdialer.ai/api/public/v2/lists/456/contacts' \
--header "Authorization: Bearer $POWERDIALER_API_KEY" \
--header "Idempotency-Key: $POWERDIALER_REQUEST_ID" \
--header 'Content-Type: application/json' \
--data '{
"contactIds": [
123,
124
]
}'{
"removed": [
123,
124
],
"skipped": []
}{
"error": {
"code": "invalid_api_key",
"message": "API key is invalid, expired or revoked",
"requestId": "00000000-0000-4000-8000-000000000004"
}
}Remove contacts in bulk
Change up to 100 contact IDs with one Idempotency-Key. Each item is added/removed or skipped with reason not_found (also inaccessible), already_present, not_present, or duplicate. Unknown positive IDs do not reject the batch. Invalid bodies and batches above 100 return 400 invalid_request. Single-contact endpoints are unchanged.
# 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 DELETE \
--url 'https://api.migration.powerdialer.ai/api/public/v2/lists/456/contacts' \
--header "Authorization: Bearer $POWERDIALER_API_KEY" \
--header "Idempotency-Key: $POWERDIALER_REQUEST_ID" \
--header 'Content-Type: application/json' \
--data '{
"contactIds": [
123,
124
]
}'{
"removed": [
123,
124
],
"skipped": []
}{
"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 calling-list ID returned by POST /lists or GET /lists. The list must be visible to this credential.
1 <= x <= 2147483647Body
1 - 100 elements1 <= x <= 2147483647