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?"
}'
Related
- Connect a website form (non-developer setup)
- Supported form providers
- Webhook events (outbound)
More in Technical setup
- Technical10 min
Supported form providers
Provider-specific walkthroughs for Web3Forms, Tally, Jotform, Formspree, Netlify Forms, Webflow, and plain HTML.
Read guide - Technical10 min
Webhook events
Outbound webhook destinations: which events Yesoma sends, the payload shape, and signing.
Read guide - Technical8 min
API authentication
Create an API key, scope it to the right permissions, and call the /api/v1/* endpoints from your tools.
Read guide - Technical10 min
Slack alert recipe
Wire a Yesoma outbound webhook to Slack so urgent inquiries and approvals ping the right channel.
Read guide - Setup10 min
Email forwarding setup
Per-provider forwarding for Gmail, Google Workspace, Outlook, iCloud, and Fastmail — point your business email at Yesoma.
Read guide
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.