@tailglow/cli 0.2.1 → 0.5.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.
- package/package.json +1 -1
- package/src/commands.generated.js +1134 -154
- package/src/flags.js +1 -0
- package/src/help.js +4 -2
- package/src/output.js +1 -0
- package/src/request.js +1 -0
|
@@ -103,6 +103,91 @@ export const CLI_COMMANDS = [
|
|
|
103
103
|
"query_params": [],
|
|
104
104
|
"body_fields": []
|
|
105
105
|
},
|
|
106
|
+
{
|
|
107
|
+
"resource": "projects",
|
|
108
|
+
"command": "pipeline",
|
|
109
|
+
"operation_id": "getProjectPipeline",
|
|
110
|
+
"summary": "Retrieve Project Pipeline",
|
|
111
|
+
"description": "Retrieve ingest activity across all of a project's servers.",
|
|
112
|
+
"method": "GET",
|
|
113
|
+
"path": "/v1/projects/:project_id/pipeline",
|
|
114
|
+
"alternate_paths": [],
|
|
115
|
+
"scopes": [
|
|
116
|
+
"servers:read"
|
|
117
|
+
],
|
|
118
|
+
"notes": [
|
|
119
|
+
"Includes temporary deployment servers and their archived history. Pending averages valid queued records; throughput counts drained records. Older pending history without record counts is unknown."
|
|
120
|
+
],
|
|
121
|
+
"path_params": [
|
|
122
|
+
{
|
|
123
|
+
"name": "project_id",
|
|
124
|
+
"type": "string",
|
|
125
|
+
"required": true,
|
|
126
|
+
"description": "Unique identifier of the project.",
|
|
127
|
+
"allowed_values": [],
|
|
128
|
+
"deprecated": null
|
|
129
|
+
}
|
|
130
|
+
],
|
|
131
|
+
"query_params": [
|
|
132
|
+
{
|
|
133
|
+
"name": "start_at",
|
|
134
|
+
"type": "ISODateString",
|
|
135
|
+
"required": false,
|
|
136
|
+
"description": "Start time (ISO format, default: 12 hours ago). Optional.",
|
|
137
|
+
"allowed_values": [],
|
|
138
|
+
"deprecated": null
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"name": "end_at",
|
|
142
|
+
"type": "ISODateString",
|
|
143
|
+
"required": false,
|
|
144
|
+
"description": "End time (ISO format, default: now). Optional.",
|
|
145
|
+
"allowed_values": [],
|
|
146
|
+
"deprecated": null
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"name": "interval",
|
|
150
|
+
"type": "string",
|
|
151
|
+
"required": false,
|
|
152
|
+
"description": "Aggregation interval. Optional. Defaults to `\"minute\"`.",
|
|
153
|
+
"allowed_values": [
|
|
154
|
+
"minute",
|
|
155
|
+
"hour"
|
|
156
|
+
],
|
|
157
|
+
"deprecated": null
|
|
158
|
+
}
|
|
159
|
+
],
|
|
160
|
+
"body_fields": []
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
"resource": "projects",
|
|
164
|
+
"command": "pipeline-live",
|
|
165
|
+
"operation_id": "getProjectPipelineLive",
|
|
166
|
+
"summary": "Retrieve Live Project Pipeline",
|
|
167
|
+
"description": "Retrieve the current project queue and ingest totals for the last completed minute.",
|
|
168
|
+
"method": "GET",
|
|
169
|
+
"path": "/v1/projects/:project_id/pipeline/live",
|
|
170
|
+
"alternate_paths": [],
|
|
171
|
+
"scopes": [
|
|
172
|
+
"servers:read"
|
|
173
|
+
],
|
|
174
|
+
"notes": [
|
|
175
|
+
"Includes temporary deployment servers. Queue freshness is independent of heartbeat freshness. Observations taken while queues change return estimated counts from durable records; unreadable observations or unknown write outcomes return null counts.",
|
|
176
|
+
"Throughput and error totals cover the last completed minute. Errors count requests or frames, and totals are null when telemetry is incomplete."
|
|
177
|
+
],
|
|
178
|
+
"path_params": [
|
|
179
|
+
{
|
|
180
|
+
"name": "project_id",
|
|
181
|
+
"type": "string",
|
|
182
|
+
"required": true,
|
|
183
|
+
"description": "Unique identifier of the project.",
|
|
184
|
+
"allowed_values": [],
|
|
185
|
+
"deprecated": null
|
|
186
|
+
}
|
|
187
|
+
],
|
|
188
|
+
"query_params": [],
|
|
189
|
+
"body_fields": []
|
|
190
|
+
},
|
|
106
191
|
{
|
|
107
192
|
"resource": "projects",
|
|
108
193
|
"command": "create",
|
|
@@ -134,14 +219,6 @@ export const CLI_COMMANDS = [
|
|
|
134
219
|
"description": "Date and time when the project began collecting data. Optional.",
|
|
135
220
|
"allowed_values": [],
|
|
136
221
|
"deprecated": null
|
|
137
|
-
},
|
|
138
|
-
{
|
|
139
|
-
"name": "show_onboarding_ui",
|
|
140
|
-
"type": "boolean",
|
|
141
|
-
"required": false,
|
|
142
|
-
"description": "Whether to show the onboarding UI. Optional.",
|
|
143
|
-
"allowed_values": [],
|
|
144
|
-
"deprecated": null
|
|
145
222
|
}
|
|
146
223
|
]
|
|
147
224
|
},
|
|
@@ -186,14 +263,6 @@ export const CLI_COMMANDS = [
|
|
|
186
263
|
"allowed_values": [],
|
|
187
264
|
"deprecated": null
|
|
188
265
|
},
|
|
189
|
-
{
|
|
190
|
-
"name": "show_onboarding_ui",
|
|
191
|
-
"type": "boolean",
|
|
192
|
-
"required": false,
|
|
193
|
-
"description": "Whether to show the onboarding UI. Optional.",
|
|
194
|
-
"allowed_values": [],
|
|
195
|
-
"deprecated": null
|
|
196
|
-
},
|
|
197
266
|
{
|
|
198
267
|
"name": "late_data_window_minutes",
|
|
199
268
|
"type": "integer",
|
|
@@ -556,30 +625,6 @@ export const CLI_COMMANDS = [
|
|
|
556
625
|
"allowed_values": [],
|
|
557
626
|
"deprecated": null
|
|
558
627
|
},
|
|
559
|
-
{
|
|
560
|
-
"name": "bloom_depth",
|
|
561
|
-
"type": "integer",
|
|
562
|
-
"required": false,
|
|
563
|
-
"description": "How many bloom filter layers are built for this source. Optional. Minimum: `1`. Maximum: `10`.",
|
|
564
|
-
"allowed_values": [],
|
|
565
|
-
"deprecated": null
|
|
566
|
-
},
|
|
567
|
-
{
|
|
568
|
-
"name": "schema_promotion_threshold",
|
|
569
|
-
"type": "integer",
|
|
570
|
-
"required": false,
|
|
571
|
-
"description": "How many records are sampled before a provisional schema is promoted. Optional. Minimum: `100`. Maximum: `10000`.",
|
|
572
|
-
"allowed_values": [],
|
|
573
|
-
"deprecated": null
|
|
574
|
-
},
|
|
575
|
-
{
|
|
576
|
-
"name": "provisional_schema_ttl_days",
|
|
577
|
-
"type": "integer",
|
|
578
|
-
"required": false,
|
|
579
|
-
"description": "How long a provisional schema is kept before it is cleaned up. Optional. Minimum: `1`. Maximum: `90`.",
|
|
580
|
-
"allowed_values": [],
|
|
581
|
-
"deprecated": null
|
|
582
|
-
},
|
|
583
628
|
{
|
|
584
629
|
"name": "project_id",
|
|
585
630
|
"type": "string",
|
|
@@ -633,30 +678,6 @@ export const CLI_COMMANDS = [
|
|
|
633
678
|
"allowed_values": [],
|
|
634
679
|
"deprecated": null
|
|
635
680
|
},
|
|
636
|
-
{
|
|
637
|
-
"name": "bloom_depth",
|
|
638
|
-
"type": "integer",
|
|
639
|
-
"required": false,
|
|
640
|
-
"description": "How many bloom filter layers are built for this source. Optional. Minimum: `1`. Maximum: `10`.",
|
|
641
|
-
"allowed_values": [],
|
|
642
|
-
"deprecated": null
|
|
643
|
-
},
|
|
644
|
-
{
|
|
645
|
-
"name": "schema_promotion_threshold",
|
|
646
|
-
"type": "integer",
|
|
647
|
-
"required": false,
|
|
648
|
-
"description": "How many records are sampled before a provisional schema is promoted. Optional. Minimum: `100`. Maximum: `10000`.",
|
|
649
|
-
"allowed_values": [],
|
|
650
|
-
"deprecated": null
|
|
651
|
-
},
|
|
652
|
-
{
|
|
653
|
-
"name": "provisional_schema_ttl_days",
|
|
654
|
-
"type": "integer",
|
|
655
|
-
"required": false,
|
|
656
|
-
"description": "How long a provisional schema is kept before it is cleaned up. Optional. Minimum: `1`. Maximum: `90`.",
|
|
657
|
-
"allowed_values": [],
|
|
658
|
-
"deprecated": null
|
|
659
|
-
},
|
|
660
681
|
{
|
|
661
682
|
"name": "deleted_at",
|
|
662
683
|
"type": "null",
|
|
@@ -741,11 +762,11 @@ export const CLI_COMMANDS = [
|
|
|
741
762
|
"body_fields": []
|
|
742
763
|
},
|
|
743
764
|
{
|
|
744
|
-
"resource": "
|
|
765
|
+
"resource": "ingest_keys",
|
|
745
766
|
"command": "list",
|
|
746
767
|
"operation_id": "listIngestKeys",
|
|
747
768
|
"summary": "List Ingest Keys",
|
|
748
|
-
"description": "Retrieve
|
|
769
|
+
"description": "Retrieve every address that can send records to a source.",
|
|
749
770
|
"method": "GET",
|
|
750
771
|
"path": "/v1/projects/:project_id/sources/:source_id/ingest_keys",
|
|
751
772
|
"alternate_paths": [],
|
|
@@ -789,7 +810,7 @@ export const CLI_COMMANDS = [
|
|
|
789
810
|
"name": "status",
|
|
790
811
|
"type": "IngestKeyStatus",
|
|
791
812
|
"required": false,
|
|
792
|
-
"description": "Filter by
|
|
813
|
+
"description": "Filter by whether the URL still accepts records. Optional.",
|
|
793
814
|
"allowed_values": [
|
|
794
815
|
"active",
|
|
795
816
|
"revoked",
|
|
@@ -801,7 +822,7 @@ export const CLI_COMMANDS = [
|
|
|
801
822
|
"name": "project_id",
|
|
802
823
|
"type": "string",
|
|
803
824
|
"required": false,
|
|
804
|
-
"description": "Filter to
|
|
825
|
+
"description": "Filter to URLs whose source belongs to a project. Optional.",
|
|
805
826
|
"allowed_values": [],
|
|
806
827
|
"deprecated": null
|
|
807
828
|
},
|
|
@@ -809,7 +830,7 @@ export const CLI_COMMANDS = [
|
|
|
809
830
|
"name": "source_id",
|
|
810
831
|
"type": "string",
|
|
811
832
|
"required": false,
|
|
812
|
-
"description": "Filter to
|
|
833
|
+
"description": "Filter to URLs belonging to a single source. Optional.",
|
|
813
834
|
"allowed_values": [],
|
|
814
835
|
"deprecated": null
|
|
815
836
|
},
|
|
@@ -852,7 +873,7 @@ export const CLI_COMMANDS = [
|
|
|
852
873
|
"body_fields": []
|
|
853
874
|
},
|
|
854
875
|
{
|
|
855
|
-
"resource": "
|
|
876
|
+
"resource": "ingest_keys",
|
|
856
877
|
"command": "retrieve",
|
|
857
878
|
"operation_id": "getIngestKey",
|
|
858
879
|
"summary": "Retrieve Ingest Key",
|
|
@@ -894,11 +915,11 @@ export const CLI_COMMANDS = [
|
|
|
894
915
|
"body_fields": []
|
|
895
916
|
},
|
|
896
917
|
{
|
|
897
|
-
"resource": "
|
|
918
|
+
"resource": "ingest_keys",
|
|
898
919
|
"command": "create",
|
|
899
920
|
"operation_id": "createIngestKey",
|
|
900
921
|
"summary": "Create Ingest Key",
|
|
901
|
-
"description": "Create an ingest key for a source.",
|
|
922
|
+
"description": "Create an ingest key for a source. Use this to rotate: create the replacement, deploy it, then delete the old one.",
|
|
902
923
|
"method": "POST",
|
|
903
924
|
"path": "/v1/projects/:project_id/sources/:source_id/ingest_keys",
|
|
904
925
|
"alternate_paths": [],
|
|
@@ -934,18 +955,18 @@ export const CLI_COMMANDS = [
|
|
|
934
955
|
"name": "source_id",
|
|
935
956
|
"type": "string",
|
|
936
957
|
"required": false,
|
|
937
|
-
"description": "Source the
|
|
958
|
+
"description": "Source the URL writes into. Ignored when the nested path supplies it. Optional.",
|
|
938
959
|
"allowed_values": [],
|
|
939
960
|
"deprecated": null
|
|
940
961
|
}
|
|
941
962
|
]
|
|
942
963
|
},
|
|
943
964
|
{
|
|
944
|
-
"resource": "
|
|
965
|
+
"resource": "ingest_keys",
|
|
945
966
|
"command": "delete",
|
|
946
967
|
"operation_id": "deleteIngestKey",
|
|
947
968
|
"summary": "Delete Ingest Key",
|
|
948
|
-
"description": "Delete an ingest key.
|
|
969
|
+
"description": "Delete an ingest key. Records already sent to it are unaffected; the address stops being accepted.",
|
|
949
970
|
"method": "DELETE",
|
|
950
971
|
"path": "/v1/projects/:project_id/sources/:source_id/ingest_keys/:ingest_key_id",
|
|
951
972
|
"alternate_paths": [],
|
|
@@ -1216,6 +1237,135 @@ export const CLI_COMMANDS = [
|
|
|
1216
1237
|
"allowed_values": [],
|
|
1217
1238
|
"deprecated": null
|
|
1218
1239
|
},
|
|
1240
|
+
{
|
|
1241
|
+
"name": "expected_updated_at",
|
|
1242
|
+
"type": "ISODateString",
|
|
1243
|
+
"required": false,
|
|
1244
|
+
"description": "Reject this update if the collection changed since this inspected update time. Optional.",
|
|
1245
|
+
"allowed_values": [],
|
|
1246
|
+
"deprecated": null
|
|
1247
|
+
},
|
|
1248
|
+
{
|
|
1249
|
+
"name": "schema_opaque_paths",
|
|
1250
|
+
"type": "string[][]",
|
|
1251
|
+
"required": false,
|
|
1252
|
+
"description": "Object paths whose contents do not take part in schema identity, each written as its key segments (`[\"metadata\", \"id\"]`). A path that names an array covers its elements and their children. Records that differ only inside an opaque path share one schema version; the raw values are still stored. Changing this re-keys the collection. Optional.",
|
|
1253
|
+
"allowed_values": [],
|
|
1254
|
+
"deprecated": null
|
|
1255
|
+
},
|
|
1256
|
+
{
|
|
1257
|
+
"name": "schema_tracked_paths",
|
|
1258
|
+
"type": "string[][]",
|
|
1259
|
+
"required": false,
|
|
1260
|
+
"description": "Children of opaque paths that stay part of schema identity, written like `schema_opaque_paths`. Changing this re-keys the collection. Optional.",
|
|
1261
|
+
"allowed_values": [],
|
|
1262
|
+
"deprecated": null
|
|
1263
|
+
},
|
|
1264
|
+
{
|
|
1265
|
+
"name": "schema_max_depth",
|
|
1266
|
+
"type": "integer",
|
|
1267
|
+
"required": false,
|
|
1268
|
+
"description": "How many levels of nesting take part in schema identity. Changing this re-keys the collection. Optional. Minimum: `1`. Maximum: `10`.",
|
|
1269
|
+
"allowed_values": [],
|
|
1270
|
+
"deprecated": null
|
|
1271
|
+
},
|
|
1272
|
+
{
|
|
1273
|
+
"name": "schema_nulls",
|
|
1274
|
+
"type": "string",
|
|
1275
|
+
"required": false,
|
|
1276
|
+
"description": "`auto` accepts null and absent values at any path a mapping reads; `manual` waits for a person to approve each nullable input per view. Optional.",
|
|
1277
|
+
"allowed_values": [
|
|
1278
|
+
"auto",
|
|
1279
|
+
"manual"
|
|
1280
|
+
],
|
|
1281
|
+
"deprecated": null
|
|
1282
|
+
},
|
|
1283
|
+
{
|
|
1284
|
+
"name": "schema_optional_keys",
|
|
1285
|
+
"type": "string",
|
|
1286
|
+
"required": false,
|
|
1287
|
+
"description": "`auto` lets a record whose keys are a subset of a version's keys join that version; `manual` treats every absent key as a different shape. Optional.",
|
|
1288
|
+
"allowed_values": [
|
|
1289
|
+
"auto",
|
|
1290
|
+
"manual"
|
|
1291
|
+
],
|
|
1292
|
+
"deprecated": null
|
|
1293
|
+
},
|
|
1294
|
+
{
|
|
1295
|
+
"name": "schema_detector",
|
|
1296
|
+
"type": "string",
|
|
1297
|
+
"required": false,
|
|
1298
|
+
"description": "`auto` applies a safe opaque-path proposal from the detector on its own; `manual` holds every proposal for a person. Optional.",
|
|
1299
|
+
"allowed_values": [
|
|
1300
|
+
"auto",
|
|
1301
|
+
"manual"
|
|
1302
|
+
],
|
|
1303
|
+
"deprecated": null
|
|
1304
|
+
},
|
|
1305
|
+
{
|
|
1306
|
+
"name": "schema_recurrence_gap_ms",
|
|
1307
|
+
"type": "integer",
|
|
1308
|
+
"required": false,
|
|
1309
|
+
"description": "How long after first sight a shape must be seen again before its version settles, in milliseconds. Optional. Minimum: `60000`. Maximum: `604800000`.",
|
|
1310
|
+
"allowed_values": [],
|
|
1311
|
+
"deprecated": null
|
|
1312
|
+
},
|
|
1313
|
+
{
|
|
1314
|
+
"name": "schema_bulk_rows",
|
|
1315
|
+
"type": "integer",
|
|
1316
|
+
"required": false,
|
|
1317
|
+
"description": "A single batch carrying at least this many rows of a shape settles its version immediately. `0` disables the bulk path. Optional. Minimum: `0`. Maximum: `1000000`.",
|
|
1318
|
+
"allowed_values": [],
|
|
1319
|
+
"deprecated": null
|
|
1320
|
+
},
|
|
1321
|
+
{
|
|
1322
|
+
"name": "schema_stale_after_ms",
|
|
1323
|
+
"type": "integer",
|
|
1324
|
+
"required": false,
|
|
1325
|
+
"description": "How long a candidate version waits to be seen again before it goes stale, in milliseconds. Optional. Minimum: `3600000`. Maximum: `7776000000`.",
|
|
1326
|
+
"allowed_values": [],
|
|
1327
|
+
"deprecated": null
|
|
1328
|
+
},
|
|
1329
|
+
{
|
|
1330
|
+
"name": "schema_identity_limit",
|
|
1331
|
+
"type": "integer",
|
|
1332
|
+
"required": false,
|
|
1333
|
+
"description": "How many settled schema versions the collection may hold. Past it, new shapes stay unclassified with their signatures kept. Optional. Minimum: `1`. Maximum: `4096`.",
|
|
1334
|
+
"allowed_values": [],
|
|
1335
|
+
"deprecated": null
|
|
1336
|
+
},
|
|
1337
|
+
{
|
|
1338
|
+
"name": "schema_candidate_pool",
|
|
1339
|
+
"type": "integer",
|
|
1340
|
+
"required": false,
|
|
1341
|
+
"description": "How many candidate and stale versions the collection may hold. Past it, new shapes stay unclassified. Optional. Minimum: `1`. Maximum: `8192`.",
|
|
1342
|
+
"allowed_values": [],
|
|
1343
|
+
"deprecated": null
|
|
1344
|
+
},
|
|
1345
|
+
{
|
|
1346
|
+
"name": "schema_alias_pool",
|
|
1347
|
+
"type": "integer",
|
|
1348
|
+
"required": false,
|
|
1349
|
+
"description": "How many exact signature hashes the collection remembers for fast lookup. Past it, a new hash is still resolved but not cached. Optional. Minimum: `16`. Maximum: `100000`.",
|
|
1350
|
+
"allowed_values": [],
|
|
1351
|
+
"deprecated": null
|
|
1352
|
+
},
|
|
1353
|
+
{
|
|
1354
|
+
"name": "schema_writer_limit",
|
|
1355
|
+
"type": "integer",
|
|
1356
|
+
"required": false,
|
|
1357
|
+
"description": "How many collection files one ingest batch may open for this collection. Shapes past the candidate pool get the same number of files per batch, the shapes with the most rows first; the rows of shapes past that budget stay unclassified and cannot be linked to a version later. Optional. Minimum: `1`. Maximum: `256`.",
|
|
1358
|
+
"allowed_values": [],
|
|
1359
|
+
"deprecated": null
|
|
1360
|
+
},
|
|
1361
|
+
{
|
|
1362
|
+
"name": "schema_unclassified_retention_days",
|
|
1363
|
+
"type": "integer | null",
|
|
1364
|
+
"required": false,
|
|
1365
|
+
"description": "How many days rows without a settled schema version are kept before they are deleted. `null` keeps them forever. Optional.",
|
|
1366
|
+
"allowed_values": [],
|
|
1367
|
+
"deprecated": null
|
|
1368
|
+
},
|
|
1219
1369
|
{
|
|
1220
1370
|
"name": "deleted_at",
|
|
1221
1371
|
"type": "null",
|
|
@@ -1304,7 +1454,7 @@ export const CLI_COMMANDS = [
|
|
|
1304
1454
|
"command": "list-schemas",
|
|
1305
1455
|
"operation_id": "listCollectionSchemas",
|
|
1306
1456
|
"summary": "List Collection Schemas",
|
|
1307
|
-
"description": "Retrieve the
|
|
1457
|
+
"description": "Retrieve the schema versions for a collection.",
|
|
1308
1458
|
"method": "GET",
|
|
1309
1459
|
"path": "/v1/projects/:project_id/collections/:collection_id/schemas",
|
|
1310
1460
|
"alternate_paths": [],
|
|
@@ -1312,6 +1462,7 @@ export const CLI_COMMANDS = [
|
|
|
1312
1462
|
"sources:read"
|
|
1313
1463
|
],
|
|
1314
1464
|
"notes": [
|
|
1465
|
+
"`state` is `candidate` from first sight, `settled` once the shape recurs or arrives in bulk, and `stale` when a candidate is not seen again. Only a settled version is offered to views for authoring.",
|
|
1315
1466
|
"`after` and `before` are mutually exclusive."
|
|
1316
1467
|
],
|
|
1317
1468
|
"path_params": [
|
|
@@ -1332,46 +1483,212 @@ export const CLI_COMMANDS = [
|
|
|
1332
1483
|
"deprecated": null
|
|
1333
1484
|
}
|
|
1334
1485
|
],
|
|
1335
|
-
"query_params": [
|
|
1336
|
-
"body_fields": []
|
|
1337
|
-
},
|
|
1338
|
-
{
|
|
1339
|
-
"resource": "collections",
|
|
1340
|
-
"command": "list-provisional-schemas",
|
|
1341
|
-
"operation_id": "listCollectionProvisionalSchemas",
|
|
1342
|
-
"summary": "List Provisional Schemas",
|
|
1343
|
-
"description": "Retrieve the schemas seen but not yet promoted for a collection.",
|
|
1344
|
-
"method": "GET",
|
|
1345
|
-
"path": "/v1/projects/:project_id/collections/:collection_id/provisional_schemas",
|
|
1346
|
-
"alternate_paths": [],
|
|
1347
|
-
"scopes": [
|
|
1348
|
-
"sources:read"
|
|
1349
|
-
],
|
|
1350
|
-
"notes": [
|
|
1351
|
-
"A provisional schema is promoted once enough records match it, and cleaned up if it goes stale first. Both thresholds are set on the collection's source.",
|
|
1352
|
-
"`after` and `before` are mutually exclusive."
|
|
1353
|
-
],
|
|
1354
|
-
"path_params": [
|
|
1486
|
+
"query_params": [
|
|
1355
1487
|
{
|
|
1356
|
-
"name": "
|
|
1488
|
+
"name": "limit",
|
|
1489
|
+
"type": "number",
|
|
1490
|
+
"required": false,
|
|
1491
|
+
"description": "Maximum number of items to return. Optional. Defaults to `25`. Minimum: `1`. Maximum: `200`.",
|
|
1492
|
+
"allowed_values": [],
|
|
1493
|
+
"deprecated": null
|
|
1494
|
+
},
|
|
1495
|
+
{
|
|
1496
|
+
"name": "after",
|
|
1357
1497
|
"type": "string",
|
|
1358
|
-
"required":
|
|
1359
|
-
"description": "
|
|
1498
|
+
"required": false,
|
|
1499
|
+
"description": "Cursor from `pagination.next_cursor` of a previous response. Returns the resources after that page. Optional.",
|
|
1360
1500
|
"allowed_values": [],
|
|
1361
1501
|
"deprecated": null
|
|
1362
1502
|
},
|
|
1363
1503
|
{
|
|
1364
|
-
"name": "
|
|
1504
|
+
"name": "before",
|
|
1365
1505
|
"type": "string",
|
|
1366
|
-
"required":
|
|
1367
|
-
"description": "
|
|
1506
|
+
"required": false,
|
|
1507
|
+
"description": "Cursor from `pagination.prev_cursor` of a previous response. Returns the resources before that page. Optional.",
|
|
1368
1508
|
"allowed_values": [],
|
|
1369
1509
|
"deprecated": null
|
|
1370
|
-
}
|
|
1371
|
-
|
|
1372
|
-
|
|
1510
|
+
},
|
|
1511
|
+
{
|
|
1512
|
+
"name": "sort",
|
|
1513
|
+
"type": "string",
|
|
1514
|
+
"required": false,
|
|
1515
|
+
"description": "Sort direction for the result set. Optional. Defaults to `\"desc\"`.",
|
|
1516
|
+
"allowed_values": [
|
|
1517
|
+
"asc",
|
|
1518
|
+
"desc"
|
|
1519
|
+
],
|
|
1520
|
+
"deprecated": null
|
|
1521
|
+
},
|
|
1522
|
+
{
|
|
1523
|
+
"name": "state",
|
|
1524
|
+
"type": "string",
|
|
1525
|
+
"required": false,
|
|
1526
|
+
"description": "Return only schema versions in this state. Optional.",
|
|
1527
|
+
"allowed_values": [
|
|
1528
|
+
"candidate",
|
|
1529
|
+
"settled",
|
|
1530
|
+
"stale"
|
|
1531
|
+
],
|
|
1532
|
+
"deprecated": null
|
|
1533
|
+
}
|
|
1534
|
+
],
|
|
1373
1535
|
"body_fields": []
|
|
1374
1536
|
},
|
|
1537
|
+
{
|
|
1538
|
+
"resource": "collections",
|
|
1539
|
+
"command": "update-schema",
|
|
1540
|
+
"operation_id": "updateCollectionSchema",
|
|
1541
|
+
"summary": "Update Collection Schema",
|
|
1542
|
+
"description": "Settle a schema version by hand, so views can author against it before its shape recurs.",
|
|
1543
|
+
"method": "POST",
|
|
1544
|
+
"path": "/v1/projects/:project_id/collections/:collection_id/schemas/:schema_version_id",
|
|
1545
|
+
"alternate_paths": [],
|
|
1546
|
+
"scopes": [
|
|
1547
|
+
"sources:write"
|
|
1548
|
+
],
|
|
1549
|
+
"notes": [
|
|
1550
|
+
"`state` accepts only `settled`; a settled version never returns to candidate or stale.",
|
|
1551
|
+
"A version that is already settled is left as it is and responds with `request_no_update`."
|
|
1552
|
+
],
|
|
1553
|
+
"path_params": [
|
|
1554
|
+
{
|
|
1555
|
+
"name": "project_id",
|
|
1556
|
+
"type": "string",
|
|
1557
|
+
"required": true,
|
|
1558
|
+
"description": "Unique identifier of the project.",
|
|
1559
|
+
"allowed_values": [],
|
|
1560
|
+
"deprecated": null
|
|
1561
|
+
},
|
|
1562
|
+
{
|
|
1563
|
+
"name": "collection_id",
|
|
1564
|
+
"type": "string",
|
|
1565
|
+
"required": true,
|
|
1566
|
+
"description": "Unique identifier of the collection.",
|
|
1567
|
+
"allowed_values": [],
|
|
1568
|
+
"deprecated": null
|
|
1569
|
+
},
|
|
1570
|
+
{
|
|
1571
|
+
"name": "schema_version_id",
|
|
1572
|
+
"type": "string",
|
|
1573
|
+
"required": true,
|
|
1574
|
+
"description": "Unique identifier of the schema.",
|
|
1575
|
+
"allowed_values": [],
|
|
1576
|
+
"deprecated": null
|
|
1577
|
+
}
|
|
1578
|
+
],
|
|
1579
|
+
"query_params": [],
|
|
1580
|
+
"body_fields": [
|
|
1581
|
+
{
|
|
1582
|
+
"name": "state",
|
|
1583
|
+
"type": "string",
|
|
1584
|
+
"required": true,
|
|
1585
|
+
"description": "The only state a person sets. `settled` trusts the version for view authoring now, without waiting for its shape to recur; a settled version never goes back.",
|
|
1586
|
+
"allowed_values": [
|
|
1587
|
+
"settled"
|
|
1588
|
+
],
|
|
1589
|
+
"deprecated": null
|
|
1590
|
+
}
|
|
1591
|
+
]
|
|
1592
|
+
},
|
|
1593
|
+
{
|
|
1594
|
+
"resource": "collections",
|
|
1595
|
+
"command": "retrieve-schema-report",
|
|
1596
|
+
"operation_id": "getCollectionSchemaReport",
|
|
1597
|
+
"summary": "Retrieve Collection Schema Report",
|
|
1598
|
+
"description": "Retrieve the detector's view of a collection: the opaque paths it proposes, whether the top-level keys are data, and how many shapes sit unclassified past the collection's pools.",
|
|
1599
|
+
"method": "GET",
|
|
1600
|
+
"path": "/v1/projects/:project_id/collections/:collection_id/schema_report",
|
|
1601
|
+
"alternate_paths": [],
|
|
1602
|
+
"scopes": [
|
|
1603
|
+
"sources:read"
|
|
1604
|
+
],
|
|
1605
|
+
"notes": [
|
|
1606
|
+
"A proposal a bound mapping reads inside is reported and never applied on its own, whatever the detector switch; apply it by adding its path to the collection's `schema_opaque_paths` and its tracked children to `schema_tracked_paths`.",
|
|
1607
|
+
"`shapes.before` and `shapes.after` are equal here; the preview is where they differ."
|
|
1608
|
+
],
|
|
1609
|
+
"path_params": [
|
|
1610
|
+
{
|
|
1611
|
+
"name": "project_id",
|
|
1612
|
+
"type": "string",
|
|
1613
|
+
"required": true,
|
|
1614
|
+
"description": "Unique identifier of the project.",
|
|
1615
|
+
"allowed_values": [],
|
|
1616
|
+
"deprecated": null
|
|
1617
|
+
},
|
|
1618
|
+
{
|
|
1619
|
+
"name": "collection_id",
|
|
1620
|
+
"type": "string",
|
|
1621
|
+
"required": true,
|
|
1622
|
+
"description": "Unique identifier of the collection.",
|
|
1623
|
+
"allowed_values": [],
|
|
1624
|
+
"deprecated": null
|
|
1625
|
+
}
|
|
1626
|
+
],
|
|
1627
|
+
"query_params": [],
|
|
1628
|
+
"body_fields": []
|
|
1629
|
+
},
|
|
1630
|
+
{
|
|
1631
|
+
"resource": "collections",
|
|
1632
|
+
"command": "preview-schema-rules",
|
|
1633
|
+
"operation_id": "previewCollectionSchemaRules",
|
|
1634
|
+
"summary": "Preview Collection Schema Rules",
|
|
1635
|
+
"description": "Preview a rule change: the schema report the collection would read under the rules sent, with how many shapes it holds now and how many it would hold. Nothing is changed.",
|
|
1636
|
+
"method": "POST",
|
|
1637
|
+
"path": "/v1/projects/:project_id/collections/:collection_id/schema_preview",
|
|
1638
|
+
"alternate_paths": [],
|
|
1639
|
+
"scopes": [
|
|
1640
|
+
"sources:read"
|
|
1641
|
+
],
|
|
1642
|
+
"notes": [
|
|
1643
|
+
"A rule left out of the body keeps the collection's current value.",
|
|
1644
|
+
"`shapes.before` counts the shapes under the collection's current rules and `shapes.after` under the rules sent; the difference is what updating the collection with those rules would merge."
|
|
1645
|
+
],
|
|
1646
|
+
"path_params": [
|
|
1647
|
+
{
|
|
1648
|
+
"name": "project_id",
|
|
1649
|
+
"type": "string",
|
|
1650
|
+
"required": true,
|
|
1651
|
+
"description": "Unique identifier of the project.",
|
|
1652
|
+
"allowed_values": [],
|
|
1653
|
+
"deprecated": null
|
|
1654
|
+
},
|
|
1655
|
+
{
|
|
1656
|
+
"name": "collection_id",
|
|
1657
|
+
"type": "string",
|
|
1658
|
+
"required": true,
|
|
1659
|
+
"description": "Unique identifier of the collection.",
|
|
1660
|
+
"allowed_values": [],
|
|
1661
|
+
"deprecated": null
|
|
1662
|
+
}
|
|
1663
|
+
],
|
|
1664
|
+
"query_params": [],
|
|
1665
|
+
"body_fields": [
|
|
1666
|
+
{
|
|
1667
|
+
"name": "schema_opaque_paths",
|
|
1668
|
+
"type": "string[][]",
|
|
1669
|
+
"required": false,
|
|
1670
|
+
"description": "Opaque paths to preview, written like the collection's `schema_opaque_paths`. Omitted, the collection's current opaque paths apply. Optional.",
|
|
1671
|
+
"allowed_values": [],
|
|
1672
|
+
"deprecated": null
|
|
1673
|
+
},
|
|
1674
|
+
{
|
|
1675
|
+
"name": "schema_tracked_paths",
|
|
1676
|
+
"type": "string[][]",
|
|
1677
|
+
"required": false,
|
|
1678
|
+
"description": "Tracked paths to preview, written like the collection's `schema_tracked_paths`. Omitted, the collection's current tracked paths apply. Optional.",
|
|
1679
|
+
"allowed_values": [],
|
|
1680
|
+
"deprecated": null
|
|
1681
|
+
},
|
|
1682
|
+
{
|
|
1683
|
+
"name": "schema_max_depth",
|
|
1684
|
+
"type": "integer",
|
|
1685
|
+
"required": false,
|
|
1686
|
+
"description": "Max depth to preview. Omitted, the collection's current max depth applies. Optional. Minimum: `1`. Maximum: `10`.",
|
|
1687
|
+
"allowed_values": [],
|
|
1688
|
+
"deprecated": null
|
|
1689
|
+
}
|
|
1690
|
+
]
|
|
1691
|
+
},
|
|
1375
1692
|
{
|
|
1376
1693
|
"resource": "collections",
|
|
1377
1694
|
"command": "list-docs",
|
|
@@ -1594,14 +1911,6 @@ export const CLI_COMMANDS = [
|
|
|
1594
1911
|
"allowed_values": [],
|
|
1595
1912
|
"deprecated": null
|
|
1596
1913
|
},
|
|
1597
|
-
{
|
|
1598
|
-
"name": "description",
|
|
1599
|
-
"type": "string | null",
|
|
1600
|
-
"required": false,
|
|
1601
|
-
"description": "Description of the view. Optional.",
|
|
1602
|
-
"allowed_values": [],
|
|
1603
|
-
"deprecated": null
|
|
1604
|
-
},
|
|
1605
1914
|
{
|
|
1606
1915
|
"name": "output_schema",
|
|
1607
1916
|
"type": "object[]",
|
|
@@ -1618,6 +1927,14 @@ export const CLI_COMMANDS = [
|
|
|
1618
1927
|
"allowed_values": [],
|
|
1619
1928
|
"deprecated": null
|
|
1620
1929
|
},
|
|
1930
|
+
{
|
|
1931
|
+
"name": "mapping_policy",
|
|
1932
|
+
"type": "object",
|
|
1933
|
+
"required": false,
|
|
1934
|
+
"description": "Optional.",
|
|
1935
|
+
"allowed_values": [],
|
|
1936
|
+
"deprecated": null
|
|
1937
|
+
},
|
|
1621
1938
|
{
|
|
1622
1939
|
"name": "project_id",
|
|
1623
1940
|
"type": "string",
|
|
@@ -1652,7 +1969,7 @@ export const CLI_COMMANDS = [
|
|
|
1652
1969
|
},
|
|
1653
1970
|
{
|
|
1654
1971
|
"name": "transform_mode",
|
|
1655
|
-
"type": "
|
|
1972
|
+
"type": "string",
|
|
1656
1973
|
"required": false,
|
|
1657
1974
|
"description": "Whether a new schema version that no existing transform covers gets a script generated for it, or waits for you to write one. Defaults to auto. Optional.",
|
|
1658
1975
|
"allowed_values": [
|
|
@@ -1704,14 +2021,6 @@ export const CLI_COMMANDS = [
|
|
|
1704
2021
|
"allowed_values": [],
|
|
1705
2022
|
"deprecated": null
|
|
1706
2023
|
},
|
|
1707
|
-
{
|
|
1708
|
-
"name": "description",
|
|
1709
|
-
"type": "string",
|
|
1710
|
-
"required": false,
|
|
1711
|
-
"description": "What this join view is for. Optional. Maximum length: `2048`.",
|
|
1712
|
-
"allowed_values": [],
|
|
1713
|
-
"deprecated": null
|
|
1714
|
-
},
|
|
1715
2024
|
{
|
|
1716
2025
|
"name": "project_id",
|
|
1717
2026
|
"type": "string",
|
|
@@ -1767,7 +2076,7 @@ export const CLI_COMMANDS = [
|
|
|
1767
2076
|
"command": "update",
|
|
1768
2077
|
"operation_id": "updateView",
|
|
1769
2078
|
"summary": "Update View",
|
|
1770
|
-
"description": "Update a view's name
|
|
2079
|
+
"description": "Update a view's name or output schema.",
|
|
1771
2080
|
"method": "POST",
|
|
1772
2081
|
"path": "/v1/projects/:project_id/views/:view_id",
|
|
1773
2082
|
"alternate_paths": [],
|
|
@@ -1775,7 +2084,8 @@ export const CLI_COMMANDS = [
|
|
|
1775
2084
|
"views:write"
|
|
1776
2085
|
],
|
|
1777
2086
|
"notes": [
|
|
1778
|
-
"
|
|
2087
|
+
"Output schema changes are accepted only before a mapping or stored output exists. Changing an existing view's output schema requires a recovery transition that is not yet supported.",
|
|
2088
|
+
"Mapping policy changes on an existing mapping require reviewed coverage recovery. Hint changes preserve accepted mappings and retry undecided work with the new hint.",
|
|
1779
2089
|
"What a view reads from is fixed at creation, so `collection_id` and `parent_view_id` are not accepted here. Create a new view to read from something else.",
|
|
1780
2090
|
"`output_schema` field names must be unique by name, cannot conflict on type, and cannot collide with a reserved query key such as `limit` or `cursor`.",
|
|
1781
2091
|
"Use `hint` for rules the generator cannot read off the field names: a formatting rule (\"display_name should be Name (Type)\"), a business threshold (\"classify as high above 500\"), or a disambiguation when a source field could map more than one way. Skip it for obvious mappings like renames and type conversions, which the generator already handles."
|
|
@@ -1801,18 +2111,18 @@ export const CLI_COMMANDS = [
|
|
|
1801
2111
|
"query_params": [],
|
|
1802
2112
|
"body_fields": [
|
|
1803
2113
|
{
|
|
1804
|
-
"name": "
|
|
1805
|
-
"type": "
|
|
2114
|
+
"name": "mapping_policy",
|
|
2115
|
+
"type": "object",
|
|
1806
2116
|
"required": false,
|
|
1807
|
-
"description": "
|
|
2117
|
+
"description": "Optional.",
|
|
1808
2118
|
"allowed_values": [],
|
|
1809
2119
|
"deprecated": null
|
|
1810
2120
|
},
|
|
1811
2121
|
{
|
|
1812
|
-
"name": "
|
|
1813
|
-
"type": "string
|
|
2122
|
+
"name": "name",
|
|
2123
|
+
"type": "string",
|
|
1814
2124
|
"required": false,
|
|
1815
|
-
"description": "
|
|
2125
|
+
"description": "Name for the view. Optional. Minimum length: `1`. Maximum length: `128`.",
|
|
1816
2126
|
"allowed_values": [],
|
|
1817
2127
|
"deprecated": null
|
|
1818
2128
|
},
|
|
@@ -1834,7 +2144,7 @@ export const CLI_COMMANDS = [
|
|
|
1834
2144
|
},
|
|
1835
2145
|
{
|
|
1836
2146
|
"name": "transform_mode",
|
|
1837
|
-
"type": "
|
|
2147
|
+
"type": "string",
|
|
1838
2148
|
"required": false,
|
|
1839
2149
|
"description": "Whether a new schema version that no existing transform covers gets a script generated for it, or waits for you to write one. Optional.",
|
|
1840
2150
|
"allowed_values": [
|
|
@@ -1875,7 +2185,7 @@ export const CLI_COMMANDS = [
|
|
|
1875
2185
|
],
|
|
1876
2186
|
"notes": [
|
|
1877
2187
|
"Views derived from this one are deleted with it.",
|
|
1878
|
-
"The delete is refused while an active drain reads from this view or from any view that would cascade with it. Delete
|
|
2188
|
+
"The delete is refused while an active drain reads from this view or from any view that would cascade with it. Delete those drains first. Draft drains are removed silently.",
|
|
1879
2189
|
"Backfill and indexing work for the whole cascade is cancelled immediately, so a deleted view stops consuming capacity before its rows are removed."
|
|
1880
2190
|
],
|
|
1881
2191
|
"path_params": [
|
|
@@ -2073,6 +2383,209 @@ export const CLI_COMMANDS = [
|
|
|
2073
2383
|
],
|
|
2074
2384
|
"body_fields": []
|
|
2075
2385
|
},
|
|
2386
|
+
{
|
|
2387
|
+
"resource": "views",
|
|
2388
|
+
"command": "inspect-deferral",
|
|
2389
|
+
"operation_id": "inspectViewDeferral",
|
|
2390
|
+
"summary": "Inspect Waiting Shape",
|
|
2391
|
+
"description": "Inspect structural differences and candidate output bindings for a waiting shape.",
|
|
2392
|
+
"method": "GET",
|
|
2393
|
+
"path": "/v1/projects/:project_id/views/:view_id/deferrals/:deferral_id",
|
|
2394
|
+
"alternate_paths": [],
|
|
2395
|
+
"scopes": [
|
|
2396
|
+
"views:read"
|
|
2397
|
+
],
|
|
2398
|
+
"notes": [],
|
|
2399
|
+
"path_params": [
|
|
2400
|
+
{
|
|
2401
|
+
"name": "project_id",
|
|
2402
|
+
"type": "string",
|
|
2403
|
+
"required": true,
|
|
2404
|
+
"description": "Unique identifier of the project.",
|
|
2405
|
+
"allowed_values": [],
|
|
2406
|
+
"deprecated": null
|
|
2407
|
+
},
|
|
2408
|
+
{
|
|
2409
|
+
"name": "view_id",
|
|
2410
|
+
"type": "string",
|
|
2411
|
+
"required": true,
|
|
2412
|
+
"description": "Unique identifier of the view.",
|
|
2413
|
+
"allowed_values": [],
|
|
2414
|
+
"deprecated": null
|
|
2415
|
+
},
|
|
2416
|
+
{
|
|
2417
|
+
"name": "deferral_id",
|
|
2418
|
+
"type": "string",
|
|
2419
|
+
"required": true,
|
|
2420
|
+
"description": "Unique identifier of the deferral.",
|
|
2421
|
+
"allowed_values": [],
|
|
2422
|
+
"deprecated": null
|
|
2423
|
+
}
|
|
2424
|
+
],
|
|
2425
|
+
"query_params": [],
|
|
2426
|
+
"body_fields": []
|
|
2427
|
+
},
|
|
2428
|
+
{
|
|
2429
|
+
"resource": "views",
|
|
2430
|
+
"command": "retrieve-deferral-hint",
|
|
2431
|
+
"operation_id": "retrieveViewDeferralHint",
|
|
2432
|
+
"summary": "Retrieve Waiting Shape Hint",
|
|
2433
|
+
"description": "Retrieve the model's current binding question for a waiting shape.",
|
|
2434
|
+
"method": "GET",
|
|
2435
|
+
"path": "/v1/projects/:project_id/views/:view_id/deferrals/:deferral_id/hint",
|
|
2436
|
+
"alternate_paths": [],
|
|
2437
|
+
"scopes": [
|
|
2438
|
+
"views:read",
|
|
2439
|
+
"sources:read"
|
|
2440
|
+
],
|
|
2441
|
+
"notes": [
|
|
2442
|
+
"Requires both views:read and sources:read because model prose may refer to source records. Suggested paths are verified source fields in unambiguous JSON bracket notation.",
|
|
2443
|
+
"Returns null when no current question remains. Answer using this question's episode, mapping_generation, requested_at, and transform_id."
|
|
2444
|
+
],
|
|
2445
|
+
"path_params": [
|
|
2446
|
+
{
|
|
2447
|
+
"name": "project_id",
|
|
2448
|
+
"type": "string",
|
|
2449
|
+
"required": true,
|
|
2450
|
+
"description": "Unique identifier of the project.",
|
|
2451
|
+
"allowed_values": [],
|
|
2452
|
+
"deprecated": null
|
|
2453
|
+
},
|
|
2454
|
+
{
|
|
2455
|
+
"name": "view_id",
|
|
2456
|
+
"type": "string",
|
|
2457
|
+
"required": true,
|
|
2458
|
+
"description": "Unique identifier of the view.",
|
|
2459
|
+
"allowed_values": [],
|
|
2460
|
+
"deprecated": null
|
|
2461
|
+
},
|
|
2462
|
+
{
|
|
2463
|
+
"name": "deferral_id",
|
|
2464
|
+
"type": "string",
|
|
2465
|
+
"required": true,
|
|
2466
|
+
"description": "Unique identifier of the deferral.",
|
|
2467
|
+
"allowed_values": [],
|
|
2468
|
+
"deprecated": null
|
|
2469
|
+
}
|
|
2470
|
+
],
|
|
2471
|
+
"query_params": [],
|
|
2472
|
+
"body_fields": []
|
|
2473
|
+
},
|
|
2474
|
+
{
|
|
2475
|
+
"resource": "views",
|
|
2476
|
+
"command": "decide-deferral",
|
|
2477
|
+
"operation_id": "decideViewDeferral",
|
|
2478
|
+
"summary": "Decide Waiting Shape",
|
|
2479
|
+
"description": "Resolve the next action for one view and schema version.",
|
|
2480
|
+
"method": "POST",
|
|
2481
|
+
"path": "/v1/projects/:project_id/views/:view_id/deferrals/:deferral_id/decision",
|
|
2482
|
+
"alternate_paths": [],
|
|
2483
|
+
"scopes": [
|
|
2484
|
+
"views:write"
|
|
2485
|
+
],
|
|
2486
|
+
"notes": [
|
|
2487
|
+
"Authoring and hint answers reserve a bounded model budget. Exclusion covers unprocessed and future records of this exact version in this view.",
|
|
2488
|
+
"Answering a hint requires `hint`; excluding a version requires `reason`. Exclusion covers unprocessed and future records with this exact schema version in this view.",
|
|
2489
|
+
"Answering a pending model question also requires its exact `hint_requested_at` and `hint_transform_id`. Superseded or answered questions return a conflict; manual guidance without a pending question may omit both fields."
|
|
2490
|
+
],
|
|
2491
|
+
"path_params": [
|
|
2492
|
+
{
|
|
2493
|
+
"name": "project_id",
|
|
2494
|
+
"type": "string",
|
|
2495
|
+
"required": true,
|
|
2496
|
+
"description": "Unique identifier of the project.",
|
|
2497
|
+
"allowed_values": [],
|
|
2498
|
+
"deprecated": null
|
|
2499
|
+
},
|
|
2500
|
+
{
|
|
2501
|
+
"name": "view_id",
|
|
2502
|
+
"type": "string",
|
|
2503
|
+
"required": true,
|
|
2504
|
+
"description": "Unique identifier of the view.",
|
|
2505
|
+
"allowed_values": [],
|
|
2506
|
+
"deprecated": null
|
|
2507
|
+
},
|
|
2508
|
+
{
|
|
2509
|
+
"name": "deferral_id",
|
|
2510
|
+
"type": "string",
|
|
2511
|
+
"required": true,
|
|
2512
|
+
"description": "Unique identifier of the deferral.",
|
|
2513
|
+
"allowed_values": [],
|
|
2514
|
+
"deprecated": null
|
|
2515
|
+
}
|
|
2516
|
+
],
|
|
2517
|
+
"query_params": [],
|
|
2518
|
+
"body_fields": [
|
|
2519
|
+
{
|
|
2520
|
+
"name": "episode",
|
|
2521
|
+
"type": "integer",
|
|
2522
|
+
"required": true,
|
|
2523
|
+
"description": "The deferral episode shown when the decision was inspected. Minimum: `1`.",
|
|
2524
|
+
"allowed_values": [],
|
|
2525
|
+
"deprecated": null
|
|
2526
|
+
},
|
|
2527
|
+
{
|
|
2528
|
+
"name": "action",
|
|
2529
|
+
"type": "string",
|
|
2530
|
+
"required": true,
|
|
2531
|
+
"description": "Authorize a bounded authoring attempt, answer a hint, or exclude this exact version in this view.",
|
|
2532
|
+
"allowed_values": [
|
|
2533
|
+
"author",
|
|
2534
|
+
"hint",
|
|
2535
|
+
"exclude"
|
|
2536
|
+
],
|
|
2537
|
+
"deprecated": null
|
|
2538
|
+
},
|
|
2539
|
+
{
|
|
2540
|
+
"name": "mapping_generation",
|
|
2541
|
+
"type": "integer",
|
|
2542
|
+
"required": true,
|
|
2543
|
+
"description": "The mapping generation shown when the decision was inspected. Minimum: `1`.",
|
|
2544
|
+
"allowed_values": [],
|
|
2545
|
+
"deprecated": null
|
|
2546
|
+
},
|
|
2547
|
+
{
|
|
2548
|
+
"name": "hint",
|
|
2549
|
+
"type": "string",
|
|
2550
|
+
"required": false,
|
|
2551
|
+
"description": "Answer to the model's binding question. Optional. Minimum length: `1`. Maximum length: `4096`.",
|
|
2552
|
+
"allowed_values": [],
|
|
2553
|
+
"deprecated": null
|
|
2554
|
+
},
|
|
2555
|
+
{
|
|
2556
|
+
"name": "hint_requested_at",
|
|
2557
|
+
"type": "ISODateString",
|
|
2558
|
+
"required": false,
|
|
2559
|
+
"description": "Exact requested_at of the pending hint being answered. Optional.",
|
|
2560
|
+
"allowed_values": [],
|
|
2561
|
+
"deprecated": null
|
|
2562
|
+
},
|
|
2563
|
+
{
|
|
2564
|
+
"name": "hint_transform_id",
|
|
2565
|
+
"type": "string",
|
|
2566
|
+
"required": false,
|
|
2567
|
+
"description": "Transform that owns the pending hint being answered. Optional. Minimum length: `1`. Maximum length: `32`.",
|
|
2568
|
+
"allowed_values": [],
|
|
2569
|
+
"deprecated": null
|
|
2570
|
+
},
|
|
2571
|
+
{
|
|
2572
|
+
"name": "reason",
|
|
2573
|
+
"type": "string",
|
|
2574
|
+
"required": false,
|
|
2575
|
+
"description": "Required audit reason for an exclusion. Optional. Minimum length: `1`. Maximum length: `2000`.",
|
|
2576
|
+
"allowed_values": [],
|
|
2577
|
+
"deprecated": null
|
|
2578
|
+
},
|
|
2579
|
+
{
|
|
2580
|
+
"name": "mapping_policy",
|
|
2581
|
+
"type": "object",
|
|
2582
|
+
"required": false,
|
|
2583
|
+
"description": "Explicit null, fallback, drop, and source-binding rules. Optional.",
|
|
2584
|
+
"allowed_values": [],
|
|
2585
|
+
"deprecated": null
|
|
2586
|
+
}
|
|
2587
|
+
]
|
|
2588
|
+
},
|
|
2076
2589
|
{
|
|
2077
2590
|
"resource": "views",
|
|
2078
2591
|
"command": "list-transforms",
|
|
@@ -2212,6 +2725,156 @@ export const CLI_COMMANDS = [
|
|
|
2212
2725
|
"query_params": [],
|
|
2213
2726
|
"body_fields": []
|
|
2214
2727
|
},
|
|
2728
|
+
{
|
|
2729
|
+
"resource": "views",
|
|
2730
|
+
"command": "list-versions",
|
|
2731
|
+
"operation_id": "listViewVersions",
|
|
2732
|
+
"summary": "List View Versions",
|
|
2733
|
+
"description": "Retrieve a list of the schema versions a view covers.",
|
|
2734
|
+
"method": "GET",
|
|
2735
|
+
"path": "/v1/projects/:project_id/views/:view_id/versions",
|
|
2736
|
+
"alternate_paths": [],
|
|
2737
|
+
"scopes": [
|
|
2738
|
+
"views:read"
|
|
2739
|
+
],
|
|
2740
|
+
"notes": [
|
|
2741
|
+
"One row per source schema version the view covers, newest version first. A view that reads another view has no schema versions, so its list is empty.",
|
|
2742
|
+
"Versions sharing a `script_hash` run the same transform. Filter by it to see every version one script serves.",
|
|
2743
|
+
"`after` and `before` are mutually exclusive."
|
|
2744
|
+
],
|
|
2745
|
+
"path_params": [
|
|
2746
|
+
{
|
|
2747
|
+
"name": "project_id",
|
|
2748
|
+
"type": "string",
|
|
2749
|
+
"required": true,
|
|
2750
|
+
"description": "Unique identifier of the project.",
|
|
2751
|
+
"allowed_values": [],
|
|
2752
|
+
"deprecated": null
|
|
2753
|
+
},
|
|
2754
|
+
{
|
|
2755
|
+
"name": "view_id",
|
|
2756
|
+
"type": "string",
|
|
2757
|
+
"required": true,
|
|
2758
|
+
"description": "Unique identifier of the view.",
|
|
2759
|
+
"allowed_values": [],
|
|
2760
|
+
"deprecated": null
|
|
2761
|
+
}
|
|
2762
|
+
],
|
|
2763
|
+
"query_params": [
|
|
2764
|
+
{
|
|
2765
|
+
"name": "order_by",
|
|
2766
|
+
"type": "string",
|
|
2767
|
+
"required": false,
|
|
2768
|
+
"description": "Field the results are sorted by. Optional. Defaults to `\"version\"`.",
|
|
2769
|
+
"allowed_values": [
|
|
2770
|
+
"version"
|
|
2771
|
+
],
|
|
2772
|
+
"deprecated": null
|
|
2773
|
+
},
|
|
2774
|
+
{
|
|
2775
|
+
"name": "status",
|
|
2776
|
+
"type": "ViewTransformStatus",
|
|
2777
|
+
"required": false,
|
|
2778
|
+
"description": "Return only versions whose transform is in this state. Optional.",
|
|
2779
|
+
"allowed_values": [
|
|
2780
|
+
"queued",
|
|
2781
|
+
"analyzing",
|
|
2782
|
+
"active",
|
|
2783
|
+
"error",
|
|
2784
|
+
"draft"
|
|
2785
|
+
],
|
|
2786
|
+
"deprecated": null
|
|
2787
|
+
},
|
|
2788
|
+
{
|
|
2789
|
+
"name": "script_hash",
|
|
2790
|
+
"type": "string",
|
|
2791
|
+
"required": false,
|
|
2792
|
+
"description": "Return only versions served by this script. Take the value from a version's row. Optional. Minimum length: `64`. Maximum length: `64`.",
|
|
2793
|
+
"allowed_values": [],
|
|
2794
|
+
"deprecated": null
|
|
2795
|
+
},
|
|
2796
|
+
{
|
|
2797
|
+
"name": "limit",
|
|
2798
|
+
"type": "number",
|
|
2799
|
+
"required": false,
|
|
2800
|
+
"description": "Maximum number of items to return. Optional. Defaults to `25`. Minimum: `1`. Maximum: `200`.",
|
|
2801
|
+
"allowed_values": [],
|
|
2802
|
+
"deprecated": null
|
|
2803
|
+
},
|
|
2804
|
+
{
|
|
2805
|
+
"name": "after",
|
|
2806
|
+
"type": "string",
|
|
2807
|
+
"required": false,
|
|
2808
|
+
"description": "Cursor from `pagination.next_cursor` of a previous response. Returns the resources after that page. Optional.",
|
|
2809
|
+
"allowed_values": [],
|
|
2810
|
+
"deprecated": null
|
|
2811
|
+
},
|
|
2812
|
+
{
|
|
2813
|
+
"name": "before",
|
|
2814
|
+
"type": "string",
|
|
2815
|
+
"required": false,
|
|
2816
|
+
"description": "Cursor from `pagination.prev_cursor` of a previous response. Returns the resources before that page. Optional.",
|
|
2817
|
+
"allowed_values": [],
|
|
2818
|
+
"deprecated": null
|
|
2819
|
+
},
|
|
2820
|
+
{
|
|
2821
|
+
"name": "sort",
|
|
2822
|
+
"type": "string",
|
|
2823
|
+
"required": false,
|
|
2824
|
+
"description": "Sort direction for the result set. Optional. Defaults to `\"desc\"`.",
|
|
2825
|
+
"allowed_values": [
|
|
2826
|
+
"asc",
|
|
2827
|
+
"desc"
|
|
2828
|
+
],
|
|
2829
|
+
"deprecated": null
|
|
2830
|
+
}
|
|
2831
|
+
],
|
|
2832
|
+
"body_fields": []
|
|
2833
|
+
},
|
|
2834
|
+
{
|
|
2835
|
+
"resource": "views",
|
|
2836
|
+
"command": "retrieve-version",
|
|
2837
|
+
"operation_id": "getViewVersion",
|
|
2838
|
+
"summary": "Retrieve View Version",
|
|
2839
|
+
"description": "Retrieve one schema version a view covers.",
|
|
2840
|
+
"method": "GET",
|
|
2841
|
+
"path": "/v1/projects/:project_id/views/:view_id/versions/:version_id",
|
|
2842
|
+
"alternate_paths": [],
|
|
2843
|
+
"scopes": [
|
|
2844
|
+
"views:read"
|
|
2845
|
+
],
|
|
2846
|
+
"notes": [
|
|
2847
|
+
"`version_id` is the schema version NUMBER, the `version` a row carries, not a `vta_` id."
|
|
2848
|
+
],
|
|
2849
|
+
"path_params": [
|
|
2850
|
+
{
|
|
2851
|
+
"name": "project_id",
|
|
2852
|
+
"type": "string",
|
|
2853
|
+
"required": true,
|
|
2854
|
+
"description": "Unique identifier of the project.",
|
|
2855
|
+
"allowed_values": [],
|
|
2856
|
+
"deprecated": null
|
|
2857
|
+
},
|
|
2858
|
+
{
|
|
2859
|
+
"name": "view_id",
|
|
2860
|
+
"type": "string",
|
|
2861
|
+
"required": true,
|
|
2862
|
+
"description": "Unique identifier of the view.",
|
|
2863
|
+
"allowed_values": [],
|
|
2864
|
+
"deprecated": null
|
|
2865
|
+
},
|
|
2866
|
+
{
|
|
2867
|
+
"name": "version_id",
|
|
2868
|
+
"type": "string",
|
|
2869
|
+
"required": true,
|
|
2870
|
+
"description": "Unique identifier of the version.",
|
|
2871
|
+
"allowed_values": [],
|
|
2872
|
+
"deprecated": null
|
|
2873
|
+
}
|
|
2874
|
+
],
|
|
2875
|
+
"query_params": [],
|
|
2876
|
+
"body_fields": []
|
|
2877
|
+
},
|
|
2215
2878
|
{
|
|
2216
2879
|
"resource": "views",
|
|
2217
2880
|
"command": "create-transform",
|
|
@@ -2287,7 +2950,7 @@ export const CLI_COMMANDS = [
|
|
|
2287
2950
|
"Conflicting versions are moved to queued placeholders by default. Set `conflict_resolution` to `keep` to leave those versions on their prior script.",
|
|
2288
2951
|
"Removing an output field is rejected while a metric, facet, child view, or join clause reads it. Consumer checks use the complete nested output path. Records already produced keep their existing values until the transform is re-backfilled.",
|
|
2289
2952
|
"Set `dry_run` to preview the per-version verdict report without saving. A dry run changes nothing and triggers nothing, and returns a `preview_token` alongside the report.",
|
|
2290
|
-
"Saving requires the `preview_token` from that dry run. It pins the save to the set of schema versions the report described, so a version
|
|
2953
|
+
"Saving requires the `preview_token` from that dry run. It pins the save to the set of schema versions the report described, so a version added or reassigned between the preview and the save cannot be silently included.",
|
|
2291
2954
|
"A save with a missing or outdated token is rejected with 409 and changes nothing. The error carries the report as it stands now, so the next preview is already in hand.",
|
|
2292
2955
|
"`transform_script` cannot be whitespace-only. To clear a script and have it regenerated, use the regenerate endpoint rather than sending an empty one.",
|
|
2293
2956
|
"Saving is a two-step gesture: send `dry_run` to get the report and its `preview_token`, then send the same edit with that token. A save without one, or with a token whose set has since changed, is rejected with 409 and a fresh report."
|
|
@@ -2351,7 +3014,7 @@ export const CLI_COMMANDS = [
|
|
|
2351
3014
|
"name": "preview_token",
|
|
2352
3015
|
"type": "string",
|
|
2353
3016
|
"required": false,
|
|
2354
|
-
"description": "The `edit_report.preview_token` from this edit's dry run. Required to save: it pins the save to the set of schema versions the preview reported on, so a version
|
|
3017
|
+
"description": "The `edit_report.preview_token` from this edit's dry run. Required to save: it pins the save to the set of schema versions the preview reported on, so a version assigned or reassigned in between is rejected instead of silently included. Optional. Minimum length: `1`. Maximum length: `128`.",
|
|
2355
3018
|
"allowed_values": [],
|
|
2356
3019
|
"deprecated": null
|
|
2357
3020
|
}
|
|
@@ -2574,6 +3237,14 @@ export const CLI_COMMANDS = [
|
|
|
2574
3237
|
}
|
|
2575
3238
|
],
|
|
2576
3239
|
"query_params": [
|
|
3240
|
+
{
|
|
3241
|
+
"name": "view_id",
|
|
3242
|
+
"type": "string",
|
|
3243
|
+
"required": false,
|
|
3244
|
+
"description": "Return metrics that read from this view. Optional.",
|
|
3245
|
+
"allowed_values": [],
|
|
3246
|
+
"deprecated": null
|
|
3247
|
+
},
|
|
2577
3248
|
{
|
|
2578
3249
|
"name": "order_by",
|
|
2579
3250
|
"type": "string",
|
|
@@ -2677,7 +3348,9 @@ export const CLI_COMMANDS = [
|
|
|
2677
3348
|
"metrics:read"
|
|
2678
3349
|
],
|
|
2679
3350
|
"notes": [
|
|
2680
|
-
"`
|
|
3351
|
+
"`last` returns the latest reading in each time bucket within the requested range.",
|
|
3352
|
+
"`coverage_mode=observed` returns partial observed rows beyond the strict boundary without filling missing buckets. `coverage_reasons` names unresolved view scopes; `excluded` is informational.",
|
|
3353
|
+
"Record keys are UTC bucket starts. A bucket is final only when its UTC calendar end (start plus one `interval`) is at or before `complete_through_at`; strict omits all other buckets. A null cutoff means unknown completeness. Observed may include populated partial buckets even when the requested end lies inside one, and does not synthesize empty partial buckets.",
|
|
2681
3354
|
"The aggregation window is resolved in order: an explicit `start_at` plus `end_at` wins; otherwise `time_range` is used; otherwise the metric's saved chart range is used.",
|
|
2682
3355
|
"`start_at` and `end_at` only take effect when sent together. Sending one without the other has no effect on the window.",
|
|
2683
3356
|
"When both are provided, `start_at` must be earlier than `end_at`.",
|
|
@@ -2703,6 +3376,17 @@ export const CLI_COMMANDS = [
|
|
|
2703
3376
|
}
|
|
2704
3377
|
],
|
|
2705
3378
|
"query_params": [
|
|
3379
|
+
{
|
|
3380
|
+
"name": "coverage_mode",
|
|
3381
|
+
"type": "string",
|
|
3382
|
+
"required": false,
|
|
3383
|
+
"description": "Strict returns only final data. Observed includes partial data beyond complete_through_at without filling missing buckets. Optional. Defaults to `\"strict\"`.",
|
|
3384
|
+
"allowed_values": [
|
|
3385
|
+
"strict",
|
|
3386
|
+
"observed"
|
|
3387
|
+
],
|
|
3388
|
+
"deprecated": null
|
|
3389
|
+
},
|
|
2706
3390
|
{
|
|
2707
3391
|
"name": "start_at",
|
|
2708
3392
|
"type": "ISODateString",
|
|
@@ -2833,7 +3517,8 @@ export const CLI_COMMANDS = [
|
|
|
2833
3517
|
"Custom chart ranges require both dates, with an interval of at least 30 minutes.",
|
|
2834
3518
|
"Color-mode configuration must match the selected chart color mode.",
|
|
2835
3519
|
"`filters` must be a valid filter expression.",
|
|
2836
|
-
"`timestamp_field` cannot reference `__meta__` metadata."
|
|
3520
|
+
"`timestamp_field` cannot reference `__meta__` metadata.",
|
|
3521
|
+
"`group_by_display_fields` is set at create and cannot be changed afterwards, because each series takes its label from the first record it sees. Map a `group_by` field to a view field that carries a readable value for the same record."
|
|
2837
3522
|
],
|
|
2838
3523
|
"path_params": [
|
|
2839
3524
|
{
|
|
@@ -2867,7 +3552,15 @@ export const CLI_COMMANDS = [
|
|
|
2867
3552
|
"name": "group_by",
|
|
2868
3553
|
"type": "string[]",
|
|
2869
3554
|
"required": false,
|
|
2870
|
-
"description": "View fields used to split records into series. Optional. Defaults to `[]`.",
|
|
3555
|
+
"description": "View fields used to split records into series. Optional. Defaults to `[]`.",
|
|
3556
|
+
"allowed_values": [],
|
|
3557
|
+
"deprecated": null
|
|
3558
|
+
},
|
|
3559
|
+
{
|
|
3560
|
+
"name": "group_by_display_fields",
|
|
3561
|
+
"type": "object | null",
|
|
3562
|
+
"required": false,
|
|
3563
|
+
"description": "Maps a field in `group_by` to another view field whose value labels the series, so a chart grouped on an opaque id reads as `api.example.com` instead of `chk_a1b2c3`. Each label is read from the first record of a series and kept from then on. Optional.",
|
|
2871
3564
|
"allowed_values": [],
|
|
2872
3565
|
"deprecated": null
|
|
2873
3566
|
},
|
|
@@ -4020,9 +4713,10 @@ export const CLI_COMMANDS = [
|
|
|
4020
4713
|
"notes": [
|
|
4021
4714
|
"The monitor starts evaluating on its schedule as soon as it is created.",
|
|
4022
4715
|
"`scope` decides how many alerts a monitor can raise at once: `any_series` fires once for the metric as a whole, `each_series` tracks every series separately.",
|
|
4716
|
+
"No-data (`absence`) conditions require `chart_value=count` and a finite `time_window_minutes`.",
|
|
4023
4717
|
"`sustained_minutes` is required when `condition_type` is `sustained`, and `threshold_value` is required when it is `threshold`.",
|
|
4024
4718
|
"`min_occurrences` and `occurrence_window_minutes` must both be set or both be null, and occurrence-based triggering cannot be combined with a sustained condition.",
|
|
4025
|
-
"`schedule_cron` must be a valid cron expression.",
|
|
4719
|
+
"`schedule_cron` must be a valid cron expression. It is evaluated in UTC, and the finest granularity is one minute.",
|
|
4026
4720
|
"A monitor cannot be created active with an `expires_at` already in the past."
|
|
4027
4721
|
],
|
|
4028
4722
|
"path_params": [
|
|
@@ -4107,9 +4801,223 @@ export const CLI_COMMANDS = [
|
|
|
4107
4801
|
},
|
|
4108
4802
|
{
|
|
4109
4803
|
"name": "time_window_minutes",
|
|
4804
|
+
"type": "integer | null",
|
|
4805
|
+
"required": false,
|
|
4806
|
+
"description": "Evaluation lookback in whole minutes (1 to 525600). Null means since the metric was created. No-data conditions require a finite window. Optional.",
|
|
4807
|
+
"allowed_values": [],
|
|
4808
|
+
"deprecated": null
|
|
4809
|
+
},
|
|
4810
|
+
{
|
|
4811
|
+
"name": "condition_type",
|
|
4812
|
+
"type": "MonitorConditionType",
|
|
4813
|
+
"required": false,
|
|
4814
|
+
"description": "threshold compares a value, sustained requires that comparison to hold, existence fires when the selected value is greater than zero, and absence fires when no observations exist in the complete evaluation window, regardless of chart gap handling. Optional. Defaults to `\"threshold\"`.",
|
|
4815
|
+
"allowed_values": [
|
|
4816
|
+
"threshold",
|
|
4817
|
+
"sustained",
|
|
4818
|
+
"existence",
|
|
4819
|
+
"absence"
|
|
4820
|
+
],
|
|
4821
|
+
"deprecated": null
|
|
4822
|
+
},
|
|
4823
|
+
{
|
|
4824
|
+
"name": "operator",
|
|
4825
|
+
"type": "MonitorOperator",
|
|
4826
|
+
"required": false,
|
|
4827
|
+
"description": "How the metric value is compared against the threshold. Optional. Defaults to `\"gt\"`.",
|
|
4828
|
+
"allowed_values": [
|
|
4829
|
+
"gt",
|
|
4830
|
+
"gte",
|
|
4831
|
+
"lt",
|
|
4832
|
+
"lte",
|
|
4833
|
+
"eq",
|
|
4834
|
+
"neq"
|
|
4835
|
+
],
|
|
4836
|
+
"deprecated": null
|
|
4837
|
+
},
|
|
4838
|
+
{
|
|
4839
|
+
"name": "threshold_value",
|
|
4840
|
+
"type": "number | null",
|
|
4841
|
+
"required": false,
|
|
4842
|
+
"description": "The value the metric is compared against. Optional.",
|
|
4843
|
+
"allowed_values": [],
|
|
4844
|
+
"deprecated": null
|
|
4845
|
+
},
|
|
4846
|
+
{
|
|
4847
|
+
"name": "sustained_minutes",
|
|
4110
4848
|
"type": "number | null",
|
|
4111
4849
|
"required": false,
|
|
4112
|
-
"description": "How
|
|
4850
|
+
"description": "How long the condition must hold before the monitor fires. Optional.",
|
|
4851
|
+
"allowed_values": [],
|
|
4852
|
+
"deprecated": null
|
|
4853
|
+
},
|
|
4854
|
+
{
|
|
4855
|
+
"name": "schedule_cron",
|
|
4856
|
+
"type": "string",
|
|
4857
|
+
"required": false,
|
|
4858
|
+
"description": "Cron expression, in UTC, setting how often the monitor evaluates. Optional. Defaults to `\"* * * * *\"`. Minimum length: `1`. Maximum length: `128`.",
|
|
4859
|
+
"allowed_values": [],
|
|
4860
|
+
"deprecated": null
|
|
4861
|
+
},
|
|
4862
|
+
{
|
|
4863
|
+
"name": "alert_mode",
|
|
4864
|
+
"type": "MonitorAlertMode",
|
|
4865
|
+
"required": false,
|
|
4866
|
+
"description": "Whether an alert stays open until the condition clears, or opens and ends in one moment. Optional. Defaults to `\"spanning\"`.",
|
|
4867
|
+
"allowed_values": [
|
|
4868
|
+
"spanning",
|
|
4869
|
+
"instant"
|
|
4870
|
+
],
|
|
4871
|
+
"deprecated": null
|
|
4872
|
+
},
|
|
4873
|
+
{
|
|
4874
|
+
"name": "expires_at",
|
|
4875
|
+
"type": "ISODateString | null",
|
|
4876
|
+
"required": false,
|
|
4877
|
+
"description": "When the monitor stops evaluating. Leave null for no expiry. Optional.",
|
|
4878
|
+
"allowed_values": [],
|
|
4879
|
+
"deprecated": null
|
|
4880
|
+
},
|
|
4881
|
+
{
|
|
4882
|
+
"name": "series_filters",
|
|
4883
|
+
"type": "object | null",
|
|
4884
|
+
"required": false,
|
|
4885
|
+
"description": "Narrows which of the metric's series this monitor watches. Optional.",
|
|
4886
|
+
"allowed_values": [],
|
|
4887
|
+
"deprecated": null
|
|
4888
|
+
},
|
|
4889
|
+
{
|
|
4890
|
+
"name": "min_occurrences",
|
|
4891
|
+
"type": "integer | null",
|
|
4892
|
+
"required": false,
|
|
4893
|
+
"description": "How many times the condition must be met before the monitor fires. Optional.",
|
|
4894
|
+
"allowed_values": [],
|
|
4895
|
+
"deprecated": null
|
|
4896
|
+
},
|
|
4897
|
+
{
|
|
4898
|
+
"name": "occurrence_window_minutes",
|
|
4899
|
+
"type": "integer | null",
|
|
4900
|
+
"required": false,
|
|
4901
|
+
"description": "The window those occurrences have to fall within. Optional.",
|
|
4902
|
+
"allowed_values": [],
|
|
4903
|
+
"deprecated": null
|
|
4904
|
+
},
|
|
4905
|
+
{
|
|
4906
|
+
"name": "metric_id",
|
|
4907
|
+
"type": "string",
|
|
4908
|
+
"required": false,
|
|
4909
|
+
"description": "Metric to watch. Optional when using the /metrics/:metric/monitors route. Optional.",
|
|
4910
|
+
"allowed_values": [],
|
|
4911
|
+
"deprecated": null
|
|
4912
|
+
}
|
|
4913
|
+
]
|
|
4914
|
+
},
|
|
4915
|
+
{
|
|
4916
|
+
"resource": "monitors",
|
|
4917
|
+
"command": "preview",
|
|
4918
|
+
"operation_id": "previewMonitor",
|
|
4919
|
+
"summary": "Preview Monitor",
|
|
4920
|
+
"description": "Preview a monitor condition over its current evaluation window without saving or raising alerts.",
|
|
4921
|
+
"method": "POST",
|
|
4922
|
+
"path": "/v1/projects/:project_id/metrics/:metric_id/monitors/preview",
|
|
4923
|
+
"alternate_paths": [],
|
|
4924
|
+
"scopes": [
|
|
4925
|
+
"monitors:read"
|
|
4926
|
+
],
|
|
4927
|
+
"notes": [
|
|
4928
|
+
"Uses the same series filtering and condition evaluation as scheduled monitors. This is a condition preview, not a simulation of cron timing, sustained duration, or occurrence counting.",
|
|
4929
|
+
"An incomplete window returns ready=false with no verdicts. No-data conditions count observations across the whole window, including when the chart displays missing buckets as gaps.",
|
|
4930
|
+
"No-data (`absence`) conditions require `chart_value=count` and a finite `time_window_minutes`.",
|
|
4931
|
+
"`sustained_minutes` is required when `condition_type` is `sustained`, and `threshold_value` is required when it is `threshold`.",
|
|
4932
|
+
"`min_occurrences` and `occurrence_window_minutes` must both be set or both be null, and occurrence-based triggering cannot be combined with a sustained condition.",
|
|
4933
|
+
"`schedule_cron` must be a valid cron expression. It is evaluated in UTC, and the finest granularity is one minute.",
|
|
4934
|
+
"A monitor cannot be created active with an `expires_at` already in the past."
|
|
4935
|
+
],
|
|
4936
|
+
"path_params": [
|
|
4937
|
+
{
|
|
4938
|
+
"name": "project_id",
|
|
4939
|
+
"type": "string",
|
|
4940
|
+
"required": true,
|
|
4941
|
+
"description": "Unique identifier of the project.",
|
|
4942
|
+
"allowed_values": [],
|
|
4943
|
+
"deprecated": null
|
|
4944
|
+
},
|
|
4945
|
+
{
|
|
4946
|
+
"name": "metric_id",
|
|
4947
|
+
"type": "string",
|
|
4948
|
+
"required": true,
|
|
4949
|
+
"description": "Unique identifier of the metric.",
|
|
4950
|
+
"allowed_values": [],
|
|
4951
|
+
"deprecated": null
|
|
4952
|
+
}
|
|
4953
|
+
],
|
|
4954
|
+
"query_params": [],
|
|
4955
|
+
"body_fields": [
|
|
4956
|
+
{
|
|
4957
|
+
"name": "name",
|
|
4958
|
+
"type": "string",
|
|
4959
|
+
"required": false,
|
|
4960
|
+
"description": "Name shown for this monitor. Optional. Minimum length: `2`. Maximum length: `64`.",
|
|
4961
|
+
"allowed_values": [],
|
|
4962
|
+
"deprecated": null
|
|
4963
|
+
},
|
|
4964
|
+
{
|
|
4965
|
+
"name": "description",
|
|
4966
|
+
"type": "string | null",
|
|
4967
|
+
"required": false,
|
|
4968
|
+
"description": "What this monitor watches for. Optional.",
|
|
4969
|
+
"allowed_values": [],
|
|
4970
|
+
"deprecated": null
|
|
4971
|
+
},
|
|
4972
|
+
{
|
|
4973
|
+
"name": "status",
|
|
4974
|
+
"type": "string",
|
|
4975
|
+
"required": false,
|
|
4976
|
+
"description": "Whether the monitor starts evaluating immediately or switched off. `disabled` is not accepted: the system uses it to record that it stopped the monitor itself. Optional. Defaults to `\"active\"`.",
|
|
4977
|
+
"allowed_values": [
|
|
4978
|
+
"active",
|
|
4979
|
+
"paused"
|
|
4980
|
+
],
|
|
4981
|
+
"deprecated": null
|
|
4982
|
+
},
|
|
4983
|
+
{
|
|
4984
|
+
"name": "chart_value",
|
|
4985
|
+
"type": "MetricChartValue",
|
|
4986
|
+
"required": false,
|
|
4987
|
+
"description": "Which value of the metric is compared against the threshold. Optional. Defaults to `\"sum\"`.",
|
|
4988
|
+
"allowed_values": [
|
|
4989
|
+
"count",
|
|
4990
|
+
"average",
|
|
4991
|
+
"min",
|
|
4992
|
+
"max",
|
|
4993
|
+
"sum",
|
|
4994
|
+
"last",
|
|
4995
|
+
"cumulative_count",
|
|
4996
|
+
"cumulative_sum",
|
|
4997
|
+
"p50",
|
|
4998
|
+
"p95",
|
|
4999
|
+
"p99",
|
|
5000
|
+
"count_unique"
|
|
5001
|
+
],
|
|
5002
|
+
"deprecated": null
|
|
5003
|
+
},
|
|
5004
|
+
{
|
|
5005
|
+
"name": "scope",
|
|
5006
|
+
"type": "MonitorScope",
|
|
5007
|
+
"required": false,
|
|
5008
|
+
"description": "Whether the monitor fires once for the metric as a whole, or tracks each series separately. Optional. Defaults to `\"total\"`.",
|
|
5009
|
+
"allowed_values": [
|
|
5010
|
+
"total",
|
|
5011
|
+
"any_series",
|
|
5012
|
+
"each_series"
|
|
5013
|
+
],
|
|
5014
|
+
"deprecated": null
|
|
5015
|
+
},
|
|
5016
|
+
{
|
|
5017
|
+
"name": "time_window_minutes",
|
|
5018
|
+
"type": "integer | null",
|
|
5019
|
+
"required": false,
|
|
5020
|
+
"description": "Evaluation lookback in whole minutes (1 to 525600). Null means since the metric was created. No-data conditions require a finite window. Optional.",
|
|
4113
5021
|
"allowed_values": [],
|
|
4114
5022
|
"deprecated": null
|
|
4115
5023
|
},
|
|
@@ -4117,11 +5025,12 @@ export const CLI_COMMANDS = [
|
|
|
4117
5025
|
"name": "condition_type",
|
|
4118
5026
|
"type": "MonitorConditionType",
|
|
4119
5027
|
"required": false,
|
|
4120
|
-
"description": "
|
|
5028
|
+
"description": "threshold compares a value, sustained requires that comparison to hold, existence fires when the selected value is greater than zero, and absence fires when no observations exist in the complete evaluation window, regardless of chart gap handling. Optional. Defaults to `\"threshold\"`.",
|
|
4121
5029
|
"allowed_values": [
|
|
4122
5030
|
"threshold",
|
|
4123
5031
|
"sustained",
|
|
4124
|
-
"existence"
|
|
5032
|
+
"existence",
|
|
5033
|
+
"absence"
|
|
4125
5034
|
],
|
|
4126
5035
|
"deprecated": null
|
|
4127
5036
|
},
|
|
@@ -4234,9 +5143,10 @@ export const CLI_COMMANDS = [
|
|
|
4234
5143
|
"Changing what the monitor MEANS (its condition, scope, series filters or alert mode) ends any period currently firing, because the old alert no longer describes the new rule.",
|
|
4235
5144
|
"`metric_id` cannot be changed. Create a new monitor against the other metric instead.",
|
|
4236
5145
|
"The metric a monitor watches cannot be changed. Create a second monitor instead.",
|
|
5146
|
+
"No-data (`absence`) conditions require `chart_value=count` and a finite `time_window_minutes`.",
|
|
4237
5147
|
"`sustained_minutes` is required when `condition_type` is `sustained`, and `threshold_value` is required when it is `threshold`.",
|
|
4238
5148
|
"`min_occurrences` and `occurrence_window_minutes` must both be set or both be null, and occurrence-based triggering cannot be combined with a sustained condition.",
|
|
4239
|
-
"`schedule_cron` must be a valid cron expression.",
|
|
5149
|
+
"`schedule_cron` must be a valid cron expression. It is evaluated in UTC, and the finest granularity is one minute.",
|
|
4240
5150
|
"`status` is not editable here. Use the pause and resume operations, which is also what keeps a customer from writing the `disabled` the system uses for expiry.",
|
|
4241
5151
|
"Moving `expires_at` is rejected when that would leave an active monitor with an expiry already in the past. Editing a monitor that has already expired is allowed, including the update that extends its expiry.",
|
|
4242
5152
|
"Conditions are checked against the monitor as it will be stored, not against the fields you send, so a change that would leave the monitor in an invalid combination is rejected even when the conflicting value is one you did not send."
|
|
@@ -4320,9 +5230,9 @@ export const CLI_COMMANDS = [
|
|
|
4320
5230
|
},
|
|
4321
5231
|
{
|
|
4322
5232
|
"name": "time_window_minutes",
|
|
4323
|
-
"type": "
|
|
5233
|
+
"type": "integer | null",
|
|
4324
5234
|
"required": false,
|
|
4325
|
-
"description": "
|
|
5235
|
+
"description": "Evaluation lookback in whole minutes (1 to 525600). Null means since the metric was created. No-data conditions require a finite window. Optional.",
|
|
4326
5236
|
"allowed_values": [],
|
|
4327
5237
|
"deprecated": null
|
|
4328
5238
|
},
|
|
@@ -4330,11 +5240,12 @@ export const CLI_COMMANDS = [
|
|
|
4330
5240
|
"name": "condition_type",
|
|
4331
5241
|
"type": "MonitorConditionType",
|
|
4332
5242
|
"required": false,
|
|
4333
|
-
"description": "
|
|
5243
|
+
"description": "threshold compares a value, sustained requires that comparison to hold, existence fires when the selected value is greater than zero, and absence fires when no observations exist in the complete evaluation window, regardless of chart gap handling. Optional.",
|
|
4334
5244
|
"allowed_values": [
|
|
4335
5245
|
"threshold",
|
|
4336
5246
|
"sustained",
|
|
4337
|
-
"existence"
|
|
5247
|
+
"existence",
|
|
5248
|
+
"absence"
|
|
4338
5249
|
],
|
|
4339
5250
|
"deprecated": null
|
|
4340
5251
|
},
|
|
@@ -4949,6 +5860,22 @@ export const CLI_COMMANDS = [
|
|
|
4949
5860
|
"allowed_values": [],
|
|
4950
5861
|
"deprecated": null
|
|
4951
5862
|
},
|
|
5863
|
+
{
|
|
5864
|
+
"name": "public_ui_show_trends",
|
|
5865
|
+
"type": "boolean",
|
|
5866
|
+
"required": false,
|
|
5867
|
+
"description": "Whether trend lines enabled on each metric are shown on the public page. Defaults to true. Optional.",
|
|
5868
|
+
"allowed_values": [],
|
|
5869
|
+
"deprecated": null
|
|
5870
|
+
},
|
|
5871
|
+
{
|
|
5872
|
+
"name": "public_ui_show_forecast",
|
|
5873
|
+
"type": "boolean",
|
|
5874
|
+
"required": false,
|
|
5875
|
+
"description": "Whether forecasts enabled on each metric are shown on the public page. Defaults to true. Optional.",
|
|
5876
|
+
"allowed_values": [],
|
|
5877
|
+
"deprecated": null
|
|
5878
|
+
},
|
|
4952
5879
|
{
|
|
4953
5880
|
"name": "access_code",
|
|
4954
5881
|
"type": "string | null",
|
|
@@ -5082,6 +6009,22 @@ export const CLI_COMMANDS = [
|
|
|
5082
6009
|
"allowed_values": [],
|
|
5083
6010
|
"deprecated": null
|
|
5084
6011
|
},
|
|
6012
|
+
{
|
|
6013
|
+
"name": "public_ui_show_trends",
|
|
6014
|
+
"type": "boolean",
|
|
6015
|
+
"required": false,
|
|
6016
|
+
"description": "Whether trend lines enabled on each metric are shown on the public page. Defaults to true. Optional.",
|
|
6017
|
+
"allowed_values": [],
|
|
6018
|
+
"deprecated": null
|
|
6019
|
+
},
|
|
6020
|
+
{
|
|
6021
|
+
"name": "public_ui_show_forecast",
|
|
6022
|
+
"type": "boolean",
|
|
6023
|
+
"required": false,
|
|
6024
|
+
"description": "Whether forecasts enabled on each metric are shown on the public page. Defaults to true. Optional.",
|
|
6025
|
+
"allowed_values": [],
|
|
6026
|
+
"deprecated": null
|
|
6027
|
+
},
|
|
5085
6028
|
{
|
|
5086
6029
|
"name": "access_code",
|
|
5087
6030
|
"type": "string | null",
|
|
@@ -5665,6 +6608,36 @@ export const CLI_COMMANDS = [
|
|
|
5665
6608
|
"query_params": [],
|
|
5666
6609
|
"body_fields": []
|
|
5667
6610
|
},
|
|
6611
|
+
{
|
|
6612
|
+
"resource": "teams",
|
|
6613
|
+
"command": "billing",
|
|
6614
|
+
"operation_id": "getTeamBilling",
|
|
6615
|
+
"summary": "Retrieve Team Billing",
|
|
6616
|
+
"description": "Retrieve the team's current billing summary.",
|
|
6617
|
+
"method": "GET",
|
|
6618
|
+
"path": "/v1/teams/:team_id/billing",
|
|
6619
|
+
"alternate_paths": [],
|
|
6620
|
+
"scopes": [
|
|
6621
|
+
"billing:read"
|
|
6622
|
+
],
|
|
6623
|
+
"notes": [
|
|
6624
|
+
"Requires `billing:read` and credentials scoped to this team. Every response includes accrued and projected charges, stored and available promotional credits, and server usage.",
|
|
6625
|
+
"Available credits account for uninvoiced usage, including the preceding month before its invoice is saved. Reading this summary does not consume credits or create an invoice.",
|
|
6626
|
+
"Amounts exclude tax and credit notes applied at payment. Projections assume current usage continues; the final invoice can differ."
|
|
6627
|
+
],
|
|
6628
|
+
"path_params": [
|
|
6629
|
+
{
|
|
6630
|
+
"name": "team_id",
|
|
6631
|
+
"type": "string",
|
|
6632
|
+
"required": true,
|
|
6633
|
+
"description": "Unique identifier of the team.",
|
|
6634
|
+
"allowed_values": [],
|
|
6635
|
+
"deprecated": null
|
|
6636
|
+
}
|
|
6637
|
+
],
|
|
6638
|
+
"query_params": [],
|
|
6639
|
+
"body_fields": []
|
|
6640
|
+
},
|
|
5668
6641
|
{
|
|
5669
6642
|
"resource": "teams",
|
|
5670
6643
|
"command": "create",
|
|
@@ -6455,16 +7428,20 @@ export const CLI_COMMANDS = [
|
|
|
6455
7428
|
},
|
|
6456
7429
|
{
|
|
6457
7430
|
"name": "default_ai_model",
|
|
6458
|
-
"type": "
|
|
7431
|
+
"type": "AiChatSelection",
|
|
6459
7432
|
"required": false,
|
|
6460
|
-
"description": "Model a new chat opens on. Null clears the preference.
|
|
7433
|
+
"description": "Model a new chat opens on. Null clears the preference. An unavailable selection asks the member to choose again; it never changes who pays automatically. Optional.",
|
|
6461
7434
|
"allowed_values": [
|
|
6462
|
-
"claude-opus-5",
|
|
7435
|
+
"claude-opus-5-5",
|
|
6463
7436
|
"claude-sonnet-5",
|
|
6464
|
-
"gpt-
|
|
7437
|
+
"gpt-6-sol",
|
|
6465
7438
|
"gpt-5.6-terra",
|
|
7439
|
+
"gpt-6-luna",
|
|
7440
|
+
"claude-opus-5",
|
|
7441
|
+
"gpt-5.6-sol",
|
|
6466
7442
|
"gpt-5.6-luna",
|
|
6467
|
-
"claude-opus-4-6"
|
|
7443
|
+
"claude-opus-4-6",
|
|
7444
|
+
"tailglow"
|
|
6468
7445
|
],
|
|
6469
7446
|
"deprecated": null
|
|
6470
7447
|
},
|
|
@@ -7496,7 +8473,9 @@ export const CLI_COMMANDS = [
|
|
|
7496
8473
|
"Scaling up requires the team to have a payment method, and `count` must stay within the team's per-project server limit.",
|
|
7497
8474
|
"The response is the project's whole fleet after the request, not only the servers that changed.",
|
|
7498
8475
|
"Requesting the count the project already runs, with nothing in flight, returns a `409`.",
|
|
7499
|
-
"
|
|
8476
|
+
"During a platform update, a scale request is queued and answered with a `202`; it is applied once the update finishes, and the project's `queued_server_count` shows it meanwhile. A project that has no servers yet still gets its first server immediately.",
|
|
8477
|
+
"Adding servers to a project that has not finished moving to the current platform version is queued the same way, even with no update in progress. Removing servers is not held back by it.",
|
|
8478
|
+
"Requesting the count the project currently runs while a change is queued cancels the queued change, or returns a `409` if that change has already started. A newer request replaces an older queued one."
|
|
7500
8479
|
],
|
|
7501
8480
|
"path_params": [
|
|
7502
8481
|
{
|
|
@@ -7645,7 +8624,7 @@ export const CLI_COMMANDS = [
|
|
|
7645
8624
|
"servers:read"
|
|
7646
8625
|
],
|
|
7647
8626
|
"notes": [
|
|
7648
|
-
"Pending
|
|
8627
|
+
"Pending averages valid queued records, Throughput counts drained records, and Errors counts rejected requests and dropped frames. Older pending history without record counts is unknown.",
|
|
7649
8628
|
"Takes the same range and interval parameters as the vitals endpoint, so the two can be read over the same window.",
|
|
7650
8629
|
"Without `start_at` and `end_at` the range is the last 12 hours."
|
|
7651
8630
|
],
|
|
@@ -9028,7 +10007,8 @@ export const CLI_COMMANDS = [
|
|
|
9028
10007
|
"`schedule_cron` must be a valid cron expression. It is evaluated in UTC, and the finest granularity is one minute.",
|
|
9029
10008
|
"`collection_slug` is required, and must be lowercase, start with a letter or digit, and may otherwise contain digits, letters, hyphens and underscores. Naming it here is what lets several checks deliberately share one collection and chart together; renaming the check later never moves the series, because the slug is stored rather than derived.",
|
|
9030
10009
|
"`check_retry_seconds` is between 1 and 20, and defaults to 10. A failed run waits this long and requests once more before it is recorded, so a single flake does not become a recorded minute of downtime. Send `null` to record the first result as it stands.",
|
|
9031
|
-
"Each run writes one observation to `collection_slug` carrying `check_id`, `checked_at`, `up`, `http_status`, `response_time_ms`, `error_stage`, `error_message` and `attempts`. `up` is 1 when the endpoint returned a 2xx and 0 when it did not answer or answered with an error status, so the average of `up` over a period is the uptime for that period.",
|
|
10010
|
+
"Each run writes one observation to `collection_slug` carrying `check_id`, `check_name`, `checked_at`, `up`, `http_status`, `response_time_ms`, `error_stage`, `error_message` and `attempts`. `up` is 1 when the endpoint returned a 2xx and 0 when it did not answer or answered with an error status, so the average of `up` over a period is the uptime for that period.",
|
|
10011
|
+
"`check_name` is the name the check carried when the run was recorded, so a chart grouped on `check_id` can label its series with something readable. Renaming the check does not rewrite observations already stored.",
|
|
9032
10012
|
"`checked_at` is the scheduled minute rather than the moment the observation was written, so a run delayed by a confirming request still lands in the minute it describes.",
|
|
9033
10013
|
"`name` must be unique within the project, so a check is identifiable in a list and in the strip it charts as."
|
|
9034
10014
|
],
|