Give to your AI agent

Copy or download the full API docs as Markdown.

Developers

Create a client

POST /api/v1/clients — required fields, tags by name, timeline notes, and link-vs-create behavior.

Endpoint

POST /api/v1/clients
Authorization: Bearer ume_…
Content-Type: application/json

What gets created

Same path as adding a client manually in the CRM:

  1. CRM lead on the API key’s agent site (assignee = site owner / key creator).
  2. Consumer user account for that person on the branded site (email login).

For a new account, the initial password is the phone number’s digits only (no + or formatting). Example: phone +15551234567 → password 15551234567. They can sign in on the agent site with that email + phone-digit password (and change it later).

If the email already belongs to a lead/user in the org, the API links instead of creating a second account (action: "linked"). Phone may be updated when it differs.

Request body

FieldRequiredDescription
nameYesClient full name
emailYesValid email — used as the consumer login
phoneYesE.164 preferred (e.g. +15551234567). Digits become the initial password for new users
tagsNoArray of tag names (not IDs). Missing names are created on the org
noteNoText added as a timeline note on the lead

Tags and notes

  • Tags resolve by name (case-insensitive match). If no label exists, one is created and applied.
  • Note becomes the lead’s initial timeline note when provided.

Response

201 Created with JSON:

{
  "leadId": "…",
  "action": "created"
}

action is created when a new lead + consumer user is inserted, or linked when the contact matched an existing lead for that org/site (same behavior as manual CRM add).

Validation failures return 400. Auth failures return 401 / 403 as described in Authentication.

Example

curl -X POST 'https://app.umeidx.com/api/v1/clients' \
  -H 'Authorization: Bearer ume_ab12_your_token' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "Dana Reyes",
    "email": "dana@example.com",
    "phone": "+15551234567",
    "tags": ["Buyer"],
    "note": "Imported from MLS portal"
  }'