Templates
The email and text templates in the Pulse library, and the merge fields they can use.
List merge fields
Every merge field a template can use, including your brokerage's own custom fields. Write one in a subject or a body as {{name}}, or as {{name|fallback}} when the file can be without the value.
List merge fields › Responses
Success
successAlways true on a successful response.
Every merge field, grouped by section in the order the Pulse editor lists them.
List templates
The email and text templates in the Pulse library that your key's broker can open: the templates of every team they belong to. Sorted by name. With updated_since, sorted by last change, oldest first.
query Parameters
page1-indexed page number, up to 1000000.
page_sizeRows per page. Capped at 100.
updated_sinceISO 8601 date-time, for example 2026-10-01T00:00:00Z. Returns only rows changed at or after it, in updated_at order and then id order, oldest first. A value that is not ISO 8601 gets 400 VALIDATION_ERROR.
after_idUse with updated_since to read the next page of a sync. Send the updated_at and id of the last row you read: the list then starts after that row, and a row that changes while you sync cannot be skipped. Keep page at 1. Without updated_since it gets 400 VALIDATION_ERROR.
channelReturn only email or only sms templates.
include_archivedSet to true to include archived templates.
List templates › Responses
Success
successAlways true on a successful response.
The page of results. The endpoint description and the Pagination guide give the order.
Offset pagination. Page forward until page reaches total_pages.
Create a template
Adds an email or text template to the Pulse library of the team your key's broker is working in. A template sends nothing by itself. An automation sends it.
Headers
Idempotency-KeyOptional for POST. An authorized retry with the same method, path, and exact body returns the stored response. Reservations last 24 hours. They belong to the original API key and broker. Reconcile uncertain results before you use a new key.
Create a template › Request Body
nameThe template's name in the Pulse library. Required.
channelemail or sms. Required. You cannot change it later.
bodyThe message as plain text. Write a merge field as {{name}}, or as {{name|fallback}} when the file can be without the value. A merge field that GET /v1/templates/merge-fields does not list is refused.
subjectThe email subject line. Required on an email template. Do not send it on an sms template.
body_htmlOptional, email only. A formatted version of the body. BrokerPlus removes scripts and unsafe markup before it saves the HTML. Send body as the plain-text version of the same message.
Create a template › Responses
Success
successAlways true on a successful response.
The requested record.
Archive a template
Removes the template from the library. The messages it already sent are kept. Idempotent: archiving an archived template returns 200.
path Parameters
idResource id.
Archive a template › Responses
Success
successAlways true on a successful response.
The requested record.
Update a template
Send only the fields you are changing. Every automation that sends this template sends the new copy from its next message.
path Parameters
idResource id.
Update a template › Request Body
nameA new name.
subjectA new subject line. email templates only.
bodyA new plain-text message. When you send body without body_html, BrokerPlus removes the formatted version.
body_htmlA new formatted version, email only. Send null to go back to plain text.
Update a template › Responses
Success
successAlways true on a successful response.
The requested record.
List outreach templates
The first-touch emails and texts a broker sends by hand from the refinance, renewal and lead lanes, as the outreach templates editor lists them: the broker's own set and their team's. A teammate's own templates are not listed.
query Parameters
page1-indexed page number, up to 1000000.
page_sizeRows per page. Capped at 100.
updated_sinceISO 8601 date-time, for example 2026-10-01T00:00:00Z. Returns only rows changed at or after it, in updated_at order and then id order, oldest first. A value that is not ISO 8601 gets 400 VALIDATION_ERROR.
after_idUse with updated_since to read the next page of a sync. Send the updated_at and id of the last row you read: the list then starts after that row, and a row that changes while you sync cannot be skipped. Keep page at 1. Without updated_since it gets 400 VALIDATION_ERROR.
kindOnly the templates for this lane and channel.
scopepersonal for the broker's own set, team for the team's.
List outreach templates › Responses
Success
successAlways true on a successful response.
The page of results. The endpoint description and the Pagination guide give the order.
Offset pagination. Page forward until page reaches total_pages.
Create an outreach template
Adds a template to the broker's own set, or the team's with scope: team. It is not the lane's primary until you set it. Nothing is sent.
Headers
Idempotency-KeyOptional for POST. An authorized retry with the same method, path, and exact body returns the stored response. Reservations last 24 hours. They belong to the original API key and broker. Reconcile uncertain results before you use a new key.
Create an outreach template › Request Body
kindWhich lane and channel the template is for: refinance_initial, renewal_initial and leads_initial are emails; refinance_sms, renewal_sms and leads_sms are texts.
nameThe name, at most 80 characters.
subjectThe email subject. If you send no subject and no body, the lane's default copy is used.
bodyThe message, with merge fields.
is_pre_renewalMake it the pre-renewal email of its set. Only for renewal_initial.
scopepersonal (the default) or team. Only a broker who can send email can write a team template.
Create an outreach template › Responses
Success
successAlways true on a successful response.
The requested record.
Delete an outreach template
Deletes the template. If it was the lane's primary, the oldest template left in its set becomes primary. The broker's own set always keeps one template per lane.
path Parameters
idResource id.
Delete an outreach template › Responses
Success
successAlways true on a successful response.
The requested record.
Update an outreach template
Changes the template's name, subject, message, or whether it is the pre-renewal email.
path Parameters
idResource id.
Update an outreach template › Request Body
nameThe name, at most 80 characters.
subjectThe email subject.
bodyThe message, with merge fields. When you send body without body_html, BrokerPlus removes the formatted version.
body_htmlA new formatted version, email templates only. BrokerPlus removes scripts and unsafe markup before it saves the HTML. Send body as the plain-text version of the same message, or null to go back to plain text.
is_pre_renewalMake it the pre-renewal email of its set. Only for renewal_initial.
Update an outreach template › Responses
Success
successAlways true on a successful response.
The requested record.
Make an outreach template the lane's primary
The lane starts from this template when the broker sends. The set's other templates in the lane stop being primary.
path Parameters
idResource id.
Headers
Idempotency-KeyOptional for POST. An authorized retry with the same method, path, and exact body returns the stored response. Reservations last 24 hours. They belong to the original API key and broker. Reconcile uncertain results before you use a new key.
Make an outreach template the lane's primary › Responses
Success
successAlways true on a successful response.
The requested record.
Duplicate an outreach template
Copies the template into its own set under a new name. The copy is never primary or pre-renewal.
path Parameters
idResource id.
Headers
Idempotency-KeyOptional for POST. An authorized retry with the same method, path, and exact body returns the stored response. Reservations last 24 hours. They belong to the original API key and broker. Reconcile uncertain results before you use a new key.
Duplicate an outreach template › Responses
Success
successAlways true on a successful response.
The requested record.
Share an outreach template with the team
Copies one of the broker's own templates into the team's set, where every teammate can send it.
path Parameters
idResource id.
Headers
Idempotency-KeyOptional for POST. An authorized retry with the same method, path, and exact body returns the stored response. Reservations last 24 hours. They belong to the original API key and broker. Reconcile uncertain results before you use a new key.
Share an outreach template with the team › Responses
Success
successAlways true on a successful response.
The requested record.
Copy a team outreach template to the broker's own
Copies one of the team's templates into the broker's own set, to change without changing what teammates send.
path Parameters
idResource id.
Headers
Idempotency-KeyOptional for POST. An authorized retry with the same method, path, and exact body returns the stored response. Reservations last 24 hours. They belong to the original API key and broker. Reconcile uncertain results before you use a new key.
Copy a team outreach template to the broker's own › Responses
Success
successAlways true on a successful response.
The requested record.
List the media library
The pictures and video stills the brokerage keeps for its outreach emails, newest first, as the media library in BrokerPlus shows them. Every broker in the brokerage shares one library. Media never changes once added, so this list takes no updated_since.
query Parameters
page1-indexed page number, up to 1000000.
page_sizeRows per page. Capped at 100.
kindOnly pictures (image) or only video stills (video_link).
List the media library › Responses
Success
successAlways true on a successful response.
The page of results. The endpoint description and the Pagination guide give the order.
Offset pagination. Page forward until page reaches total_pages.
Add a picture to the media library
Uploads a picture for outreach emails: PNG, JPEG, WebP or GIF, at most 10 MB and 2000 pixels on its longest side. Send JSON with the file in base64, or multipart/form-data with the file in a field named file. Its url is public, because an email shows it to whoever opens it.
Headers
Idempotency-KeyOptional for POST. An authorized retry with the same method, path, and exact body returns the stored response. Reservations last 24 hours. They belong to the original API key and broker. Reconcile uncertain results before you use a new key.
Add a picture to the media library › Request Body
file_nameThe filename, e.g. team-photo.jpg. The name in the library is the filename without its extension.
content_base64The picture, in standard base64: PNG, JPEG, WebP or GIF, at most 10 MB and 2000 pixels on its longest side.
Add a picture to the media library › Responses
Success
successAlways true on a successful response.
The requested record.
Delete a media library item
Removes the picture or video still from the library. An email already sent that shows it shows a broken picture from then on.
path Parameters
idResource id.
Delete a media library item › Responses
Success
successAlways true on a successful response.
The requested record.
Add a video to the media library
Adds a still of the video with a play button on it, linking to the video, for outreach emails. BrokerPlus fetches the still from the video's site; Instagram and Facebook get a branded card instead.
Headers
Idempotency-KeyOptional for POST. An authorized retry with the same method, path, and exact body returns the stored response. Reservations last 24 hours. They belong to the original API key and broker. Reconcile uncertain results before you use a new key.
Add a video to the media library › Request Body
urlAn HTTPS link to a YouTube, Vimeo, Loom, NeetoRecord, Instagram or Facebook video.
nameThe name in the library. Leave it out and BrokerPlus uses the video's title.
Add a video to the media library › Responses
Success
successAlways true on a successful response.
The requested record.