Skip to main content
POST
/
v1
/
contacts
/
{id}
/
messages
Send a proactive message to a contact
curl --request POST \
  --url https://api.conduit.ai/v1/contacts/{id}/messages \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "channel_node_id": "hg77c0dy0mgdpzmqz6tesry8w184002s",
  "sender_id": "gmail_account:team@conduit.ai",
  "body": "Hi there, can you confirm check-in time?",
  "subject": "Check-in confirmation"
}
'
{
  "data": {
    "id": "yh7t5azsr0zpfpyf67vtce0j6n844y1e",
    "workspace_id": "j57demo8f8x7c9v0n2q4r6t8y1u3i5o",
    "contact_id": "ph77c0dy0mgdpzmqz6tesry8w184002s",
    "channel_node_id": "hg77c0dy0mgdpzmqz6tesry8w184002s",
    "sender_id": "gmail_account:team@conduit.ai",
    "channel": "email",
    "status": "sent"
  }
}

Authorizations

Authorization
string
header
required

Conduit API token. Use Authorization: Bearer <token>. Read/write endpoints require a token with write access.

Path Parameters

id
string
required

Contact id.

Example:

"ph77c0dy0mgdpzmqz6tesry8w184002s"

Query Parameters

workspace_id
string

Optional workspace override. If omitted, Conduit resolves the contact's workspace automatically.

Example:

"j57demo8f8x7c9v0n2q4r6t8y1u3i5o"

Body

application/json

Request body for sending a proactive message to a contact through an explicit channel node.

channel_node_id
string
required

Exact contact channel node to deliver through.

body
string
required
Minimum string length: 1
sender_id
string

Optional workspace sender to use. Required when multiple compatible senders exist and no single default can be chosen.

subject
string

Optional subject for email channel nodes.

Response

Contact message accepted

Result returned after a proactive contact message is accepted for delivery.

data
object
required