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

Create contact

Create or update a CRM contact for a member.

Creates a contact 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. Set save_as_lead to true to also push the person into the member's pipeline as a lead.

Body fields

namestring (1–160)required

Full name; split into first and last name.

statusstringoptional

Pipeline stage name used when save_as_lead is true. Defaults to the first stage.

lead_sourcestring (≤80)optional

Lead source name; created for the member when new.

save_as_leadbooleanoptional

Also create a lead from this contact in the member's pipeline.

email_contactsarray of { type, value }optional

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

phone_contactsarray of { type, value }optional

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

value_of_dealnumberoptional

Deal value in whole currency units. Used when save_as_lead is true.

expected_win_datestring (ISO 8601)optional

Expected close date. Used when save_as_lead is true.

addressstring (≤300)optional

Street address.

citystring (≤120)optional

City.

statestring (≤120)optional

State or region.

zip-codestring (≤40)optional

Postal or ZIP code. zip_code is also accepted.

countrystring (≤120)optional

Country.

websitestring (≤500)optional

Website URL.

facebookstring (≤500)optional

Facebook profile or page URL.

twitterstring (≤500)optional

Twitter / X profile URL.

instagramstring (≤500)optional

Instagram profile URL.

linkedinstring (≤500)optional

LinkedIn profile URL.

whatsappstring (≤500)optional

WhatsApp click-to-chat URL.

notesstring (≤5000)optional

Free-text note stored on the contact.

Responses

201CreatedThe contact was created or updated.
{
  "success": true,
  "error": "none",
  "contact_id": "1a2b3c4d-5e6f-4071-8899-aabbccddeeff",
  "lead_id": null,
  "stage": "Lead In",
  "lead_source": "Contact Me Form"
}
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 contact could not be saved; the request is logged for support.
{ "success": false, "error": "The contact could not be created." }
POST/api/public/v1/create-contact

Full name; split into first and last name.

Pipeline stage name used when save_as_lead is true. Defaults to the first stage.

Lead source name; created for the member when new.

Also create a lead from this contact in the member's pipeline.

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

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

Deal value in whole currency units. Used when save_as_lead is true.

Expected close date. Used when save_as_lead is true.

Street address.

City.

State or region.

Postal or ZIP code. zip_code is also accepted.

Country.

Website URL.

Facebook profile or page URL.

Twitter / X profile URL.

Instagram profile URL.

LinkedIn profile URL.

WhatsApp click-to-chat URL.

Free-text note stored on the contact.

ResponseNot sent yet