Webhooks
Set a posting spec
/v1/webhooks/{webhookId}/posting-specMake a form webhook post each lead in a buyer's own format, replacing any spec it had. Only a webhook for one form can have a spec. Others get 400 posting_spec_needs_form. See Posting in a buyer's format.
Path parameters
webhookIdstringrequiredThe webhook's
id.
Body
JSON, with Content-Type: application/json.
specobjectrequiredThe format, the body's keys in order, and extra headers.
Show 3 fieldsHide 3 fields
formatenumrequiredHow the body is encoded.
"json"sends application/json and"form"sends application/x-www-form-urlencoded.One of
"json","form"entriesarray of objectrequiredThe body's keys, in order. The body holds exactly these keys. As JSON, it is a flat object of strings.
1–200 items
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 objectExtra headers to send, such as the buyer's API key. They go alongside Forms-Event, Forms-Delivery and Forms-Signature. Header values are never returned.
max 20 items
Show 2 fieldsHide 2 fields
namestringrequired1–100 chars
valuestringThe header's value. Leave it out to keep the saved value. Header values are never returned.
max 2000 chars
Response
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.
Errors answer with a status and the error shape.