UUpward API
v1
POST/api/public/v1/create-lead
Requires x-auth-token

Create lead

Push a lead into a member's CRM pipeline.

Creates a lead for one member of your company. Authenticate with your company API key in x-auth-token and identify the member with x-auth-user (their pagename or username). At least one valid email or phone is required. Entries in additional_data become reusable custom lead fields for that member, matched by label; a new field is created the first time a label is seen. Money is sent in whole currency units (32432 = $32,432.00).

Body fields

namestring (1–160)required

Full name; split into first and last name.

email_contactsarray of { type, value }optional

Up to 10 emails. The first one becomes the lead's primary email.

phone_contactsarray of { type, value }optional

Up to 10 phone numbers, validated and stored in E.164 format.

save_as_contactbooleanoptional

Also create (or reuse) a CRM contact for this person.

statusstringoptional

Pipeline stage name, e.g. "Lead In". Defaults to the first stage.

lead_sourcestring (≤80)optional

Lead source name; created for the member when new.

organizationstring (≤120)optional

Company or organization name.

titlestring (≤120)optional

Job title.

visibilityarray of stringoptional

Only Me, My Enroller, Company Owner / Team Leader, My Enrolled Team, Entire Company Team. Defaults to Only Me.

labelsarray of stringoptional

Up to 25 free-form labels.

value_of_dealnumberoptional

Deal value in whole currency units.

expected_win_datestring (YYYY-MM-DD)optional

Expected close date.

notesstring (≤5000)optional

Free-text note stored on the lead.

additional_dataarray of { type, label, value }optional

Up to 50 custom fields. type is one of text, textarea, number, currency, date, dropdown, multi_select, checkbox, radio, email, phone, url.

Responses

201CreatedThe lead was created and custom fields stored.
{
  "success": true,
  "error": "none",
  "lead_id": "7c4e2a1b-3d5f-4a0e-8b12-9f6c1d2e3a45",
  "contact_id": "1a2b3c4d-5e6f-4071-8899-aabbccddeeff",
  "stage": "Lead In",
  "lead_source": "Contact Me Form",
  "custom_fields_created": 5
}
400Bad requestThe request body is not valid JSON.
{ "success": false, "error": "Body must be valid JSON" }
401UnauthorizedMissing or invalid x-auth-token, or missing x-auth-user.
{ "success": false, "error": "Missing x-auth-user header" }
402Plan limit reachedThe member's plan lead / contact allowance is full.
{ "success": false, "error": "Your Starter plan includes 1,000 contacts and you have reached that limit." }
404Not foundNo active member in your company matches x-auth-user.
{ "success": false, "error": "No member matches \"jane-doe\" in this company." }
422UnprocessableValidation failed; see the issues array.
{
  "success": false,
  "error": "Validation failed",
  "issues": ["Provide at least one valid email or phone number."]
}
500Server errorThe lead could not be created; the request is logged for support.
{ "success": false, "error": "The lead could not be created." }
POST/api/public/v1/create-lead

Full name; split into first and last name.

Up to 10 emails. The first one becomes the lead's primary email.

Up to 10 phone numbers, validated and stored in E.164 format.

Also create (or reuse) a CRM contact for this person.

Pipeline stage name, e.g. "Lead In". Defaults to the first stage.

Lead source name; created for the member when new.

Company or organization name.

Job title.

Only Me, My Enroller, Company Owner / Team Leader, My Enrolled Team, Entire Company Team. Defaults to Only Me.

Up to 25 free-form labels.

Deal value in whole currency units.

Expected close date.

Free-text note stored on the lead.

Up to 50 custom fields. type is one of text, textarea, number, currency, date, dropdown, multi_select, checkbox, radio, email, phone, url.

ResponseNot sent yet