Reproducible query — Product (shared drive)
HELP PERMISSIONS
Anyone opening this link re-runs the same query against epoch 1, so it returns the same answer — that is what makes a number in a report checkable later.
PERMISSIONS
What this covers: querying the PERMISSIONS entity (31 rows; label field FILE_ID).
Why you need it: list, fetch, count, and aggregate permissions; answer "which/how many/how much" questions.
Syntax:
LIST PERMISSIONS [WHERE ...] [ORDER BY <FIELD> [DESC]] [LIMIT n] [OFFSET n]GET PERMISSIONS "<file_id>"COUNT PERMISSIONS [BY <FIELD>] [WHERE ...]RESOLVE PERMISSIONS "<name>"- Operators: IS, IS_NOT, CONTAINS, GT, GTE, LT, LTE; combine with AND / OR.
Returns: JSON rows plus _meta (provenance, epoch, related follow-up queries, hints).
Workflows:
1. COUNT PERMISSIONS - size the data before listing.
2. COUNT PERMISSIONS BY PRINCIPAL then LIST PERMISSIONS WHERE PRINCIPAL IS "acme.com" LIMIT 10 - segment, then drill in.
3. RESOLVE PERMISSIONS "<fuzzy name>" then GET PERMISSIONS "<canonical>" - resolve before fetching when a name lookup misses.
Constraints:
- Filter only on fields listed in HELP SCHEMA; unknown fields are hard errors.
- Enum values are exact strings (e.g. PRINCIPAL: acme.com, alice@acme.com, anyone, bob@acme.com, carol@acme.com, dana@vendor.io, eng@acme.com).
- Default LIMIT is 100;
countin a LIST response is not the true total.
Raw envelope — what an app or agent receives
{
"ok": true,
"query": "HELP PERMISSIONS",
"verb": "HELP",
"subject": "PERMISSIONS",
"data": {
"topic": "PERMISSIONS",
"content": "# PERMISSIONS\n\nWhat this covers: querying the PERMISSIONS entity (31 rows; label field `FILE_ID`).\n\nWhy you need it: list, fetch, count, and aggregate permissions; answer \"which/how many/how much\" questions.\n\nSyntax:\n- `LIST PERMISSIONS [WHERE ...] [ORDER BY <FIELD> [DESC]] [LIMIT n] [OFFSET n]`\n- `GET PERMISSIONS \"<file_id>\"`\n- `COUNT PERMISSIONS [BY <FIELD>] [WHERE ...]`\n- `RESOLVE PERMISSIONS \"<name>\"`\n- Operators: IS, IS_NOT, CONTAINS, GT, GTE, LT, LTE; combine with AND / OR.\n\nReturns: JSON rows plus `_meta` (provenance, epoch, related follow-up queries, hints).\n\nWorkflows:\n1. `COUNT PERMISSIONS` - size the data before listing.\n2. `COUNT PERMISSIONS BY PRINCIPAL` then `LIST PERMISSIONS WHERE PRINCIPAL IS \"acme.com\" LIMIT 10` - segment, then drill in.\n3. `RESOLVE PERMISSIONS \"<fuzzy name>\"` then `GET PERMISSIONS \"<canonical>\"` - resolve before fetching when a name lookup misses.\n\nConstraints:\n- Filter only on fields listed in HELP SCHEMA; unknown fields are hard errors.\n- Enum values are exact strings (e.g. PRINCIPAL: acme.com, alice@acme.com, anyone, bob@acme.com, carol@acme.com, dana@vendor.io, eng@acme.com).\n- Default LIMIT is 100; `count` in a LIST response is not the true total.\n"
},
"_meta": {
"epoch": 1,
"provenance": {
"source": "generated-context",
"stage": "P4"
}
}
}