REST API / Views
perception_items
ViewRequires Perception
Grouped Perception items with their latest claim check. Claim-check fields require every accessible project to have claims enabled. Use read perception_item_groups for dashboard list semantics.
- Max rows per query
- 100
- Default order
- id asc
- Cursor paging
- by id
Fields
| Field | Type | Description | Filter | Sort |
|---|---|---|---|---|
id indexed | string | Unique row ID. | ✓ | ✓ |
project_id indexed | string | Project ID from projects. | ✓ | – |
subject_kind | string | Tracked subject kind.OWN COMPETITOR TOPIC | ✓ | ✓ |
subject_label | string | Tracked subject label. | ✓ | ✓ |
type | string | Perception item type.CLAIM QUESTION OBJECTION PROBLEM | ✓ | ✓ |
title | string | Canonical item title. | ✓ | ✓ |
polaritynullable | string | Claim polarity.ASSERTS DENIES | ✓ | ✓ |
theme_keynullable | string | Majority theme key. | ✓ | ✓ |
status | string | Item status.ACTIVE MERGED HIDDEN | ✓ | ✓ |
claim_familynullable Requires Perception | string | Claim fact-family key. Requires Perception claims. | ✓ | ✓ |
checkable Requires Perception | boolean | Whether claim checking applies. Requires Perception claims. | ✓ | ✓ |
statement_count | integer | Supporting statement count. | ✓ | ✓ |
first_seen_atnullable | datetime | First supporting statement time. | ✓ | ✓ |
last_seen_atnullable | datetime | Last supporting statement time. | ✓ | ✓ |
verdictnullable Requires Perception | string | Latest claim-check verdict; null means not checked. Requires Perception claims.CONTRADICTED OUTDATED INCONCLUSIVE NO_MATCHING_FACT SUPPORTED | ✓ | ✓ |
check_statenullable Requires Perception | string | Explicit claim verification state. Unchecked claims are not confirmed facts; confirm project brand facts in the app before interpreting claim verdicts. | ✓ | ✓ |
severitynullable Requires Perception | string | Claim impact severity. Requires Perception claims.HIGH MEDIUM LOW | ✓ | ✓ |
Examples
Example
SELECT id, project_id, subject_kind, subject_label, type
FROM perception_items
ORDER BY id ASC
LIMIT 25Calling it
MCP
Tool call
query({"sql":"SELECT id, project_id, subject_kind, subject_label, type FROM perception_items 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_kind, subject_label, type FROM perception_items ORDER BY id ASC LIMIT 25"
}
JSONRow JSON Schema
json
{
"type": "object",
"description": "Grouped Perception items with their latest claim check. Claim-check fields require every accessible project to have claims enabled. Use read perception_item_groups for dashboard list semantics.",
"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_kind": {
"type": "string",
"description": "Tracked subject kind.",
"enum": [
"OWN",
"COMPETITOR",
"TOPIC"
],
"x-sensorhub-filter-operators": [
"=",
"!=",
"<>",
"IN",
"NOT IN",
"IS NULL",
"IS NOT NULL"
],
"x-sensorhub-indexed": false,
"x-sensorhub-searchable": false,
"x-sensorhub-aggregatable": true,
"x-sensorhub-filterable": true,
"x-sensorhub-sortable": true
},
"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
},
"type": {
"type": "string",
"description": "Perception item type.",
"enum": [
"CLAIM",
"QUESTION",
"OBJECTION",
"PROBLEM"
],
"x-sensorhub-filter-operators": [
"=",
"!=",
"<>",
"IN",
"NOT IN",
"IS NULL",
"IS NOT NULL"
],
"x-sensorhub-indexed": false,
"x-sensorhub-searchable": false,
"x-sensorhub-aggregatable": true,
"x-sensorhub-filterable": true,
"x-sensorhub-sortable": true
},
"title": {
"type": "string",
"description": "Canonical item title.",
"x-sensorhub-indexed": false,
"x-sensorhub-searchable": false,
"x-sensorhub-aggregatable": true,
"x-sensorhub-filterable": true,
"x-sensorhub-sortable": true
},
"polarity": {
"type": [
"string",
"null"
],
"description": "Claim polarity.",
"enum": [
"ASSERTS",
"DENIES",
null
],
"x-sensorhub-filter-operators": [
"=",
"!=",
"<>",
"IN",
"NOT IN",
"IS NULL",
"IS NOT NULL"
],
"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": "Majority theme key.",
"x-sensorhub-indexed": false,
"x-sensorhub-searchable": false,
"x-sensorhub-aggregatable": true,
"x-sensorhub-filterable": true,
"x-sensorhub-sortable": true
},
"status": {
"type": "string",
"description": "Item status.",
"enum": [
"ACTIVE",
"MERGED",
"HIDDEN"
],
"x-sensorhub-filter-operators": [
"=",
"!=",
"<>",
"IN",
"NOT IN",
"IS NULL",
"IS NOT NULL"
],
"x-sensorhub-indexed": false,
"x-sensorhub-searchable": false,
"x-sensorhub-aggregatable": true,
"x-sensorhub-filterable": true,
"x-sensorhub-sortable": true
},
"claim_family": {
"type": [
"string",
"null"
],
"description": "Claim fact-family key. Requires Perception claims.",
"x-sensorhub-availability": "Requires Perception",
"x-sensorhub-indexed": false,
"x-sensorhub-searchable": false,
"x-sensorhub-aggregatable": true,
"x-sensorhub-filterable": true,
"x-sensorhub-sortable": true
},
"checkable": {
"type": "boolean",
"description": "Whether claim checking applies. Requires Perception claims.",
"x-sensorhub-availability": "Requires Perception",
"x-sensorhub-indexed": false,
"x-sensorhub-searchable": false,
"x-sensorhub-aggregatable": true,
"x-sensorhub-filterable": true,
"x-sensorhub-sortable": true
},
"statement_count": {
"type": "integer",
"description": "Supporting statement 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
},
"verdict": {
"type": [
"string",
"null"
],
"description": "Latest claim-check verdict; null means not checked. Requires Perception claims.",
"x-sensorhub-availability": "Requires Perception",
"enum": [
"CONTRADICTED",
"OUTDATED",
"INCONCLUSIVE",
"NO_MATCHING_FACT",
"SUPPORTED",
null
],
"x-sensorhub-filter-operators": [
"=",
"!=",
"<>",
"IN",
"NOT IN",
"IS NULL",
"IS NOT NULL"
],
"x-sensorhub-indexed": false,
"x-sensorhub-searchable": false,
"x-sensorhub-aggregatable": true,
"x-sensorhub-filterable": true,
"x-sensorhub-sortable": true
},
"check_state": {
"type": [
"string",
"null"
],
"description": "Explicit claim verification state. Unchecked claims are not confirmed facts; confirm project brand facts in the app before interpreting claim verdicts.",
"x-sensorhub-availability": "Requires Perception",
"x-sensorhub-indexed": false,
"x-sensorhub-searchable": false,
"x-sensorhub-aggregatable": true,
"x-sensorhub-filterable": true,
"x-sensorhub-sortable": true
},
"severity": {
"type": [
"string",
"null"
],
"description": "Claim impact severity. Requires Perception claims.",
"x-sensorhub-availability": "Requires Perception",
"enum": [
"HIGH",
"MEDIUM",
"LOW",
null
],
"x-sensorhub-filter-operators": [
"=",
"!=",
"<>",
"IN",
"NOT IN",
"IS NULL",
"IS NOT NULL"
],
"x-sensorhub-indexed": false,
"x-sensorhub-searchable": false,
"x-sensorhub-aggregatable": true,
"x-sensorhub-filterable": true,
"x-sensorhub-sortable": true
}
},
"additionalProperties": false
}