Skip to main content
cURL

Authorizations

Authorization
string
header
required

Issued in Developers. Workspace/owner/scopes come from credential, never acting-user headers. API keys cannot manage API credentials.

Headers

Idempotency-Key
string
required

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.

Pattern: ^[A-Za-z0-9._:-]{1,200}$

Path Parameters

id
integer
required

Numeric PowerDialer contact ID, not your CRM externalId. The contact must be inside the credential’s workspace and owner scope.

Required range: 1 <= x <= 2147483647

Body

application/json
ownerId
string
required

ID of an active PowerDialer workspace member allowed by this key. Personal keys must use their own ownerId from GET /me.

Required string length: 1 - 100
phoneNumber
string
required

Primary number in E.164 format, including + and country code.

Pattern: ^\+[1-9]\d{6,14}$
externalId
string

Stable contact ID from your CRM or source system, unique within this workspace. Reuse it on POST to update an existing contact.

Required string length: 1 - 200
name
string
default:""

Contact display name. Omitting this field on a write resets it to an empty string.

Maximum string length: 500
additionalNumbers
string[]

Up to 10 additional E.164 numbers. Replaces the stored array; omitted means empty.

Maximum array length: 10
Pattern: ^\+[1-9]\d{6,14}$
metadata
object

Your JSON object. Its JSON.stringify output must fit within 16,000 UTF-16 code units. Replaces existing metadata. Top-level timezone fields overwrite the matching metadata keys.

timeZone
string | null

IANA timezone such as America/New_York. A non-null value requires timeZoneSource provided or phone_estimate; null or omission requires unknown. The API does not infer a timezone.

Maximum string length: 100
timeZoneSource
enum<string>
default:unknown

provided for a known timezone, phone_estimate for an estimate made by your integration, or unknown when timeZone is null.

Available options:
provided,
phone_estimate,
unknown

Response

The updated contact, or the saved response for an identical retry.

id
integer
required

PowerDialer contact ID. Use this integer in contact URLs.

name
string
required

Stored contact name.

phoneNumber
string
required

Stored primary phone number. V2 writes require E.164.

additionalNumbers
string[]
required

Stored additional phone numbers.

metadata
any
required

Stored JSON metadata. v2 writes use objects; legacy rows may contain other JSON values.

ownerId
string | null
required

Attributed PowerDialer member ID.

externalId
string | null
required

Your source-system identifier, or null when no identifier was assigned.

createdAt
string<date-time>
required

Time the contact was created, in UTC.

updatedAt
string<date-time>
required

Time the contact was last updated, in UTC.

timeZone
any
required

Stored timezone metadata. V2 writes produce an IANA string or null; legacy metadata may contain another JSON value.

timeZoneSource
any
required

Stored timezone-source metadata. V2 writes use provided, phone_estimate, or unknown; legacy values may differ.