Lead forms
The forms a broker puts on a website, and the leads each one brought in.
List lead forms
The forms the broker puts on a website to capture leads, newest first, with how many leads each one brought in. List a form's leads with GET /v1/leads?lead_form_id=.
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.
List lead forms › 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 lead form
Makes a lead form that the broker owns, through the same checks as the form builder. It takes answers at url at once. Leave out config for the starter form, which asks for a name and an email. The auto-reply starts off: turn it on with POST /v1/lead-forms/{id}/turn-on-auto-reply.
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 lead form › Request Body
nameThe form's name, 120 characters or fewer.
slugThe form's part of the page address. BrokerPlus makes it lowercase with hyphens, and adds a short suffix when another form has it. Made from name when you leave it out.
The whole form, in the format of config on a lead form. Leave it out for the starter form, which asks for a name and an email. The auto-reply must be off (thanks.autoReply false): turn it on with POST /v1/lead-forms/{id}/turn-on-auto-reply.
Create a lead form › Responses
Success
successAlways true on a successful response.
The requested record.
Delete a lead form
Deletes the form. Its page stops working at once, so a website that shows the form shows nothing. The leads it brought in stay in the book with no lead_form_id.
path Parameters
idResource id.
Delete a lead form › Responses
Success
successAlways true on a successful response.
The requested record.
Update a lead form
Renames a lead form, turns it on or off, or replaces the whole form with config. A form that is off shows nothing at url, and its leads stay in the book. You can turn the auto-reply off here, but you cannot turn it on or change what it says while it is on.
path Parameters
idResource id.
Update a lead form › Request Body
nameA new name, 120 characters or fewer.
enabledFalse hides the form from its page. Its leads stay in the book.
The whole form. It replaces the form you have, so read config first and send it back with your changes. You can turn the auto-reply off here, but not on. While it is on, you cannot change its words or channel.
Update a lead form › Responses
Success
successAlways true on a successful response.
The requested record.
Turn on a lead form's auto-reply
Turns on the reply that the form sends to each person who fills it in, with the words in config.thanks. The reply is on when the response comes back, and the response is the form. A reply that is already on stays on. A key with the no_sending limit cannot use this endpoint.
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.
Turn on a lead form's auto-reply › Responses
Success
successAlways true on a successful response.
The requested record.