Webhooks
Create a webhook
/v1/webhooksSend each new response of a brand, or of one form, to a URL. See Webhook deliveries for the payload, signature and retries.
Body
JSON, with Content-Type: application/json.
brandIdstringrequiredThe brand whose responses it receives.
urlstringrequiredThe URL deliveries are POSTed to. It must be https://. Plain http:// works only for localhost and 127.0.0.1.
max 2000 chars
eventsarray of enumrequiredThe events to receive.
submission.completedfires once per response, when the person reaches an ending.submission.abandonedfires once per response when the person gave a valid email, phone or Telegram username and then left without finishing. Leaving means they closed the page or did nothing for 5 minutes. It carries the latest answers, and needs the form's "Save unfinished responses" setting.1–2 items
formIdstringSend only this form's responses. Leave it out to send every form of the brand.
activebooleanWhether the webhook gets new deliveries. Defaults to true.
onlyConsentedbooleanSend only responses where the person agreed to be called and texted, that is
consentisagreed. Use it for a buyer who takes only consented leads, on either event. Defaults to false. See Consent.
Response
The webhook with its signing secret. POST /v1/webhooks/{webhookId}/reveal-secret shows it again.
idstringrequiredThe webhook's id.
brandIdstringrequiredThe brand it belongs to.
formIdstring or nullrequiredThe one form it delivers for. Null means every form of the brand.
urlstringrequiredWhere deliveries are POSTed.
eventsarray of enumrequiredThe events it receives.
activebooleanrequiredWhether it gets new deliveries. An inactive webhook gets none.
createdAtnumberrequiredWhen it was made, in milliseconds since the epoch.
postingSpecone of 2requiredHow it posts in a buyer's own format. Null means it sends the standard JSON payload.
Show 2 optionsHide 2 options
Option 1
formatenumrequiredHow the body is encoded.
"json"sends a flat JSON object of strings, and"form"sends it form-encoded.One of
"json","form"entriesarray of objectrequiredThe body's keys, in order.
Show 3 fieldsHide 3 fields
keystringrequiredThe key in the body, exactly as the buyer names it.
1–200 chars
valueone of 3requiredWhat to send under the key. Every value is sent as a string.
Show 3 optionsHide 3 options
kind: "field"
kind"field"requiredA question's answer. Lists are joined with commas and files are sent as their links. A question that's gone or wasn't answered sends an empty string.
fieldIdstringrequiredA question's id in the form's definition.
1–100 chars
partenumOne part of the answer. For a name question,
firstorlast. For an address question,line1,line2,city,state,ziporcountry.stateis the region, such as a state, province or county.zipis the postal code.countryis the ISO 3166-1 alpha-2 code. Leave it out to send the whole answer. A whole address is one line, written the way its country writes addresses, with the country's name.One of
"first","last","line1","line2","city","state","zip","country"
kind: "meta"
kind"meta"requiredA contact or tracking value.
sourceenumrequiredWhich value to send.
trustedFormCertUrlis the response's TrustedForm certificate URL. It is empty until responses carry one.consentisyeswhen the person agreed to be called and texted andnootherwise.consentAtis when they agreed, andconsentTextthe wording they agreed to. Both are empty unless they agreed.phoneVerifiedisyeswhen the number was verified with a texted code, separate from consent.One of
"email","phone","fullName","firstName","lastName","ip","userAgent","pageUrl","submittedAt","responseId","formName","jornayaLeadId","trustedFormCertUrl","consent","consentAt","consentText","phoneVerified"
kind: "constant"
kind"constant"requiredThe same text on every lead.
valuestringrequiredmax 2000 chars
formatenumHow to write the value. For phones,
phoneDigitsgives just the digits, without the +1 for US and Canada numbers and with the country code for others.phoneE164gives E.164, andphoneUsgives (415) 555-0123. For dates,submittedAtandconsentAt,dateIsogives YYYY-MM-DD anddateUsgives MM/DD/YYYY. For yes/no values, such asconsent, a yes/no question or a consent question,boolTrueFalsegives true or false,boolOneZerogives 1 or 0, andboolYNgives Y or N. Leave it out to send the value as stored. Constants ignore it.One of
"phoneDigits","phoneE164","phoneUs","dateIso","dateUs","boolTrueFalse","boolOneZero","boolYN"
headersarray of objectrequiredThe extra headers' names. Values are never returned.
Show 1 fieldHide 1 field
namestringrequired
warningsarray of objectrequiredEntries to check against the form's current questions, such as one whose question is gone. Such an entry sends an empty string.
Show 3 fieldsHide 3 fields
indexnumberrequiredThe entry's position in
entries.keystringrequiredThe entry's key.
messagestringrequiredWhat to check, in plain words.
null
onlyConsentedbooleanrequiredWhether it sends only responses where the person agreed to be called and texted.
secretstringrequiredThe signing secret, starting with
whsec_. See Webhook deliveries.
Errors answer with a status and the error shape.