@infograb/notion-cli 5.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1386 -0
  3. package/bin/dev +17 -0
  4. package/bin/dev.cmd +3 -0
  5. package/bin/run +14 -0
  6. package/bin/run.cmd +3 -0
  7. package/dist/base-command.d.ts +73 -0
  8. package/dist/base-command.js +179 -0
  9. package/dist/base-flags.d.ts +14 -0
  10. package/dist/base-flags.js +59 -0
  11. package/dist/cache.d.ts +84 -0
  12. package/dist/cache.js +351 -0
  13. package/dist/commands/batch/retrieve.d.ts +43 -0
  14. package/dist/commands/batch/retrieve.js +265 -0
  15. package/dist/commands/block/append.d.ts +42 -0
  16. package/dist/commands/block/append.js +219 -0
  17. package/dist/commands/block/delete.d.ts +30 -0
  18. package/dist/commands/block/delete.js +94 -0
  19. package/dist/commands/block/retrieve/children.d.ts +31 -0
  20. package/dist/commands/block/retrieve/children.js +174 -0
  21. package/dist/commands/block/retrieve.d.ts +30 -0
  22. package/dist/commands/block/retrieve.js +98 -0
  23. package/dist/commands/block/update.d.ts +45 -0
  24. package/dist/commands/block/update.js +241 -0
  25. package/dist/commands/cache/info.d.ts +19 -0
  26. package/dist/commands/cache/info.js +145 -0
  27. package/dist/commands/config/set-token.d.ts +30 -0
  28. package/dist/commands/config/set-token.js +201 -0
  29. package/dist/commands/db/create.d.ts +31 -0
  30. package/dist/commands/db/create.js +124 -0
  31. package/dist/commands/db/query.d.ts +41 -0
  32. package/dist/commands/db/query.js +355 -0
  33. package/dist/commands/db/retrieve.d.ts +33 -0
  34. package/dist/commands/db/retrieve.js +134 -0
  35. package/dist/commands/db/schema.d.ts +32 -0
  36. package/dist/commands/db/schema.js +308 -0
  37. package/dist/commands/db/update.d.ts +31 -0
  38. package/dist/commands/db/update.js +117 -0
  39. package/dist/commands/doctor.d.ts +50 -0
  40. package/dist/commands/doctor.js +420 -0
  41. package/dist/commands/init.d.ts +57 -0
  42. package/dist/commands/init.js +471 -0
  43. package/dist/commands/list.d.ts +29 -0
  44. package/dist/commands/list.js +184 -0
  45. package/dist/commands/page/create.d.ts +33 -0
  46. package/dist/commands/page/create.js +240 -0
  47. package/dist/commands/page/retrieve/property_item.d.ts +24 -0
  48. package/dist/commands/page/retrieve/property_item.js +72 -0
  49. package/dist/commands/page/retrieve.d.ts +36 -0
  50. package/dist/commands/page/retrieve.js +244 -0
  51. package/dist/commands/page/update.d.ts +34 -0
  52. package/dist/commands/page/update.js +184 -0
  53. package/dist/commands/search.d.ts +40 -0
  54. package/dist/commands/search.js +348 -0
  55. package/dist/commands/sync.d.ts +24 -0
  56. package/dist/commands/sync.js +183 -0
  57. package/dist/commands/user/list.d.ts +27 -0
  58. package/dist/commands/user/list.js +99 -0
  59. package/dist/commands/user/retrieve/bot.d.ts +28 -0
  60. package/dist/commands/user/retrieve/bot.js +96 -0
  61. package/dist/commands/user/retrieve.d.ts +30 -0
  62. package/dist/commands/user/retrieve.js +103 -0
  63. package/dist/commands/whoami.d.ts +19 -0
  64. package/dist/commands/whoami.js +175 -0
  65. package/dist/deduplication.d.ts +41 -0
  66. package/dist/deduplication.js +71 -0
  67. package/dist/envelope.d.ts +169 -0
  68. package/dist/envelope.js +257 -0
  69. package/dist/errors/enhanced-errors.d.ts +168 -0
  70. package/dist/errors/enhanced-errors.js +570 -0
  71. package/dist/errors/index.d.ts +18 -0
  72. package/dist/errors/index.js +33 -0
  73. package/dist/examples/cache-retry-examples.d.ts +64 -0
  74. package/dist/examples/cache-retry-examples.js +375 -0
  75. package/dist/helper.d.ts +102 -0
  76. package/dist/helper.js +885 -0
  77. package/dist/http-agent.d.ts +38 -0
  78. package/dist/http-agent.js +60 -0
  79. package/dist/index.d.ts +1 -0
  80. package/dist/index.js +4 -0
  81. package/dist/interface.d.ts +4 -0
  82. package/dist/interface.js +2 -0
  83. package/dist/notion.d.ts +144 -0
  84. package/dist/notion.js +547 -0
  85. package/dist/retry.d.ts +72 -0
  86. package/dist/retry.js +381 -0
  87. package/dist/utils/disk-cache.d.ts +80 -0
  88. package/dist/utils/disk-cache.js +291 -0
  89. package/dist/utils/markdown-to-blocks.d.ts +19 -0
  90. package/dist/utils/markdown-to-blocks.js +259 -0
  91. package/dist/utils/notion-resolver.d.ts +48 -0
  92. package/dist/utils/notion-resolver.js +262 -0
  93. package/dist/utils/notion-url-parser.d.ts +46 -0
  94. package/dist/utils/notion-url-parser.js +111 -0
  95. package/dist/utils/property-expander.d.ts +45 -0
  96. package/dist/utils/property-expander.js +323 -0
  97. package/dist/utils/schema-examples.d.ts +40 -0
  98. package/dist/utils/schema-examples.js +359 -0
  99. package/dist/utils/schema-extractor.d.ts +65 -0
  100. package/dist/utils/schema-extractor.js +235 -0
  101. package/dist/utils/table-formatter.d.ts +36 -0
  102. package/dist/utils/table-formatter.js +122 -0
  103. package/dist/utils/terminal-banner.d.ts +24 -0
  104. package/dist/utils/terminal-banner.js +34 -0
  105. package/dist/utils/token-validator.d.ts +55 -0
  106. package/dist/utils/token-validator.js +85 -0
  107. package/dist/utils/update-notifier.d.ts +26 -0
  108. package/dist/utils/update-notifier.js +54 -0
  109. package/dist/utils/workspace-cache.d.ts +58 -0
  110. package/dist/utils/workspace-cache.js +185 -0
  111. package/oclif.manifest.json +4497 -0
  112. package/package.json +115 -0
  113. package/scripts/banner.js +38 -0
  114. package/scripts/postinstall.js +56 -0
