đź’ˇ Feedback
Open

API / MCP object enumeration and chronological browse capabilities

The current API (v0.1.0) exposes five endpoints, none of which can retrieve, list, or filter objects by type, date, or property. The MCP search tool uses keyword/semantic matching only, with no ability to browse content chronologically or by structure type.

This breaks any integration that needs to traverse content systematically rather than find it by known keyword. Concrete examples of what fails today:

• “Return all Weekly Journal objects from March 2026, ordered by date” — impossible

• “List all objects tagged with a specific life area” — impossible

• Weekly journal entries with date-range titles (e.g. “Mar 16 → Mar 22”) are invisible to MCP search if their content lacks distinctive keywords — only retrievable if the user manually provides the object ID

• AI assistants cannot navigate a space chronologically without the user acting as a manual index

The Notion MCP, by comparison, exposes a structured database query layer with date-range filtering that solves this problem cleanly. The gap is architectural — fixing it at the API level would improve both the REST API and the MCP simultaneously.

Three specific additions would close it:

• GET /objects — paginated enumeration by structure type, sortable by property

• GET /objects?filter[dateFrom]&filter[dateTo] — date-range filtering

• Relationship traversal — return objects linked to a given object

Without these, Capacities cannot function as a queryable knowledge base for external tools — only as a write target and keyword lookup store.

4 Comments

Sign in to comment

GD
Greg DiLullo·1 month ago

+1, especially the relationship traversal point. This needs to support true backlinks (incoming links to object X), not just outbound links from X — including custom display-text links (e.g. linking the words "random text" to page X), which today are invisible to keyword search since X's title never appears in the source note. Would also be great if the response distinguished explicit backlinks from unlinked text-mentions, mirroring the in-app Backlinks panel.

AH
Amelia Heydorn·3 months ago

I would love to see this for similar use cases mentioned below! Using Capacities as the system for both direct work and accessed by my ai assistant.

The assistant is reliant on me doing manual CSV exports or doing tons of searches. And even then, it often misses objects.

JT
Julio Terra
Julio Terra·3 months ago

Strong +1. Different use case from the journal examples, same wall.

I work with an AI assistant on my tasks each day, and the question I want to ask is "what's due today in this project, and what context do I need to do it?"

That's unanswerable through the API today. With no way to filter by date, status, or tag, my assistant ran nine searches guessing at phrasings, never found the three tasks that were actually due, and eventually read the project's Scheduled view in the desktop app instead — thirty seconds, completely correct.

That contrast is the whole issue. The capability is already in the product and works well. It just isn't reachable from outside.

The three additions proposed here would cover my case completely. If I had to rank them: enumeration by structure type first, then date-range filtering, then relationship traversal.

The traversal one matters more than it might look. My projects link to dozens of tasks, and those links carry only a title and a URL — so there's no way to tell which are open or due today without opening every one individually.

HZ
Heiko Za·5 months ago

completely agree to the author, would love to to see at least a way to get objects which have been cfreated or updated in a specific time range