REST API / Collections
perception_item_cells
CollectionRequires Perception
Precomputed item snapshots. People, pages and AI answers are independent counts and must not be added together.
- Max rows per query
- 100
- Default order
- id asc
- Cursor paging
- by id
Use read report_* for dashboard headline metrics and anchored comparison windows.
Fields
| Field | Type | Description | Filter | Sort |
|---|---|---|---|---|
id indexed | string | Unique row ID. | ✓ | ✓ |
project_id indexed | string | Project ID from projects. | ✓ | – |
subject_label | string | Tracked subject label. | ✓ | ✓ |
lens | string | Stored Perception lens. | ✓ | ✓ |
window_days | integer | Snapshot window in days. | ✓ | ✓ |
theme_keynullable | string | Project theme key; empty means all themes. | ✓ | ✓ |
computed_at | datetime | Snapshot computation time. | ✓ | ✓ |
item_id indexed | string | Perception item ID. | ✓ | ✓ |
type | string | Perception item type. | ✓ | ✓ |
people | integer | Distinct people. | ✓ | ✓ |
pages | integer | Distinct pages. | ✓ | ✓ |
ai_answers | integer | Distinct AI answers. | ✓ | ✓ |
statements | integer | Statement count. | ✓ | ✓ |
cited_in_ai | integer | AI answers citing supporting sources. | ✓ | ✓ |
in_critical_thread | boolean | Whether evidence occurs in a critical thread. | ✓ | ✓ |
positive | integer | Positive count. | ✓ | ✓ |
neutral | integer | Neutral count. | ✓ | ✓ |
negative | integer | Negative count. | ✓ | ✓ |
first_seen_atnullable | datetime | First supporting statement time. | ✓ | ✓ |
last_seen_atnullable | datetime | Last supporting statement time. | ✓ | ✓ |
Examples
Example
SELECT id, project_id, subject_label, lens, window_days
FROM perception_item_cells
ORDER BY id ASC
LIMIT 25Calling it
MCP
Tool call
query({"sql":"SELECT id, project_id, subject_label, lens, window_days FROM perception_item_cells ORDER BY id ASC LIMIT 25"})REST
curl
curl -X POST "https://app.sensorhub.ai/api/v1/query" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
--data-binary @- <<'JSON'
{
"sql": "SELECT id, project_id, subject_label, lens, window_days FROM perception_item_cells ORDER BY id ASC LIMIT 25"
}
JSONRow JSON Schema
json
{
"type": "object",
"description": "Precomputed item snapshots. People, pages and AI answers are independent counts and must not be added together.",
"properties": {
"id": {
"type": "string",
"description": "Unique row ID.",
"x-sensorhub-indexed": true,
"x-sensorhub-searchable": false,
"x-sensorhub-aggregatable": true,
"x-sensorhub-filterable": true,
"x-sensorhub-sortable": true
},
"project_id": {
"type": "string",
"description": "Project ID from projects.",
"x-sensorhub-indexed": true,
"x-sensorhub-searchable": false,
"x-sensorhub-aggregatable": true,
"x-sensorhub-filterable": true,
"x-sensorhub-sortable": false
},
"subject_label": {
"type": "string",
"description": "Tracked subject label.",
"x-sensorhub-indexed": false,
"x-sensorhub-searchable": false,
"x-sensorhub-aggregatable": true,
"x-sensorhub-filterable": true,
"x-sensorhub-sortable": true
},
"lens": {
"type": "string",
"description": "Stored Perception lens.",
"x-sensorhub-indexed": false,
"x-sensorhub-searchable": false,
"x-sensorhub-aggregatable": true,
"x-sensorhub-filterable": true,
"x-sensorhub-sortable": true
},
"window_days": {
"type": "integer",
"description": "Snapshot window in days.",
"x-sensorhub-indexed": false,
"x-sensorhub-searchable": false,
"x-sensorhub-aggregatable": true,
"x-sensorhub-filterable": true,
"x-sensorhub-sortable": true
},
"theme_key": {
"type": [
"string",
"null"
],
"description": "Project theme key; empty means all themes.",
"x-sensorhub-indexed": false,
"x-sensorhub-searchable": false,
"x-sensorhub-aggregatable": true,
"x-sensorhub-filterable": true,
"x-sensorhub-sortable": true
},
"computed_at": {
"type": "string",
"description": "Snapshot computation time.",
"format": "date-time",
"x-sensorhub-indexed": false,
"x-sensorhub-searchable": false,
"x-sensorhub-aggregatable": true,
"x-sensorhub-filterable": true,
"x-sensorhub-sortable": true
},
"item_id": {
"type": "string",
"description": "Perception item ID.",
"x-sensorhub-indexed": true,
"x-sensorhub-searchable": false,
"x-sensorhub-aggregatable": true,
"x-sensorhub-filterable": true,
"x-sensorhub-sortable": true
},
"type": {
"type": "string",
"description": "Perception item type.",
"x-sensorhub-indexed": false,
"x-sensorhub-searchable": false,
"x-sensorhub-aggregatable": true,
"x-sensorhub-filterable": true,
"x-sensorhub-sortable": true
},
"people": {
"type": "integer",
"description": "Distinct people.",
"x-sensorhub-indexed": false,
"x-sensorhub-searchable": false,
"x-sensorhub-aggregatable": true,
"x-sensorhub-filterable": true,
"x-sensorhub-sortable": true
},
"pages": {
"type": "integer",
"description": "Distinct pages.",
"x-sensorhub-indexed": false,
"x-sensorhub-searchable": false,
"x-sensorhub-aggregatable": true,
"x-sensorhub-filterable": true,
"x-sensorhub-sortable": true
},
"ai_answers": {
"type": "integer",
"description": "Distinct AI answers.",
"x-sensorhub-indexed": false,
"x-sensorhub-searchable": false,
"x-sensorhub-aggregatable": true,
"x-sensorhub-filterable": true,
"x-sensorhub-sortable": true
},
"statements": {
"type": "integer",
"description": "Statement count.",
"x-sensorhub-indexed": false,
"x-sensorhub-searchable": false,
"x-sensorhub-aggregatable": true,
"x-sensorhub-filterable": true,
"x-sensorhub-sortable": true
},
"cited_in_ai": {
"type": "integer",
"description": "AI answers citing supporting sources.",
"x-sensorhub-indexed": false,
"x-sensorhub-searchable": false,
"x-sensorhub-aggregatable": true,
"x-sensorhub-filterable": true,
"x-sensorhub-sortable": true
},
"in_critical_thread": {
"type": "boolean",
"description": "Whether evidence occurs in a critical thread.",
"x-sensorhub-indexed": false,
"x-sensorhub-searchable": false,
"x-sensorhub-aggregatable": true,
"x-sensorhub-filterable": true,
"x-sensorhub-sortable": true
},
"positive": {
"type": "integer",
"description": "Positive count.",
"x-sensorhub-indexed": false,
"x-sensorhub-searchable": false,
"x-sensorhub-aggregatable": true,
"x-sensorhub-filterable": true,
"x-sensorhub-sortable": true
},
"neutral": {
"type": "integer",
"description": "Neutral count.",
"x-sensorhub-indexed": false,
"x-sensorhub-searchable": false,
"x-sensorhub-aggregatable": true,
"x-sensorhub-filterable": true,
"x-sensorhub-sortable": true
},
"negative": {
"type": "integer",
"description": "Negative count.",
"x-sensorhub-indexed": false,
"x-sensorhub-searchable": false,
"x-sensorhub-aggregatable": true,
"x-sensorhub-filterable": true,
"x-sensorhub-sortable": true
},
"first_seen_at": {
"type": [
"string",
"null"
],
"description": "First supporting statement time.",
"format": "date-time",
"x-sensorhub-indexed": false,
"x-sensorhub-searchable": false,
"x-sensorhub-aggregatable": true,
"x-sensorhub-filterable": true,
"x-sensorhub-sortable": true
},
"last_seen_at": {
"type": [
"string",
"null"
],
"description": "Last supporting statement time.",
"format": "date-time",
"x-sensorhub-indexed": false,
"x-sensorhub-searchable": false,
"x-sensorhub-aggregatable": true,
"x-sensorhub-filterable": true,
"x-sensorhub-sortable": true
}
},
"additionalProperties": false
}