id and do not infer meaning from its format.
Contact references
Execution requests accept either an existingcontact_id or an inline recipient. An inline recipient includes an external_id, name, and phone_number, and may include the other supported contact fields. Brightalk resolves it to one canonical contact and returns that contact_id on the execution resource.
external_id is the caller-managed identity within its source namespace. Use a stable value from your own system rather than a display name or mutable phone label.
Adoption and conflict rules
When creating or resolving an inline recipient, Brightalk applies these rules atomically:- A matching external identity resolves to its existing canonical contact.
- A matching normalized phone may adopt the requested external identity only when the existing contact has no external identity.
- If that phone already belongs to a different nonempty external identity, the request returns
409 contact_identity_conflictand overwrites neither identity. - Otherwise, the supported fields create a new contact.
POST /contacts returns 201 for a new contact and 200 for an existing or adopted contact. Unknown fields are rejected.
Phone format and organization isolation
phone_number must be strict E.164: a leading +, a nonzero country code, and 8–15 total digits. Syntactic validity does not guarantee that an organization is enabled to dial that destination; execution can fail safely with unsupported_destination.
Identity lookup, phone collisions, and resource access are isolated by organization. A request cannot merge contacts across organizations or choose an organization through a request field.