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

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.

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
externalId
string

Omitted fields stay unchanged. 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
ownerId
string

Omitted fields stay unchanged. 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
name
string

Omitted fields stay unchanged. Contact display name.

Maximum string length: 500
phoneNumber
string

Omitted fields stay unchanged. Primary number in E.164 format, including + and country code.

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

Replaces the array only when supplied; omission preserves it.

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

Shallow merge: supplied keys replace values, absent keys stay unchanged, null deletes a key. The merged object is limited to 16,000 UTF-16 code units. Top-level timezone fields take precedence; the resulting timezone/source pair must be valid.

timeZone
string | null

When supplied, overwrites metadata.timeZone. Omitted fields stay unchanged. The merged timezone/source pair must remain valid.

Maximum string length: 100
timeZoneSource
enum<string>

When supplied, overwrites metadata.timeZoneSource. Omitted fields stay unchanged. A non-null zone requires provided or phone_estimate; no zone requires unknown.

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.