Skip to content

Changelog

Changes are listed newest first.

Excel template 1.2

  • The source_channel list has eight values: meta_lead_form, tiktok_lead_form, google_lead_form, other_ad_lead_form, chat, website_form, marketplace and other. The two values of version 1.1 that named a website chat and an advertising lead form are removed. Each platform now has its own value, and chat covers an AI chat or a website chat.
  • New required column contact_consent (title “Customer agreed to be contacted”), placed right before consent_time. The only accepted value is Yes (yes). A blank or any other value sets the row aside.
  • New optional column phone_verified: a dropdown with Yes and No. A blank cell means unknown.
  • Required for a new lead: partner_lead_id, record_action, created_at, customer_name, a phone or an email, source_channel, contact_consent and consent_time.
  • Accepted but marked incomplete: model_interest (with the new option Not specified) and customer_city. A lead with no model, no city and no preferred dealer goes to a MarsX triage queue. consent_reference, notice_version and consent_purpose are now optional.
  • On a new lead only, a blank revision number means 1 and a blank time of the change means the enquiry time. On an update, a withdrawal or a deletion, both stay required and the revision number must rise.
  • 36 lead columns, grouped by colour. MarsX reads columns by their system name, so the order carries no meaning for it. A file on template version 1.1 is rejected, so download version 1.2.

API contract 1.0.0 (/v1)

  • source_channel accepts the eight values above and no others.
  • New required field contact_consent ("yes") and new optional field phone_verified (a boolean, where null or absent means unknown). Both must be absent on withdraw and delete events.
  • model_interest, customer_city, consent_reference, notice_version and consent_purpose are no longer required. model_interest also accepts not_specified.
  • On lead.new, source_revision and updated_at may be left out. They are required on every other event.
  • New examples: a worked sequence of one lead (new, update, withdraw), the smallest valid new lead, and a lead from a Meta lead form with a confirmed phone number.

Documentation site

  • The site is now organised by route: Start here, Upload by staff, Automatic file upload, Automatic sending, Testing and going live, and Reference.
  • Old addresses redirect to the new pages.
  • Added a ready-made prompt for an AI coding agent, llms.txt, llms-full.txt and a Markdown copy of every page.

API contract 1.0.0 (/v1)

  • First release of the MarsX Lead Intake API.
  • Three routes: automatic sending (one signed request for each lead event), automatic file upload and upload by staff.
  • Signing follows Standard Webhooks 1.0.0, with schemes v1 (HMAC-SHA256) and v1a (ed25519) and a 300 second clock window.
  • Event types lead.new, lead.update, lead.withdraw and lead.delete.
  • Optional event status call, and three read-only catch-up endpoints that automatic senders host.
  • Errors use problem details (RFC 9457).

Excel template 1.1

  • Written in plain English: a plain title in row 1 of the Leads sheet, the system name in row 2 and data from row 3.
  • Dropdowns show plain labels. In a file, MarsX accepts either the label or the code. A map of labels to codes is published as a JSON file.
  • Five sheets: Start here, Leads, Example, Lists and File info. The columns follow the order a person fills them, with a colour key for required, usually needed, optional and privacy-only columns.
  • 34 lead columns, the same fields as the automatic sending events. Version 1.2 (5 October 2026) replaced this version.

Documentation site

  • First release of this site.

The contract version is part of the address. Today it is /v1.

MarsX may add the following inside /v1, without notice:

  • optional fields
  • new processing_state values
  • new reason codes
  • new problem types

Your code must ignore members and codes it does not know. A new reason or a new problem type is information, not an error.

These are breaking changes:

  • removing or renaming a field
  • changing a required rule
  • changing a status code

A breaking change ships as /v2, with at least 90 days of overlap and written notice to your technical contact. You follow the same rule for the endpoints you host.

The Lists values in the template (models, provinces, source_channel, consent_purpose) change by written notice with 30 days lead time, not by version.

The Excel template has its own version. The File info sheet carries template_version. A file on another version is rejected whole. The current version is 1.2.

  • Written notice goes to your technical contact.
  • API incidents and planned maintenance are announced by email, from the technical contact address. MarsX has no status page.
  • Every released change is listed in the changelog.