SendPulse · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Sendpulse Contacts API
58 actions
58 updates
phrasing
extends
openapi/sendpulse-contacts-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for SendPulse's API. It is a proposal applied on top of the contract, not a document SendPulse publishes.
What the actions change
x-apievangelist-phrasing
Targets 58 · first 16 shown; the file carries all of them
$.info
$.paths['/contacts/get-list'].post
$.paths['/contacts/get-list-by-email'].post
$.paths['/contacts'].post
$.paths['/contacts/create'].post
$.paths['/contacts/{contactId}'].get
$.paths['/contacts/{contactId}'].put
$.paths['/contacts/{contactId}'].delete
$.paths['/contacts/{contactId}/deals'].get
$.paths['/contacts/{contactId}/comments'].post
$.paths['/contacts/{contactId}/comments/{commentId}'].put
$.paths['/contacts/{contactId}/comments/{commentId}'].delete
$.paths['/contacts/{contactId}/edu-payments'].get
$.paths['/contacts/{contactId}/edu-statistic'].get
$.paths['/contacts/external/{externalContactId}'].get
$.paths['/contacts/messenger-external/{messengerContactId}'].get
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for Sendpulse Contacts API
version: 1.0.0
extends: openapi/sendpulse-contacts-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-10-02'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 57
- target: $.paths['/contacts/get-list'].post
update:
x-apievangelist-phrasing:
intent: Filter and list CRM contacts
effect: read
questions:
- Which CRM contacts were created in a given date range?
- Can I filter my CRM contacts by tag, responsible manager or source?
instructions:
- text: List CRM contacts created between {from} and {to}.
slots:
from: requestBody.from
to: requestBody.to
- text: Filter CRM contacts tagged {tagIds} and owned by {responsibleIds}.
slots:
tagIds: requestBody.tagIds
responsibleIds: requestBody.responsibleIds
- text: Page through CRM contacts, {limit} at a time from offset {offset}.
slots:
limit: requestBody.limit
offset: requestBody.offset
method: generated
generated: '2026-10-01'
- target: $.paths['/contacts/get-list-by-email'].post
update:
x-apievangelist-phrasing:
intent: Find CRM contacts by email address
effect: read
questions:
- Is there already a CRM contact with this email address?
- Can I search CRM contacts by a partial email instead of the full address?
instructions:
- text: Find CRM contacts with email {email}.
slots:
email: requestBody.email
- text: Search CRM contacts by email {email}, exact match set to {isEmailFullSearch}.
slots:
email: requestBody.email
isEmailFullSearch: requestBody.isEmailFullSearch
method: generated
generated: '2026-10-01'
- target: $.paths['/contacts'].post
update:
x-apievangelist-phrasing:
intent: Create a CRM contact (deprecated endpoint)
effect: write
questions:
- 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?
instructions:
- text: Using the deprecated endpoint, create a contact owned by {responsibleId} with emails {emails} and phones {phones}.
slots:
responsibleId: requestBody.responsibleId
emails: requestBody.emails
phones: requestBody.phones
- text: Via the legacy create route, add contact {firstName} for {responsibleId} with tags {tags}.
slots:
firstName: requestBody.firstName
responsibleId: requestBody.responsibleId
tags: requestBody.tags
method: generated
generated: '2026-10-01'
- target: $.paths['/contacts/create'].post
update:
x-apievangelist-phrasing:
intent: Create a CRM contact
effect: write
questions:
- 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?
instructions:
- text: Create CRM contact {firstName} {lastName} assigned to {responsibleId}.
slots:
firstName: requestBody.firstName
lastName: requestBody.lastName
responsibleId: requestBody.responsibleId
- text: Add a new CRM contact for {responsibleId} with external ID {externalContactId}.
slots:
responsibleId: requestBody.responsibleId
externalContactId: requestBody.externalContactId
method: generated
generated: '2026-10-01'
- target: $.paths['/contacts/{contactId}'].get
update:
x-apievangelist-phrasing:
intent: Get a CRM contact's details
effect: read
questions:
- 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?
instructions:
- text: Show CRM contact {contactId}.
slots:
contactId: path.contactId
- text: Get phones, emails and deal count for CRM contact {contactId}.
slots:
contactId: path.contactId
method: generated
generated: '2026-10-01'
- target: $.paths['/contacts/{contactId}'].put
update:
x-apievangelist-phrasing:
intent: Update a CRM contact
effect: write
questions:
- How do I change the name on an existing CRM contact?
- Can I reassign a CRM contact to a different team member?
instructions:
- text: Rename CRM contact {contactId} to {firstName} {lastName}, owner {responsibleId}.
slots:
contactId: path.contactId
firstName: requestBody.firstName
lastName: requestBody.lastName
responsibleId: requestBody.responsibleId
- text: Make {responsibleId} responsible for CRM contact {contactId}.
slots:
responsibleId: requestBody.responsibleId
contactId: path.contactId
method: generated
generated: '2026-10-01'
- target: $.paths['/contacts/{contactId}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a CRM contact
effect: destructive
questions:
- How do I permanently remove a contact from my CRM?
- Can I delete a duplicate CRM contact record?
instructions:
- text: Delete CRM contact {contactId}.
slots:
contactId: path.contactId
- text: Remove contact record {contactId} from the CRM.
slots:
contactId: path.contactId
method: generated
generated: '2026-10-01'
- target: $.paths['/contacts/{contactId}/deals'].get
update:
x-apievangelist-phrasing:
intent: List a contact's deals
effect: read
questions:
- Which deals is a CRM contact involved in?
- Can I see every deal related to one person?
instructions:
- text: List the deals for CRM contact {contactId}.
slots:
contactId: path.contactId
- text: Show all deals linked to contact {contactId}.
slots:
contactId: path.contactId
method: generated
generated: '2026-10-01'
- target: $.paths['/contacts/{contactId}/comments'].post
update:
x-apievangelist-phrasing:
intent: Add a note to a CRM contact
effect: write
questions:
- How do I leave a note on a CRM contact's card?
- Can I log a comment against a contact record?
instructions:
- text: Add the note {message} to CRM contact {contactId}.
slots:
message: requestBody.message
contactId: path.contactId
- text: 'Log a comment on contact {contactId}: {message}.'
slots:
contactId: path.contactId
message: requestBody.message
method: generated
generated: '2026-10-01'
- target: $.paths['/contacts/{contactId}/comments/{commentId}'].put
update:
x-apievangelist-phrasing:
intent: Edit a note on a CRM contact
effect: write
questions:
- Can I edit a note I already left on a CRM contact?
- How do I correct the text of an existing contact comment?
instructions:
- text: Change note {commentId} on contact {contactId} to {message}.
slots:
commentId: path.commentId
contactId: path.contactId
message: requestBody.message
- text: Rewrite existing comment {commentId} on CRM contact {contactId} as {message}.
slots:
commentId: path.commentId
contactId: path.contactId
message: requestBody.message
method: generated
generated: '2026-10-01'
- target: $.paths['/contacts/{contactId}/comments/{commentId}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a note from a CRM contact
effect: destructive
questions:
- How do I remove a note from a CRM contact?
- Can I delete one comment on a contact's card?
instructions:
- text: Delete note {commentId} from contact {contactId}.
slots:
commentId: path.commentId
contactId: path.contactId
- text: Remove comment {commentId} on CRM contact {contactId}.
slots:
commentId: path.commentId
contactId: path.contactId
method: generated
generated: '2026-10-01'
- target: $.paths['/contacts/{contactId}/edu-payments'].get
update:
x-apievangelist-phrasing:
intent: List a contact's course payments
effect: read
questions:
- What has a student contact paid for my online courses?
- Can I see the EDU payment records tied to one contact?
instructions:
- text: List the EDU course payments for contact {contactId}.
slots:
contactId: path.contactId
- text: Show what student contact {contactId} has paid for courses.
slots:
contactId: path.contactId
method: generated
generated: '2026-10-01'
- target: $.paths['/contacts/{contactId}/edu-statistic'].get
update:
x-apievangelist-phrasing:
intent: Get a contact's course learning statistics
effect: read
questions:
- How is a student contact progressing through my courses?
- Can I pull EDU learning statistics for a single contact?
instructions:
- text: Get the EDU statistics for contact {contactId}.
slots:
contactId: path.contactId
- text: Show course progress stats for student contact {contactId}.
slots:
contactId: path.contactId
method: generated
generated: '2026-10-01'
- target: $.paths['/contacts/external/{externalContactId}'].get
update:
x-apievangelist-phrasing:
intent: Find a CRM contact by my external ID
effect: read
questions:
- 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?
instructions:
- text: Find the CRM contact with external ID {externalContactId}.
slots:
externalContactId: path.externalContactId
- text: Check whether external contact {externalContactId} exists in the CRM.
slots:
externalContactId: path.externalContactId
method: generated
generated: '2026-10-01'
- target: $.paths['/contacts/messenger-external/{messengerContactId}'].get
update:
x-apievangelist-phrasing:
intent: Find a CRM contact by messenger contact ID
effect: read
questions:
- Which CRM contact matches a chatbot messenger contact?
- Can I map a messenger contact ID back to its CRM record?
instructions:
- text: Find the CRM contact for messenger contact {messengerContactId}.
slots:
messengerContactId: path.messengerContactId
- text: Look up the CRM record linked to chatbot contact {messengerContactId}.
slots:
messengerContactId: path.messengerContactId
method: generated
generated: '2026-10-01'
- target: $.paths['/contacts/{contactId}/relation/{companyId}'].post
update:
x-apievangelist-phrasing:
intent: Link a contact to a company
effect: write
questions:
- How do I associate a CRM contact with the company they work for?
- Can I add a person to a company record?
instructions:
- text: Link contact {contactId} to company {companyId}.
slots:
contactId: path.contactId
companyId: path.companyId
- text: Add person {contactId} to company {companyId}.
slots:
contactId: path.contactId
companyId: path.companyId
method: generated
generated: '2026-10-01'
- target: $.paths['/contacts/{contactId}/relation/{companyId}'].delete
update:
x-apievangelist-phrasing:
intent: Unlink a contact from a company
effect: destructive
questions:
- 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?
instructions:
- text: Unlink contact {contactId} from company {companyId}.
slots:
contactId: path.contactId
companyId: path.companyId
- text: Take person {contactId} off company {companyId}.
slots:
contactId: path.contactId
companyId: path.companyId
method: generated
generated: '2026-10-01'
- target: $.paths['/contacts/get'].get
update:
x-apievangelist-phrasing:
intent: Get a chatbot contact by ID
effect: read
questions:
- What tags, variables and activity does a chatbot subscriber have?
- Can I fetch a bot contact's profile and date added by its ID?
instructions:
- text: Get chatbot contact {id}.
slots:
id: query.id
- text: Show the tags, variables and activity of bot subscriber {id}.
slots:
id: query.id
method: generated
generated: '2026-10-01'
- target: $.paths['/contacts/getByTag'].get
update:
x-apievangelist-phrasing:
intent: List chatbot contacts with a tag
effect: read
questions:
- Which chatbot subscribers have a specific tag?
- Can I page through the bot contacts carrying a tag?
instructions:
- text: List contacts of bot {bot_id} tagged {tag}.
slots:
bot_id: query.bot_id
tag: query.tag
- text: Show {size} subscribers of bot {bot_id} with tag {tag}, skipping {skip}.
slots:
size: query.size
bot_id: query.bot_id
tag: query.tag
skip: query.skip
method: generated
generated: '2026-10-01'
- target: $.paths['/contacts/getByVariable'].get
update:
x-apievangelist-phrasing:
intent: List chatbot contacts by variable value
effect: read
questions:
- Which bot subscribers have a variable set to a certain value?
- Can I find chatbot contacts by variable name instead of variable ID?
instructions:
- text: Find contacts of bot {bot_id} where {variable_name} equals {variable_value}.
slots:
bot_id: query.bot_id
variable_name: query.variable_name
variable_value: query.variable_value
- text: List subscribers whose variable {variable_id} is {variable_value}.
slots:
variable_id: query.variable_id
variable_value: query.variable_value
method: generated
generated: '2026-10-01'
- target: $.paths['/contacts/sendText'].post
update:
x-apievangelist-phrasing:
intent: Send a plain text chatbot message to a contact
effect: write
questions:
- 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?
instructions:
- text: Text contact {contact_id} the message {text} as type {message_type}.
slots:
contact_id: requestBody.contact_id
text: requestBody.text
message_type: requestBody.message_type
- text: Send plain text {text} to contact {contact_id} as {message_type} with tag {message_tag}.
slots:
text: requestBody.text
contact_id: requestBody.contact_id
message_type: requestBody.message_type
message_tag: requestBody.message_tag
method: generated
generated: '2026-10-01'
- target: $.paths['/contacts/send'].post
update:
x-apievangelist-phrasing:
intent: Send a structured chatbot message to a contact
effect: write
questions:
- 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?
instructions:
- text: Send the message payload {message} to contact {contact_id}.
slots:
message: requestBody.message
contact_id: requestBody.contact_id
- text: Deliver structured message {message} to bot subscriber {contact_id}.
slots:
message: requestBody.message
contact_id: requestBody.contact_id
method: generated
generated: '2026-10-01'
- target: $.paths['/contacts/sendTyping'].post
update:
x-apievangelist-phrasing:
intent: Show a typing indicator to a contact
effect: write
questions:
- Can my bot show the 'typing…' indicator to a subscriber?
- How do I make a chat look like an agent is typing a reply?
instructions:
- text: Show a typing indicator to contact {contact_id}.
slots:
contact_id: requestBody.contact_id
- text: Display 'typing' in the chat with {contact_id}.
slots:
contact_id: requestBody.contact_id
method: generated
generated: '2026-10-01'
- target: $.paths['/contacts/setVariable'].post
update:
x-apievangelist-phrasing:
intent: Set a variable value on a chatbot contact
effect: write
questions:
- How do I store a custom variable value on a bot subscriber?
- Can I update several variables on a chatbot contact at once?
instructions:
- text: Set variables {variables} on contact {contact_id}.
slots:
variables: requestBody.variables
contact_id: requestBody.contact_id
- text: Save variable values {variables} for bot subscriber {contact_id}.
slots:
variables: requestBody.variables
contact_id: requestBody.contact_id
method: generated
generated: '2026-10-01'
- target: $.paths['/contacts/deleteVariable'].post
update:
x-apievangelist-phrasing:
intent: Clear a variable value from a chatbot contact
effect: destructive
questions:
- How do I erase a variable value stored on a bot subscriber?
- Can I delete a contact's variable by name rather than ID?
instructions:
- text: Delete variable {variable_name} from contact {contact_id}.
slots:
variable_name: requestBody.variable_name
contact_id: requestBody.contact_id
- text: Clear the value of variable {variable_id} on bot subscriber {contact_id}.
slots:
variable_id: requestBody.variable_id
contact_id: requestBody.contact_id
method: generated
generated: '2026-10-01'
- target: $.paths['/contacts/mark-read'].put
update:
x-apievangelist-phrasing:
intent: Mark a contact's chat messages as read
effect: write
questions:
- 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?
instructions:
- text: Mark all messages from contact {contact_id} as read.
slots:
contact_id: query.contact_id
- text: Clear the unread counter for the chat with {contact_id}.
slots:
contact_id: query.contact_id
method: generated
generated: '2026-10-01'
- target: $.paths['/contacts/mark-unread'].put
update:
x-apievangelist-phrasing:
intent: Mark a contact's chat as unread
effect: write
questions:
- 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?
instructions:
- text: Mark the chat with contact {contact_id} as unread.
slots:
contact_id: query.contact_id
- text: Flag the last message from {contact_id} as unread.
slots:
contact_id: query.contact_id
method: generated
generated: '2026-10-01'
- target: $.paths['/contacts/setTag'].post
update:
x-apievangelist-phrasing:
intent: Tag a chatbot contact
effect: write
questions:
- How do I add tags to a chatbot subscriber?
- Can I assign several tags to a bot contact in one call?
instructions:
- text: Tag contact {contact_id} with {tags}.
slots:
contact_id: requestBody.contact_id
tags: requestBody.tags
- text: Assign tags {tags} to bot subscriber {contact_id}.
slots:
tags: requestBody.tags
contact_id: requestBody.contact_id
method: generated
generated: '2026-10-01'
- target: $.paths['/contacts/deleteTag'].post
update:
x-apievangelist-phrasing:
intent: Remove a tag from a chatbot contact
effect: destructive
questions:
- How do I untag a chatbot subscriber?
- Can I take one tag off a bot contact?
instructions:
- text: Remove tag {tag} from contact {contact_id}.
slots:
tag: requestBody.tag
contact_id: requestBody.contact_id
- text: Untag bot subscriber {contact_id} from {tag}.
slots:
contact_id: requestBody.contact_id
tag: requestBody.tag
method: generated
generated: '2026-10-01'
- target: $.paths['/contacts/disable'].post
update:
x-apievangelist-phrasing:
intent: Stop campaigns and autoflows to a contact
effect: write
questions:
- Can I stop sending campaigns and autoflows to a chatbot subscriber without deleting them?
- How do I disable a contact in my bot audience?
instructions:
- text: Disable contact {contact_id} so campaigns and autoflows skip them.
slots:
contact_id: requestBody.contact_id
- text: Turn off all bot messaging to subscriber {contact_id}.
slots:
contact_id: requestBody.contact_id
method: generated
generated: '2026-10-01'
- target: $.paths['/contacts/enable'].post
update:
x-apievangelist-phrasing:
intent: Re-enable a disabled contact
effect: write
questions:
- How do I resume campaigns to a subscriber I previously disabled?
- Can I re-enable a chatbot contact in my audience?
instructions:
- text: Enable contact {contact_id} again.
slots:
contact_id: requestBody.contact_id
- text: Resume campaigns and autoflows for disabled subscriber {contact_id}.
slots:
contact_id: requestBody.contact_id
method: generated
generated: '2026-10-01'
- target: $.paths['/contacts/delete'].post
update:
x-apievangelist-phrasing:
intent: Delete a chatbot contact from the audience
effect: destructive
questions:
- 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?
instructions:
- text: Delete bot contact {contact_id} from the audience.
slots:
contact_id: requestBody.contact_id
- text: Remove subscriber {contact_id} from my chatbot's audience list.
slots:
contact_id: requestBody.contact_id
method: generated
generated: '2026-10-01'
- target: $.paths['/contacts/getPauseAutomation'].get
update:
x-apievangelist-phrasing:
intent: Check how long autoflows are paused for a contact
effect: read
questions:
- How much time is left on an autoflow pause for a subscriber?
- Are autoflows currently paused for this chatbot contact?
instructions:
- text: Show the remaining autoflow pause time for contact {contact_id}.
slots:
contact_id: query.contact_id
- text: Check whether automation is paused for subscriber {contact_id}.
slots:
contact_id: query.contact_id
method: generated
generated: '2026-10-01'
- target: $.paths['/contacts/setPauseAutomation'].post
update:
x-apievangelist-phrasing:
intent: Pause autoflows for a contact
effect: write
questions:
- 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?
instructions:
- text: Pause autoflows for contact {contact_id} for {minutes} minutes.
slots:
contact_id: requestBody.contact_id
minutes: requestBody.minutes
- text: Hold all automation for subscriber {contact_id} for {minutes} minutes.
slots:
contact_id: requestBody.contact_id
minutes: requestBody.minutes
method: generated
generated: '2026-10-01'
- target: $.paths['/contacts/deletePauseAutomation'].post
update:
x-apievangelist-phrasing:
intent: Resume paused autoflows for a contact
effect: write
questions:
- 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?
instructions:
- text: Resume autoflows for contact {contact_id}.
slots:
contact_id: requestBody.contact_id
- text: Cancel the automation pause on subscriber {contact_id}.
slots:
contact_id: requestBody.contact_id
method: generated
generated: '2026-10-01'
- target: $.paths['/contacts/notes'].get
update:
x-apievangelist-phrasing:
intent: List operator notes on a chatbot contact
effect: read
questions:
- What operator notes have agents left about a chat subscriber?
- Can I read the internal notes on a bot contact?
instructions:
- text: List operator notes for contact {contact_id} on bot {bot_id}.
slots:
contact_id: query.contact_id
bot_id: query.bot_id
- text: Show the internal agent notes about subscriber {contact_id} in bot {bot_id}.
slots:
contact_id: query.contact_id
bot_id: query.bot_id
method: generated
generated: '2026-10-01'
- target: $.paths['/contacts/createNote'].post
update:
x-apievangelist-phrasing:
intent: Add an operator note to a chatbot contact
effect: write
questions:
- How can an agent leave an internal note on a chat subscriber?
- Can I add an operator note that the contact won't see?
instructions:
- text: Add operator note {text} to contact {contact_id} on bot {bot_id}.
slots:
text: requestBody.text
contact_id: requestBody.contact_id
bot_id: requestBody.bot_id
- text: 'Leave an internal agent note for subscriber {contact_id} in bot {bot_id}: {text}.'
slots:
contact_id: requestBody.contact_id
bot_id: requestBody.bot_id
text: requestBody.text
method: generated
generated: '2026-10-01'
- target: $.paths['/contacts/updateNote'].post
update:
x-apievangelist-phrasing:
intent: Edit an operator note on a chatbot contact
effect: write
questions:
- Can I edit an operator note that's already on a chat subscriber?
- How do I fix the text of an existing agent note?
instructions:
- text: Change operator note {note_id} on contact {contact_id} in bot {bot_id} to {text}.
slots:
note_id: requestBody.note_id
contact_id: requestBody.contact_id
bot_id: requestBody.bot_id
text: requestBody.text
- text: Rewrite agent note {note_id} for subscriber {contact_id} on bot {bot_id} as {text}.
slots:
note_id: requestBody.note_id
contact_id: requestBody.contact_id
bot_id: requestBody.bot_id
text: requestBody.text
method: generated
generated: '2026-10-01'
- target: $.paths['/contacts/deleteNote'].post
update:
x-apievangelist-phrasing:
intent: Delete an operator note from a chatbot contact
effect: destructive
questions:
- 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?
instructions:
- text: Delete operator note {note_id} from contact {contact_id} on bot {bot_id}.
slots:
note_id: requestBody.note_id
contact_id: requestBody.contact_id
bot_id: requestBody.bot_id
- text: Remove agent note {note_id} from subscriber {contact_id} in bot {bot_id}.
slots:
note_id: requestBody.note_id
contact_id: requestBody.contact_id
bot_id: requestBody.bot_id
method: generated
generated: '2026-10-02'
- target: $.paths['/contacts/operators/assign'].post
update:
x-apievangelist-phrasing:
intent: Assign an operator to a contact's chat
effect: write
questions:
- How do I hand a chat over to a specific team member?
- Can I make one operator responsible for a subscriber's conversation?
instructions:
- text: Assign operator {operator_id} to the chat with contact {contact_id}.
slots:
operator_id: requestBody.operator_id
contact_id: requestBody.contact_id
- text: Make {operator_id} responsible for subscriber {contact_id}'s chat.
slots:
operator_id: requestBody.operator_id
contact_id: requestBody.contact_id
method: generated
generated: '2026-10-01'
- target: $.paths['/contacts/operators/unAssign'].post
update:
x-apievangelist-phrasing:
intent: Unassign operators from a contact's chat
effect: write
questions:
- Can I remove whoever is assigned to a subscriber's chat?
- How do I put a chat back into the unassigned queue?
instructions:
- text: Unassign all operators from the chat with contact {contact_id}.
slots:
contact_id: requestBody.contact_id
- text: Clear the responsible agent on subscriber {contact_id}'s conversation.
slots:
contact_id: requestBody.contact_id
method: generated
generated: '2026-10-01'
- target: $.paths['/contacts/openChat'].post
update:
x-apievangelist-phrasing:
intent: Open a contact's chat
effect: write
questions:
- Can I mark a subscriber's chat as open to raise its priority?
- How do I reopen a conversation so agents see it first?
instructions:
- text: Open the chat with contact {contact_id}.
slots:
contact_id: requestBody.contact_id
- text: Raise the priority of subscriber {contact_id}'s conversation by opening it.
slots:
contact_id: requestBody.contact_id
method: generated
generated: '2026-10-01'
- target: $.paths['/contacts/closeChat'].post
update:
x-apievangelist-phrasing:
intent: Close a contact's chat
effect: write
questions:
- How do I close a conversation once it's resolved?
- Can I lower a chat's priority by marking it closed?
instructions:
- text: Close the chat with contact {contact_id}.
slots:
contact_id: requestBody.contact_id
- text: Mark subscriber {contact_id}'s conversation as closed.
slots:
contact_id: requestBody.contact_id
method: generated
generated: '2026-10-01'
- target: $.paths['/sms/numbers'].put
update:
x-apievangelist-phrasing:
intent: Update variables for many SMS numbers in a list
effect: write
questions:
- 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?
instructions:
- text: Set variables {variables} on phones {phones} in mailing list {addressBookId}.
slots:
variables: requestBody.variables
phones: requestBody.phones
addressBookId: requestBody.addressBookId
- text: Bulk-update SMS variables {variables} for numbers {phones} in list {addressBookId}.
slots:
variables: requestBody.variables
phones: requestBody.phones
addressBookId: requestBody.addressBookId
method: generated
generated: '2026-10-01'
- target: $.paths['/sms/numbers'].post
update:
x-apievangelist-phrasing:
intent: Add phone numbers to an SMS mailing list
effect: write
questions:
- 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?
instructions:
- text: Add phones {phones} to mailing list {addressBookId}.
slots:
phones: requestBody.phones
addressBookId: requestBody.addressBookId
- text: 'Import these numbers into address book {addressBookId}: {phones}.'
slots:
addressBookId: requestBody.addressBookId
phones: requestBody.phones
method: generated
generated: '2026-10-01'
# --- truncated at 32 KB (41 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/sendpulse/refs/heads/main/overlays/sendpulse-contacts-api-phrasing-overlay.yaml