Menu

Search & Butler

Smart search by meaning and the AI butler.

GET/workspaces/{workspaceId}/searchscope searchMCP search

Search by meaning across the whole workspace – appointments, tasks, list items, notes, documents incl. their content, contracts, … ("when is the car inspection due?", "Kita Rechnung"). Needs AI turned on for the workspace; free of credits.

Path#

FieldTypeDescription
workspaceIdstringWorkspace id (from list_workspaces).

Query#

FieldTypeDescription
q (required)string
limitintegerDefault: 10.

Request#

Shell
curl "https://api.lifebutler.io/v1/workspaces/f8Hn3wQz0a/search?q=stadtwerke" \
  -H "Authorization: Bearer $LIFEBUTLER_KEY"

Response 200#

FieldTypeDescription
dataarray of SearchHit
data[].typestringWhere it lives: events, tasks, lists, notes, documents, contracts, …
data[].idstringId in that collection (for documents: use with get_document).
data[].titlestring
data[].snippetstring
data[].scorenumberSimilarity 0–1, higher is closer.
JSON
{
  "data": [
    {
      "type": "string",
      "id": "Ab3Cd5Ef7G",
      "title": "Elternabend 3b",
      "snippet": "string",
      "score": 1
    }
  ]
}

Ask the butler#

POST/workspaces/{workspaceId}/butlerscope butlerMCP ask_butler

Ask in German or English about anything in the workspace (appointments, tasks, lists, documents, contracts, …) or tell it what to do ("Put pasta and eggs on the shopping list and remind me on Friday to call the dentist"). Returns the answer and proposed actions; with apply: true, lists items, tasks, appointments and notes are created right away (bills and meals stay proposals). Uses the workspace owner's credits like in the app (usually 1–2). Needs AI turned on for the workspace.

Path#

FieldTypeDescription
workspaceIdstringWorkspace id (from list_workspaces).

Body#

FieldTypeDescription
question (required)string
historyarray of objectEarlier turns of this conversation, oldest first.
history[].role (required)user \assistant
history[].text (required)string
applybooleanCreate the proposed items right away. Default: false.

Request#

Shell
curl -X POST "https://api.lifebutler.io/v1/workspaces/f8Hn3wQz0a/butler" \
  -H "Authorization: Bearer $LIFEBUTLER_KEY" \
  -H "Content-Type: application/json" \
  -d '{"question": "Was steht diese Woche an?"}'

Response 200#

FieldTypeDescription
answerstring
actionsarray of ButlerAction
actions[].typestringaddListItems, createTask, createEvent, createNote, createBill or addMeal.
appliedintegerHow many actions were carried out (apply: true).
creditsintegerCredits this answer cost.
JSON
{
  "answer": "Diese Woche stehen drei Termine an …",
  "actions": [
    {
      "type": "string"
    }
  ],
  "applied": 0,
  "credits": 1
}