Suggest a registration from a website

Reads the public pages of the website (homepage plus the sign-up, contact, privacy and terms pages it links to) and returns suggestions for a registration: business name, legal name when the site states one, use case, description, opt-in / privacy / terms URLs with ranked candidates, support email, contact phone, address and industry.

POST/v1/registrations/prefill

Body Parameters

  • websitestring (uri)required

    Example: https://acmeplumbing.com.

Details

Creates and files nothing. EIN and entity type are never suggested.

Names, contact details and URLs are read with fixed rules; where drafting is available (ai: true) we draft the description, use case, industry and three starter example messages from the same public page text, and every field it returns is validated. Review the fields, then send them to POST /registrations (drafted examples as starter_messages, or as sample_messages once they are yours).

One read per website per account every 10 minutes; 10 websites a minute.

Responses

  • 200RegistrationPrefill

    Suggestions (reachable: false when the site could not be read)

  • 400Error

    Invalid website

  • 401Error

    Missing, malformed, or revoked API key

  • 402Error

    Billable live calls only: the prepaid credit balance cannot cover the call (insufficient_credits); nothing was done or charged

  • 429Error

    Rate limit or quota exceeded

Response Fields

  • objectregistration_prefill
  • reachableboolean

    false = the website could not be read; fields then holds only the website

  • errorstring

    Why the site could not be read Nullable.

  • fieldsobject

    Suggestions, shaped like RegistrationInput. Only fields we found are present.

  • fields.websitestring (uri)
  • fields.business_namestring
  • fields.use_casestring
  • fields.descriptionstring

    At most 500 characters.

  • fields.opt_in_urlstring (uri)
  • fields.privacy_urlstring (uri)
  • fields.terms_urlstring (uri)
  • fields.support_emailstring (email)
  • fields.sample_messagesarray of string

    Starter drafts written for this business (drafting only). Send them as starter_messages.

  • fields.brandobject

    Never includes ein or entity_type.

  • fields.brand.legal_namestring
  • fields.brand.streetstring
  • fields.brand.citystring
  • fields.brand.statestring
  • fields.brand.postal_codestring
  • fields.brand.countrystring
  • fields.brand.verticalPROFESSIONAL, REAL_ESTATE, HEALTHCARE, HUMAN_RESOURCES, ENERGY, ENTERTAINMENT, RETAIL, TRANSPORTATION, AGRICULTURE, INSURANCE, POSTAL, EDUCATION, HOSPITALITY, FINANCIAL, LEGAL, CONSTRUCTION, NGO, MANUFACTURING, GOVERNMENT, TECHNOLOGY, COMMUNICATION
  • fields.brand.contact_emailstring
  • fields.brand.contact_phonestring

    A 10-digit US number for the business contact. Required to submit.

  • suggestedarray of string

    Dotted names of every field filled in, e.g. business_name, brand.city

  • sourcesobject

    Where each suggested field came from: page = read from your pages by fixed rules; ai = drafted for you

  • candidatesobject

    Pages that could be the opt-in, privacy policy and terms, best first

  • candidates.opt_inarray of object
  • candidates.opt_in[].urlstring (uri)
  • candidates.opt_in[].confidencenumber

    Maximum 1. Minimum 0.

  • candidates.opt_in[].reasonstring
  • candidates.privacyarray of object
  • candidates.privacy[].urlstring (uri)
  • candidates.privacy[].confidencenumber

    Maximum 1. Minimum 0.

  • candidates.privacy[].reasonstring
  • candidates.termsarray of object
  • candidates.terms[].urlstring (uri)
  • candidates.terms[].confidencenumber

    Maximum 1. Minimum 0.

  • candidates.terms[].reasonstring
  • aboutstring

    What the site says the business is (its meta description) Nullable.

  • aiboolean

    true when any of these suggestions were drafted rather than read from your pages

  • policy_checksobject

    Whether the suggested privacy policy and terms pages pass the website check's rules for them (privacy: says mobile opt-in data is not shared; terms: SMS program terms with STOP and HELP). Fixed rules, never the model; false when that page was not suggested.

  • policy_checks.privacyboolean
  • policy_checks.termsboolean

Errors

Every error has the same JSON shape, and request_id matches the X-Request-Id response header. Errors lists every code and what to do about it.

  • 400

    Invalid website

  • 401

    Missing, malformed, or revoked API key

  • 402

    Billable live calls only: the prepaid credit balance cannot cover the call (insufficient_credits); nothing was done or charged

  • 429

    Rate limit or quota exceeded