SendPulse Contacts API
The Contacts API from SendPulse — 51 operation(s) for contacts.
Operations 57
Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay
Ask an LLM
“Which CRM contacts were created in a given date range?”
“Can I filter my CRM contacts by tag, responsible manager or source?”
Tell an agent
List CRM contacts created between {from} and {to}.
Filter CRM contacts tagged {tagIds} and owned by {responsibleIds}.
Ask an LLM
“Is there already a CRM contact with this email address?”
“Can I search CRM contacts by a partial email instead of the full address?”
Tell an agent
Find CRM contacts with email {email}.
Search CRM contacts by email {email}, exact match set to {isEmailFullSearch}.
POST
/contacts
Create a CRM contact (deprecated endpoint) · (Deprecated). Use POST /contacts/create instead to create a new contact
#
Ask an LLM
“Does the older deprecated create-contact endpoint still accept phones, emails and tags in one call?”
“Can I use the legacy POST /contacts route to add a contact with attachments?”
Tell an agent
Using the deprecated endpoint, create a contact owned by {responsibleId} with emails {emails} and phones {phones}.
Via the legacy create route, add contact {firstName} for {responsibleId} with tags {tags}.
Ask an LLM
“What's the current way to add a new contact to my CRM?”
“Can I store my own external ID on a contact when creating it?”
Tell an agent
Create CRM contact {firstName} {lastName} assigned to {responsibleId}.
Add a new CRM contact for {responsibleId} with external ID {externalContactId}.
Ask an LLM
“What does the CRM know about a contact, including phones, emails and deal count?”
“Can I fetch a single CRM contact record by its ID?”
Tell an agent
Show CRM contact {contactId}.
Get phones, emails and deal count for CRM contact {contactId}.
Ask an LLM
“How do I change the name on an existing CRM contact?”
“Can I reassign a CRM contact to a different team member?”
Tell an agent
Rename CRM contact {contactId} to {firstName} {lastName}, owner {responsibleId}.
Make {responsibleId} responsible for CRM contact {contactId}.
Ask an LLM
“How do I permanently remove a contact from my CRM?”
“Can I delete a duplicate CRM contact record?”
Tell an agent destructive · confirm first
Delete CRM contact {contactId}.
Remove contact record {contactId} from the CRM.
Ask an LLM
“Which deals is a CRM contact involved in?”
“Can I see every deal related to one person?”
Tell an agent
List the deals for CRM contact {contactId}.
Show all deals linked to contact {contactId}.
Ask an LLM
“How do I leave a note on a CRM contact's card?”
“Can I log a comment against a contact record?”
Tell an agent
Add the note {message} to CRM contact {contactId}.
Log a comment on contact {contactId}: {message}.
Ask an LLM
“Can I edit a note I already left on a CRM contact?”
“How do I correct the text of an existing contact comment?”
Tell an agent
Change note {commentId} on contact {contactId} to {message}.
Rewrite existing comment {commentId} on CRM contact {contactId} as {message}.
DELETE
/contacts/{contactId}/comments/{commentId}
Delete a note from a CRM contact · Remove contact note
#
Ask an LLM
“How do I remove a note from a CRM contact?”
“Can I delete one comment on a contact's card?”
Tell an agent destructive · confirm first
Delete note {commentId} from contact {contactId}.
Remove comment {commentId} on CRM contact {contactId}.
GET
/contacts/{contactId}/edu-payments
List a contact's course payments · Get EDU payments by contact
#
Ask an LLM
“What has a student contact paid for my online courses?”
“Can I see the EDU payment records tied to one contact?”
Tell an agent
List the EDU course payments for contact {contactId}.
Show what student contact {contactId} has paid for courses.
GET
/contacts/{contactId}/edu-statistic
Get a contact's course learning statistics · Get EDU statistics for a contact
#
Ask an LLM
“How is a student contact progressing through my courses?”
“Can I pull EDU learning statistics for a single contact?”
Tell an agent
Get the EDU statistics for contact {contactId}.
Show course progress stats for student contact {contactId}.
GET
/contacts/external/{externalContactId}
Find a CRM contact by my external ID · Get contact exists by external contact Id
#
Ask an LLM
“Does a CRM contact already exist for the ID from my own system?”
“Can I look up a contact using the external contact ID I stored?”
Tell an agent
Find the CRM contact with external ID {externalContactId}.
Check whether external contact {externalContactId} exists in the CRM.
GET
/contacts/messenger-external/{messengerContactId}
Find a CRM contact by messenger contact ID · Get contact by messenger contact id
#
Ask an LLM
“Which CRM contact matches a chatbot messenger contact?”
“Can I map a messenger contact ID back to its CRM record?”
Tell an agent
Find the CRM contact for messenger contact {messengerContactId}.
Look up the CRM record linked to chatbot contact {messengerContactId}.
POST
/contacts/{contactId}/relation/{companyId}
Link a contact to a company · Add contact to a company
#
Ask an LLM
“How do I associate a CRM contact with the company they work for?”
“Can I add a person to a company record?”
Tell an agent
Link contact {contactId} to company {companyId}.
Add person {contactId} to company {companyId}.
DELETE
/contacts/{contactId}/relation/{companyId}
Unlink a contact from a company · Delete a contact from the company
#
Ask an LLM
“How do I remove a contact from a company they've left?”
“Can I break the link between a person and a company without deleting either?”
Tell an agent destructive · confirm first
Unlink contact {contactId} from company {companyId}.
Take person {contactId} off company {companyId}.
Ask an LLM
“What tags, variables and activity does a chatbot subscriber have?”
“Can I fetch a bot contact's profile and date added by its ID?”
Tell an agent
Get chatbot contact {id}.
Show the tags, variables and activity of bot subscriber {id}.
Ask an LLM
“Which chatbot subscribers have a specific tag?”
“Can I page through the bot contacts carrying a tag?”
Tell an agent
List contacts of bot {bot_id} tagged {tag}.
Show {size} subscribers of bot {bot_id} with tag {tag}, skipping {skip}.
GET
/contacts/getByVariable
List chatbot contacts by variable value · Get a list of contacts by variable
#
Ask an LLM
“Which bot subscribers have a variable set to a certain value?”
“Can I find chatbot contacts by variable name instead of variable ID?”
Tell an agent
Find contacts of bot {bot_id} where {variable_name} equals {variable_value}.
List subscribers whose variable {variable_id} is {variable_value}.
POST
/contacts/sendText
Send a plain text chatbot message to a contact · Send a text message to a contact
#
Ask an LLM
“How do I send a simple text message to a chatbot subscriber?”
“Can I attach a message tag when texting a contact outside the messaging window?”
Tell an agent
Text contact {contact_id} the message {text} as type {message_type}.
Send plain text {text} to contact {contact_id} as {message_type} with tag {message_tag}.
Ask an LLM
“Can I send a rich message object, not just text, to a chatbot subscriber by contact ID?”
“What's the endpoint for sending a full message payload to a bot contact?”
Tell an agent
Send the message payload {message} to contact {contact_id}.
Deliver structured message {message} to bot subscriber {contact_id}.
Ask an LLM
“Can my bot show the 'typing…' indicator to a subscriber?”
“How do I make a chat look like an agent is typing a reply?”
Tell an agent
Show a typing indicator to contact {contact_id}.
Display 'typing' in the chat with {contact_id}.
POST
/contacts/setVariable
Set a variable value on a chatbot contact · Assign a variable to contact
#
Ask an LLM
“How do I store a custom variable value on a bot subscriber?”
“Can I update several variables on a chatbot contact at once?”
Tell an agent
Set variables {variables} on contact {contact_id}.
Save variable values {variables} for bot subscriber {contact_id}.
POST
/contacts/deleteVariable
Clear a variable value from a chatbot contact · Delete a variable the selected contact
#
Ask an LLM
“How do I erase a variable value stored on a bot subscriber?”
“Can I delete a contact's variable by name rather than ID?”
Tell an agent destructive · confirm first
Delete variable {variable_name} from contact {contact_id}.
Clear the value of variable {variable_id} on bot subscriber {contact_id}.
Ask an LLM
“Can I reset the unread count on a subscriber's chat to zero?”
“How do I mark all of a contact's messages as read?”
Tell an agent
Mark all messages from contact {contact_id} as read.
Clear the unread counter for the chat with {contact_id}.
PUT
/contacts/mark-unread
Mark a contact's chat as unread · Mark a chat with the contact as unread
#
Ask an LLM
“Can I flag a chat as unread so I remember to come back to it?”
“Is there a way to mark a subscriber's last message unread again?”
Tell an agent
Mark the chat with contact {contact_id} as unread.
Flag the last message from {contact_id} as unread.
Ask an LLM
“How do I add tags to a chatbot subscriber?”
“Can I assign several tags to a bot contact in one call?”
Tell an agent
Tag contact {contact_id} with {tags}.
Assign tags {tags} to bot subscriber {contact_id}.
Ask an LLM
“How do I untag a chatbot subscriber?”
“Can I take one tag off a bot contact?”
Tell an agent destructive · confirm first
Remove tag {tag} from contact {contact_id}.
Untag bot subscriber {contact_id} from {tag}.
Ask an LLM
“Can I stop sending campaigns and autoflows to a chatbot subscriber without deleting them?”
“How do I disable a contact in my bot audience?”
Tell an agent
Disable contact {contact_id} so campaigns and autoflows skip them.
Turn off all bot messaging to subscriber {contact_id}.
Ask an LLM
“How do I resume campaigns to a subscriber I previously disabled?”
“Can I re-enable a chatbot contact in my audience?”
Tell an agent
Enable contact {contact_id} again.
Resume campaigns and autoflows for disabled subscriber {contact_id}.
Ask an LLM
“What happens if I delete a chatbot subscriber — can they come back?”
“Can I remove a contact from my bot's audience and subscriber list?”
Tell an agent destructive · confirm first
Delete bot contact {contact_id} from the audience.
Remove subscriber {contact_id} from my chatbot's audience list.
GET
/contacts/getPauseAutomation
Check how long autoflows are paused for a contact · Get remaining time for automation pause
#
Ask an LLM
“How much time is left on an autoflow pause for a subscriber?”
“Are autoflows currently paused for this chatbot contact?”
Tell an agent
Show the remaining autoflow pause time for contact {contact_id}.
Check whether automation is paused for subscriber {contact_id}.
Ask an LLM
“Can I pause a bot's automated flows while a human agent talks to a subscriber?”
“How do I stop autoflows for a contact for a set number of minutes?”
Tell an agent
Pause autoflows for contact {contact_id} for {minutes} minutes.
Hold all automation for subscriber {contact_id} for {minutes} minutes.
POST
/contacts/deletePauseAutomation
Resume paused autoflows for a contact · Resume autoflows for a contact
#
Ask an LLM
“How do I end an autoflow pause early for a subscriber?”
“Can I turn the bot's automation back on for a contact right away?”
Tell an agent
Resume autoflows for contact {contact_id}.
Cancel the automation pause on subscriber {contact_id}.
GET
/contacts/notes
List operator notes on a chatbot contact · Get a list of contact's operator notes
#
Ask an LLM
“What operator notes have agents left about a chat subscriber?”
“Can I read the internal notes on a bot contact?”
Tell an agent
List operator notes for contact {contact_id} on bot {bot_id}.
Show the internal agent notes about subscriber {contact_id} in bot {bot_id}.
Ask an LLM
“How can an agent leave an internal note on a chat subscriber?”
“Can I add an operator note that the contact won't see?”
Tell an agent
Add operator note {text} to contact {contact_id} on bot {bot_id}.
Leave an internal agent note for subscriber {contact_id} in bot {bot_id}: {text}.
Ask an LLM
“Can I edit an operator note that's already on a chat subscriber?”
“How do I fix the text of an existing agent note?”
Tell an agent
Change operator note {note_id} on contact {contact_id} in bot {bot_id} to {text}.
Rewrite agent note {note_id} for subscriber {contact_id} on bot {bot_id} as {text}.
Ask an LLM
“Can I remove an operator note I no longer need from a chat subscriber?”
“What do I need to delete one agent note from a bot contact?”
Tell an agent destructive · confirm first
Delete operator note {note_id} from contact {contact_id} on bot {bot_id}.
Remove agent note {note_id} from subscriber {contact_id} in bot {bot_id}.
POST
/contacts/operators/assign
Assign an operator to a contact's chat · Assign a responsible for the chat
#
Ask an LLM
“How do I hand a chat over to a specific team member?”
“Can I make one operator responsible for a subscriber's conversation?”
Tell an agent
Assign operator {operator_id} to the chat with contact {contact_id}.
Make {operator_id} responsible for subscriber {contact_id}'s chat.
POST
/contacts/operators/unAssign
Unassign operators from a contact's chat · Unassign responsible operators for the chat
#
Ask an LLM
“Can I remove whoever is assigned to a subscriber's chat?”
“How do I put a chat back into the unassigned queue?”
Tell an agent
Unassign all operators from the chat with contact {contact_id}.
Clear the responsible agent on subscriber {contact_id}'s conversation.
Ask an LLM
“Can I mark a subscriber's chat as open to raise its priority?”
“How do I reopen a conversation so agents see it first?”
Tell an agent
Open the chat with contact {contact_id}.
Raise the priority of subscriber {contact_id}'s conversation by opening it.
Ask an LLM
“How do I close a conversation once it's resolved?”
“Can I lower a chat's priority by marking it closed?”
Tell an agent
Close the chat with contact {contact_id}.
Mark subscriber {contact_id}'s conversation as closed.
Ask an LLM
“How do I add phone numbers to a mailing list for SMS campaigns?”
“Can I load a batch of plain phone numbers into an address book?”
Tell an agent
Add phones {phones} to mailing list {addressBookId}.
Import these numbers into address book {addressBookId}: {phones}.
PUT
/sms/numbers
Update variables for many SMS numbers in a list · Update variables for multiple phone numbers
#
Ask an LLM
“Can I update the same variables on many phone numbers in a mailing list at once?”
“What's the bulk way to change SMS contact variables?”
Tell an agent
Set variables {variables} on phones {phones} in mailing list {addressBookId}.
Bulk-update SMS variables {variables} for numbers {phones} in list {addressBookId}.
DELETE
/sms/numbers
Remove phone numbers from an SMS mailing list · Remove phone numbers from a mailing list
#
Ask an LLM
“How do I take phone numbers out of an SMS mailing list?”
“Can I delete several numbers from an address book at once?”
Tell an agent destructive · confirm first
Remove phones {phones} from mailing list {addressBookId}.
Delete numbers {phones} from address book {addressBookId}.
POST
/sms/numbers/variables
Add phone numbers with variables to a mailing list · Add phone numbers with complex variables
#
Ask an LLM
“Can I add phone numbers to a list together with per-number variables like name?”
“What's the way to import SMS contacts with complex variables attached?”
Tell an agent
Add phones with their variables {phones} to mailing list {addressBookId}.
Import numbers plus personalization data {phones} into address book {addressBookId}.
PUT
/addressbooks/{id}/phone
Change the phone number tied to an email in a list · Change a phone number for a contact
#
Ask an LLM
“How do I change the phone number of a subscriber in a mailing list, matched by their email?”
“Can I update a list subscriber's phone using their email address?”
Tell an agent
Set the phone for {email} in mailing list {id} to {phone}.
In address book {id}, change subscriber {email}'s number to {phone}.
POST
/addressbooks/{id}/phones/variable
Change variables for one phone number in a list · Change variables for a single phone contact
#
Ask an LLM
“Can I update the variables on a single phone contact in a mailing list?”
“How do I edit personalization data for just one SMS number?”
Tell an agent
Set variables {variables} for phone {phone} in mailing list {id}.
Update just number {phone} in address book {id} with {variables}.
GET
/sms/numbers/info/{addressBookId}/{phoneNumber}
Get details of a phone number in a mailing list · Get information for a specific phone number
#
Ask an LLM
“What variables and status are stored for a phone number in my SMS list?”
“Is a particular number in a given address book?”
Tell an agent
Get info on phone {phoneNumber} in mailing list {addressBookId}.
Show what address book {addressBookId} holds for number {phoneNumber}.
Ask an LLM
“Which bot subscriber matches a Telegram user ID?”
“Can I look up a Telegram contact through a business connection?”
Tell an agent
Find the contact with Telegram ID {telegram_id} in bot {bot_id}.
Look up Telegram user {telegram_id} on bot {bot_id} via business connection {business_connection_id}.
Ask an LLM
“Can my bot react to a subscriber's message with an emoji?”
“How do I add a thumbs-up reaction to a specific chat message?”
Tell an agent
React with {reaction} to message {message_id} from contact {contact_id}.
Put a {reaction} reaction on {contact_id}'s message {message_id}.
Ask an LLM
“Which chatbot subscriber has a given phone number?”
“Can I pull a bot contact's tags and variables using their phone?”
Tell an agent
Find the contact with phone {phone} in bot {bot_id}.
Look up bot {bot_id}'s subscriber by number {phone}.
POST
/contacts/sendByPhone
Send a free-form message to a contact by phone · Send a free message to a contact by phone number
#
Ask an LLM
“Can I message an active chatbot subscriber using only their phone number?”
“Is it possible to send an image or file to a contact by phone instead of contact ID?”
Tell an agent
Send {message} to phone {phone} through bot {bot_id}.
Message the active contact at {phone} on bot {bot_id} with a free-form {message}.
POST
/contacts/sendTemplate
Send an approved template message to a contact · Send a template message to the specified contact
#
Ask an LLM
“How do I send a pre-approved template message to an existing subscriber by contact ID?”
“Can a template I send include buttons, variables or an image header?”
Tell an agent
Send template {template} to contact {contact_id}.
Deliver approved template message {template} to subscriber {contact_id}.
POST
/contacts/sendTemplateByPhone
Send an approved template message to a phone number · Send a template message to a contact by phone number
#
Ask an LLM
“Can I send a template message to a phone number that isn't a contact yet?”
“What's the way to start a conversation with a new number using an approved template?”
Tell an agent
Send template {template} to phone {phone} via bot {bot_id}.
Reach new number {phone} on bot {bot_id} with approved template {template}.
Ask an LLM
“Can I change how a chatbot subscriber's name is displayed?”
“How do I rename a bot contact?”
Tell an agent
Set the name of contact {contact_id} to {name}.
Rename bot subscriber {contact_id} as {name}.
Documentation
📖
Documentation
https://sendpulse.com/integrations/api/bulk-email
📖
APIReference
https://sendpulse.com/integrations/api
📖
Documentation
https://sendpulse.com/integrations/api/smtp
📖
Documentation
https://sendpulse.com/integrations/api/bulk-sms
📖
Documentation
https://sendpulse.com/integrations/api
📖
Documentation
https://sendpulse.com/integrations/api/chatbot
📖
Documentation
https://sendpulse.com/integrations/api/web-push