@@ -0,0 +1,4497 @@
1
+ {
2
+ "commands": {
3
+ "doctor": {
4
+ "aliases": [
5
+ "diagnose",
6
+ "healthcheck"
7
+ ],
8
+ "args": {},
9
+ "description": "Run health checks and diagnostics for Notion CLI",
10
+ "examples": [
11
+ {
12
+ "description": "Run all health checks",
13
+ "command": "$ notion-cli doctor"
14
+ },
15
+ {
16
+ "description": "Run health checks with JSON output",
17
+ "command": "$ notion-cli doctor --json"
18
+ }
19
+ ],
20
+ "flags": {
21
+ "json": {
22
+ "char": "j",
23
+ "description": "Output as JSON",
24
+ "name": "json",
25
+ "allowNo": false,
26
+ "type": "boolean"
27
+ }
28
+ },
29
+ "hasDynamicHelp": false,
30
+ "hiddenAliases": [],
31
+ "id": "doctor",
32
+ "pluginAlias": "@infograb/notion-cli",
33
+ "pluginName": "@infograb/notion-cli",
34
+ "pluginType": "core",
35
+ "strict": true,
36
+ "enableJsonFlag": false,
37
+ "isESM": false,
38
+ "relativePath": [
39
+ "dist",
40
+ "commands",
41
+ "doctor.js"
42
+ ]
43
+ },
44
+ "init": {
45
+ "aliases": [],
46
+ "args": {},
47
+ "description": "Interactive first-time setup wizard for Notion CLI",
48
+ "examples": [
49
+ {
50
+ "description": "Run interactive setup wizard",
51
+ "command": "$ notion-cli init"
52
+ },
53
+ {
54
+ "description": "Run setup with automated JSON output",
55
+ "command": "$ notion-cli init --json"
56
+ }
57
+ ],
58
+ "flags": {
59
+ "json": {
60
+ "char": "j",
61
+ "description": "Output as JSON (recommended for automation)",
62
+ "name": "json",
63
+ "allowNo": false,
64
+ "type": "boolean"
65
+ },
66
+ "page-size": {
67
+ "description": "Items per page (1-100, default: 100 for automation)",
68
+ "name": "page-size",
69
+ "default": 100,
70
+ "hasDynamicHelp": false,
71
+ "multiple": false,
72
+ "type": "option"
73
+ },
74
+ "retry": {
75
+ "description": "Auto-retry on rate limit (respects Retry-After header)",
76
+ "name": "retry",
77
+ "allowNo": false,
78
+ "type": "boolean"
79
+ },
80
+ "timeout": {
81
+ "description": "Request timeout in milliseconds",
82
+ "name": "timeout",
83
+ "default": 30000,
84
+ "hasDynamicHelp": false,
85
+ "multiple": false,
86
+ "type": "option"
87
+ },
88
+ "no-cache": {
89
+ "description": "Bypass cache and force fresh API calls",
90
+ "name": "no-cache",
91
+ "allowNo": false,
92
+ "type": "boolean"
93
+ },
94
+ "verbose": {
95
+ "char": "v",
96
+ "description": "Enable verbose logging to stderr (retry events, cache stats) - never pollutes stdout",
97
+ "env": "NOTION_CLI_VERBOSE",
98
+ "name": "verbose",
99
+ "allowNo": false,
100
+ "type": "boolean"
101
+ },
102
+ "minimal": {
103
+ "description": "Strip unnecessary metadata (created_by, last_edited_by, object fields, request_id, etc.) - reduces response size by ~40%",
104
+ "name": "minimal",
105
+ "allowNo": false,
106
+ "type": "boolean"
107
+ }
108
+ },
109
+ "hasDynamicHelp": false,
110
+ "hiddenAliases": [],
111
+ "id": "init",
112
+ "pluginAlias": "@infograb/notion-cli",
113
+ "pluginName": "@infograb/notion-cli",
114
+ "pluginType": "core",
115
+ "strict": true,
116
+ "enableJsonFlag": false,
117
+ "isESM": false,
118
+ "relativePath": [
119
+ "dist",
120
+ "commands",
121
+ "init.js"
122
+ ]
123
+ },
124
+ "list": {
125
+ "aliases": [
126
+ "db:list",
127
+ "ls"
128
+ ],
129
+ "args": {},
130
+ "description": "List all cached databases from your workspace",
131
+ "examples": [
132
+ {
133
+ "description": "List all cached databases",
134
+ "command": "notion-cli list"
135
+ },
136
+ {
137
+ "description": "List databases in markdown format",
138
+ "command": "notion-cli list --markdown"
139
+ },
140
+ {
141
+ "description": "List databases in JSON format",
142
+ "command": "notion-cli list --json"
143
+ },
144
+ {
145
+ "description": "List databases in pretty table format",
146
+ "command": "notion-cli list --pretty"
147
+ }
148
+ ],
149
+ "flags": {
150
+ "columns": {
151
+ "description": "Only show provided columns (comma-separated)",
152
+ "exclusive": [
153
+ "extended"
154
+ ],
155
+ "name": "columns",
156
+ "hasDynamicHelp": false,
157
+ "multiple": false,
158
+ "type": "option"
159
+ },
160
+ "sort": {
161
+ "description": "Property to sort by (prepend with - for descending)",
162
+ "name": "sort",
163
+ "hasDynamicHelp": false,
164
+ "multiple": false,
165
+ "type": "option"
166
+ },
167
+ "filter": {
168
+ "description": "Filter property by substring match",
169
+ "name": "filter",
170
+ "hasDynamicHelp": false,
171
+ "multiple": false,
172
+ "type": "option"
173
+ },
174
+ "csv": {
175
+ "description": "Output in CSV format",
176
+ "exclusive": [
177
+ "no-truncate"
178
+ ],
179
+ "name": "csv",
180
+ "allowNo": false,
181
+ "type": "boolean"
182
+ },
183
+ "extended": {
184
+ "char": "x",
185
+ "description": "Show extra columns",
186
+ "name": "extended",
187
+ "allowNo": false,
188
+ "type": "boolean"
189
+ },
190
+ "no-truncate": {
191
+ "description": "Do not truncate output to fit screen",
192
+ "exclusive": [
193
+ "csv"
194
+ ],
195
+ "name": "no-truncate",
196
+ "allowNo": false,
197
+ "type": "boolean"
198
+ },
199
+ "no-header": {
200
+ "description": "Hide table header from output",
201
+ "name": "no-header",
202
+ "allowNo": false,
203
+ "type": "boolean"
204
+ },
205
+ "json": {
206
+ "char": "j",
207
+ "description": "Output as JSON (recommended for automation)",
208
+ "name": "json",
209
+ "allowNo": false,
210
+ "type": "boolean"
211
+ },
212
+ "page-size": {
213
+ "description": "Items per page (1-100, default: 100 for automation)",
214
+ "name": "page-size",
215
+ "default": 100,
216
+ "hasDynamicHelp": false,
217
+ "multiple": false,
218
+ "type": "option"
219
+ },
220
+ "retry": {
221
+ "description": "Auto-retry on rate limit (respects Retry-After header)",
222
+ "name": "retry",
223
+ "allowNo": false,
224
+ "type": "boolean"
225
+ },
226
+ "timeout": {
227
+ "description": "Request timeout in milliseconds",
228
+ "name": "timeout",
229
+ "default": 30000,
230
+ "hasDynamicHelp": false,
231
+ "multiple": false,
232
+ "type": "option"
233
+ },
234
+ "no-cache": {
235
+ "description": "Bypass cache and force fresh API calls",
236
+ "name": "no-cache",
237
+ "allowNo": false,
238
+ "type": "boolean"
239
+ },
240
+ "verbose": {
241
+ "char": "v",
242
+ "description": "Enable verbose logging to stderr (retry events, cache stats) - never pollutes stdout",
243
+ "env": "NOTION_CLI_VERBOSE",
244
+ "name": "verbose",
245
+ "allowNo": false,
246
+ "type": "boolean"
247
+ },
248
+ "minimal": {
249
+ "description": "Strip unnecessary metadata (created_by, last_edited_by, object fields, request_id, etc.) - reduces response size by ~40%",
250
+ "name": "minimal",
251
+ "allowNo": false,
252
+ "type": "boolean"
253
+ },
254
+ "markdown": {
255
+ "char": "m",
256
+ "description": "Output as markdown table (GitHub-flavored)",
257
+ "exclusive": [
258
+ "compact-json",
259
+ "pretty"
260
+ ],
261
+ "name": "markdown",
262
+ "allowNo": false,
263
+ "type": "boolean"
264
+ },
265
+ "compact-json": {
266
+ "char": "c",
267
+ "description": "Output as compact JSON (single-line, ideal for piping)",
268
+ "exclusive": [
269
+ "markdown",
270
+ "pretty"
271
+ ],
272
+ "name": "compact-json",
273
+ "allowNo": false,
274
+ "type": "boolean"
275
+ },
276
+ "pretty": {
277
+ "char": "P",
278
+ "description": "Output as pretty table with borders",
279
+ "exclusive": [
280
+ "markdown",
281
+ "compact-json"
282
+ ],
283
+ "name": "pretty",
284
+ "allowNo": false,
285
+ "type": "boolean"
286
+ }
287
+ },
288
+ "hasDynamicHelp": false,
289
+ "hiddenAliases": [],
290
+ "id": "list",
291
+ "pluginAlias": "@infograb/notion-cli",
292
+ "pluginName": "@infograb/notion-cli",
293
+ "pluginType": "core",
294
+ "strict": true,
295
+ "enableJsonFlag": false,
296
+ "isESM": false,
297
+ "relativePath": [
298
+ "dist",
299
+ "commands",
300
+ "list.js"
301
+ ]
302
+ },
303
+ "search": {
304
+ "aliases": [],
305
+ "args": {},
306
+ "description": "Search by title",
307
+ "examples": [
308
+ {
309
+ "description": "Search with full data (recommended for AI assistants)",
310
+ "command": "$ notion-cli search -q 'My Page' -r"
311
+ },
312
+ {
313
+ "description": "Search by title",
314
+ "command": "$ notion-cli search -q 'My Page'"
315
+ },
316
+ {
317
+ "description": "Search only within a specific database",
318
+ "command": "$ notion-cli search -q 'meeting' --database DB_ID"
319
+ },
320
+ {
321
+ "description": "Search with created date filter",
322
+ "command": "$ notion-cli search -q 'report' --created-after 2025-10-01"
323
+ },
324
+ {
325
+ "description": "Search with edited date filter",
326
+ "command": "$ notion-cli search -q 'project' --edited-after 2025-10-20"
327
+ },
328
+ {
329
+ "description": "Limit number of results",
330
+ "command": "$ notion-cli search -q 'task' --limit 20"
331
+ },
332
+ {
333
+ "description": "Combined filters",
334
+ "command": "$ notion-cli search -q 'project' -d DB_ID --edited-after 2025-10-20 --limit 10"
335
+ },
336
+ {
337
+ "description": "Search by title and output csv",
338
+ "command": "$ notion-cli search -q 'My Page' --csv"
339
+ },
340
+ {
341
+ "description": "Search by title and output raw json",
342
+ "command": "$ notion-cli search -q 'My Page' -r"
343
+ },
344
+ {
345
+ "description": "Search by title and output markdown table",
346
+ "command": "$ notion-cli search -q 'My Page' --markdown"
347
+ },
348
+ {
349
+ "description": "Search by title and output compact JSON",
350
+ "command": "$ notion-cli search -q 'My Page' --compact-json"
351
+ },
352
+ {
353
+ "description": "Search by title and output pretty table",
354
+ "command": "$ notion-cli search -q 'My Page' --pretty"
355
+ },
356
+ {
357
+ "description": "Search by title and output table with specific columns",
358
+ "command": "$ notion-cli search -q 'My Page' --columns=title,object"
359
+ },
360
+ {
361
+ "description": "Search by title and output table with specific columns and sort direction",
362
+ "command": "$ notion-cli search -q 'My Page' --columns=title,object -d asc"
363
+ },
364
+ {
365
+ "description": "Search by title and output table with specific columns and sort direction and page size",
366
+ "command": "$ notion-cli search -q 'My Page' -columns=title,object -d asc -s 10"
367
+ },
368
+ {
369
+ "description": "Search by title and output table with specific columns and sort direction and page size and start cursor",
370
+ "command": "$ notion-cli search -q 'My Page' --columns=title,object -d asc -s 10 -c START_CURSOR_ID"
371
+ },
372
+ {
373
+ "description": "Search by title and output table with specific columns and sort direction and page size and start cursor and property",
374
+ "command": "$ notion-cli search -q 'My Page' --columns=title,object -d asc -s 10 -c START_CURSOR_ID -p page"
375
+ },
376
+ {
377
+ "description": "Search and output JSON for automation",
378
+ "command": "$ notion-cli search -q 'My Page' --json"
379
+ }
380
+ ],
381
+ "flags": {
382
+ "query": {
383
+ "char": "q",
384
+ "description": "The text that the API compares page and database titles against",
385
+ "name": "query",
386
+ "hasDynamicHelp": false,
387
+ "multiple": false,
388
+ "type": "option"
389
+ },
390
+ "sort_direction": {
391
+ "char": "d",
392
+ "description": "The direction to sort results. The only supported timestamp value is \"last_edited_time\"",
393
+ "name": "sort_direction",
394
+ "default": "desc",
395
+ "hasDynamicHelp": false,
396
+ "multiple": false,
397
+ "options": [
398
+ "asc",
399
+ "desc"
400
+ ],
401
+ "type": "option"
402
+ },
403
+ "property": {
404
+ "char": "p",
405
+ "name": "property",
406
+ "hasDynamicHelp": false,
407
+ "multiple": false,
408
+ "options": [
409
+ "data_source",
410
+ "page"
411
+ ],
412
+ "type": "option"
413
+ },
414
+ "start_cursor": {
415
+ "char": "c",
416
+ "name": "start_cursor",
417
+ "hasDynamicHelp": false,
418
+ "multiple": false,
419
+ "type": "option"
420
+ },
421
+ "page_size": {
422
+ "char": "s",
423
+ "description": "The number of results to return. The default is 5, with a minimum of 1 and a maximum of 100.",
424
+ "name": "page_size",
425
+ "default": 5,
426
+ "hasDynamicHelp": false,
427
+ "multiple": false,
428
+ "type": "option"
429
+ },
430
+ "database": {
431
+ "description": "Limit search to pages within a specific database (data source ID)",
432
+ "name": "database",
433
+ "hasDynamicHelp": false,
434
+ "multiple": false,
435
+ "type": "option"
436
+ },
437
+ "created-after": {
438
+ "description": "Filter results created after this date (ISO 8601 format: YYYY-MM-DD)",
439
+ "name": "created-after",
440
+ "hasDynamicHelp": false,
441
+ "multiple": false,
442
+ "type": "option"
443
+ },
444
+ "created-before": {
445
+ "description": "Filter results created before this date (ISO 8601 format: YYYY-MM-DD)",
446
+ "name": "created-before",
447
+ "hasDynamicHelp": false,
448
+ "multiple": false,
449
+ "type": "option"
450
+ },
451
+ "edited-after": {
452
+ "description": "Filter results edited after this date (ISO 8601 format: YYYY-MM-DD)",
453
+ "name": "edited-after",
454
+ "hasDynamicHelp": false,
455
+ "multiple": false,
456
+ "type": "option"
457
+ },
458
+ "edited-before": {
459
+ "description": "Filter results edited before this date (ISO 8601 format: YYYY-MM-DD)",
460
+ "name": "edited-before",
461
+ "hasDynamicHelp": false,
462
+ "multiple": false,
463
+ "type": "option"
464
+ },
465
+ "limit": {
466
+ "description": "Maximum number of results to return (applied after filters)",
467
+ "name": "limit",
468
+ "hasDynamicHelp": false,
469
+ "multiple": false,
470
+ "type": "option"
471
+ },
472
+ "raw": {
473
+ "char": "r",
474
+ "description": "output raw json (recommended for AI assistants - returns all search results)",
475
+ "name": "raw",
476
+ "allowNo": false,
477
+ "type": "boolean"
478
+ },
479
+ "columns": {
480
+ "description": "Only show provided columns (comma-separated)",
481
+ "exclusive": [
482
+ "extended"
483
+ ],
484
+ "name": "columns",
485
+ "hasDynamicHelp": false,
486
+ "multiple": false,
487
+ "type": "option"
488
+ },
489
+ "sort": {
490
+ "description": "Property to sort by (prepend with - for descending)",
491
+ "name": "sort",
492
+ "hasDynamicHelp": false,
493
+ "multiple": false,
494
+ "type": "option"
495
+ },
496
+ "filter": {
497
+ "description": "Filter property by substring match",
498
+ "name": "filter",
499
+ "hasDynamicHelp": false,
500
+ "multiple": false,
501
+ "type": "option"
502
+ },
503
+ "csv": {
504
+ "description": "Output in CSV format",
505
+ "exclusive": [
506
+ "no-truncate"
507
+ ],
508
+ "name": "csv",
509
+ "allowNo": false,
510
+ "type": "boolean"
511
+ },
512
+ "extended": {
513
+ "char": "x",
514
+ "description": "Show extra columns",
515
+ "name": "extended",
516
+ "allowNo": false,
517
+ "type": "boolean"
518
+ },
519
+ "no-truncate": {
520
+ "description": "Do not truncate output to fit screen",
521
+ "exclusive": [
522
+ "csv"
523
+ ],
524
+ "name": "no-truncate",
525
+ "allowNo": false,
526
+ "type": "boolean"
527
+ },
528
+ "no-header": {
529
+ "description": "Hide table header from output",
530
+ "name": "no-header",
531
+ "allowNo": false,
532
+ "type": "boolean"
533
+ },
534
+ "markdown": {
535
+ "char": "m",
536
+ "description": "Output as markdown table (GitHub-flavored)",
537
+ "exclusive": [
538
+ "compact-json",
539
+ "pretty"
540
+ ],
541
+ "name": "markdown",
542
+ "allowNo": false,
543
+ "type": "boolean"
544
+ },
545
+ "compact-json": {
546
+ "char": "c",
547
+ "description": "Output as compact JSON (single-line, ideal for piping)",
548
+ "exclusive": [
549
+ "markdown",
550
+ "pretty"
551
+ ],
552
+ "name": "compact-json",
553
+ "allowNo": false,
554
+ "type": "boolean"
555
+ },
556
+ "pretty": {
557
+ "char": "P",
558
+ "description": "Output as pretty table with borders",
559
+ "exclusive": [
560
+ "markdown",
561
+ "compact-json"
562
+ ],
563
+ "name": "pretty",
564
+ "allowNo": false,
565
+ "type": "boolean"
566
+ },
567
+ "json": {
568
+ "char": "j",
569
+ "description": "Output as JSON (recommended for automation)",
570
+ "name": "json",
571
+ "allowNo": false,
572
+ "type": "boolean"
573
+ },
574
+ "page-size": {
575
+ "description": "Items per page (1-100, default: 100 for automation)",
576
+ "name": "page-size",
577
+ "default": 100,
578
+ "hasDynamicHelp": false,
579
+ "multiple": false,
580
+ "type": "option"
581
+ },
582
+ "retry": {
583
+ "description": "Auto-retry on rate limit (respects Retry-After header)",
584
+ "name": "retry",
585
+ "allowNo": false,
586
+ "type": "boolean"
587
+ },
588
+ "timeout": {
589
+ "description": "Request timeout in milliseconds",
590
+ "name": "timeout",
591
+ "default": 30000,
592
+ "hasDynamicHelp": false,
593
+ "multiple": false,
594
+ "type": "option"
595
+ },
596
+ "no-cache": {
597
+ "description": "Bypass cache and force fresh API calls",
598
+ "name": "no-cache",
599
+ "allowNo": false,
600
+ "type": "boolean"
601
+ },
602
+ "verbose": {
603
+ "char": "v",
604
+ "description": "Enable verbose logging to stderr (retry events, cache stats) - never pollutes stdout",
605
+ "env": "NOTION_CLI_VERBOSE",
606
+ "name": "verbose",
607
+ "allowNo": false,
608
+ "type": "boolean"
609
+ },
610
+ "minimal": {
611
+ "description": "Strip unnecessary metadata (created_by, last_edited_by, object fields, request_id, etc.) - reduces response size by ~40%",
612
+ "name": "minimal",
613
+ "allowNo": false,
614
+ "type": "boolean"
615
+ }
616
+ },
617
+ "hasDynamicHelp": false,
618
+ "hiddenAliases": [],
619
+ "id": "search",
620
+ "pluginAlias": "@infograb/notion-cli",
621
+ "pluginName": "@infograb/notion-cli",
622
+ "pluginType": "core",
623
+ "strict": true,
624
+ "enableJsonFlag": false,
625
+ "isESM": false,
626
+ "relativePath": [
627
+ "dist",
628
+ "commands",
629
+ "search.js"
630
+ ]
631
+ },
632
+ "sync": {
633
+ "aliases": [
634
+ "db:sync"
635
+ ],
636
+ "args": {},
637
+ "description": "Sync workspace databases to local cache for fast lookups",
638
+ "examples": [
639
+ {
640
+ "description": "Sync all workspace databases",
641
+ "command": "notion-cli sync"
642
+ },
643
+ {
644
+ "description": "Force resync even if cache exists",
645
+ "command": "notion-cli sync --force"
646
+ },
647
+ {
648
+ "description": "Sync and output as JSON",
649
+ "command": "notion-cli sync --json"
650
+ }
651
+ ],
652
+ "flags": {
653
+ "force": {
654
+ "char": "f",
655
+ "description": "Force resync even if cache is fresh",
656
+ "name": "force",
657
+ "allowNo": false,
658
+ "type": "boolean"
659
+ },
660
+ "json": {
661
+ "char": "j",
662
+ "description": "Output as JSON (recommended for automation)",
663
+ "name": "json",
664
+ "allowNo": false,
665
+ "type": "boolean"
666
+ },
667
+ "page-size": {
668
+ "description": "Items per page (1-100, default: 100 for automation)",
669
+ "name": "page-size",
670
+ "default": 100,
671
+ "hasDynamicHelp": false,
672
+ "multiple": false,
673
+ "type": "option"
674
+ },
675
+ "retry": {
676
+ "description": "Auto-retry on rate limit (respects Retry-After header)",
677
+ "name": "retry",
678
+ "allowNo": false,
679
+ "type": "boolean"
680
+ },
681
+ "timeout": {
682
+ "description": "Request timeout in milliseconds",
683
+ "name": "timeout",
684
+ "default": 30000,
685
+ "hasDynamicHelp": false,
686
+ "multiple": false,
687
+ "type": "option"
688
+ },
689
+ "no-cache": {
690
+ "description": "Bypass cache and force fresh API calls",
691
+ "name": "no-cache",
692
+ "allowNo": false,
693
+ "type": "boolean"
694
+ },
695
+ "verbose": {
696
+ "char": "v",
697
+ "description": "Enable verbose logging to stderr (retry events, cache stats) - never pollutes stdout",
698
+ "env": "NOTION_CLI_VERBOSE",
699
+ "name": "verbose",
700
+ "allowNo": false,
701
+ "type": "boolean"
702
+ },
703
+ "minimal": {
704
+ "description": "Strip unnecessary metadata (created_by, last_edited_by, object fields, request_id, etc.) - reduces response size by ~40%",
705
+ "name": "minimal",
706
+ "allowNo": false,
707
+ "type": "boolean"
708
+ }
709
+ },
710
+ "hasDynamicHelp": false,
711
+ "hiddenAliases": [],
712
+ "id": "sync",
713
+ "pluginAlias": "@infograb/notion-cli",
714
+ "pluginName": "@infograb/notion-cli",
715
+ "pluginType": "core",
716
+ "strict": true,
717
+ "enableJsonFlag": false,
718
+ "isESM": false,
719
+ "relativePath": [
720
+ "dist",
721
+ "commands",
722
+ "sync.js"
723
+ ]
724
+ },
725
+ "whoami": {
726
+ "aliases": [
727
+ "test",
728
+ "health",
729
+ "connectivity"
730
+ ],
731
+ "args": {},
732
+ "description": "Verify API connectivity and show workspace context",
733
+ "examples": [
734
+ {
735
+ "description": "Check connection and show bot info",
736
+ "command": "$ notion-cli whoami"
737
+ },
738
+ {
739
+ "description": "Check connection and output as JSON",
740
+ "command": "$ notion-cli whoami --json"
741
+ },
742
+ {
743
+ "description": "Bypass cache for fresh connectivity test",
744
+ "command": "$ notion-cli whoami --no-cache"
745
+ }
746
+ ],
747
+ "flags": {
748
+ "json": {
749
+ "char": "j",
750
+ "description": "Output as JSON (recommended for automation)",
751
+ "name": "json",
752
+ "allowNo": false,
753
+ "type": "boolean"
754
+ },
755
+ "page-size": {
756
+ "description": "Items per page (1-100, default: 100 for automation)",
757
+ "name": "page-size",
758
+ "default": 100,
759
+ "hasDynamicHelp": false,
760
+ "multiple": false,
761
+ "type": "option"
762
+ },
763
+ "retry": {
764
+ "description": "Auto-retry on rate limit (respects Retry-After header)",
765
+ "name": "retry",
766
+ "allowNo": false,
767
+ "type": "boolean"
768
+ },
769
+ "timeout": {
770
+ "description": "Request timeout in milliseconds",
771
+ "name": "timeout",
772
+ "default": 30000,
773
+ "hasDynamicHelp": false,
774
+ "multiple": false,
775
+ "type": "option"
776
+ },
777
+ "no-cache": {
778
+ "description": "Bypass cache and force fresh API calls",
779
+ "name": "no-cache",
780
+ "allowNo": false,
781
+ "type": "boolean"
782
+ },
783
+ "verbose": {
784
+ "char": "v",
785
+ "description": "Enable verbose logging to stderr (retry events, cache stats) - never pollutes stdout",
786
+ "env": "NOTION_CLI_VERBOSE",
787
+ "name": "verbose",
788
+ "allowNo": false,
789
+ "type": "boolean"
790
+ },
791
+ "minimal": {
792
+ "description": "Strip unnecessary metadata (created_by, last_edited_by, object fields, request_id, etc.) - reduces response size by ~40%",
793
+ "name": "minimal",
794
+ "allowNo": false,
795
+ "type": "boolean"
796
+ }
797
+ },
798
+ "hasDynamicHelp": false,
799
+ "hiddenAliases": [],
800
+ "id": "whoami",
801
+ "pluginAlias": "@infograb/notion-cli",
802
+ "pluginName": "@infograb/notion-cli",
803
+ "pluginType": "core",
804
+ "strict": true,
805
+ "enableJsonFlag": false,
806
+ "isESM": false,
807
+ "relativePath": [
808
+ "dist",
809
+ "commands",
810
+ "whoami.js"
811
+ ]
812
+ },
813
+ "batch:retrieve": {
814
+ "aliases": [
815
+ "batch:r"
816
+ ],
817
+ "args": {
818
+ "ids": {
819
+ "description": "Comma-separated list of IDs to retrieve (or use --ids flag or stdin)",
820
+ "name": "ids",
821
+ "required": false
822
+ }
823
+ },
824
+ "description": "Batch retrieve multiple pages, blocks, or data sources",
825
+ "examples": [
826
+ {
827
+ "description": "Retrieve multiple pages via --ids flag",
828
+ "command": "$ notion-cli batch retrieve --ids PAGE_ID_1,PAGE_ID_2,PAGE_ID_3 --compact-json"
829
+ },
830
+ {
831
+ "description": "Retrieve multiple pages from stdin (one ID per line)",
832
+ "command": "$ cat page_ids.txt | notion-cli batch retrieve --compact-json"
833
+ },
834
+ {
835
+ "description": "Retrieve multiple blocks",
836
+ "command": "$ notion-cli batch retrieve --ids BLOCK_ID_1,BLOCK_ID_2 --type block --json"
837
+ },
838
+ {
839
+ "description": "Retrieve multiple data sources",
840
+ "command": "$ notion-cli batch retrieve --ids DS_ID_1,DS_ID_2 --type database --json"
841
+ },
842
+ {
843
+ "description": "Retrieve with raw output",
844
+ "command": "$ notion-cli batch retrieve --ids ID1,ID2,ID3 -r"
845
+ }
846
+ ],
847
+ "flags": {
848
+ "ids": {
849
+ "description": "Comma-separated list of IDs to retrieve",
850
+ "name": "ids",
851
+ "hasDynamicHelp": false,
852
+ "multiple": false,
853
+ "type": "option"
854
+ },
855
+ "type": {
856
+ "description": "Resource type to retrieve (page, block, database)",
857
+ "name": "type",
858
+ "default": "page",
859
+ "hasDynamicHelp": false,
860
+ "multiple": false,
861
+ "options": [
862
+ "page",
863
+ "block",
864
+ "database"
865
+ ],
866
+ "type": "option"
867
+ },
868
+ "raw": {
869
+ "char": "r",
870
+ "description": "output raw json (recommended for AI assistants - returns all fields)",
871
+ "name": "raw",
872
+ "allowNo": false,
873
+ "type": "boolean"
874
+ },
875
+ "columns": {
876
+ "description": "Only show provided columns (comma-separated)",
877
+ "exclusive": [
878
+ "extended"
879
+ ],
880
+ "name": "columns",
881
+ "hasDynamicHelp": false,
882
+ "multiple": false,
883
+ "type": "option"
884
+ },
885
+ "sort": {
886
+ "description": "Property to sort by (prepend with - for descending)",
887
+ "name": "sort",
888
+ "hasDynamicHelp": false,
889
+ "multiple": false,
890
+ "type": "option"
891
+ },
892
+ "filter": {
893
+ "description": "Filter property by substring match",
894
+ "name": "filter",
895
+ "hasDynamicHelp": false,
896
+ "multiple": false,
897
+ "type": "option"
898
+ },
899
+ "csv": {
900
+ "description": "Output in CSV format",
901
+ "exclusive": [
902
+ "no-truncate"
903
+ ],
904
+ "name": "csv",
905
+ "allowNo": false,
906
+ "type": "boolean"
907
+ },
908
+ "extended": {
909
+ "char": "x",
910
+ "description": "Show extra columns",
911
+ "name": "extended",
912
+ "allowNo": false,
913
+ "type": "boolean"
914
+ },
915
+ "no-truncate": {
916
+ "description": "Do not truncate output to fit screen",
917
+ "exclusive": [
918
+ "csv"
919
+ ],
920
+ "name": "no-truncate",
921
+ "allowNo": false,
922
+ "type": "boolean"
923
+ },
924
+ "no-header": {
925
+ "description": "Hide table header from output",
926
+ "name": "no-header",
927
+ "allowNo": false,
928
+ "type": "boolean"
929
+ },
930
+ "markdown": {
931
+ "char": "m",
932
+ "description": "Output as markdown table (GitHub-flavored)",
933
+ "exclusive": [
934
+ "compact-json",
935
+ "pretty"
936
+ ],
937
+ "name": "markdown",
938
+ "allowNo": false,
939
+ "type": "boolean"
940
+ },
941
+ "compact-json": {
942
+ "char": "c",
943
+ "description": "Output as compact JSON (single-line, ideal for piping)",
944
+ "exclusive": [
945
+ "markdown",
946
+ "pretty"
947
+ ],
948
+ "name": "compact-json",
949
+ "allowNo": false,
950
+ "type": "boolean"
951
+ },
952
+ "pretty": {
953
+ "char": "P",
954
+ "description": "Output as pretty table with borders",
955
+ "exclusive": [
956
+ "markdown",
957
+ "compact-json"
958
+ ],
959
+ "name": "pretty",
960
+ "allowNo": false,
961
+ "type": "boolean"
962
+ },
963
+ "json": {
964
+ "char": "j",
965
+ "description": "Output as JSON (recommended for automation)",
966
+ "name": "json",
967
+ "allowNo": false,
968
+ "type": "boolean"
969
+ },
970
+ "page-size": {
971
+ "description": "Items per page (1-100, default: 100 for automation)",
972
+ "name": "page-size",
973
+ "default": 100,
974
+ "hasDynamicHelp": false,
975
+ "multiple": false,
976
+ "type": "option"
977
+ },
978
+ "retry": {
979
+ "description": "Auto-retry on rate limit (respects Retry-After header)",
980
+ "name": "retry",
981
+ "allowNo": false,
982
+ "type": "boolean"
983
+ },
984
+ "timeout": {
985
+ "description": "Request timeout in milliseconds",
986
+ "name": "timeout",
987
+ "default": 30000,
988
+ "hasDynamicHelp": false,
989
+ "multiple": false,
990
+ "type": "option"
991
+ },
992
+ "no-cache": {
993
+ "description": "Bypass cache and force fresh API calls",
994
+ "name": "no-cache",
995
+ "allowNo": false,
996
+ "type": "boolean"
997
+ },
998
+ "verbose": {
999
+ "char": "v",
1000
+ "description": "Enable verbose logging to stderr (retry events, cache stats) - never pollutes stdout",
1001
+ "env": "NOTION_CLI_VERBOSE",
1002
+ "name": "verbose",
1003
+ "allowNo": false,
1004
+ "type": "boolean"
1005
+ },
1006
+ "minimal": {
1007
+ "description": "Strip unnecessary metadata (created_by, last_edited_by, object fields, request_id, etc.) - reduces response size by ~40%",
1008
+ "name": "minimal",
1009
+ "allowNo": false,
1010
+ "type": "boolean"
1011
+ }
1012
+ },
1013
+ "hasDynamicHelp": false,
1014
+ "hiddenAliases": [],
1015
+ "id": "batch:retrieve",
1016
+ "pluginAlias": "@infograb/notion-cli",
1017
+ "pluginName": "@infograb/notion-cli",
1018
+ "pluginType": "core",
1019
+ "strict": true,
1020
+ "enableJsonFlag": false,
1021
+ "isESM": false,
1022
+ "relativePath": [
1023
+ "dist",
1024
+ "commands",
1025
+ "batch",
1026
+ "retrieve.js"
1027
+ ]
1028
+ },
1029
+ "block:append": {
1030
+ "aliases": [
1031
+ "block:a"
1032
+ ],
1033
+ "args": {},
1034
+ "description": "Append block children",
1035
+ "examples": [
1036
+ {
1037
+ "description": "Append a simple paragraph",
1038
+ "command": "$ notion-cli block append -b BLOCK_ID --text \"Hello world!\""
1039
+ },
1040
+ {
1041
+ "description": "Append a heading",
1042
+ "command": "$ notion-cli block append -b BLOCK_ID --heading-1 \"Chapter Title\""
1043
+ },
1044
+ {
1045
+ "description": "Append a bullet point",
1046
+ "command": "$ notion-cli block append -b BLOCK_ID --bullet \"First item\""
1047
+ },
1048
+ {
1049
+ "description": "Append a code block",
1050
+ "command": "$ notion-cli block append -b BLOCK_ID --code \"console.log('test')\" --language javascript"
1051
+ },
1052
+ {
1053
+ "description": "Append block children with complex JSON (for advanced cases)",
1054
+ "command": "$ notion-cli block append -b BLOCK_ID -c '[{\"object\":\"block\",\"type\":\"paragraph\",\"paragraph\":{\"rich_text\":[{\"type\":\"text\",\"text\":{\"content\":\"Hello world!\"}}]}}]'"
1055
+ },
1056
+ {
1057
+ "description": "Append block children via URL",
1058
+ "command": "$ notion-cli block append -b https://notion.so/BLOCK_ID --text \"Hello world!\""
1059
+ },
1060
+ {
1061
+ "description": "Append block children after a block",
1062
+ "command": "$ notion-cli block append -b BLOCK_ID --text \"Hello world!\" -a AFTER_BLOCK_ID"
1063
+ },
1064
+ {
1065
+ "description": "Append block children and output raw json",
1066
+ "command": "$ notion-cli block append -b BLOCK_ID --text \"Hello world!\" -r"
1067
+ },
1068
+ {
1069
+ "description": "Append block children and output JSON for automation",
1070
+ "command": "$ notion-cli block append -b BLOCK_ID --text \"Hello world!\" --json"
1071
+ }
1072
+ ],
1073
+ "flags": {
1074
+ "block_id": {
1075
+ "char": "b",
1076
+ "description": "Parent block ID or URL",
1077
+ "name": "block_id",
1078
+ "required": true,
1079
+ "hasDynamicHelp": false,
1080
+ "multiple": false,
1081
+ "type": "option"
1082
+ },
1083
+ "children": {
1084
+ "char": "c",
1085
+ "description": "Block children (JSON array) - for complex cases",
1086
+ "name": "children",
1087
+ "hasDynamicHelp": false,
1088
+ "multiple": false,
1089
+ "type": "option"
1090
+ },
1091
+ "text": {
1092
+ "description": "Paragraph text",
1093
+ "name": "text",
1094
+ "hasDynamicHelp": false,
1095
+ "multiple": false,
1096
+ "type": "option"
1097
+ },
1098
+ "heading-1": {
1099
+ "description": "H1 heading text",
1100
+ "name": "heading-1",
1101
+ "hasDynamicHelp": false,
1102
+ "multiple": false,
1103
+ "type": "option"
1104
+ },
1105
+ "heading-2": {
1106
+ "description": "H2 heading text",
1107
+ "name": "heading-2",
1108
+ "hasDynamicHelp": false,
1109
+ "multiple": false,
1110
+ "type": "option"
1111
+ },
1112
+ "heading-3": {
1113
+ "description": "H3 heading text",
1114
+ "name": "heading-3",
1115
+ "hasDynamicHelp": false,
1116
+ "multiple": false,
1117
+ "type": "option"
1118
+ },
1119
+ "bullet": {
1120
+ "description": "Bulleted list item text",
1121
+ "name": "bullet",
1122
+ "hasDynamicHelp": false,
1123
+ "multiple": false,
1124
+ "type": "option"
1125
+ },
1126
+ "numbered": {
1127
+ "description": "Numbered list item text",
1128
+ "name": "numbered",
1129
+ "hasDynamicHelp": false,
1130
+ "multiple": false,
1131
+ "type": "option"
1132
+ },
1133
+ "todo": {
1134
+ "description": "To-do item text",
1135
+ "name": "todo",
1136
+ "hasDynamicHelp": false,
1137
+ "multiple": false,
1138
+ "type": "option"
1139
+ },
1140
+ "toggle": {
1141
+ "description": "Toggle block text",
1142
+ "name": "toggle",
1143
+ "hasDynamicHelp": false,
1144
+ "multiple": false,
1145
+ "type": "option"
1146
+ },
1147
+ "code": {
1148
+ "description": "Code block content",
1149
+ "name": "code",
1150
+ "hasDynamicHelp": false,
1151
+ "multiple": false,
1152
+ "type": "option"
1153
+ },
1154
+ "language": {
1155
+ "description": "Code block language (used with --code)",
1156
+ "name": "language",
1157
+ "default": "plain text",
1158
+ "hasDynamicHelp": false,
1159
+ "multiple": false,
1160
+ "type": "option"
1161
+ },
1162
+ "quote": {
1163
+ "description": "Quote block text",
1164
+ "name": "quote",
1165
+ "hasDynamicHelp": false,
1166
+ "multiple": false,
1167
+ "type": "option"
1168
+ },
1169
+ "callout": {
1170
+ "description": "Callout block text",
1171
+ "name": "callout",
1172
+ "hasDynamicHelp": false,
1173
+ "multiple": false,
1174
+ "type": "option"
1175
+ },
1176
+ "after": {
1177
+ "char": "a",
1178
+ "description": "Block ID or URL to append after (optional)",
1179
+ "name": "after",
1180
+ "hasDynamicHelp": false,
1181
+ "multiple": false,
1182
+ "type": "option"
1183
+ },
1184
+ "raw": {
1185
+ "char": "r",
1186
+ "description": "output raw json",
1187
+ "name": "raw",
1188
+ "allowNo": false,
1189
+ "type": "boolean"
1190
+ },
1191
+ "columns": {
1192
+ "description": "Only show provided columns (comma-separated)",
1193
+ "exclusive": [
1194
+ "extended"
1195
+ ],
1196
+ "name": "columns",
1197
+ "hasDynamicHelp": false,
1198
+ "multiple": false,
1199
+ "type": "option"
1200
+ },
1201
+ "sort": {
1202
+ "description": "Property to sort by (prepend with - for descending)",
1203
+ "name": "sort",
1204
+ "hasDynamicHelp": false,
1205
+ "multiple": false,
1206
+ "type": "option"
1207
+ },
1208
+ "filter": {
1209
+ "description": "Filter property by substring match",
1210
+ "name": "filter",
1211
+ "hasDynamicHelp": false,
1212
+ "multiple": false,
1213
+ "type": "option"
1214
+ },
1215
+ "csv": {
1216
+ "description": "Output in CSV format",
1217
+ "exclusive": [
1218
+ "no-truncate"
1219
+ ],
1220
+ "name": "csv",
1221
+ "allowNo": false,
1222
+ "type": "boolean"
1223
+ },
1224
+ "extended": {
1225
+ "char": "x",
1226
+ "description": "Show extra columns",
1227
+ "name": "extended",
1228
+ "allowNo": false,
1229
+ "type": "boolean"
1230
+ },
1231
+ "no-truncate": {
1232
+ "description": "Do not truncate output to fit screen",
1233
+ "exclusive": [
1234
+ "csv"
1235
+ ],
1236
+ "name": "no-truncate",
1237
+ "allowNo": false,
1238
+ "type": "boolean"
1239
+ },
1240
+ "no-header": {
1241
+ "description": "Hide table header from output",
1242
+ "name": "no-header",
1243
+ "allowNo": false,
1244
+ "type": "boolean"
1245
+ },
1246
+ "json": {
1247
+ "char": "j",
1248
+ "description": "Output as JSON (recommended for automation)",
1249
+ "name": "json",
1250
+ "allowNo": false,
1251
+ "type": "boolean"
1252
+ },
1253
+ "page-size": {
1254
+ "description": "Items per page (1-100, default: 100 for automation)",
1255
+ "name": "page-size",
1256
+ "default": 100,
1257
+ "hasDynamicHelp": false,
1258
+ "multiple": false,
1259
+ "type": "option"
1260
+ },
1261
+ "retry": {
1262
+ "description": "Auto-retry on rate limit (respects Retry-After header)",
1263
+ "name": "retry",
1264
+ "allowNo": false,
1265
+ "type": "boolean"
1266
+ },
1267
+ "timeout": {
1268
+ "description": "Request timeout in milliseconds",
1269
+ "name": "timeout",
1270
+ "default": 30000,
1271
+ "hasDynamicHelp": false,
1272
+ "multiple": false,
1273
+ "type": "option"
1274
+ },
1275
+ "no-cache": {
1276
+ "description": "Bypass cache and force fresh API calls",
1277
+ "name": "no-cache",
1278
+ "allowNo": false,
1279
+ "type": "boolean"
1280
+ },
1281
+ "verbose": {
1282
+ "char": "v",
1283
+ "description": "Enable verbose logging to stderr (retry events, cache stats) - never pollutes stdout",
1284
+ "env": "NOTION_CLI_VERBOSE",
1285
+ "name": "verbose",
1286
+ "allowNo": false,
1287
+ "type": "boolean"
1288
+ },
1289
+ "minimal": {
1290
+ "description": "Strip unnecessary metadata (created_by, last_edited_by, object fields, request_id, etc.) - reduces response size by ~40%",
1291
+ "name": "minimal",
1292
+ "allowNo": false,
1293
+ "type": "boolean"
1294
+ }
1295
+ },
1296
+ "hasDynamicHelp": false,
1297
+ "hiddenAliases": [],
1298
+ "id": "block:append",
1299
+ "pluginAlias": "@infograb/notion-cli",
1300
+ "pluginName": "@infograb/notion-cli",
1301
+ "pluginType": "core",
1302
+ "strict": true,
1303
+ "enableJsonFlag": false,
1304
+ "isESM": false,
1305
+ "relativePath": [
1306
+ "dist",
1307
+ "commands",
1308
+ "block",
1309
+ "append.js"
1310
+ ]
1311
+ },
1312
+ "block:delete": {
1313
+ "aliases": [
1314
+ "block:d"
1315
+ ],
1316
+ "args": {
1317
+ "block_id": {
1318
+ "name": "block_id",
1319
+ "required": true
1320
+ }
1321
+ },
1322
+ "description": "Delete a block",
1323
+ "examples": [
1324
+ {
1325
+ "description": "Delete a block",
1326
+ "command": "$ notion-cli block delete BLOCK_ID"
1327
+ },
1328
+ {
1329
+ "description": "Delete a block and output raw json",
1330
+ "command": "$ notion-cli block delete BLOCK_ID -r"
1331
+ },
1332
+ {
1333
+ "description": "Delete a block and output JSON for automation",
1334
+ "command": "$ notion-cli block delete BLOCK_ID --json"
1335
+ }
1336
+ ],
1337
+ "flags": {
1338
+ "raw": {
1339
+ "char": "r",
1340
+ "description": "output raw json",
1341
+ "name": "raw",
1342
+ "allowNo": false,
1343
+ "type": "boolean"
1344
+ },
1345
+ "columns": {
1346
+ "description": "Only show provided columns (comma-separated)",
1347
+ "exclusive": [
1348
+ "extended"
1349
+ ],
1350
+ "name": "columns",
1351
+ "hasDynamicHelp": false,
1352
+ "multiple": false,
1353
+ "type": "option"
1354
+ },
1355
+ "sort": {
1356
+ "description": "Property to sort by (prepend with - for descending)",
1357
+ "name": "sort",
1358
+ "hasDynamicHelp": false,
1359
+ "multiple": false,
1360
+ "type": "option"
1361
+ },
1362
+ "filter": {
1363
+ "description": "Filter property by substring match",
1364
+ "name": "filter",
1365
+ "hasDynamicHelp": false,
1366
+ "multiple": false,
1367
+ "type": "option"
1368
+ },
1369
+ "csv": {
1370
+ "description": "Output in CSV format",
1371
+ "exclusive": [
1372
+ "no-truncate"
1373
+ ],
1374
+ "name": "csv",
1375
+ "allowNo": false,
1376
+ "type": "boolean"
1377
+ },
1378
+ "extended": {
1379
+ "char": "x",
1380
+ "description": "Show extra columns",
1381
+ "name": "extended",
1382
+ "allowNo": false,
1383
+ "type": "boolean"
1384
+ },
1385
+ "no-truncate": {
1386
+ "description": "Do not truncate output to fit screen",
1387
+ "exclusive": [
1388
+ "csv"
1389
+ ],
1390
+ "name": "no-truncate",
1391
+ "allowNo": false,
1392
+ "type": "boolean"
1393
+ },
1394
+ "no-header": {
1395
+ "description": "Hide table header from output",
1396
+ "name": "no-header",
1397
+ "allowNo": false,
1398
+ "type": "boolean"
1399
+ },
1400
+ "json": {
1401
+ "char": "j",
1402
+ "description": "Output as JSON (recommended for automation)",
1403
+ "name": "json",
1404
+ "allowNo": false,
1405
+ "type": "boolean"
1406
+ },
1407
+ "page-size": {
1408
+ "description": "Items per page (1-100, default: 100 for automation)",
1409
+ "name": "page-size",
1410
+ "default": 100,
1411
+ "hasDynamicHelp": false,
1412
+ "multiple": false,
1413
+ "type": "option"
1414
+ },
1415
+ "retry": {
1416
+ "description": "Auto-retry on rate limit (respects Retry-After header)",
1417
+ "name": "retry",
1418
+ "allowNo": false,
1419
+ "type": "boolean"
1420
+ },
1421
+ "timeout": {
1422
+ "description": "Request timeout in milliseconds",
1423
+ "name": "timeout",
1424
+ "default": 30000,
1425
+ "hasDynamicHelp": false,
1426
+ "multiple": false,
1427
+ "type": "option"
1428
+ },
1429
+ "no-cache": {
1430
+ "description": "Bypass cache and force fresh API calls",
1431
+ "name": "no-cache",
1432
+ "allowNo": false,
1433
+ "type": "boolean"
1434
+ },
1435
+ "verbose": {
1436
+ "char": "v",
1437
+ "description": "Enable verbose logging to stderr (retry events, cache stats) - never pollutes stdout",
1438
+ "env": "NOTION_CLI_VERBOSE",
1439
+ "name": "verbose",
1440
+ "allowNo": false,
1441
+ "type": "boolean"
1442
+ },
1443
+ "minimal": {
1444
+ "description": "Strip unnecessary metadata (created_by, last_edited_by, object fields, request_id, etc.) - reduces response size by ~40%",
1445
+ "name": "minimal",
1446
+ "allowNo": false,
1447
+ "type": "boolean"
1448
+ }
1449
+ },
1450
+ "hasDynamicHelp": false,
1451
+ "hiddenAliases": [],
1452
+ "id": "block:delete",
1453
+ "pluginAlias": "@infograb/notion-cli",
1454
+ "pluginName": "@infograb/notion-cli",
1455
+ "pluginType": "core",
1456
+ "strict": true,
1457
+ "enableJsonFlag": false,
1458
+ "isESM": false,
1459
+ "relativePath": [
1460
+ "dist",
1461
+ "commands",
1462
+ "block",
1463
+ "delete.js"
1464
+ ]
1465
+ },
1466
+ "block:retrieve": {
1467
+ "aliases": [
1468
+ "block:r"
1469
+ ],
1470
+ "args": {
1471
+ "block_id": {
1472
+ "name": "block_id",
1473
+ "required": true
1474
+ }
1475
+ },
1476
+ "description": "Retrieve a block",
1477
+ "examples": [
1478
+ {
1479
+ "description": "Retrieve a block",
1480
+ "command": "$ notion-cli block retrieve BLOCK_ID"
1481
+ },
1482
+ {
1483
+ "description": "Retrieve a block and output raw json",
1484
+ "command": "$ notion-cli block retrieve BLOCK_ID -r"
1485
+ },
1486
+ {
1487
+ "description": "Retrieve a block and output JSON for automation",
1488
+ "command": "$ notion-cli block retrieve BLOCK_ID --json"
1489
+ }
1490
+ ],
1491
+ "flags": {
1492
+ "raw": {
1493
+ "char": "r",
1494
+ "description": "output raw json",
1495
+ "name": "raw",
1496
+ "allowNo": false,
1497
+ "type": "boolean"
1498
+ },
1499
+ "columns": {
1500
+ "description": "Only show provided columns (comma-separated)",
1501
+ "exclusive": [
1502
+ "extended"
1503
+ ],
1504
+ "name": "columns",
1505
+ "hasDynamicHelp": false,
1506
+ "multiple": false,
1507
+ "type": "option"
1508
+ },
1509
+ "sort": {
1510
+ "description": "Property to sort by (prepend with - for descending)",
1511
+ "name": "sort",
1512
+ "hasDynamicHelp": false,
1513
+ "multiple": false,
1514
+ "type": "option"
1515
+ },
1516
+ "filter": {
1517
+ "description": "Filter property by substring match",
1518
+ "name": "filter",
1519
+ "hasDynamicHelp": false,
1520
+ "multiple": false,
1521
+ "type": "option"
1522
+ },
1523
+ "csv": {
1524
+ "description": "Output in CSV format",
1525
+ "exclusive": [
1526
+ "no-truncate"
1527
+ ],
1528
+ "name": "csv",
1529
+ "allowNo": false,
1530
+ "type": "boolean"
1531
+ },
1532
+ "extended": {
1533
+ "char": "x",
1534
+ "description": "Show extra columns",
1535
+ "name": "extended",
1536
+ "allowNo": false,
1537
+ "type": "boolean"
1538
+ },
1539
+ "no-truncate": {
1540
+ "description": "Do not truncate output to fit screen",
1541
+ "exclusive": [
1542
+ "csv"
1543
+ ],
1544
+ "name": "no-truncate",
1545
+ "allowNo": false,
1546
+ "type": "boolean"
1547
+ },
1548
+ "no-header": {
1549
+ "description": "Hide table header from output",
1550
+ "name": "no-header",
1551
+ "allowNo": false,
1552
+ "type": "boolean"
1553
+ },
1554
+ "json": {
1555
+ "char": "j",
1556
+ "description": "Output as JSON (recommended for automation)",
1557
+ "name": "json",
1558
+ "allowNo": false,
1559
+ "type": "boolean"
1560
+ },
1561
+ "page-size": {
1562
+ "description": "Items per page (1-100, default: 100 for automation)",
1563
+ "name": "page-size",
1564
+ "default": 100,
1565
+ "hasDynamicHelp": false,
1566
+ "multiple": false,
1567
+ "type": "option"
1568
+ },
1569
+ "retry": {
1570
+ "description": "Auto-retry on rate limit (respects Retry-After header)",
1571
+ "name": "retry",
1572
+ "allowNo": false,
1573
+ "type": "boolean"
1574
+ },
1575
+ "timeout": {
1576
+ "description": "Request timeout in milliseconds",
1577
+ "name": "timeout",
1578
+ "default": 30000,
1579
+ "hasDynamicHelp": false,
1580
+ "multiple": false,
1581
+ "type": "option"
1582
+ },
1583
+ "no-cache": {
1584
+ "description": "Bypass cache and force fresh API calls",
1585
+ "name": "no-cache",
1586
+ "allowNo": false,
1587
+ "type": "boolean"
1588
+ },
1589
+ "verbose": {
1590
+ "char": "v",
1591
+ "description": "Enable verbose logging to stderr (retry events, cache stats) - never pollutes stdout",
1592
+ "env": "NOTION_CLI_VERBOSE",
1593
+ "name": "verbose",
1594
+ "allowNo": false,
1595
+ "type": "boolean"
1596
+ },
1597
+ "minimal": {
1598
+ "description": "Strip unnecessary metadata (created_by, last_edited_by, object fields, request_id, etc.) - reduces response size by ~40%",
1599
+ "name": "minimal",
1600
+ "allowNo": false,
1601
+ "type": "boolean"
1602
+ }
1603
+ },
1604
+ "hasDynamicHelp": false,
1605
+ "hiddenAliases": [],
1606
+ "id": "block:retrieve",
1607
+ "pluginAlias": "@infograb/notion-cli",
1608
+ "pluginName": "@infograb/notion-cli",
1609
+ "pluginType": "core",
1610
+ "strict": true,
1611
+ "enableJsonFlag": false,
1612
+ "isESM": false,
1613
+ "relativePath": [
1614
+ "dist",
1615
+ "commands",
1616
+ "block",
1617
+ "retrieve.js"
1618
+ ]
1619
+ },
1620
+ "block:update": {
1621
+ "aliases": [
1622
+ "block:u"
1623
+ ],
1624
+ "args": {
1625
+ "block_id": {
1626
+ "description": "Block ID or URL",
1627
+ "name": "block_id",
1628
+ "required": true
1629
+ }
1630
+ },
1631
+ "description": "Update a block",
1632
+ "examples": [
1633
+ {
1634
+ "description": "Update block with simple text",
1635
+ "command": "$ notion-cli block update BLOCK_ID --text \"Updated content\""
1636
+ },
1637
+ {
1638
+ "description": "Update heading content",
1639
+ "command": "$ notion-cli block update BLOCK_ID --heading-1 \"New Title\""
1640
+ },
1641
+ {
1642
+ "description": "Update code block",
1643
+ "command": "$ notion-cli block update BLOCK_ID --code \"const x = 42;\" --language javascript"
1644
+ },
1645
+ {
1646
+ "description": "Archive a block",
1647
+ "command": "$ notion-cli block update BLOCK_ID -a"
1648
+ },
1649
+ {
1650
+ "description": "Archive a block via URL",
1651
+ "command": "$ notion-cli block update https://notion.so/BLOCK_ID -a"
1652
+ },
1653
+ {
1654
+ "description": "Update block content with complex JSON (for advanced cases)",
1655
+ "command": "$ notion-cli block update BLOCK_ID -c '{\"paragraph\":{\"rich_text\":[{\"text\":{\"content\":\"Updated text\"}}]}}'"
1656
+ },
1657
+ {
1658
+ "description": "Update block color",
1659
+ "command": "$ notion-cli block update BLOCK_ID --color blue"
1660
+ },
1661
+ {
1662
+ "description": "Update a block and output raw json",
1663
+ "command": "$ notion-cli block update BLOCK_ID --text \"Updated\" -r"
1664
+ },
1665
+ {
1666
+ "description": "Update a block and output JSON for automation",
1667
+ "command": "$ notion-cli block update BLOCK_ID --text \"Updated\" --json"
1668
+ }
1669
+ ],
1670
+ "flags": {
1671
+ "archived": {
1672
+ "char": "a",
1673
+ "description": "Archive the block",
1674
+ "name": "archived",
1675
+ "allowNo": false,
1676
+ "type": "boolean"
1677
+ },
1678
+ "content": {
1679
+ "char": "c",
1680
+ "description": "Updated block content (JSON object with block type properties) - for complex cases",
1681
+ "name": "content",
1682
+ "hasDynamicHelp": false,
1683
+ "multiple": false,
1684
+ "type": "option"
1685
+ },
1686
+ "text": {
1687
+ "description": "Update paragraph text",
1688
+ "name": "text",
1689
+ "hasDynamicHelp": false,
1690
+ "multiple": false,
1691
+ "type": "option"
1692
+ },
1693
+ "heading-1": {
1694
+ "description": "Update H1 heading text",
1695
+ "name": "heading-1",
1696
+ "hasDynamicHelp": false,
1697
+ "multiple": false,
1698
+ "type": "option"
1699
+ },
1700
+ "heading-2": {
1701
+ "description": "Update H2 heading text",
1702
+ "name": "heading-2",
1703
+ "hasDynamicHelp": false,
1704
+ "multiple": false,
1705
+ "type": "option"
1706
+ },
1707
+ "heading-3": {
1708
+ "description": "Update H3 heading text",
1709
+ "name": "heading-3",
1710
+ "hasDynamicHelp": false,
1711
+ "multiple": false,
1712
+ "type": "option"
1713
+ },
1714
+ "bullet": {
1715
+ "description": "Update bulleted list item text",
1716
+ "name": "bullet",
1717
+ "hasDynamicHelp": false,
1718
+ "multiple": false,
1719
+ "type": "option"
1720
+ },
1721
+ "numbered": {
1722
+ "description": "Update numbered list item text",
1723
+ "name": "numbered",
1724
+ "hasDynamicHelp": false,
1725
+ "multiple": false,
1726
+ "type": "option"
1727
+ },
1728
+ "todo": {
1729
+ "description": "Update to-do item text",
1730
+ "name": "todo",
1731
+ "hasDynamicHelp": false,
1732
+ "multiple": false,
1733
+ "type": "option"
1734
+ },
1735
+ "toggle": {
1736
+ "description": "Update toggle block text",
1737
+ "name": "toggle",
1738
+ "hasDynamicHelp": false,
1739
+ "multiple": false,
1740
+ "type": "option"
1741
+ },
1742
+ "code": {
1743
+ "description": "Update code block content",
1744
+ "name": "code",
1745
+ "hasDynamicHelp": false,
1746
+ "multiple": false,
1747
+ "type": "option"
1748
+ },
1749
+ "language": {
1750
+ "description": "Update code block language (used with --code)",
1751
+ "name": "language",
1752
+ "default": "plain text",
1753
+ "hasDynamicHelp": false,
1754
+ "multiple": false,
1755
+ "type": "option"
1756
+ },
1757
+ "quote": {
1758
+ "description": "Update quote block text",
1759
+ "name": "quote",
1760
+ "hasDynamicHelp": false,
1761
+ "multiple": false,
1762
+ "type": "option"
1763
+ },
1764
+ "callout": {
1765
+ "description": "Update callout block text",
1766
+ "name": "callout",
1767
+ "hasDynamicHelp": false,
1768
+ "multiple": false,
1769
+ "type": "option"
1770
+ },
1771
+ "color": {
1772
+ "description": "Block color (for supported block types)",
1773
+ "name": "color",
1774
+ "hasDynamicHelp": false,
1775
+ "multiple": false,
1776
+ "options": [
1777
+ "default",
1778
+ "gray",
1779
+ "brown",
1780
+ "orange",
1781
+ "yellow",
1782
+ "green",
1783
+ "blue",
1784
+ "purple",
1785
+ "pink",
1786
+ "red"
1787
+ ],
1788
+ "type": "option"
1789
+ },
1790
+ "raw": {
1791
+ "char": "r",
1792
+ "description": "output raw json",
1793
+ "name": "raw",
1794
+ "allowNo": false,
1795
+ "type": "boolean"
1796
+ },
1797
+ "columns": {
1798
+ "description": "Only show provided columns (comma-separated)",
1799
+ "exclusive": [
1800
+ "extended"
1801
+ ],
1802
+ "name": "columns",
1803
+ "hasDynamicHelp": false,
1804
+ "multiple": false,
1805
+ "type": "option"
1806
+ },
1807
+ "sort": {
1808
+ "description": "Property to sort by (prepend with - for descending)",
1809
+ "name": "sort",
1810
+ "hasDynamicHelp": false,
1811
+ "multiple": false,
1812
+ "type": "option"
1813
+ },
1814
+ "filter": {
1815
+ "description": "Filter property by substring match",
1816
+ "name": "filter",
1817
+ "hasDynamicHelp": false,
1818
+ "multiple": false,
1819
+ "type": "option"
1820
+ },
1821
+ "csv": {
1822
+ "description": "Output in CSV format",
1823
+ "exclusive": [
1824
+ "no-truncate"
1825
+ ],
1826
+ "name": "csv",
1827
+ "allowNo": false,
1828
+ "type": "boolean"
1829
+ },
1830
+ "extended": {
1831
+ "char": "x",
1832
+ "description": "Show extra columns",
1833
+ "name": "extended",
1834
+ "allowNo": false,
1835
+ "type": "boolean"
1836
+ },
1837
+ "no-truncate": {
1838
+ "description": "Do not truncate output to fit screen",
1839
+ "exclusive": [
1840
+ "csv"
1841
+ ],
1842
+ "name": "no-truncate",
1843
+ "allowNo": false,
1844
+ "type": "boolean"
1845
+ },
1846
+ "no-header": {
1847
+ "description": "Hide table header from output",
1848
+ "name": "no-header",
1849
+ "allowNo": false,
1850
+ "type": "boolean"
1851
+ },
1852
+ "json": {
1853
+ "char": "j",
1854
+ "description": "Output as JSON (recommended for automation)",
1855
+ "name": "json",
1856
+ "allowNo": false,
1857
+ "type": "boolean"
1858
+ },
1859
+ "page-size": {
1860
+ "description": "Items per page (1-100, default: 100 for automation)",
1861
+ "name": "page-size",
1862
+ "default": 100,
1863
+ "hasDynamicHelp": false,
1864
+ "multiple": false,
1865
+ "type": "option"
1866
+ },
1867
+ "retry": {
1868
+ "description": "Auto-retry on rate limit (respects Retry-After header)",
1869
+ "name": "retry",
1870
+ "allowNo": false,
1871
+ "type": "boolean"
1872
+ },
1873
+ "timeout": {
1874
+ "description": "Request timeout in milliseconds",
1875
+ "name": "timeout",
1876
+ "default": 30000,
1877
+ "hasDynamicHelp": false,
1878
+ "multiple": false,
1879
+ "type": "option"
1880
+ },
1881
+ "no-cache": {
1882
+ "description": "Bypass cache and force fresh API calls",
1883
+ "name": "no-cache",
1884
+ "allowNo": false,
1885
+ "type": "boolean"
1886
+ },
1887
+ "verbose": {
1888
+ "char": "v",
1889
+ "description": "Enable verbose logging to stderr (retry events, cache stats) - never pollutes stdout",
1890
+ "env": "NOTION_CLI_VERBOSE",
1891
+ "name": "verbose",
1892
+ "allowNo": false,
1893
+ "type": "boolean"
1894
+ },
1895
+ "minimal": {
1896
+ "description": "Strip unnecessary metadata (created_by, last_edited_by, object fields, request_id, etc.) - reduces response size by ~40%",
1897
+ "name": "minimal",
1898
+ "allowNo": false,
1899
+ "type": "boolean"
1900
+ }
1901
+ },
1902
+ "hasDynamicHelp": false,
1903
+ "hiddenAliases": [],
1904
+ "id": "block:update",
1905
+ "pluginAlias": "@infograb/notion-cli",
1906
+ "pluginName": "@infograb/notion-cli",
1907
+ "pluginType": "core",
1908
+ "strict": true,
1909
+ "enableJsonFlag": false,
1910
+ "isESM": false,
1911
+ "relativePath": [
1912
+ "dist",
1913
+ "commands",
1914
+ "block",
1915
+ "update.js"
1916
+ ]
1917
+ },
1918
+ "cache:info": {
1919
+ "aliases": [
1920
+ "cache:stats",
1921
+ "cache:status"
1922
+ ],
1923
+ "args": {},
1924
+ "description": "Show cache statistics and configuration",
1925
+ "examples": [
1926
+ {
1927
+ "description": "Show cache info in JSON format",
1928
+ "command": "notion-cli cache:info --json"
1929
+ },
1930
+ {
1931
+ "description": "Show cache statistics",
1932
+ "command": "notion-cli cache:info"
1933
+ }
1934
+ ],
1935
+ "flags": {
1936
+ "json": {
1937
+ "char": "j",
1938
+ "description": "Output as JSON (recommended for automation)",
1939
+ "name": "json",
1940
+ "allowNo": false,
1941
+ "type": "boolean"
1942
+ },
1943
+ "page-size": {
1944
+ "description": "Items per page (1-100, default: 100 for automation)",
1945
+ "name": "page-size",
1946
+ "default": 100,
1947
+ "hasDynamicHelp": false,
1948
+ "multiple": false,
1949
+ "type": "option"
1950
+ },
1951
+ "retry": {
1952
+ "description": "Auto-retry on rate limit (respects Retry-After header)",
1953
+ "name": "retry",
1954
+ "allowNo": false,
1955
+ "type": "boolean"
1956
+ },
1957
+ "timeout": {
1958
+ "description": "Request timeout in milliseconds",
1959
+ "name": "timeout",
1960
+ "default": 30000,
1961
+ "hasDynamicHelp": false,
1962
+ "multiple": false,
1963
+ "type": "option"
1964
+ },
1965
+ "no-cache": {
1966
+ "description": "Bypass cache and force fresh API calls",
1967
+ "name": "no-cache",
1968
+ "allowNo": false,
1969
+ "type": "boolean"
1970
+ },
1971
+ "verbose": {
1972
+ "char": "v",
1973
+ "description": "Enable verbose logging to stderr (retry events, cache stats) - never pollutes stdout",
1974
+ "env": "NOTION_CLI_VERBOSE",
1975
+ "name": "verbose",
1976
+ "allowNo": false,
1977
+ "type": "boolean"
1978
+ },
1979
+ "minimal": {
1980
+ "description": "Strip unnecessary metadata (created_by, last_edited_by, object fields, request_id, etc.) - reduces response size by ~40%",
1981
+ "name": "minimal",
1982
+ "allowNo": false,
1983
+ "type": "boolean"
1984
+ }
1985
+ },
1986
+ "hasDynamicHelp": false,
1987
+ "hiddenAliases": [],
1988
+ "id": "cache:info",
1989
+ "pluginAlias": "@infograb/notion-cli",
1990
+ "pluginName": "@infograb/notion-cli",
1991
+ "pluginType": "core",
1992
+ "strict": true,
1993
+ "enableJsonFlag": false,
1994
+ "isESM": false,
1995
+ "relativePath": [
1996
+ "dist",
1997
+ "commands",
1998
+ "cache",
1999
+ "info.js"
2000
+ ]
2001
+ },
2002
+ "config:set-token": {
2003
+ "aliases": [
2004
+ "config:token"
2005
+ ],
2006
+ "args": {
2007
+ "token": {
2008
+ "description": "Notion integration token (starts with \"secret_\" or \"ntn_\")",
2009
+ "name": "token",
2010
+ "required": false
2011
+ }
2012
+ },
2013
+ "description": "Set NOTION_TOKEN in your shell configuration file",
2014
+ "examples": [
2015
+ {
2016
+ "description": "Set Notion token interactively",
2017
+ "command": "notion-cli config set-token"
2018
+ },
2019
+ {
2020
+ "description": "Set Notion token directly",
2021
+ "command": "notion-cli config set-token ntn_abc123..."
2022
+ },
2023
+ {
2024
+ "description": "Set token with JSON output",
2025
+ "command": "notion-cli config set-token ntn_abc123... --json"
2026
+ }
2027
+ ],
2028
+ "flags": {
2029
+ "json": {
2030
+ "char": "j",
2031
+ "description": "Output as JSON (recommended for automation)",
2032
+ "name": "json",
2033
+ "allowNo": false,
2034
+ "type": "boolean"
2035
+ },
2036
+ "page-size": {
2037
+ "description": "Items per page (1-100, default: 100 for automation)",
2038
+ "name": "page-size",
2039
+ "default": 100,
2040
+ "hasDynamicHelp": false,
2041
+ "multiple": false,
2042
+ "type": "option"
2043
+ },
2044
+ "retry": {
2045
+ "description": "Auto-retry on rate limit (respects Retry-After header)",
2046
+ "name": "retry",
2047
+ "allowNo": false,
2048
+ "type": "boolean"
2049
+ },
2050
+ "timeout": {
2051
+ "description": "Request timeout in milliseconds",
2052
+ "name": "timeout",
2053
+ "default": 30000,
2054
+ "hasDynamicHelp": false,
2055
+ "multiple": false,
2056
+ "type": "option"
2057
+ },
2058
+ "no-cache": {
2059
+ "description": "Bypass cache and force fresh API calls",
2060
+ "name": "no-cache",
2061
+ "allowNo": false,
2062
+ "type": "boolean"
2063
+ },
2064
+ "verbose": {
2065
+ "char": "v",
2066
+ "description": "Enable verbose logging to stderr (retry events, cache stats) - never pollutes stdout",
2067
+ "env": "NOTION_CLI_VERBOSE",
2068
+ "name": "verbose",
2069
+ "allowNo": false,
2070
+ "type": "boolean"
2071
+ },
2072
+ "minimal": {
2073
+ "description": "Strip unnecessary metadata (created_by, last_edited_by, object fields, request_id, etc.) - reduces response size by ~40%",
2074
+ "name": "minimal",
2075
+ "allowNo": false,
2076
+ "type": "boolean"
2077
+ }
2078
+ },
2079
+ "hasDynamicHelp": false,
2080
+ "hiddenAliases": [],
2081
+ "id": "config:set-token",
2082
+ "pluginAlias": "@infograb/notion-cli",
2083
+ "pluginName": "@infograb/notion-cli",
2084
+ "pluginType": "core",
2085
+ "strict": true,
2086
+ "enableJsonFlag": false,
2087
+ "isESM": false,
2088
+ "relativePath": [
2089
+ "dist",
2090
+ "commands",
2091
+ "config",
2092
+ "set-token.js"
2093
+ ]
2094
+ },
2095
+ "db:create": {
2096
+ "aliases": [
2097
+ "db:c"
2098
+ ],
2099
+ "args": {
2100
+ "page_id": {
2101
+ "description": "Parent page ID or URL where the database will be created",
2102
+ "name": "page_id",
2103
+ "required": true
2104
+ }
2105
+ },
2106
+ "description": "Create a database with an initial data source (table)",
2107
+ "examples": [
2108
+ {
2109
+ "description": "Create a database with an initial data source",
2110
+ "command": "$ notion-cli db create PAGE_ID -t 'My Database'"
2111
+ },
2112
+ {
2113
+ "description": "Create a database using page URL",
2114
+ "command": "$ notion-cli db create https://notion.so/PAGE_ID -t 'My Database'"
2115
+ },
2116
+ {
2117
+ "description": "Create a database with an initial data source and output raw json",
2118
+ "command": "$ notion-cli db create PAGE_ID -t 'My Database' -r"
2119
+ }
2120
+ ],
2121
+ "flags": {
2122
+ "title": {
2123
+ "char": "t",
2124
+ "description": "Title for the database (and initial data source)",
2125
+ "name": "title",
2126
+ "required": true,
2127
+ "hasDynamicHelp": false,
2128
+ "multiple": false,
2129
+ "type": "option"
2130
+ },
2131
+ "raw": {
2132
+ "char": "r",
2133
+ "description": "output raw json",
2134
+ "name": "raw",
2135
+ "allowNo": false,
2136
+ "type": "boolean"
2137
+ },
2138
+ "columns": {
2139
+ "description": "Only show provided columns (comma-separated)",
2140
+ "exclusive": [
2141
+ "extended"
2142
+ ],
2143
+ "name": "columns",
2144
+ "hasDynamicHelp": false,
2145
+ "multiple": false,
2146
+ "type": "option"
2147
+ },
2148
+ "sort": {
2149
+ "description": "Property to sort by (prepend with - for descending)",
2150
+ "name": "sort",
2151
+ "hasDynamicHelp": false,
2152
+ "multiple": false,
2153
+ "type": "option"
2154
+ },
2155
+ "filter": {
2156
+ "description": "Filter property by substring match",
2157
+ "name": "filter",
2158
+ "hasDynamicHelp": false,
2159
+ "multiple": false,
2160
+ "type": "option"
2161
+ },
2162
+ "csv": {
2163
+ "description": "Output in CSV format",
2164
+ "exclusive": [
2165
+ "no-truncate"
2166
+ ],
2167
+ "name": "csv",
2168
+ "allowNo": false,
2169
+ "type": "boolean"
2170
+ },
2171
+ "extended": {
2172
+ "char": "x",
2173
+ "description": "Show extra columns",
2174
+ "name": "extended",
2175
+ "allowNo": false,
2176
+ "type": "boolean"
2177
+ },
2178
+ "no-truncate": {
2179
+ "description": "Do not truncate output to fit screen",
2180
+ "exclusive": [
2181
+ "csv"
2182
+ ],
2183
+ "name": "no-truncate",
2184
+ "allowNo": false,
2185
+ "type": "boolean"
2186
+ },
2187
+ "no-header": {
2188
+ "description": "Hide table header from output",
2189
+ "name": "no-header",
2190
+ "allowNo": false,
2191
+ "type": "boolean"
2192
+ },
2193
+ "json": {
2194
+ "char": "j",
2195
+ "description": "Output as JSON (recommended for automation)",
2196
+ "name": "json",
2197
+ "allowNo": false,
2198
+ "type": "boolean"
2199
+ },
2200
+ "page-size": {
2201
+ "description": "Items per page (1-100, default: 100 for automation)",
2202
+ "name": "page-size",
2203
+ "default": 100,
2204
+ "hasDynamicHelp": false,
2205
+ "multiple": false,
2206
+ "type": "option"
2207
+ },
2208
+ "retry": {
2209
+ "description": "Auto-retry on rate limit (respects Retry-After header)",
2210
+ "name": "retry",
2211
+ "allowNo": false,
2212
+ "type": "boolean"
2213
+ },
2214
+ "timeout": {
2215
+ "description": "Request timeout in milliseconds",
2216
+ "name": "timeout",
2217
+ "default": 30000,
2218
+ "hasDynamicHelp": false,
2219
+ "multiple": false,
2220
+ "type": "option"
2221
+ },
2222
+ "no-cache": {
2223
+ "description": "Bypass cache and force fresh API calls",
2224
+ "name": "no-cache",
2225
+ "allowNo": false,
2226
+ "type": "boolean"
2227
+ },
2228
+ "verbose": {
2229
+ "char": "v",
2230
+ "description": "Enable verbose logging to stderr (retry events, cache stats) - never pollutes stdout",
2231
+ "env": "NOTION_CLI_VERBOSE",
2232
+ "name": "verbose",
2233
+ "allowNo": false,
2234
+ "type": "boolean"
2235
+ },
2236
+ "minimal": {
2237
+ "description": "Strip unnecessary metadata (created_by, last_edited_by, object fields, request_id, etc.) - reduces response size by ~40%",
2238
+ "name": "minimal",
2239
+ "allowNo": false,
2240
+ "type": "boolean"
2241
+ }
2242
+ },
2243
+ "hasDynamicHelp": false,
2244
+ "hiddenAliases": [],
2245
+ "id": "db:create",
2246
+ "pluginAlias": "@infograb/notion-cli",
2247
+ "pluginName": "@infograb/notion-cli",
2248
+ "pluginType": "core",
2249
+ "strict": true,
2250
+ "enableJsonFlag": false,
2251
+ "isESM": false,
2252
+ "relativePath": [
2253
+ "dist",
2254
+ "commands",
2255
+ "db",
2256
+ "create.js"
2257
+ ]
2258
+ },
2259
+ "db:query": {
2260
+ "aliases": [
2261
+ "db:q"
2262
+ ],
2263
+ "args": {
2264
+ "database_id": {
2265
+ "description": "Database or data source ID or URL (required for automation)",
2266
+ "name": "database_id",
2267
+ "required": true
2268
+ }
2269
+ },
2270
+ "description": "Query a database",
2271
+ "examples": [
2272
+ {
2273
+ "description": "Query a database with full data (recommended for AI assistants)",
2274
+ "command": "$ notion-cli db query DATABASE_ID --raw"
2275
+ },
2276
+ {
2277
+ "description": "Query all records as JSON",
2278
+ "command": "$ notion-cli db query DATABASE_ID --json"
2279
+ },
2280
+ {
2281
+ "description": "Filter with JSON object (recommended for AI agents)",
2282
+ "command": "$ notion-cli db query DATABASE_ID --filter '{\"property\": \"Status\", \"select\": {\"equals\": \"Done\"}}' --json"
2283
+ },
2284
+ {
2285
+ "description": "Simple text search across properties",
2286
+ "command": "$ notion-cli db query DATABASE_ID --search \"urgent\" --json"
2287
+ },
2288
+ {
2289
+ "description": "Load complex filter from file",
2290
+ "command": "$ notion-cli db query DATABASE_ID --file-filter ./filter.json --json"
2291
+ },
2292
+ {
2293
+ "description": "Query with AND filter",
2294
+ "command": "$ notion-cli db query DATABASE_ID --filter '{\"and\": [{\"property\": \"Status\", \"select\": {\"equals\": \"Done\"}}, {\"property\": \"Priority\", \"number\": {\"greater_than\": 5}}]}' --json"
2295
+ },
2296
+ {
2297
+ "description": "Query using database URL",
2298
+ "command": "$ notion-cli db query https://notion.so/DATABASE_ID --json"
2299
+ },
2300
+ {
2301
+ "description": "Query with sorting",
2302
+ "command": "$ notion-cli db query DATABASE_ID --sort-property Name --sort-direction desc"
2303
+ },
2304
+ {
2305
+ "description": "Query with pagination",
2306
+ "command": "$ notion-cli db query DATABASE_ID --page-size 50"
2307
+ },
2308
+ {
2309
+ "description": "Get all pages (bypass pagination)",
2310
+ "command": "$ notion-cli db query DATABASE_ID --page-all"
2311
+ },
2312
+ {
2313
+ "description": "Output as CSV",
2314
+ "command": "$ notion-cli db query DATABASE_ID --csv"
2315
+ },
2316
+ {
2317
+ "description": "Output as markdown table",
2318
+ "command": "$ notion-cli db query DATABASE_ID --markdown"
2319
+ },
2320
+ {
2321
+ "description": "Output as compact JSON",
2322
+ "command": "$ notion-cli db query DATABASE_ID --compact-json"
2323
+ },
2324
+ {
2325
+ "description": "Output as pretty table",
2326
+ "command": "$ notion-cli db query DATABASE_ID --pretty"
2327
+ },
2328
+ {
2329
+ "description": "Select specific properties (60-80% token reduction)",
2330
+ "command": "$ notion-cli db query DATABASE_ID --select \"title,status,priority\" --json"
2331
+ }
2332
+ ],
2333
+ "flags": {
2334
+ "page-size": {
2335
+ "description": "Items per page (1-100, default: 100 for automation)",
2336
+ "name": "page-size",
2337
+ "default": 100,
2338
+ "hasDynamicHelp": false,
2339
+ "multiple": false,
2340
+ "type": "option"
2341
+ },
2342
+ "page-all": {
2343
+ "char": "A",
2344
+ "description": "Get all pages (bypass pagination)",
2345
+ "name": "page-all",
2346
+ "allowNo": false,
2347
+ "type": "boolean"
2348
+ },
2349
+ "sort-property": {
2350
+ "description": "The property to sort results by",
2351
+ "name": "sort-property",
2352
+ "hasDynamicHelp": false,
2353
+ "multiple": false,
2354
+ "type": "option"
2355
+ },
2356
+ "sort-direction": {
2357
+ "description": "The direction to sort results",
2358
+ "name": "sort-direction",
2359
+ "default": "asc",
2360
+ "hasDynamicHelp": false,
2361
+ "multiple": false,
2362
+ "options": [
2363
+ "asc",
2364
+ "desc"
2365
+ ],
2366
+ "type": "option"
2367
+ },
2368
+ "raw": {
2369
+ "char": "r",
2370
+ "description": "Output raw JSON (recommended for AI assistants - returns all page data)",
2371
+ "name": "raw",
2372
+ "allowNo": false,
2373
+ "type": "boolean"
2374
+ },
2375
+ "columns": {
2376
+ "description": "Only show provided columns (comma-separated)",
2377
+ "exclusive": [
2378
+ "extended"
2379
+ ],
2380
+ "name": "columns",
2381
+ "hasDynamicHelp": false,
2382
+ "multiple": false,
2383
+ "type": "option"
2384
+ },
2385
+ "sort": {
2386
+ "description": "Property to sort by (prepend with - for descending)",
2387
+ "name": "sort",
2388
+ "hasDynamicHelp": false,
2389
+ "multiple": false,
2390
+ "type": "option"
2391
+ },
2392
+ "filter": {
2393
+ "char": "f",
2394
+ "description": "Filter as JSON object (Notion filter API format)",
2395
+ "exclusive": [
2396
+ "search",
2397
+ "file-filter",
2398
+ "rawFilter",
2399
+ "fileFilter"
2400
+ ],
2401
+ "name": "filter",
2402
+ "hasDynamicHelp": false,
2403
+ "multiple": false,
2404
+ "type": "option"
2405
+ },
2406
+ "csv": {
2407
+ "description": "Output in CSV format",
2408
+ "exclusive": [
2409
+ "no-truncate"
2410
+ ],
2411
+ "name": "csv",
2412
+ "allowNo": false,
2413
+ "type": "boolean"
2414
+ },
2415
+ "extended": {
2416
+ "char": "x",
2417
+ "description": "Show extra columns",
2418
+ "name": "extended",
2419
+ "allowNo": false,
2420
+ "type": "boolean"
2421
+ },
2422
+ "no-truncate": {
2423
+ "description": "Do not truncate output to fit screen",
2424
+ "exclusive": [
2425
+ "csv"
2426
+ ],
2427
+ "name": "no-truncate",
2428
+ "allowNo": false,
2429
+ "type": "boolean"
2430
+ },
2431
+ "no-header": {
2432
+ "description": "Hide table header from output",
2433
+ "name": "no-header",
2434
+ "allowNo": false,
2435
+ "type": "boolean"
2436
+ },
2437
+ "json": {
2438
+ "char": "j",
2439
+ "description": "Output as JSON (recommended for automation)",
2440
+ "name": "json",
2441
+ "allowNo": false,
2442
+ "type": "boolean"
2443
+ },
2444
+ "retry": {
2445
+ "description": "Auto-retry on rate limit (respects Retry-After header)",
2446
+ "name": "retry",
2447
+ "allowNo": false,
2448
+ "type": "boolean"
2449
+ },
2450
+ "timeout": {
2451
+ "description": "Request timeout in milliseconds",
2452
+ "name": "timeout",
2453
+ "default": 30000,
2454
+ "hasDynamicHelp": false,
2455
+ "multiple": false,
2456
+ "type": "option"
2457
+ },
2458
+ "no-cache": {
2459
+ "description": "Bypass cache and force fresh API calls",
2460
+ "name": "no-cache",
2461
+ "allowNo": false,
2462
+ "type": "boolean"
2463
+ },
2464
+ "verbose": {
2465
+ "char": "v",
2466
+ "description": "Enable verbose logging to stderr (retry events, cache stats) - never pollutes stdout",
2467
+ "env": "NOTION_CLI_VERBOSE",
2468
+ "name": "verbose",
2469
+ "allowNo": false,
2470
+ "type": "boolean"
2471
+ },
2472
+ "minimal": {
2473
+ "description": "Strip unnecessary metadata (created_by, last_edited_by, object fields, request_id, etc.) - reduces response size by ~40%",
2474
+ "name": "minimal",
2475
+ "allowNo": false,
2476
+ "type": "boolean"
2477
+ },
2478
+ "markdown": {
2479
+ "char": "m",
2480
+ "description": "Output as markdown table (GitHub-flavored)",
2481
+ "exclusive": [
2482
+ "compact-json",
2483
+ "pretty"
2484
+ ],
2485
+ "name": "markdown",
2486
+ "allowNo": false,
2487
+ "type": "boolean"
2488
+ },
2489
+ "compact-json": {
2490
+ "char": "c",
2491
+ "description": "Output as compact JSON (single-line, ideal for piping)",
2492
+ "exclusive": [
2493
+ "markdown",
2494
+ "pretty"
2495
+ ],
2496
+ "name": "compact-json",
2497
+ "allowNo": false,
2498
+ "type": "boolean"
2499
+ },
2500
+ "pretty": {
2501
+ "char": "P",
2502
+ "description": "Output as pretty table with borders",
2503
+ "exclusive": [
2504
+ "markdown",
2505
+ "compact-json"
2506
+ ],
2507
+ "name": "pretty",
2508
+ "allowNo": false,
2509
+ "type": "boolean"
2510
+ },
2511
+ "file-filter": {
2512
+ "char": "F",
2513
+ "description": "Load filter from JSON file",
2514
+ "exclusive": [
2515
+ "filter",
2516
+ "search",
2517
+ "rawFilter",
2518
+ "fileFilter"
2519
+ ],
2520
+ "name": "file-filter",
2521
+ "hasDynamicHelp": false,
2522
+ "multiple": false,
2523
+ "type": "option"
2524
+ },
2525
+ "search": {
2526
+ "char": "s",
2527
+ "description": "Simple text search (searches across title and common text properties)",
2528
+ "exclusive": [
2529
+ "filter",
2530
+ "file-filter",
2531
+ "rawFilter",
2532
+ "fileFilter"
2533
+ ],
2534
+ "name": "search",
2535
+ "hasDynamicHelp": false,
2536
+ "multiple": false,
2537
+ "type": "option"
2538
+ },
2539
+ "select": {
2540
+ "description": "Select specific properties to return (comma-separated). Reduces token usage by 60-80%.",
2541
+ "name": "select",
2542
+ "hasDynamicHelp": false,
2543
+ "multiple": false,
2544
+ "type": "option"
2545
+ },
2546
+ "rawFilter": {
2547
+ "char": "a",
2548
+ "description": "DEPRECATED: Use --filter instead. JSON stringified filter string",
2549
+ "exclusive": [
2550
+ "filter",
2551
+ "search",
2552
+ "file-filter",
2553
+ "fileFilter"
2554
+ ],
2555
+ "hidden": true,
2556
+ "name": "rawFilter",
2557
+ "hasDynamicHelp": false,
2558
+ "multiple": false,
2559
+ "type": "option"
2560
+ },
2561
+ "fileFilter": {
2562
+ "description": "DEPRECATED: Use --file-filter instead. JSON filter file path",
2563
+ "exclusive": [
2564
+ "filter",
2565
+ "search",
2566
+ "file-filter",
2567
+ "rawFilter"
2568
+ ],
2569
+ "hidden": true,
2570
+ "name": "fileFilter",
2571
+ "hasDynamicHelp": false,
2572
+ "multiple": false,
2573
+ "type": "option"
2574
+ }
2575
+ },
2576
+ "hasDynamicHelp": false,
2577
+ "hiddenAliases": [],
2578
+ "id": "db:query",
2579
+ "pluginAlias": "@infograb/notion-cli",
2580
+ "pluginName": "@infograb/notion-cli",
2581
+ "pluginType": "core",
2582
+ "strict": true,
2583
+ "enableJsonFlag": false,
2584
+ "isESM": false,
2585
+ "relativePath": [
2586
+ "dist",
2587
+ "commands",
2588
+ "db",
2589
+ "query.js"
2590
+ ]
2591
+ },
2592
+ "db:retrieve": {
2593
+ "aliases": [
2594
+ "db:r",
2595
+ "ds:retrieve",
2596
+ "ds:r"
2597
+ ],
2598
+ "args": {
2599
+ "database_id": {
2600
+ "description": "Data source ID or URL (the ID of the table whose schema you want to retrieve)",
2601
+ "name": "database_id",
2602
+ "required": true
2603
+ }
2604
+ },
2605
+ "description": "Retrieve a data source (table) schema and properties",
2606
+ "examples": [
2607
+ {
2608
+ "description": "Retrieve a data source with full schema (recommended for AI assistants)",
2609
+ "command": "notion-cli db retrieve DATA_SOURCE_ID -r"
2610
+ },
2611
+ {
2612
+ "description": "Retrieve a data source schema via data_source_id",
2613
+ "command": "notion-cli db retrieve DATA_SOURCE_ID"
2614
+ },
2615
+ {
2616
+ "description": "Retrieve a data source via URL",
2617
+ "command": "notion-cli db retrieve https://notion.so/DATABASE_ID"
2618
+ },
2619
+ {
2620
+ "description": "Retrieve a data source and output as markdown table",
2621
+ "command": "notion-cli db retrieve DATA_SOURCE_ID --markdown"
2622
+ },
2623
+ {
2624
+ "description": "Retrieve a data source and output as compact JSON",
2625
+ "command": "notion-cli db retrieve DATA_SOURCE_ID --compact-json"
2626
+ }
2627
+ ],
2628
+ "flags": {
2629
+ "raw": {
2630
+ "char": "r",
2631
+ "description": "output raw json (recommended for AI assistants - returns full schema)",
2632
+ "name": "raw",
2633
+ "allowNo": false,
2634
+ "type": "boolean"
2635
+ },
2636
+ "columns": {
2637
+ "description": "Only show provided columns (comma-separated)",
2638
+ "exclusive": [
2639
+ "extended"
2640
+ ],
2641
+ "name": "columns",
2642
+ "hasDynamicHelp": false,
2643
+ "multiple": false,
2644
+ "type": "option"
2645
+ },
2646
+ "sort": {
2647
+ "description": "Property to sort by (prepend with - for descending)",
2648
+ "name": "sort",
2649
+ "hasDynamicHelp": false,
2650
+ "multiple": false,
2651
+ "type": "option"
2652
+ },
2653
+ "filter": {
2654
+ "description": "Filter property by substring match",
2655
+ "name": "filter",
2656
+ "hasDynamicHelp": false,
2657
+ "multiple": false,
2658
+ "type": "option"
2659
+ },
2660
+ "csv": {
2661
+ "description": "Output in CSV format",
2662
+ "exclusive": [
2663
+ "no-truncate"
2664
+ ],
2665
+ "name": "csv",
2666
+ "allowNo": false,
2667
+ "type": "boolean"
2668
+ },
2669
+ "extended": {
2670
+ "char": "x",
2671
+ "description": "Show extra columns",
2672
+ "name": "extended",
2673
+ "allowNo": false,
2674
+ "type": "boolean"
2675
+ },
2676
+ "no-truncate": {
2677
+ "description": "Do not truncate output to fit screen",
2678
+ "exclusive": [
2679
+ "csv"
2680
+ ],
2681
+ "name": "no-truncate",
2682
+ "allowNo": false,
2683
+ "type": "boolean"
2684
+ },
2685
+ "no-header": {
2686
+ "description": "Hide table header from output",
2687
+ "name": "no-header",
2688
+ "allowNo": false,
2689
+ "type": "boolean"
2690
+ },
2691
+ "json": {
2692
+ "char": "j",
2693
+ "description": "Output as JSON (recommended for automation)",
2694
+ "name": "json",
2695
+ "allowNo": false,
2696
+ "type": "boolean"
2697
+ },
2698
+ "page-size": {
2699
+ "description": "Items per page (1-100, default: 100 for automation)",
2700
+ "name": "page-size",
2701
+ "default": 100,
2702
+ "hasDynamicHelp": false,
2703
+ "multiple": false,
2704
+ "type": "option"
2705
+ },
2706
+ "retry": {
2707
+ "description": "Auto-retry on rate limit (respects Retry-After header)",
2708
+ "name": "retry",
2709
+ "allowNo": false,
2710
+ "type": "boolean"
2711
+ },
2712
+ "timeout": {
2713
+ "description": "Request timeout in milliseconds",
2714
+ "name": "timeout",
2715
+ "default": 30000,
2716
+ "hasDynamicHelp": false,
2717
+ "multiple": false,
2718
+ "type": "option"
2719
+ },
2720
+ "no-cache": {
2721
+ "description": "Bypass cache and force fresh API calls",
2722
+ "name": "no-cache",
2723
+ "allowNo": false,
2724
+ "type": "boolean"
2725
+ },
2726
+ "verbose": {
2727
+ "char": "v",
2728
+ "description": "Enable verbose logging to stderr (retry events, cache stats) - never pollutes stdout",
2729
+ "env": "NOTION_CLI_VERBOSE",
2730
+ "name": "verbose",
2731
+ "allowNo": false,
2732
+ "type": "boolean"
2733
+ },
2734
+ "minimal": {
2735
+ "description": "Strip unnecessary metadata (created_by, last_edited_by, object fields, request_id, etc.) - reduces response size by ~40%",
2736
+ "name": "minimal",
2737
+ "allowNo": false,
2738
+ "type": "boolean"
2739
+ },
2740
+ "markdown": {
2741
+ "char": "m",
2742
+ "description": "Output as markdown table (GitHub-flavored)",
2743
+ "exclusive": [
2744
+ "compact-json",
2745
+ "pretty"
2746
+ ],
2747
+ "name": "markdown",
2748
+ "allowNo": false,
2749
+ "type": "boolean"
2750
+ },
2751
+ "compact-json": {
2752
+ "char": "c",
2753
+ "description": "Output as compact JSON (single-line, ideal for piping)",
2754
+ "exclusive": [
2755
+ "markdown",
2756
+ "pretty"
2757
+ ],
2758
+ "name": "compact-json",
2759
+ "allowNo": false,
2760
+ "type": "boolean"
2761
+ },
2762
+ "pretty": {
2763
+ "char": "P",
2764
+ "description": "Output as pretty table with borders",
2765
+ "exclusive": [
2766
+ "markdown",
2767
+ "compact-json"
2768
+ ],
2769
+ "name": "pretty",
2770
+ "allowNo": false,
2771
+ "type": "boolean"
2772
+ }
2773
+ },
2774
+ "hasDynamicHelp": false,
2775
+ "hiddenAliases": [],
2776
+ "id": "db:retrieve",
2777
+ "pluginAlias": "@infograb/notion-cli",
2778
+ "pluginName": "@infograb/notion-cli",
2779
+ "pluginType": "core",
2780
+ "strict": true,
2781
+ "enableJsonFlag": false,
2782
+ "isESM": false,
2783
+ "relativePath": [
2784
+ "dist",
2785
+ "commands",
2786
+ "db",
2787
+ "retrieve.js"
2788
+ ]
2789
+ },
2790
+ "db:schema": {
2791
+ "aliases": [
2792
+ "db:s",
2793
+ "ds:schema",
2794
+ "ds:s"
2795
+ ],
2796
+ "args": {
2797
+ "data_source_id": {
2798
+ "description": "Data source ID or URL (the table whose schema you want to extract)",
2799
+ "name": "data_source_id",
2800
+ "required": true
2801
+ }
2802
+ },
2803
+ "description": "Extract clean, AI-parseable schema from a Notion data source (table). This command is optimized for AI agents and automation - it returns property names, types, options (for select/multi-select), and configuration in an easy-to-parse format.",
2804
+ "examples": [
2805
+ {
2806
+ "description": "Get full schema in JSON format (recommended for AI agents)",
2807
+ "command": "<%= config.bin %> db schema abc123def456 --output json"
2808
+ },
2809
+ {
2810
+ "description": "Get schema with property payload examples (recommended for AI agents)",
2811
+ "command": "<%= config.bin %> db schema abc123def456 --with-examples --json"
2812
+ },
2813
+ {
2814
+ "description": "Get schema using database URL",
2815
+ "command": "<%= config.bin %> db schema https://notion.so/DATABASE_ID --output json"
2816
+ },
2817
+ {
2818
+ "description": "Get schema as formatted table",
2819
+ "command": "<%= config.bin %> db schema abc123def456"
2820
+ },
2821
+ {
2822
+ "description": "Get schema with examples in human-readable format",
2823
+ "command": "<%= config.bin %> db schema abc123def456 --with-examples"
2824
+ },
2825
+ {
2826
+ "description": "Get schema in YAML format",
2827
+ "command": "<%= config.bin %> db schema abc123def456 --output yaml"
2828
+ },
2829
+ {
2830
+ "description": "Get only specific properties",
2831
+ "command": "<%= config.bin %> db schema abc123def456 --properties Name,Status,Tags --output json"
2832
+ },
2833
+ {
2834
+ "description": "Get schema as markdown documentation",
2835
+ "command": "<%= config.bin %> db schema abc123def456 --markdown"
2836
+ },
2837
+ {
2838
+ "description": "Parse schema with jq (extract property names)",
2839
+ "command": "<%= config.bin %> db schema abc123def456 --output json | jq '.data.properties[].name'"
2840
+ },
2841
+ {
2842
+ "description": "Find all select/multi-select properties and their options",
2843
+ "command": "<%= config.bin %> db schema abc123def456 --output json | jq '.data.properties[] | select(.options) | {name, options}'"
2844
+ }
2845
+ ],
2846
+ "flags": {
2847
+ "output": {
2848
+ "char": "o",
2849
+ "description": "Output format",
2850
+ "name": "output",
2851
+ "default": "table",
2852
+ "hasDynamicHelp": false,
2853
+ "multiple": false,
2854
+ "options": [
2855
+ "json",
2856
+ "yaml",
2857
+ "table"
2858
+ ],
2859
+ "type": "option"
2860
+ },
2861
+ "properties": {
2862
+ "char": "p",
2863
+ "description": "Comma-separated list of properties to include (default: all)",
2864
+ "name": "properties",
2865
+ "hasDynamicHelp": false,
2866
+ "multiple": false,
2867
+ "type": "option"
2868
+ },
2869
+ "markdown": {
2870
+ "char": "m",
2871
+ "description": "Output as markdown documentation",
2872
+ "name": "markdown",
2873
+ "allowNo": false,
2874
+ "type": "boolean"
2875
+ },
2876
+ "json": {
2877
+ "char": "j",
2878
+ "description": "Output as JSON (shorthand for --output json)",
2879
+ "name": "json",
2880
+ "allowNo": false,
2881
+ "type": "boolean"
2882
+ },
2883
+ "with-examples": {
2884
+ "char": "e",
2885
+ "description": "Include property payload examples for create/update operations",
2886
+ "name": "with-examples",
2887
+ "allowNo": false,
2888
+ "type": "boolean"
2889
+ }
2890
+ },
2891
+ "hasDynamicHelp": false,
2892
+ "hiddenAliases": [],
2893
+ "id": "db:schema",
2894
+ "pluginAlias": "@infograb/notion-cli",
2895
+ "pluginName": "@infograb/notion-cli",
2896
+ "pluginType": "core",
2897
+ "strict": true,
2898
+ "enableJsonFlag": false,
2899
+ "isESM": false,
2900
+ "relativePath": [
2901
+ "dist",
2902
+ "commands",
2903
+ "db",
2904
+ "schema.js"
2905
+ ]
2906
+ },
2907
+ "db:update": {
2908
+ "aliases": [
2909
+ "db:u",
2910
+ "ds:update",
2911
+ "ds:u"
2912
+ ],
2913
+ "args": {
2914
+ "database_id": {
2915
+ "description": "Data source ID or URL (the ID of the table you want to update)",
2916
+ "name": "database_id",
2917
+ "required": true
2918
+ }
2919
+ },
2920
+ "description": "Update a data source (table) title and properties",
2921
+ "examples": [
2922
+ {
2923
+ "description": "Update a data source with a specific data_source_id and title",
2924
+ "command": "$ notion-cli db update DATA_SOURCE_ID -t 'My Data Source'"
2925
+ },
2926
+ {
2927
+ "description": "Update a data source via URL",
2928
+ "command": "$ notion-cli db update https://notion.so/DATABASE_ID -t 'My Data Source'"
2929
+ },
2930
+ {
2931
+ "description": "Update a data source with a specific data_source_id and output raw json",
2932
+ "command": "$ notion-cli db update DATA_SOURCE_ID -t 'My Table' -r"
2933
+ }
2934
+ ],
2935
+ "flags": {
2936
+ "title": {
2937
+ "char": "t",
2938
+ "description": "New database title",
2939
+ "name": "title",
2940
+ "required": true,
2941
+ "hasDynamicHelp": false,
2942
+ "multiple": false,
2943
+ "type": "option"
2944
+ },
2945
+ "raw": {
2946
+ "char": "r",
2947
+ "description": "output raw json",
2948
+ "name": "raw",
2949
+ "allowNo": false,
2950
+ "type": "boolean"
2951
+ },
2952
+ "columns": {
2953
+ "description": "Only show provided columns (comma-separated)",
2954
+ "exclusive": [
2955
+ "extended"
2956
+ ],
2957
+ "name": "columns",
2958
+ "hasDynamicHelp": false,
2959
+ "multiple": false,
2960
+ "type": "option"
2961
+ },
2962
+ "sort": {
2963
+ "description": "Property to sort by (prepend with - for descending)",
2964
+ "name": "sort",
2965
+ "hasDynamicHelp": false,
2966
+ "multiple": false,
2967
+ "type": "option"
2968
+ },
2969
+ "filter": {
2970
+ "description": "Filter property by substring match",
2971
+ "name": "filter",
2972
+ "hasDynamicHelp": false,
2973
+ "multiple": false,
2974
+ "type": "option"
2975
+ },
2976
+ "csv": {
2977
+ "description": "Output in CSV format",
2978
+ "exclusive": [
2979
+ "no-truncate"
2980
+ ],
2981
+ "name": "csv",
2982
+ "allowNo": false,
2983
+ "type": "boolean"
2984
+ },
2985
+ "extended": {
2986
+ "char": "x",
2987
+ "description": "Show extra columns",
2988
+ "name": "extended",
2989
+ "allowNo": false,
2990
+ "type": "boolean"
2991
+ },
2992
+ "no-truncate": {
2993
+ "description": "Do not truncate output to fit screen",
2994
+ "exclusive": [
2995
+ "csv"
2996
+ ],
2997
+ "name": "no-truncate",
2998
+ "allowNo": false,
2999
+ "type": "boolean"
3000
+ },
3001
+ "no-header": {
3002
+ "description": "Hide table header from output",
3003
+ "name": "no-header",
3004
+ "allowNo": false,
3005
+ "type": "boolean"
3006
+ },
3007
+ "json": {
3008
+ "char": "j",
3009
+ "description": "Output as JSON (recommended for automation)",
3010
+ "name": "json",
3011
+ "allowNo": false,
3012
+ "type": "boolean"
3013
+ },
3014
+ "page-size": {
3015
+ "description": "Items per page (1-100, default: 100 for automation)",
3016
+ "name": "page-size",
3017
+ "default": 100,
3018
+ "hasDynamicHelp": false,
3019
+ "multiple": false,
3020
+ "type": "option"
3021
+ },
3022
+ "retry": {
3023
+ "description": "Auto-retry on rate limit (respects Retry-After header)",
3024
+ "name": "retry",
3025
+ "allowNo": false,
3026
+ "type": "boolean"
3027
+ },
3028
+ "timeout": {
3029
+ "description": "Request timeout in milliseconds",
3030
+ "name": "timeout",
3031
+ "default": 30000,
3032
+ "hasDynamicHelp": false,
3033
+ "multiple": false,
3034
+ "type": "option"
3035
+ },
3036
+ "no-cache": {
3037
+ "description": "Bypass cache and force fresh API calls",
3038
+ "name": "no-cache",
3039
+ "allowNo": false,
3040
+ "type": "boolean"
3041
+ },
3042
+ "verbose": {
3043
+ "char": "v",
3044
+ "description": "Enable verbose logging to stderr (retry events, cache stats) - never pollutes stdout",
3045
+ "env": "NOTION_CLI_VERBOSE",
3046
+ "name": "verbose",
3047
+ "allowNo": false,
3048
+ "type": "boolean"
3049
+ },
3050
+ "minimal": {
3051
+ "description": "Strip unnecessary metadata (created_by, last_edited_by, object fields, request_id, etc.) - reduces response size by ~40%",
3052
+ "name": "minimal",
3053
+ "allowNo": false,
3054
+ "type": "boolean"
3055
+ }
3056
+ },
3057
+ "hasDynamicHelp": false,
3058
+ "hiddenAliases": [],
3059
+ "id": "db:update",
3060
+ "pluginAlias": "@infograb/notion-cli",
3061
+ "pluginName": "@infograb/notion-cli",
3062
+ "pluginType": "core",
3063
+ "strict": true,
3064
+ "enableJsonFlag": false,
3065
+ "isESM": false,
3066
+ "relativePath": [
3067
+ "dist",
3068
+ "commands",
3069
+ "db",
3070
+ "update.js"
3071
+ ]
3072
+ },
3073
+ "page:create": {
3074
+ "aliases": [
3075
+ "page:c"
3076
+ ],
3077
+ "args": {},
3078
+ "description": "Create a page",
3079
+ "examples": [
3080
+ {
3081
+ "description": "Create a page via interactive mode",
3082
+ "command": "$ notion-cli page create"
3083
+ },
3084
+ {
3085
+ "description": "Create a page with a specific parent_page_id",
3086
+ "command": "$ notion-cli page create -p PARENT_PAGE_ID"
3087
+ },
3088
+ {
3089
+ "description": "Create a page with a parent page URL",
3090
+ "command": "$ notion-cli page create -p https://notion.so/PARENT_PAGE_ID"
3091
+ },
3092
+ {
3093
+ "description": "Create a page with a specific parent_db_id",
3094
+ "command": "$ notion-cli page create -d PARENT_DB_ID"
3095
+ },
3096
+ {
3097
+ "description": "Create a page with simple properties (recommended for AI agents)",
3098
+ "command": "$ notion-cli page create -d DATA_SOURCE_ID -S --properties '{\"Name\": \"My Task\", \"Status\": \"In Progress\", \"Due Date\": \"2025-12-31\"}'"
3099
+ },
3100
+ {
3101
+ "description": "Create a page with simple properties using relative dates",
3102
+ "command": "$ notion-cli page create -d DATA_SOURCE_ID -S --properties '{\"Name\": \"Review\", \"Due Date\": \"tomorrow\", \"Priority\": \"High\"}'"
3103
+ },
3104
+ {
3105
+ "description": "Create a page with simple properties and multi-select",
3106
+ "command": "$ notion-cli page create -d DATA_SOURCE_ID -S --properties '{\"Name\": \"Bug Fix\", \"Tags\": [\"urgent\", \"bug\"], \"Status\": \"Done\"}'"
3107
+ },
3108
+ {
3109
+ "description": "Create a page with a specific source markdown file and parent_page_id",
3110
+ "command": "$ notion-cli page create -f ./path/to/source.md -p PARENT_PAGE_ID"
3111
+ },
3112
+ {
3113
+ "description": "Create a page with a specific source markdown file and parent_db_id",
3114
+ "command": "$ notion-cli page create -f ./path/to/source.md -d PARENT_DB_ID"
3115
+ },
3116
+ {
3117
+ "description": "Create a page with a specific source markdown file and output raw json with parent_page_id",
3118
+ "command": "$ notion-cli page create -f ./path/to/source.md -p PARENT_PAGE_ID -r"
3119
+ },
3120
+ {
3121
+ "description": "Create a page and output JSON for automation",
3122
+ "command": "$ notion-cli page create -p PARENT_PAGE_ID --json"
3123
+ }
3124
+ ],
3125
+ "flags": {
3126
+ "parent_page_id": {
3127
+ "char": "p",
3128
+ "description": "Parent page ID or URL (to create a sub-page)",
3129
+ "name": "parent_page_id",
3130
+ "hasDynamicHelp": false,
3131
+ "multiple": false,
3132
+ "type": "option"
3133
+ },
3134
+ "parent_data_source_id": {
3135
+ "char": "d",
3136
+ "description": "Parent data source ID or URL (to create a page in a table)",
3137
+ "name": "parent_data_source_id",
3138
+ "hasDynamicHelp": false,
3139
+ "multiple": false,
3140
+ "type": "option"
3141
+ },
3142
+ "file_path": {
3143
+ "char": "f",
3144
+ "description": "Path to a source markdown file",
3145
+ "name": "file_path",
3146
+ "hasDynamicHelp": false,
3147
+ "multiple": false,
3148
+ "type": "option"
3149
+ },
3150
+ "title_property": {
3151
+ "char": "t",
3152
+ "description": "Name of the title property (defaults to \"Name\" if not specified)",
3153
+ "name": "title_property",
3154
+ "default": "Name",
3155
+ "hasDynamicHelp": false,
3156
+ "multiple": false,
3157
+ "type": "option"
3158
+ },
3159
+ "properties": {
3160
+ "description": "Page properties as JSON string",
3161
+ "name": "properties",
3162
+ "hasDynamicHelp": false,
3163
+ "multiple": false,
3164
+ "type": "option"
3165
+ },
3166
+ "simple-properties": {
3167
+ "char": "S",
3168
+ "description": "Use simplified property format (flat key-value pairs, recommended for AI agents)",
3169
+ "name": "simple-properties",
3170
+ "allowNo": false,
3171
+ "type": "boolean"
3172
+ },
3173
+ "raw": {
3174
+ "char": "r",
3175
+ "description": "output raw json",
3176
+ "name": "raw",
3177
+ "allowNo": false,
3178
+ "type": "boolean"
3179
+ },
3180
+ "columns": {
3181
+ "description": "Only show provided columns (comma-separated)",
3182
+ "exclusive": [
3183
+ "extended"
3184
+ ],
3185
+ "name": "columns",
3186
+ "hasDynamicHelp": false,
3187
+ "multiple": false,
3188
+ "type": "option"
3189
+ },
3190
+ "sort": {
3191
+ "description": "Property to sort by (prepend with - for descending)",
3192
+ "name": "sort",
3193
+ "hasDynamicHelp": false,
3194
+ "multiple": false,
3195
+ "type": "option"
3196
+ },
3197
+ "filter": {
3198
+ "description": "Filter property by substring match",
3199
+ "name": "filter",
3200
+ "hasDynamicHelp": false,
3201
+ "multiple": false,
3202
+ "type": "option"
3203
+ },
3204
+ "csv": {
3205
+ "description": "Output in CSV format",
3206
+ "exclusive": [
3207
+ "no-truncate"
3208
+ ],
3209
+ "name": "csv",
3210
+ "allowNo": false,
3211
+ "type": "boolean"
3212
+ },
3213
+ "extended": {
3214
+ "char": "x",
3215
+ "description": "Show extra columns",
3216
+ "name": "extended",
3217
+ "allowNo": false,
3218
+ "type": "boolean"
3219
+ },
3220
+ "no-truncate": {
3221
+ "description": "Do not truncate output to fit screen",
3222
+ "exclusive": [
3223
+ "csv"
3224
+ ],
3225
+ "name": "no-truncate",
3226
+ "allowNo": false,
3227
+ "type": "boolean"
3228
+ },
3229
+ "no-header": {
3230
+ "description": "Hide table header from output",
3231
+ "name": "no-header",
3232
+ "allowNo": false,
3233
+ "type": "boolean"
3234
+ },
3235
+ "json": {
3236
+ "char": "j",
3237
+ "description": "Output as JSON (recommended for automation)",
3238
+ "name": "json",
3239
+ "allowNo": false,
3240
+ "type": "boolean"
3241
+ },
3242
+ "page-size": {
3243
+ "description": "Items per page (1-100, default: 100 for automation)",
3244
+ "name": "page-size",
3245
+ "default": 100,
3246
+ "hasDynamicHelp": false,
3247
+ "multiple": false,
3248
+ "type": "option"
3249
+ },
3250
+ "retry": {
3251
+ "description": "Auto-retry on rate limit (respects Retry-After header)",
3252
+ "name": "retry",
3253
+ "allowNo": false,
3254
+ "type": "boolean"
3255
+ },
3256
+ "timeout": {
3257
+ "description": "Request timeout in milliseconds",
3258
+ "name": "timeout",
3259
+ "default": 30000,
3260
+ "hasDynamicHelp": false,
3261
+ "multiple": false,
3262
+ "type": "option"
3263
+ },
3264
+ "no-cache": {
3265
+ "description": "Bypass cache and force fresh API calls",
3266
+ "name": "no-cache",
3267
+ "allowNo": false,
3268
+ "type": "boolean"
3269
+ },
3270
+ "verbose": {
3271
+ "char": "v",
3272
+ "description": "Enable verbose logging to stderr (retry events, cache stats) - never pollutes stdout",
3273
+ "env": "NOTION_CLI_VERBOSE",
3274
+ "name": "verbose",
3275
+ "allowNo": false,
3276
+ "type": "boolean"
3277
+ },
3278
+ "minimal": {
3279
+ "description": "Strip unnecessary metadata (created_by, last_edited_by, object fields, request_id, etc.) - reduces response size by ~40%",
3280
+ "name": "minimal",
3281
+ "allowNo": false,
3282
+ "type": "boolean"
3283
+ }
3284
+ },
3285
+ "hasDynamicHelp": false,
3286
+ "hiddenAliases": [],
3287
+ "id": "page:create",
3288
+ "pluginAlias": "@infograb/notion-cli",
3289
+ "pluginName": "@infograb/notion-cli",
3290
+ "pluginType": "core",
3291
+ "strict": true,
3292
+ "enableJsonFlag": false,
3293
+ "isESM": false,
3294
+ "relativePath": [
3295
+ "dist",
3296
+ "commands",
3297
+ "page",
3298
+ "create.js"
3299
+ ]
3300
+ },
3301
+ "page:retrieve": {
3302
+ "aliases": [
3303
+ "page:r"
3304
+ ],
3305
+ "args": {
3306
+ "page_id": {
3307
+ "description": "Page ID or full Notion URL (e.g., https://notion.so/...)",
3308
+ "name": "page_id",
3309
+ "required": true
3310
+ }
3311
+ },
3312
+ "description": "Retrieve a page",
3313
+ "examples": [
3314
+ {
3315
+ "description": "Retrieve a page with full data (recommended for AI assistants)",
3316
+ "command": "$ notion-cli page retrieve PAGE_ID -r"
3317
+ },
3318
+ {
3319
+ "description": "Fast structure overview (90% faster than full fetch)",
3320
+ "command": "$ notion-cli page retrieve PAGE_ID --map"
3321
+ },
3322
+ {
3323
+ "description": "Fast structure overview with compact JSON",
3324
+ "command": "$ notion-cli page retrieve PAGE_ID --map --compact-json"
3325
+ },
3326
+ {
3327
+ "description": "Retrieve entire page tree with all nested content (35% token reduction)",
3328
+ "command": "$ notion-cli page retrieve PAGE_ID --recursive --compact-json"
3329
+ },
3330
+ {
3331
+ "description": "Retrieve page tree with custom depth limit",
3332
+ "command": "$ notion-cli page retrieve PAGE_ID -R --max-depth 5 --json"
3333
+ },
3334
+ {
3335
+ "description": "Retrieve a page and output table",
3336
+ "command": "$ notion-cli page retrieve PAGE_ID"
3337
+ },
3338
+ {
3339
+ "description": "Retrieve a page via URL",
3340
+ "command": "$ notion-cli page retrieve https://notion.so/PAGE_ID"
3341
+ },
3342
+ {
3343
+ "description": "Retrieve a page and output raw json",
3344
+ "command": "$ notion-cli page retrieve PAGE_ID -r"
3345
+ },
3346
+ {
3347
+ "description": "Retrieve a page and output markdown",
3348
+ "command": "$ notion-cli page retrieve PAGE_ID -m"
3349
+ },
3350
+ {
3351
+ "description": "Retrieve a page metadata and output as markdown table",
3352
+ "command": "$ notion-cli page retrieve PAGE_ID --markdown"
3353
+ },
3354
+ {
3355
+ "description": "Retrieve a page metadata and output as compact JSON",
3356
+ "command": "$ notion-cli page retrieve PAGE_ID --compact-json"
3357
+ },
3358
+ {
3359
+ "description": "Retrieve a page and output JSON for automation",
3360
+ "command": "$ notion-cli page retrieve PAGE_ID --json"
3361
+ }
3362
+ ],
3363
+ "flags": {
3364
+ "raw": {
3365
+ "char": "r",
3366
+ "description": "output raw json (recommended for AI assistants - returns all fields)",
3367
+ "name": "raw",
3368
+ "allowNo": false,
3369
+ "type": "boolean"
3370
+ },
3371
+ "markdown": {
3372
+ "char": "m",
3373
+ "description": "Output as markdown table (GitHub-flavored)",
3374
+ "exclusive": [
3375
+ "compact-json",
3376
+ "pretty"
3377
+ ],
3378
+ "name": "markdown",
3379
+ "allowNo": false,
3380
+ "type": "boolean"
3381
+ },
3382
+ "map": {
3383
+ "description": "fast structure discovery (returns minimal info: titles, types, IDs)",
3384
+ "exclusive": [
3385
+ "raw",
3386
+ "markdown"
3387
+ ],
3388
+ "name": "map",
3389
+ "allowNo": false,
3390
+ "type": "boolean"
3391
+ },
3392
+ "recursive": {
3393
+ "char": "R",
3394
+ "description": "recursively fetch all blocks and nested pages (reduces API calls)",
3395
+ "name": "recursive",
3396
+ "allowNo": false,
3397
+ "type": "boolean"
3398
+ },
3399
+ "max-depth": {
3400
+ "dependsOn": [
3401
+ "recursive"
3402
+ ],
3403
+ "description": "maximum recursion depth for --recursive (default: 3)",
3404
+ "name": "max-depth",
3405
+ "default": 3,
3406
+ "hasDynamicHelp": false,
3407
+ "multiple": false,
3408
+ "type": "option"
3409
+ },
3410
+ "columns": {
3411
+ "description": "Only show provided columns (comma-separated)",
3412
+ "exclusive": [
3413
+ "extended"
3414
+ ],
3415
+ "name": "columns",
3416
+ "hasDynamicHelp": false,
3417
+ "multiple": false,
3418
+ "type": "option"
3419
+ },
3420
+ "sort": {
3421
+ "description": "Property to sort by (prepend with - for descending)",
3422
+ "name": "sort",
3423
+ "hasDynamicHelp": false,
3424
+ "multiple": false,
3425
+ "type": "option"
3426
+ },
3427
+ "filter": {
3428
+ "description": "Filter property by substring match",
3429
+ "name": "filter",
3430
+ "hasDynamicHelp": false,
3431
+ "multiple": false,
3432
+ "type": "option"
3433
+ },
3434
+ "csv": {
3435
+ "description": "Output in CSV format",
3436
+ "exclusive": [
3437
+ "no-truncate"
3438
+ ],
3439
+ "name": "csv",
3440
+ "allowNo": false,
3441
+ "type": "boolean"
3442
+ },
3443
+ "extended": {
3444
+ "char": "x",
3445
+ "description": "Show extra columns",
3446
+ "name": "extended",
3447
+ "allowNo": false,
3448
+ "type": "boolean"
3449
+ },
3450
+ "no-truncate": {
3451
+ "description": "Do not truncate output to fit screen",
3452
+ "exclusive": [
3453
+ "csv"
3454
+ ],
3455
+ "name": "no-truncate",
3456
+ "allowNo": false,
3457
+ "type": "boolean"
3458
+ },
3459
+ "no-header": {
3460
+ "description": "Hide table header from output",
3461
+ "name": "no-header",
3462
+ "allowNo": false,
3463
+ "type": "boolean"
3464
+ },
3465
+ "compact-json": {
3466
+ "char": "c",
3467
+ "description": "Output as compact JSON (single-line, ideal for piping)",
3468
+ "exclusive": [
3469
+ "markdown",
3470
+ "pretty"
3471
+ ],
3472
+ "name": "compact-json",
3473
+ "allowNo": false,
3474
+ "type": "boolean"
3475
+ },
3476
+ "pretty": {
3477
+ "char": "P",
3478
+ "description": "Output as pretty table with borders",
3479
+ "exclusive": [
3480
+ "markdown",
3481
+ "compact-json"
3482
+ ],
3483
+ "name": "pretty",
3484
+ "allowNo": false,
3485
+ "type": "boolean"
3486
+ },
3487
+ "json": {
3488
+ "char": "j",
3489
+ "description": "Output as JSON (recommended for automation)",
3490
+ "name": "json",
3491
+ "allowNo": false,
3492
+ "type": "boolean"
3493
+ },
3494
+ "page-size": {
3495
+ "description": "Items per page (1-100, default: 100 for automation)",
3496
+ "name": "page-size",
3497
+ "default": 100,
3498
+ "hasDynamicHelp": false,
3499
+ "multiple": false,
3500
+ "type": "option"
3501
+ },
3502
+ "retry": {
3503
+ "description": "Auto-retry on rate limit (respects Retry-After header)",
3504
+ "name": "retry",
3505
+ "allowNo": false,
3506
+ "type": "boolean"
3507
+ },
3508
+ "timeout": {
3509
+ "description": "Request timeout in milliseconds",
3510
+ "name": "timeout",
3511
+ "default": 30000,
3512
+ "hasDynamicHelp": false,
3513
+ "multiple": false,
3514
+ "type": "option"
3515
+ },
3516
+ "no-cache": {
3517
+ "description": "Bypass cache and force fresh API calls",
3518
+ "name": "no-cache",
3519
+ "allowNo": false,
3520
+ "type": "boolean"
3521
+ },
3522
+ "verbose": {
3523
+ "char": "v",
3524
+ "description": "Enable verbose logging to stderr (retry events, cache stats) - never pollutes stdout",
3525
+ "env": "NOTION_CLI_VERBOSE",
3526
+ "name": "verbose",
3527
+ "allowNo": false,
3528
+ "type": "boolean"
3529
+ },
3530
+ "minimal": {
3531
+ "description": "Strip unnecessary metadata (created_by, last_edited_by, object fields, request_id, etc.) - reduces response size by ~40%",
3532
+ "name": "minimal",
3533
+ "allowNo": false,
3534
+ "type": "boolean"
3535
+ }
3536
+ },
3537
+ "hasDynamicHelp": false,
3538
+ "hiddenAliases": [],
3539
+ "id": "page:retrieve",
3540
+ "pluginAlias": "@infograb/notion-cli",
3541
+ "pluginName": "@infograb/notion-cli",
3542
+ "pluginType": "core",
3543
+ "strict": true,
3544
+ "enableJsonFlag": false,
3545
+ "isESM": false,
3546
+ "relativePath": [
3547
+ "dist",
3548
+ "commands",
3549
+ "page",
3550
+ "retrieve.js"
3551
+ ]
3552
+ },
3553
+ "page:update": {
3554
+ "aliases": [
3555
+ "page:u"
3556
+ ],
3557
+ "args": {
3558
+ "page_id": {
3559
+ "description": "Page ID or full Notion URL (e.g., https://notion.so/...)",
3560
+ "name": "page_id",
3561
+ "required": true
3562
+ }
3563
+ },
3564
+ "description": "Update a page",
3565
+ "examples": [
3566
+ {
3567
+ "description": "Update a page and output table",
3568
+ "command": "$ notion-cli page update PAGE_ID"
3569
+ },
3570
+ {
3571
+ "description": "Update a page via URL",
3572
+ "command": "$ notion-cli page update https://notion.so/PAGE_ID -a"
3573
+ },
3574
+ {
3575
+ "description": "Update page properties with simple format (recommended for AI agents)",
3576
+ "command": "$ notion-cli page update PAGE_ID -S --properties '{\"Status\": \"Done\", \"Priority\": \"High\"}'"
3577
+ },
3578
+ {
3579
+ "description": "Update page properties with relative date",
3580
+ "command": "$ notion-cli page update PAGE_ID -S --properties '{\"Due Date\": \"tomorrow\", \"Status\": \"In Progress\"}'"
3581
+ },
3582
+ {
3583
+ "description": "Update page with multi-select tags",
3584
+ "command": "$ notion-cli page update PAGE_ID -S --properties '{\"Tags\": [\"urgent\", \"bug\"], \"Status\": \"Done\"}'"
3585
+ },
3586
+ {
3587
+ "description": "Update a page and output raw json",
3588
+ "command": "$ notion-cli page update PAGE_ID -r"
3589
+ },
3590
+ {
3591
+ "description": "Update a page and archive",
3592
+ "command": "$ notion-cli page update PAGE_ID -a"
3593
+ },
3594
+ {
3595
+ "description": "Update a page and unarchive",
3596
+ "command": "$ notion-cli page update PAGE_ID -u"
3597
+ },
3598
+ {
3599
+ "description": "Update a page and archive and output raw json",
3600
+ "command": "$ notion-cli page update PAGE_ID -a -r"
3601
+ },
3602
+ {
3603
+ "description": "Update a page and unarchive and output raw json",
3604
+ "command": "$ notion-cli page update PAGE_ID -u -r"
3605
+ },
3606
+ {
3607
+ "description": "Update a page and output JSON for automation",
3608
+ "command": "$ notion-cli page update PAGE_ID -a --json"
3609
+ }
3610
+ ],
3611
+ "flags": {
3612
+ "archived": {
3613
+ "char": "a",
3614
+ "description": "Archive the page",
3615
+ "name": "archived",
3616
+ "allowNo": false,
3617
+ "type": "boolean"
3618
+ },
3619
+ "unarchive": {
3620
+ "char": "u",
3621
+ "description": "Unarchive the page",
3622
+ "name": "unarchive",
3623
+ "allowNo": false,
3624
+ "type": "boolean"
3625
+ },
3626
+ "properties": {
3627
+ "description": "Page properties to update as JSON string",
3628
+ "name": "properties",
3629
+ "hasDynamicHelp": false,
3630
+ "multiple": false,
3631
+ "type": "option"
3632
+ },
3633
+ "simple-properties": {
3634
+ "char": "S",
3635
+ "description": "Use simplified property format (flat key-value pairs, recommended for AI agents)",
3636
+ "name": "simple-properties",
3637
+ "allowNo": false,
3638
+ "type": "boolean"
3639
+ },
3640
+ "raw": {
3641
+ "char": "r",
3642
+ "description": "output raw json",
3643
+ "name": "raw",
3644
+ "allowNo": false,
3645
+ "type": "boolean"
3646
+ },
3647
+ "columns": {
3648
+ "description": "Only show provided columns (comma-separated)",
3649
+ "exclusive": [
3650
+ "extended"
3651
+ ],
3652
+ "name": "columns",
3653
+ "hasDynamicHelp": false,
3654
+ "multiple": false,
3655
+ "type": "option"
3656
+ },
3657
+ "sort": {
3658
+ "description": "Property to sort by (prepend with - for descending)",
3659
+ "name": "sort",
3660
+ "hasDynamicHelp": false,
3661
+ "multiple": false,
3662
+ "type": "option"
3663
+ },
3664
+ "filter": {
3665
+ "description": "Filter property by substring match",
3666
+ "name": "filter",
3667
+ "hasDynamicHelp": false,
3668
+ "multiple": false,
3669
+ "type": "option"
3670
+ },
3671
+ "csv": {
3672
+ "description": "Output in CSV format",
3673
+ "exclusive": [
3674
+ "no-truncate"
3675
+ ],
3676
+ "name": "csv",
3677
+ "allowNo": false,
3678
+ "type": "boolean"
3679
+ },
3680
+ "extended": {
3681
+ "char": "x",
3682
+ "description": "Show extra columns",
3683
+ "name": "extended",
3684
+ "allowNo": false,
3685
+ "type": "boolean"
3686
+ },
3687
+ "no-truncate": {
3688
+ "description": "Do not truncate output to fit screen",
3689
+ "exclusive": [
3690
+ "csv"
3691
+ ],
3692
+ "name": "no-truncate",
3693
+ "allowNo": false,
3694
+ "type": "boolean"
3695
+ },
3696
+ "no-header": {
3697
+ "description": "Hide table header from output",
3698
+ "name": "no-header",
3699
+ "allowNo": false,
3700
+ "type": "boolean"
3701
+ },
3702
+ "json": {
3703
+ "char": "j",
3704
+ "description": "Output as JSON (recommended for automation)",
3705
+ "name": "json",
3706
+ "allowNo": false,
3707
+ "type": "boolean"
3708
+ },
3709
+ "page-size": {
3710
+ "description": "Items per page (1-100, default: 100 for automation)",
3711
+ "name": "page-size",
3712
+ "default": 100,
3713
+ "hasDynamicHelp": false,
3714
+ "multiple": false,
3715
+ "type": "option"
3716
+ },
3717
+ "retry": {
3718
+ "description": "Auto-retry on rate limit (respects Retry-After header)",
3719
+ "name": "retry",
3720
+ "allowNo": false,
3721
+ "type": "boolean"
3722
+ },
3723
+ "timeout": {
3724
+ "description": "Request timeout in milliseconds",
3725
+ "name": "timeout",
3726
+ "default": 30000,
3727
+ "hasDynamicHelp": false,
3728
+ "multiple": false,
3729
+ "type": "option"
3730
+ },
3731
+ "no-cache": {
3732
+ "description": "Bypass cache and force fresh API calls",
3733
+ "name": "no-cache",
3734
+ "allowNo": false,
3735
+ "type": "boolean"
3736
+ },
3737
+ "verbose": {
3738
+ "char": "v",
3739
+ "description": "Enable verbose logging to stderr (retry events, cache stats) - never pollutes stdout",
3740
+ "env": "NOTION_CLI_VERBOSE",
3741
+ "name": "verbose",
3742
+ "allowNo": false,
3743
+ "type": "boolean"
3744
+ },
3745
+ "minimal": {
3746
+ "description": "Strip unnecessary metadata (created_by, last_edited_by, object fields, request_id, etc.) - reduces response size by ~40%",
3747
+ "name": "minimal",
3748
+ "allowNo": false,
3749
+ "type": "boolean"
3750
+ }
3751
+ },
3752
+ "hasDynamicHelp": false,
3753
+ "hiddenAliases": [],
3754
+ "id": "page:update",
3755
+ "pluginAlias": "@infograb/notion-cli",
3756
+ "pluginName": "@infograb/notion-cli",
3757
+ "pluginType": "core",
3758
+ "strict": true,
3759
+ "enableJsonFlag": false,
3760
+ "isESM": false,
3761
+ "relativePath": [
3762
+ "dist",
3763
+ "commands",
3764
+ "page",
3765
+ "update.js"
3766
+ ]
3767
+ },
3768
+ "user:list": {
3769
+ "aliases": [
3770
+ "user:l"
3771
+ ],
3772
+ "args": {},
3773
+ "description": "List all users",
3774
+ "examples": [
3775
+ {
3776
+ "description": "List all users",
3777
+ "command": "$ notion-cli user list"
3778
+ },
3779
+ {
3780
+ "description": "List all users and output raw json",
3781
+ "command": "$ notion-cli user list -r"
3782
+ },
3783
+ {
3784
+ "description": "List all users and output JSON for automation",
3785
+ "command": "$ notion-cli user list --json"
3786
+ }
3787
+ ],
3788
+ "flags": {
3789
+ "raw": {
3790
+ "char": "r",
3791
+ "description": "output raw json",
3792
+ "name": "raw",
3793
+ "allowNo": false,
3794
+ "type": "boolean"
3795
+ },
3796
+ "columns": {
3797
+ "description": "Only show provided columns (comma-separated)",
3798
+ "exclusive": [
3799
+ "extended"
3800
+ ],
3801
+ "name": "columns",
3802
+ "hasDynamicHelp": false,
3803
+ "multiple": false,
3804
+ "type": "option"
3805
+ },
3806
+ "sort": {
3807
+ "description": "Property to sort by (prepend with - for descending)",
3808
+ "name": "sort",
3809
+ "hasDynamicHelp": false,
3810
+ "multiple": false,
3811
+ "type": "option"
3812
+ },
3813
+ "filter": {
3814
+ "description": "Filter property by substring match",
3815
+ "name": "filter",
3816
+ "hasDynamicHelp": false,
3817
+ "multiple": false,
3818
+ "type": "option"
3819
+ },
3820
+ "csv": {
3821
+ "description": "Output in CSV format",
3822
+ "exclusive": [
3823
+ "no-truncate"
3824
+ ],
3825
+ "name": "csv",
3826
+ "allowNo": false,
3827
+ "type": "boolean"
3828
+ },
3829
+ "extended": {
3830
+ "char": "x",
3831
+ "description": "Show extra columns",
3832
+ "name": "extended",
3833
+ "allowNo": false,
3834
+ "type": "boolean"
3835
+ },
3836
+ "no-truncate": {
3837
+ "description": "Do not truncate output to fit screen",
3838
+ "exclusive": [
3839
+ "csv"
3840
+ ],
3841
+ "name": "no-truncate",
3842
+ "allowNo": false,
3843
+ "type": "boolean"
3844
+ },
3845
+ "no-header": {
3846
+ "description": "Hide table header from output",
3847
+ "name": "no-header",
3848
+ "allowNo": false,
3849
+ "type": "boolean"
3850
+ },
3851
+ "json": {
3852
+ "char": "j",
3853
+ "description": "Output as JSON (recommended for automation)",
3854
+ "name": "json",
3855
+ "allowNo": false,
3856
+ "type": "boolean"
3857
+ },
3858
+ "page-size": {
3859
+ "description": "Items per page (1-100, default: 100 for automation)",
3860
+ "name": "page-size",
3861
+ "default": 100,
3862
+ "hasDynamicHelp": false,
3863
+ "multiple": false,
3864
+ "type": "option"
3865
+ },
3866
+ "retry": {
3867
+ "description": "Auto-retry on rate limit (respects Retry-After header)",
3868
+ "name": "retry",
3869
+ "allowNo": false,
3870
+ "type": "boolean"
3871
+ },
3872
+ "timeout": {
3873
+ "description": "Request timeout in milliseconds",
3874
+ "name": "timeout",
3875
+ "default": 30000,
3876
+ "hasDynamicHelp": false,
3877
+ "multiple": false,
3878
+ "type": "option"
3879
+ },
3880
+ "no-cache": {
3881
+ "description": "Bypass cache and force fresh API calls",
3882
+ "name": "no-cache",
3883
+ "allowNo": false,
3884
+ "type": "boolean"
3885
+ },
3886
+ "verbose": {
3887
+ "char": "v",
3888
+ "description": "Enable verbose logging to stderr (retry events, cache stats) - never pollutes stdout",
3889
+ "env": "NOTION_CLI_VERBOSE",
3890
+ "name": "verbose",
3891
+ "allowNo": false,
3892
+ "type": "boolean"
3893
+ },
3894
+ "minimal": {
3895
+ "description": "Strip unnecessary metadata (created_by, last_edited_by, object fields, request_id, etc.) - reduces response size by ~40%",
3896
+ "name": "minimal",
3897
+ "allowNo": false,
3898
+ "type": "boolean"
3899
+ }
3900
+ },
3901
+ "hasDynamicHelp": false,
3902
+ "hiddenAliases": [],
3903
+ "id": "user:list",
3904
+ "pluginAlias": "@infograb/notion-cli",
3905
+ "pluginName": "@infograb/notion-cli",
3906
+ "pluginType": "core",
3907
+ "strict": true,
3908
+ "enableJsonFlag": false,
3909
+ "isESM": false,
3910
+ "relativePath": [
3911
+ "dist",
3912
+ "commands",
3913
+ "user",
3914
+ "list.js"
3915
+ ]
3916
+ },
3917
+ "user:retrieve": {
3918
+ "aliases": [
3919
+ "user:r"
3920
+ ],
3921
+ "args": {
3922
+ "user_id": {
3923
+ "name": "user_id"
3924
+ }
3925
+ },
3926
+ "description": "Retrieve a user",
3927
+ "examples": [
3928
+ {
3929
+ "description": "Retrieve a user",
3930
+ "command": "$ notion-cli user retrieve USER_ID"
3931
+ },
3932
+ {
3933
+ "description": "Retrieve a user and output raw json",
3934
+ "command": "$ notion-cli user retrieve USER_ID -r"
3935
+ },
3936
+ {
3937
+ "description": "Retrieve a user and output JSON for automation",
3938
+ "command": "$ notion-cli user retrieve USER_ID --json"
3939
+ }
3940
+ ],
3941
+ "flags": {
3942
+ "raw": {
3943
+ "char": "r",
3944
+ "description": "output raw json",
3945
+ "name": "raw",
3946
+ "allowNo": false,
3947
+ "type": "boolean"
3948
+ },
3949
+ "columns": {
3950
+ "description": "Only show provided columns (comma-separated)",
3951
+ "exclusive": [
3952
+ "extended"
3953
+ ],
3954
+ "name": "columns",
3955
+ "hasDynamicHelp": false,
3956
+ "multiple": false,
3957
+ "type": "option"
3958
+ },
3959
+ "sort": {
3960
+ "description": "Property to sort by (prepend with - for descending)",
3961
+ "name": "sort",
3962
+ "hasDynamicHelp": false,
3963
+ "multiple": false,
3964
+ "type": "option"
3965
+ },
3966
+ "filter": {
3967
+ "description": "Filter property by substring match",
3968
+ "name": "filter",
3969
+ "hasDynamicHelp": false,
3970
+ "multiple": false,
3971
+ "type": "option"
3972
+ },
3973
+ "csv": {
3974
+ "description": "Output in CSV format",
3975
+ "exclusive": [
3976
+ "no-truncate"
3977
+ ],
3978
+ "name": "csv",
3979
+ "allowNo": false,
3980
+ "type": "boolean"
3981
+ },
3982
+ "extended": {
3983
+ "char": "x",
3984
+ "description": "Show extra columns",
3985
+ "name": "extended",
3986
+ "allowNo": false,
3987
+ "type": "boolean"
3988
+ },
3989
+ "no-truncate": {
3990
+ "description": "Do not truncate output to fit screen",
3991
+ "exclusive": [
3992
+ "csv"
3993
+ ],
3994
+ "name": "no-truncate",
3995
+ "allowNo": false,
3996
+ "type": "boolean"
3997
+ },
3998
+ "no-header": {
3999
+ "description": "Hide table header from output",
4000
+ "name": "no-header",
4001
+ "allowNo": false,
4002
+ "type": "boolean"
4003
+ },
4004
+ "json": {
4005
+ "char": "j",
4006
+ "description": "Output as JSON (recommended for automation)",
4007
+ "name": "json",
4008
+ "allowNo": false,
4009
+ "type": "boolean"
4010
+ },
4011
+ "page-size": {
4012
+ "description": "Items per page (1-100, default: 100 for automation)",
4013
+ "name": "page-size",
4014
+ "default": 100,
4015
+ "hasDynamicHelp": false,
4016
+ "multiple": false,
4017
+ "type": "option"
4018
+ },
4019
+ "retry": {
4020
+ "description": "Auto-retry on rate limit (respects Retry-After header)",
4021
+ "name": "retry",
4022
+ "allowNo": false,
4023
+ "type": "boolean"
4024
+ },
4025
+ "timeout": {
4026
+ "description": "Request timeout in milliseconds",
4027
+ "name": "timeout",
4028
+ "default": 30000,
4029
+ "hasDynamicHelp": false,
4030
+ "multiple": false,
4031
+ "type": "option"
4032
+ },
4033
+ "no-cache": {
4034
+ "description": "Bypass cache and force fresh API calls",
4035
+ "name": "no-cache",
4036
+ "allowNo": false,
4037
+ "type": "boolean"
4038
+ },
4039
+ "verbose": {
4040
+ "char": "v",
4041
+ "description": "Enable verbose logging to stderr (retry events, cache stats) - never pollutes stdout",
4042
+ "env": "NOTION_CLI_VERBOSE",
4043
+ "name": "verbose",
4044
+ "allowNo": false,
4045
+ "type": "boolean"
4046
+ },
4047
+ "minimal": {
4048
+ "description": "Strip unnecessary metadata (created_by, last_edited_by, object fields, request_id, etc.) - reduces response size by ~40%",
4049
+ "name": "minimal",
4050
+ "allowNo": false,
4051
+ "type": "boolean"
4052
+ }
4053
+ },
4054
+ "hasDynamicHelp": false,
4055
+ "hiddenAliases": [],
4056
+ "id": "user:retrieve",
4057
+ "pluginAlias": "@infograb/notion-cli",
4058
+ "pluginName": "@infograb/notion-cli",
4059
+ "pluginType": "core",
4060
+ "strict": true,
4061
+ "enableJsonFlag": false,
4062
+ "isESM": false,
4063
+ "relativePath": [
4064
+ "dist",
4065
+ "commands",
4066
+ "user",
4067
+ "retrieve.js"
4068
+ ]
4069
+ },
4070
+ "block:retrieve:children": {
4071
+ "aliases": [
4072
+ "block:r:c"
4073
+ ],
4074
+ "args": {
4075
+ "block_id": {
4076
+ "description": "block_id or page_id",
4077
+ "name": "block_id",
4078
+ "required": true
4079
+ }
4080
+ },
4081
+ "description": "Retrieve block children (supports database discovery via --show-databases)",
4082
+ "examples": [
4083
+ {
4084
+ "description": "Retrieve block children",
4085
+ "command": "$ notion-cli block retrieve:children BLOCK_ID"
4086
+ },
4087
+ {
4088
+ "description": "Retrieve block children and output raw json",
4089
+ "command": "$ notion-cli block retrieve:children BLOCK_ID -r"
4090
+ },
4091
+ {
4092
+ "description": "Retrieve block children and output JSON for automation",
4093
+ "command": "$ notion-cli block retrieve:children BLOCK_ID --json"
4094
+ },
4095
+ {
4096
+ "description": "Discover databases on a page with queryable IDs",
4097
+ "command": "$ notion-cli block retrieve:children PAGE_ID --show-databases"
4098
+ },
4099
+ {
4100
+ "description": "Get databases as JSON for automation",
4101
+ "command": "$ notion-cli block retrieve:children PAGE_ID --show-databases --json"
4102
+ }
4103
+ ],
4104
+ "flags": {
4105
+ "raw": {
4106
+ "char": "r",
4107
+ "description": "output raw json",
4108
+ "name": "raw",
4109
+ "allowNo": false,
4110
+ "type": "boolean"
4111
+ },
4112
+ "show-databases": {
4113
+ "char": "d",
4114
+ "description": "show only child databases with their queryable IDs (data_source_id)",
4115
+ "name": "show-databases",
4116
+ "allowNo": false,
4117
+ "type": "boolean"
4118
+ },
4119
+ "columns": {
4120
+ "description": "Only show provided columns (comma-separated)",
4121
+ "exclusive": [
4122
+ "extended"
4123
+ ],
4124
+ "name": "columns",
4125
+ "hasDynamicHelp": false,
4126
+ "multiple": false,
4127
+ "type": "option"
4128
+ },
4129
+ "sort": {
4130
+ "description": "Property to sort by (prepend with - for descending)",
4131
+ "name": "sort",
4132
+ "hasDynamicHelp": false,
4133
+ "multiple": false,
4134
+ "type": "option"
4135
+ },
4136
+ "filter": {
4137
+ "description": "Filter property by substring match",
4138
+ "name": "filter",
4139
+ "hasDynamicHelp": false,
4140
+ "multiple": false,
4141
+ "type": "option"
4142
+ },
4143
+ "csv": {
4144
+ "description": "Output in CSV format",
4145
+ "exclusive": [
4146
+ "no-truncate"
4147
+ ],
4148
+ "name": "csv",
4149
+ "allowNo": false,
4150
+ "type": "boolean"
4151
+ },
4152
+ "extended": {
4153
+ "char": "x",
4154
+ "description": "Show extra columns",
4155
+ "name": "extended",
4156
+ "allowNo": false,
4157
+ "type": "boolean"
4158
+ },
4159
+ "no-truncate": {
4160
+ "description": "Do not truncate output to fit screen",
4161
+ "exclusive": [
4162
+ "csv"
4163
+ ],
4164
+ "name": "no-truncate",
4165
+ "allowNo": false,
4166
+ "type": "boolean"
4167
+ },
4168
+ "no-header": {
4169
+ "description": "Hide table header from output",
4170
+ "name": "no-header",
4171
+ "allowNo": false,
4172
+ "type": "boolean"
4173
+ },
4174
+ "json": {
4175
+ "char": "j",
4176
+ "description": "Output as JSON (recommended for automation)",
4177
+ "name": "json",
4178
+ "allowNo": false,
4179
+ "type": "boolean"
4180
+ },
4181
+ "page-size": {
4182
+ "description": "Items per page (1-100, default: 100 for automation)",
4183
+ "name": "page-size",
4184
+ "default": 100,
4185
+ "hasDynamicHelp": false,
4186
+ "multiple": false,
4187
+ "type": "option"
4188
+ },
4189
+ "retry": {
4190
+ "description": "Auto-retry on rate limit (respects Retry-After header)",
4191
+ "name": "retry",
4192
+ "allowNo": false,
4193
+ "type": "boolean"
4194
+ },
4195
+ "timeout": {
4196
+ "description": "Request timeout in milliseconds",
4197
+ "name": "timeout",
4198
+ "default": 30000,
4199
+ "hasDynamicHelp": false,
4200
+ "multiple": false,
4201
+ "type": "option"
4202
+ },
4203
+ "no-cache": {
4204
+ "description": "Bypass cache and force fresh API calls",
4205
+ "name": "no-cache",
4206
+ "allowNo": false,
4207
+ "type": "boolean"
4208
+ },
4209
+ "verbose": {
4210
+ "char": "v",
4211
+ "description": "Enable verbose logging to stderr (retry events, cache stats) - never pollutes stdout",
4212
+ "env": "NOTION_CLI_VERBOSE",
4213
+ "name": "verbose",
4214
+ "allowNo": false,
4215
+ "type": "boolean"
4216
+ },
4217
+ "minimal": {
4218
+ "description": "Strip unnecessary metadata (created_by, last_edited_by, object fields, request_id, etc.) - reduces response size by ~40%",
4219
+ "name": "minimal",
4220
+ "allowNo": false,
4221
+ "type": "boolean"
4222
+ }
4223
+ },
4224
+ "hasDynamicHelp": false,
4225
+ "hiddenAliases": [],
4226
+ "id": "block:retrieve:children",
4227
+ "pluginAlias": "@infograb/notion-cli",
4228
+ "pluginName": "@infograb/notion-cli",
4229
+ "pluginType": "core",
4230
+ "strict": true,
4231
+ "enableJsonFlag": false,
4232
+ "isESM": false,
4233
+ "relativePath": [
4234
+ "dist",
4235
+ "commands",
4236
+ "block",
4237
+ "retrieve",
4238
+ "children.js"
4239
+ ]
4240
+ },
4241
+ "page:retrieve:property_item": {
4242
+ "aliases": [
4243
+ "page:r:pi"
4244
+ ],
4245
+ "args": {
4246
+ "page_id": {
4247
+ "name": "page_id",
4248
+ "required": true
4249
+ },
4250
+ "property_id": {
4251
+ "name": "property_id",
4252
+ "required": true
4253
+ }
4254
+ },
4255
+ "description": "Retrieve a page property item",
4256
+ "examples": [
4257
+ {
4258
+ "description": "Retrieve a page property item",
4259
+ "command": "$ notion-cli page retrieve:property_item PAGE_ID PROPERTY_ID"
4260
+ },
4261
+ {
4262
+ "description": "Retrieve a page property item and output raw json",
4263
+ "command": "$ notion-cli page retrieve:property_item PAGE_ID PROPERTY_ID -r"
4264
+ },
4265
+ {
4266
+ "description": "Retrieve a page property item and output JSON for automation",
4267
+ "command": "$ notion-cli page retrieve:property_item PAGE_ID PROPERTY_ID --json"
4268
+ }
4269
+ ],
4270
+ "flags": {
4271
+ "raw": {
4272
+ "char": "r",
4273
+ "description": "output raw json",
4274
+ "name": "raw",
4275
+ "allowNo": false,
4276
+ "type": "boolean"
4277
+ },
4278
+ "json": {
4279
+ "char": "j",
4280
+ "description": "Output as JSON (recommended for automation)",
4281
+ "name": "json",
4282
+ "allowNo": false,
4283
+ "type": "boolean"
4284
+ },
4285
+ "page-size": {
4286
+ "description": "Items per page (1-100, default: 100 for automation)",
4287
+ "name": "page-size",
4288
+ "default": 100,
4289
+ "hasDynamicHelp": false,
4290
+ "multiple": false,
4291
+ "type": "option"
4292
+ },
4293
+ "retry": {
4294
+ "description": "Auto-retry on rate limit (respects Retry-After header)",
4295
+ "name": "retry",
4296
+ "allowNo": false,
4297
+ "type": "boolean"
4298
+ },
4299
+ "timeout": {
4300
+ "description": "Request timeout in milliseconds",
4301
+ "name": "timeout",
4302
+ "default": 30000,
4303
+ "hasDynamicHelp": false,
4304
+ "multiple": false,
4305
+ "type": "option"
4306
+ },
4307
+ "no-cache": {
4308
+ "description": "Bypass cache and force fresh API calls",
4309
+ "name": "no-cache",
4310
+ "allowNo": false,
4311
+ "type": "boolean"
4312
+ },
4313
+ "verbose": {
4314
+ "char": "v",
4315
+ "description": "Enable verbose logging to stderr (retry events, cache stats) - never pollutes stdout",
4316
+ "env": "NOTION_CLI_VERBOSE",
4317
+ "name": "verbose",
4318
+ "allowNo": false,
4319
+ "type": "boolean"
4320
+ },
4321
+ "minimal": {
4322
+ "description": "Strip unnecessary metadata (created_by, last_edited_by, object fields, request_id, etc.) - reduces response size by ~40%",
4323
+ "name": "minimal",
4324
+ "allowNo": false,
4325
+ "type": "boolean"
4326
+ }
4327
+ },
4328
+ "hasDynamicHelp": false,
4329
+ "hiddenAliases": [],
4330
+ "id": "page:retrieve:property_item",
4331
+ "pluginAlias": "@infograb/notion-cli",
4332
+ "pluginName": "@infograb/notion-cli",
4333
+ "pluginType": "core",
4334
+ "strict": true,
4335
+ "enableJsonFlag": false,
4336
+ "isESM": false,
4337
+ "relativePath": [
4338
+ "dist",
4339
+ "commands",
4340
+ "page",
4341
+ "retrieve",
4342
+ "property_item.js"
4343
+ ]
4344
+ },
4345
+ "user:retrieve:bot": {
4346
+ "aliases": [
4347
+ "user:r:b"
4348
+ ],
4349
+ "args": {},
4350
+ "description": "Retrieve a bot user",
4351
+ "examples": [
4352
+ {
4353
+ "description": "Retrieve a bot user",
4354
+ "command": "$ notion-cli user retrieve:bot"
4355
+ },
4356
+ {
4357
+ "description": "Retrieve a bot user and output raw json",
4358
+ "command": "$ notion-cli user retrieve:bot -r"
4359
+ },
4360
+ {
4361
+ "description": "Retrieve a bot user and output JSON for automation",
4362
+ "command": "$ notion-cli user retrieve:bot --json"
4363
+ }
4364
+ ],
4365
+ "flags": {
4366
+ "raw": {
4367
+ "char": "r",
4368
+ "description": "output raw json",
4369
+ "name": "raw",
4370
+ "allowNo": false,
4371
+ "type": "boolean"
4372
+ },
4373
+ "columns": {
4374
+ "description": "Only show provided columns (comma-separated)",
4375
+ "exclusive": [
4376
+ "extended"
4377
+ ],
4378
+ "name": "columns",
4379
+ "hasDynamicHelp": false,
4380
+ "multiple": false,
4381
+ "type": "option"
4382
+ },
4383
+ "sort": {
4384
+ "description": "Property to sort by (prepend with - for descending)",
4385
+ "name": "sort",
4386
+ "hasDynamicHelp": false,
4387
+ "multiple": false,
4388
+ "type": "option"
4389
+ },
4390
+ "filter": {
4391
+ "description": "Filter property by substring match",
4392
+ "name": "filter",
4393
+ "hasDynamicHelp": false,
4394
+ "multiple": false,
4395
+ "type": "option"
4396
+ },
4397
+ "csv": {
4398
+ "description": "Output in CSV format",
4399
+ "exclusive": [
4400
+ "no-truncate"
4401
+ ],
4402
+ "name": "csv",
4403
+ "allowNo": false,
4404
+ "type": "boolean"
4405
+ },
4406
+ "extended": {
4407
+ "char": "x",
4408
+ "description": "Show extra columns",
4409
+ "name": "extended",
4410
+ "allowNo": false,
4411
+ "type": "boolean"
4412
+ },
4413
+ "no-truncate": {
4414
+ "description": "Do not truncate output to fit screen",
4415
+ "exclusive": [
4416
+ "csv"
4417
+ ],
4418
+ "name": "no-truncate",
4419
+ "allowNo": false,
4420
+ "type": "boolean"
4421
+ },
4422
+ "no-header": {
4423
+ "description": "Hide table header from output",
4424
+ "name": "no-header",
4425
+ "allowNo": false,
4426
+ "type": "boolean"
4427
+ },
4428
+ "json": {
4429
+ "char": "j",
4430
+ "description": "Output as JSON (recommended for automation)",
4431
+ "name": "json",
4432
+ "allowNo": false,
4433
+ "type": "boolean"
4434
+ },
4435
+ "page-size": {
4436
+ "description": "Items per page (1-100, default: 100 for automation)",
4437
+ "name": "page-size",
4438
+ "default": 100,
4439
+ "hasDynamicHelp": false,
4440
+ "multiple": false,
4441
+ "type": "option"
4442
+ },
4443
+ "retry": {
4444
+ "description": "Auto-retry on rate limit (respects Retry-After header)",
4445
+ "name": "retry",
4446
+ "allowNo": false,
4447
+ "type": "boolean"
4448
+ },
4449
+ "timeout": {
4450
+ "description": "Request timeout in milliseconds",
4451
+ "name": "timeout",
4452
+ "default": 30000,
4453
+ "hasDynamicHelp": false,
4454
+ "multiple": false,
4455
+ "type": "option"
4456
+ },
4457
+ "no-cache": {
4458
+ "description": "Bypass cache and force fresh API calls",
4459
+ "name": "no-cache",
4460
+ "allowNo": false,
4461
+ "type": "boolean"
4462
+ },
4463
+ "verbose": {
4464
+ "char": "v",
4465
+ "description": "Enable verbose logging to stderr (retry events, cache stats) - never pollutes stdout",
4466
+ "env": "NOTION_CLI_VERBOSE",
4467
+ "name": "verbose",
4468
+ "allowNo": false,
4469
+ "type": "boolean"
4470
+ },
4471
+ "minimal": {
4472
+ "description": "Strip unnecessary metadata (created_by, last_edited_by, object fields, request_id, etc.) - reduces response size by ~40%",
4473
+ "name": "minimal",
4474
+ "allowNo": false,
4475
+ "type": "boolean"
4476
+ }
4477
+ },
4478
+ "hasDynamicHelp": false,
4479
+ "hiddenAliases": [],
4480
+ "id": "user:retrieve:bot",
4481
+ "pluginAlias": "@infograb/notion-cli",
4482
+ "pluginName": "@infograb/notion-cli",
4483
+ "pluginType": "core",
4484
+ "strict": true,
4485
+ "enableJsonFlag": false,
4486
+ "isESM": false,
4487
+ "relativePath": [
4488
+ "dist",
4489
+ "commands",
4490
+ "user",
4491
+ "retrieve",
4492
+ "bot.js"
4493
+ ]
4494
+ }
4495
+ },
4496
+ "version": "5.9.0"
4497
+ }