API

Properties

Create, read, update, and delete monitored properties

A property represents a brand or website being monitored for AI search visibility.

List Properties

GET /properties

Returns all properties for the authenticated team, along with capacity information.

Response

{
  "properties": [
    {
      "id": "prop_abc123",
      "domain": "example.com",
      "name": "Example Corp",
      "faviconUrl": "https://example.com/favicon.ico",
      "vertical": "technology",
      "createdAt": "2026-03-01T00:00:00Z"
    }
  ],
  "capacity": {
    "used": 5,
    "limit": 50,
    "plan": "agency"
  }
}

Create Property

POST /properties

Creates a new monitored property. Triggers automatic favicon fetching and prompt generation.

Request body

FieldTypeRequiredDescription
domainstringYesWebsite domain (e.g., example.com)
namestringNoDisplay name (defaults to domain)

Example

curl -X POST https://api.useheading.com/properties \
  -H "Content-Type: application/json" \
  -H "Cookie: better-auth.session_token=YOUR_TOKEN" \
  -d '{"domain": "example.com", "name": "Example Corp"}'

Response

{
  "id": "prop_abc123",
  "domain": "example.com",
  "name": "Example Corp",
  "createdAt": "2026-03-23T12:00:00Z"
}

Get Property

GET /properties/:id

Returns a single property by ID.

Update Property

PATCH /properties/:id

Updates a property's name or configuration.

Delete Property

DELETE /properties/:id

Permanently deletes a property and all associated data. This action cannot be undone.