Skip to main content
Version: v3

Create page lead form

POST 

/ad-publishing/facebook/page/:pageId/forms

Create a lead gen form. With isDraft: true the form is stored locally and returned as a draft; without it the form is published to Facebook and the Meta record is returned. The two responses share almost no fields. Publishing enforces at least one question and a complete thankYouPage (title, body, buttonText) where a draft save enforces neither. Pass draftFormId when publishing an existing draft to have it deleted afterwards — either the bare id or the draft_-prefixed form is accepted, and cleanup failures are logged rather than surfaced.

Request

Version stringrequired

API Version

Available optionsv3
pageId stringrequired

Facebook page identifier

application/json

Bodyrequired

    typestringrequired

    Lead form type

    Available optionsMORE_VOLUMEHIGHER_INTENT
    namestringrequired

    Lead form name

    locationIdstringrequired

    Location identifier

    greetingCardobject

    Greeting card config

    questionsobject[]required

    List of questions displayed on the lead form. Required (non-empty) when isDraft is false or omitted; optional for drafts.

    questionPageHeadlinestring

    Question page headline

    privacyPolicyLinkstringrequired

    Privacy policy URL. Required when isDraft is false or omitted; optional for drafts.

    privacyPolicyTextstring

    Privacy policy text

    customDisclaimerobject

    Custom disclaimer config

    thankYouPageobjectrequired

    Thank you page config. Required when isDraft is false or omitted; optional for drafts.

    isDraftboolean

    If the form is a draft, set to true

    draftFormIdstring

    Draft form ID

    localestring

    Locale

application/json

The stored draft when isDraft is set, otherwise the form as published to Facebook

Schema
    oneOf
    idstringrequired

    Draft id, unprefixed. The listing endpoint reports this same draft as draft_<id>.

    isDraftbooleanrequired

    Always true on this branch

    namestringrequired

    Form name

    locationIdstringrequired

    Owning location

    pageIdstringrequired

    Page the draft will publish to

    typestring

    Lead form objective

    Available optionsMORE_VOLUMEHIGHER_INTENT
    localestringrequired

    Form locale, upper-cased as stored

    createdAtstringrequired

    Creation time, ISO-8601

    updatedAtstringrequired

    Last modification time, ISO-8601. Equal to createdAt on a fresh draft.

    greetingCardobject

    Intro card

    questionsobject[]

    Questions as stored. Each carries a Mongo _id, and so does every entry in its options.

    questionPageHeadlinestring

    Headline above the questions

    privacyPolicyLinkstring

    Privacy policy URL

    privacyPolicyTextstring

    Privacy policy link text

    customDisclaimerobject

    Custom disclaimer block

    thankYouPageobject

    Confirmation screen