Data sets
What a search can match against: Homes for sale, and the data sets your workspace holds.
List what a brief can match against
/api/v1/data-setsThe sources a brief may use, as the app's brief editor offers them: Homes for sale where the market can run, and the data sets your workspace holds that are active. Put a row's source on a brief.
Where Livia's live market is connected, every brief matches against Homes for sale and nothing else is offered. Livia staff load and archive data sets; a key only reads them. The list is empty when the market cannot run and the workspace has no data set, and a brief with no source cannot run.
An API key carrying the scope named here, or a signed-in session.
- Scope
search:read- Key kinds
- PersonalOrganization
Required and optional fields, allowed values and errors, as the page shows them.
Examples
curl "https://liviamatch.com/api/v1/data-sets" \
-H "Authorization: Bearer $LIVIA_API_KEY"Responses
The sources a brief may use, Homes for sale first.
{
"data": [
{
"source": "homes-for-sale",
"name": "Homes for sale",
"kind": "market",
"homes": null,
"loadedAt": null,
"default": true
},
{
"source": "tn-demo",
"name": "Tennessee demo",
"kind": "dataset",
"homes": 1200,
"loadedAt": "2026-09-01T12:00:00.000Z",
"default": false
}
]
}Fields (7)
| Field | Type | Description |
|---|---|---|
data | object[] | |
data[].source | string | The word to put in a brief's source. |
data[].name | string | |
data[].kind | "market" | "dataset" | market is Homes for sale, read live; dataset is a snapshot of homes your workspace holds. |
data[].homes | integer | null | How many homes a data set holds; null for Homes for sale. |
data[].loadedAt | string (date-time) | null | When a data set was loaded; null for Homes for sale. |
data[].default | boolean | Whether a new brief starts on it. |
Errors
Any call of this kind can also answer401 unauthenticated401 invalid-api-key403 insufficient-scope429 rate-limited429 monthly-cap-reached500 internal