Skip to main content
Handles external embeddable forms — dynamic forms that can be embedded in third-party websites. These forms collect lead or inquiry data and can search for available property locations. All endpoints are public (no auth required).

GET /forms/{formId}/{cardId}/{boardId}

Retrieve the configuration and field definitions for an embeddable form.
formId
string
required
The form definition ID.
cardId
string
required
The card context ID (integration-specific, e.g., a CRM card ID).
boardId
string
required
The board context ID (integration-specific, e.g., a CRM board ID).
Response
{
  "_id": "form_abc123",
  "title": "Schedule a Tour",
  "fields": [
    {
      "uuid": "f_001",
      "type": "string",
      "label": "Full Name",
      "placeholder": "Jane Doe",
      "required": true
    },
    {
      "uuid": "f_002",
      "type": "email",
      "label": "Email Address",
      "required": true
    },
    {
      "uuid": "f_005",
      "type": "select",
      "label": "Bedrooms",
      "options": ["Studio", "1BR", "2BR", "3BR+"],
      "required": false
    }
  ],
  "submitLabel": "Request a Tour",
  "companyId": "org_abc123",
  "locationId": "loc_xyz789"
}
Field type values
ValueDescription
"string"Single-line text input
"email"Email address input
"phone"Phone number input
"date"Date picker
"select"Dropdown with predefined options
"boolean"Yes/No toggle
"money"Currency amount input
"textarea"Multi-line text area

POST /forms/submit

Submit a completed form. Request body
{
  "formId": "form_abc123",
  "cardId": "card_001",
  "boardId": "board_001",
  "data": {
    "f_001": "Jane Doe",
    "f_002": "jane@example.com",
    "f_004": "2026-04-01",
    "f_005": "2BR"
  }
}
formId
string
required
Form definition ID.
cardId
string
required
CRM card ID.
boardId
string
required
CRM board ID.
data
object
required
Key-value pairs of field UUID → user-entered value.
Response
{
  "status": true,
  "message": "Thank you! We'll be in touch soon."
}

POST /forms/searchLocations

Search for available property locations to populate a location picker in embeddable forms. Request body
{
  "query": "Austin",
  "companyId": "org_abc123",
  "bedCount": 2,
  "maxRent": 200000
}
query
string
Text search against location name or address.
companyId
string
required
Organization ID to search within.
bedCount
number
Filter by number of bedrooms.
maxRent
number
Maximum rent in cents (e.g., 200000 = $2,000).
Response
{
  "locations": [
    {
      "_id": "loc_xyz789",
      "name": "The Residences at Oak Creek - Unit 204",
      "address": { "formattedAddress": "123 Oak St, Austin TX 78701" },
      "bedCount": 2,
      "bathCount": 1,
      "squareFeet": 950,
      "marketRent": "$1,500",
      "marketRentValue": 150000,
      "coverPhoto": ["https://cdn.example.com/photos/cover.jpg"]
    }
  ]
}
Called in embeddable forms that let users select a specific unit before submitting a tour request or inquiry.