Back to Help Center
Technical setup·Technical8 min read

Website form endpoint

Yesoma's inbound HTTP endpoint that turns form submissions into inquiries. Reference for the URL, payload shape, and field aliases.

Reference for Yesoma's website form ingest endpoint. If you're a non-developer looking for "how do I connect my contact form?", start with Connect a website form.

URL shape

POST https://app.getyesoma.com/api/inbound/website

The endpoint is shared across the platform; per-workspace routing happens via a token in the request body. You'll find your workspace's token under Settings → Channels → Website contact form.

Request

The endpoint accepts both application/json and application/x-www-form-urlencoded — pick whichever is easier for your form provider.

Required

| Field | Notes | | --- | --- | | token | Your workspace's inbound token (32+ char hex). Treat it like a secret — anyone with it can post inquiries into your inbox. |

Customer fields (any one is enough)

| Field | Aliases | | --- | --- | | email | customer_email, from_email, your_email | | phone | phone_number, whatsapp, cell | | name | full_name, your_name, customer_name |

Content fields

| Field | Aliases | | --- | --- | | message | body, note, inquiry, details, comments | | subject | topic, subject_line |

Optional metadata

Any other fields you include (service, budget, event_date, etc.) are stored on the inquiry's metadata jsonb column and shown on the inquiry detail panel. Don't worry about renaming — the original field names are preserved.

Response

200 OK with a JSON body:

{ "ok": true, "inquiry_id": "...", "customer_id": "..." }

Errors:

  • 400 — missing token, missing customer identifier, or unparseable body.
  • 401 — token doesn't match any workspace.
  • 429 — rate limit (workspace-level, generous).

Spam protection

The endpoint applies basic heuristics (rate limiting + payload sanity checks). For higher-volume sites, add a hidden honeypot field to your form and reject submissions where it's filled.

Example: curl

curl -X POST https://app.getyesoma.com/api/inbound/website \
  -H "Content-Type: application/json" \
  -d '{
    "token": "your_inbound_token",
    "email": "amara@example.com",
    "name": "Amara Johnson",
    "subject": "Bridal makeup quote",
    "message": "What is your pricing for a small bridal party?"
  }'

More in Technical setup

Was this article helpful?

If something was unclear or missing, tell us and we'll fix it.

Still stuck?

We'll help you get this working. Send us a message, or ask about Managed Setup.