predictable-ai 0.1.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/README.md +265 -0
- package/dist/args.js +76 -0
- package/dist/args.js.map +1 -0
- package/dist/bin.js +17 -0
- package/dist/bin.js.map +1 -0
- package/dist/commands/bundle.js +754 -0
- package/dist/commands/bundle.js.map +1 -0
- package/dist/commands/execute.js +266 -0
- package/dist/commands/execute.js.map +1 -0
- package/dist/config.js +93 -0
- package/dist/config.js.map +1 -0
- package/dist/diagnostics.js +99 -0
- package/dist/diagnostics.js.map +1 -0
- package/dist/errors.js +30 -0
- package/dist/errors.js.map +1 -0
- package/dist/generated/commands.json +881 -0
- package/dist/generated/csv-safety.js +181 -0
- package/dist/generated/csv-safety.js.map +1 -0
- package/dist/generated/csv-safety.ts +184 -0
- package/dist/help.js +133 -0
- package/dist/help.js.map +1 -0
- package/dist/http.js +146 -0
- package/dist/http.js.map +1 -0
- package/dist/output.js +102 -0
- package/dist/output.js.map +1 -0
- package/dist/parity.js +30 -0
- package/dist/parity.js.map +1 -0
- package/dist/registry.js +359 -0
- package/dist/registry.js.map +1 -0
- package/dist/run.js +102 -0
- package/dist/run.js.map +1 -0
- package/dist/surface.js +24 -0
- package/dist/surface.js.map +1 -0
- package/dist/version.js +91 -0
- package/dist/version.js.map +1 -0
- package/package.json +27 -0
|
@@ -0,0 +1,881 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$generated": "GENERATED FILE — DO NOT EDIT. Source of truth: dashboard/src/lib/agent/manifest.ts Regenerate: npm run generate:agent-surface (from dashboard/) Guard: npm run guard:agent-surface (CI re-derives and diffs)",
|
|
3
|
+
"version": "0a7369628826adda",
|
|
4
|
+
"binary": "predictable",
|
|
5
|
+
"commands": [
|
|
6
|
+
{
|
|
7
|
+
"command": "whoami",
|
|
8
|
+
"verb": "whoami",
|
|
9
|
+
"pack": "read",
|
|
10
|
+
"paid": false,
|
|
11
|
+
"quote": false,
|
|
12
|
+
"summary": "Identity, client scope and rep linkage — the token smoke-test verb.",
|
|
13
|
+
"routes": [
|
|
14
|
+
{
|
|
15
|
+
"method": "GET",
|
|
16
|
+
"path": "/api/me"
|
|
17
|
+
}
|
|
18
|
+
]
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"command": "lists list",
|
|
22
|
+
"verb": "lists.list",
|
|
23
|
+
"pack": "read",
|
|
24
|
+
"paid": false,
|
|
25
|
+
"quote": false,
|
|
26
|
+
"summary": "Enumerate the caller's clients, lists and counts.",
|
|
27
|
+
"routes": [
|
|
28
|
+
{
|
|
29
|
+
"method": "GET",
|
|
30
|
+
"path": "/api/agent/lists"
|
|
31
|
+
}
|
|
32
|
+
]
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"command": "lists status",
|
|
36
|
+
"verb": "lists.status",
|
|
37
|
+
"pack": "read",
|
|
38
|
+
"paid": false,
|
|
39
|
+
"quote": false,
|
|
40
|
+
"summary": "Latest base-search job and per-status candidate counts.",
|
|
41
|
+
"routes": [
|
|
42
|
+
{
|
|
43
|
+
"method": "GET",
|
|
44
|
+
"path": "/api/lists/[id]/exa-agent/status"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"method": "GET",
|
|
48
|
+
"path": "/api/lists/[id]/exa-agent/counts"
|
|
49
|
+
}
|
|
50
|
+
]
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"command": "lists routing",
|
|
54
|
+
"verb": "lists.routing",
|
|
55
|
+
"pack": "read",
|
|
56
|
+
"paid": false,
|
|
57
|
+
"quote": false,
|
|
58
|
+
"summary": "Routing-board counts for the list.",
|
|
59
|
+
"routes": [
|
|
60
|
+
{
|
|
61
|
+
"method": "GET",
|
|
62
|
+
"path": "/api/lists/[id]/exa-agent/routing"
|
|
63
|
+
}
|
|
64
|
+
]
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"command": "candidates list",
|
|
68
|
+
"verb": "candidates.list",
|
|
69
|
+
"pack": "read",
|
|
70
|
+
"paid": false,
|
|
71
|
+
"quote": false,
|
|
72
|
+
"summary": "Review-grid candidate rows by status.",
|
|
73
|
+
"routes": [
|
|
74
|
+
{
|
|
75
|
+
"method": "GET",
|
|
76
|
+
"path": "/api/lists/[id]/exa-agent/candidates"
|
|
77
|
+
}
|
|
78
|
+
]
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"command": "accounts detail",
|
|
82
|
+
"verb": "accounts.detail",
|
|
83
|
+
"pack": "read",
|
|
84
|
+
"paid": false,
|
|
85
|
+
"quote": false,
|
|
86
|
+
"summary": "One candidate account with its columns and cells.",
|
|
87
|
+
"routes": [
|
|
88
|
+
{
|
|
89
|
+
"method": "GET",
|
|
90
|
+
"path": "/api/lists/[id]/exa-agent/account"
|
|
91
|
+
}
|
|
92
|
+
]
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"command": "accounts list",
|
|
96
|
+
"verb": "accounts.list",
|
|
97
|
+
"pack": "read",
|
|
98
|
+
"paid": false,
|
|
99
|
+
"quote": false,
|
|
100
|
+
"summary": "Routed and approved accounts for the list, with filter counts.",
|
|
101
|
+
"routes": [
|
|
102
|
+
{
|
|
103
|
+
"method": "GET",
|
|
104
|
+
"path": "/api/companies/[icpId]"
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"method": "GET",
|
|
108
|
+
"path": "/api/companies/[icpId]/filter-counts"
|
|
109
|
+
}
|
|
110
|
+
]
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"command": "contacts staged",
|
|
114
|
+
"verb": "contacts.staged",
|
|
115
|
+
"pack": "read",
|
|
116
|
+
"paid": false,
|
|
117
|
+
"quote": false,
|
|
118
|
+
"summary": "Staged-contacts grid feed for the list.",
|
|
119
|
+
"routes": [
|
|
120
|
+
{
|
|
121
|
+
"method": "GET",
|
|
122
|
+
"path": "/api/lists/[id]/exa-agent/contacts"
|
|
123
|
+
}
|
|
124
|
+
]
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"command": "contacts list",
|
|
128
|
+
"verb": "contacts.list",
|
|
129
|
+
"pack": "read",
|
|
130
|
+
"paid": false,
|
|
131
|
+
"quote": false,
|
|
132
|
+
"summary": "Routed and global contacts for the list, with filter counts.",
|
|
133
|
+
"routes": [
|
|
134
|
+
{
|
|
135
|
+
"method": "GET",
|
|
136
|
+
"path": "/api/contacts/[icpId]"
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"method": "GET",
|
|
140
|
+
"path": "/api/contacts/[icpId]/filter-counts"
|
|
141
|
+
}
|
|
142
|
+
]
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
"command": "contacts history",
|
|
146
|
+
"verb": "contacts.history",
|
|
147
|
+
"pack": "read",
|
|
148
|
+
"paid": false,
|
|
149
|
+
"quote": false,
|
|
150
|
+
"summary": "Per-contact touch history and the bulk contact-to-last-sent map.",
|
|
151
|
+
"routes": [
|
|
152
|
+
{
|
|
153
|
+
"method": "GET",
|
|
154
|
+
"path": "/api/contact/[id]/fit-detail"
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"method": "GET",
|
|
158
|
+
"path": "/api/oneoff-sends/recent"
|
|
159
|
+
}
|
|
160
|
+
]
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
"command": "dnc list",
|
|
164
|
+
"verb": "dnc.list",
|
|
165
|
+
"pack": "read",
|
|
166
|
+
"paid": false,
|
|
167
|
+
"quote": false,
|
|
168
|
+
"summary": "Organization and person suppression entries for the client.",
|
|
169
|
+
"routes": [
|
|
170
|
+
{
|
|
171
|
+
"method": "GET",
|
|
172
|
+
"path": "/api/organization-suppressions"
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
"method": "GET",
|
|
176
|
+
"path": "/api/person-suppressions"
|
|
177
|
+
}
|
|
178
|
+
]
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
"command": "dnc status",
|
|
182
|
+
"verb": "dnc.status",
|
|
183
|
+
"pack": "read",
|
|
184
|
+
"paid": false,
|
|
185
|
+
"quote": false,
|
|
186
|
+
"summary": "Suppression-CSV pipeline status, unresolved queue and reconciliations.",
|
|
187
|
+
"routes": [
|
|
188
|
+
{
|
|
189
|
+
"method": "GET",
|
|
190
|
+
"path": "/api/suppression-imports"
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
"method": "GET",
|
|
194
|
+
"path": "/api/suppression-imports/[id]/unresolved"
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
"method": "GET",
|
|
198
|
+
"path": "/api/suppression-reconciliations"
|
|
199
|
+
}
|
|
200
|
+
]
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
"command": "runs list",
|
|
204
|
+
"verb": "runs.list",
|
|
205
|
+
"pack": "read",
|
|
206
|
+
"paid": false,
|
|
207
|
+
"quote": false,
|
|
208
|
+
"summary": "Run history for the list and per-item outcomes for one run.",
|
|
209
|
+
"routes": [
|
|
210
|
+
{
|
|
211
|
+
"method": "GET",
|
|
212
|
+
"path": "/api/lists/[id]/exa-agent/runs"
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
"method": "GET",
|
|
216
|
+
"path": "/api/lists/[id]/exa-agent/runs/[jobId]"
|
|
217
|
+
}
|
|
218
|
+
]
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
"command": "source status",
|
|
222
|
+
"verb": "source.status",
|
|
223
|
+
"pack": "read",
|
|
224
|
+
"paid": false,
|
|
225
|
+
"quote": false,
|
|
226
|
+
"summary": "Contact-sourcing job status — the poll target for contacts.source.",
|
|
227
|
+
"routes": [
|
|
228
|
+
{
|
|
229
|
+
"method": "GET",
|
|
230
|
+
"path": "/api/lists/[id]/exa-agent/contact-source/status"
|
|
231
|
+
}
|
|
232
|
+
]
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
"command": "sequences list",
|
|
236
|
+
"verb": "sequences.list",
|
|
237
|
+
"pack": "read",
|
|
238
|
+
"paid": false,
|
|
239
|
+
"quote": false,
|
|
240
|
+
"summary": "Sequences for the list with enrollment counts and reply stats.",
|
|
241
|
+
"routes": [
|
|
242
|
+
{
|
|
243
|
+
"method": "GET",
|
|
244
|
+
"path": "/api/icps/[id]/sequences"
|
|
245
|
+
}
|
|
246
|
+
]
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
"command": "sequences get",
|
|
250
|
+
"verb": "sequences.get",
|
|
251
|
+
"pack": "read",
|
|
252
|
+
"paid": false,
|
|
253
|
+
"quote": false,
|
|
254
|
+
"summary": "One sequence with its steps and status.",
|
|
255
|
+
"routes": [
|
|
256
|
+
{
|
|
257
|
+
"method": "GET",
|
|
258
|
+
"path": "/api/icps/[id]/sequences/[seqId]"
|
|
259
|
+
}
|
|
260
|
+
]
|
|
261
|
+
},
|
|
262
|
+
{
|
|
263
|
+
"command": "replies list",
|
|
264
|
+
"verb": "replies.list",
|
|
265
|
+
"pack": "read",
|
|
266
|
+
"paid": false,
|
|
267
|
+
"quote": false,
|
|
268
|
+
"summary": "Replies for the list. Always ICP-anchored — bare GET /api/replies is off the allowlist.",
|
|
269
|
+
"routes": [
|
|
270
|
+
{
|
|
271
|
+
"method": "GET",
|
|
272
|
+
"path": "/api/replies/[icpId]"
|
|
273
|
+
}
|
|
274
|
+
]
|
|
275
|
+
},
|
|
276
|
+
{
|
|
277
|
+
"command": "replies thread",
|
|
278
|
+
"verb": "replies.thread",
|
|
279
|
+
"pack": "read",
|
|
280
|
+
"paid": false,
|
|
281
|
+
"quote": false,
|
|
282
|
+
"summary": "Full reply thread for client-side CRM glue.",
|
|
283
|
+
"routes": [
|
|
284
|
+
{
|
|
285
|
+
"method": "GET",
|
|
286
|
+
"path": "/api/replies/threads/[thread_id]"
|
|
287
|
+
}
|
|
288
|
+
]
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
"command": "stats usage",
|
|
292
|
+
"verb": "stats.usage",
|
|
293
|
+
"pack": "read",
|
|
294
|
+
"paid": false,
|
|
295
|
+
"quote": false,
|
|
296
|
+
"summary": "Plan, current-period usage and tiers for the client.",
|
|
297
|
+
"routes": [
|
|
298
|
+
{
|
|
299
|
+
"method": "GET",
|
|
300
|
+
"path": "/api/billing/usage"
|
|
301
|
+
}
|
|
302
|
+
]
|
|
303
|
+
},
|
|
304
|
+
{
|
|
305
|
+
"command": "stats pipeline",
|
|
306
|
+
"verb": "stats.pipeline",
|
|
307
|
+
"pack": "read",
|
|
308
|
+
"paid": false,
|
|
309
|
+
"quote": false,
|
|
310
|
+
"summary": "Pipeline metrics and home-section counts for the list.",
|
|
311
|
+
"routes": [
|
|
312
|
+
{
|
|
313
|
+
"method": "GET",
|
|
314
|
+
"path": "/api/pipeline/[icpId]"
|
|
315
|
+
},
|
|
316
|
+
{
|
|
317
|
+
"method": "GET",
|
|
318
|
+
"path": "/api/counts/[icpId]"
|
|
319
|
+
}
|
|
320
|
+
]
|
|
321
|
+
},
|
|
322
|
+
{
|
|
323
|
+
"command": "campaigns instantly",
|
|
324
|
+
"verb": "campaigns.instantly",
|
|
325
|
+
"pack": "read",
|
|
326
|
+
"paid": false,
|
|
327
|
+
"quote": false,
|
|
328
|
+
"summary": "Instantly campaigns for the list and per-campaign details.",
|
|
329
|
+
"routes": [
|
|
330
|
+
{
|
|
331
|
+
"method": "GET",
|
|
332
|
+
"path": "/api/instantly/campaigns"
|
|
333
|
+
},
|
|
334
|
+
{
|
|
335
|
+
"method": "GET",
|
|
336
|
+
"path": "/api/instantly-campaigns/[id]/details"
|
|
337
|
+
}
|
|
338
|
+
]
|
|
339
|
+
},
|
|
340
|
+
{
|
|
341
|
+
"command": "export accounts",
|
|
342
|
+
"verb": "export.accounts",
|
|
343
|
+
"pack": "read",
|
|
344
|
+
"paid": false,
|
|
345
|
+
"quote": false,
|
|
346
|
+
"summary": "Accounts CSV export, suppression-filtered or reporting-history.",
|
|
347
|
+
"routes": [
|
|
348
|
+
{
|
|
349
|
+
"method": "GET",
|
|
350
|
+
"path": "/api/export/[icpId]"
|
|
351
|
+
}
|
|
352
|
+
]
|
|
353
|
+
},
|
|
354
|
+
{
|
|
355
|
+
"command": "export campaign",
|
|
356
|
+
"verb": "export.campaign",
|
|
357
|
+
"pack": "read",
|
|
358
|
+
"paid": false,
|
|
359
|
+
"quote": false,
|
|
360
|
+
"summary": "The D2-A campaign bundle: accounts, contacts, sequence, events, replies and stats as files.",
|
|
361
|
+
"routes": [
|
|
362
|
+
{
|
|
363
|
+
"method": "GET",
|
|
364
|
+
"path": "/api/icps/[id]/sequences"
|
|
365
|
+
},
|
|
366
|
+
{
|
|
367
|
+
"method": "GET",
|
|
368
|
+
"path": "/api/contacts/[icpId]"
|
|
369
|
+
},
|
|
370
|
+
{
|
|
371
|
+
"method": "GET",
|
|
372
|
+
"path": "/api/replies/[icpId]"
|
|
373
|
+
},
|
|
374
|
+
{
|
|
375
|
+
"method": "GET",
|
|
376
|
+
"path": "/api/agent/lists/[id]/events"
|
|
377
|
+
},
|
|
378
|
+
{
|
|
379
|
+
"method": "GET",
|
|
380
|
+
"path": "/api/export/[icpId]"
|
|
381
|
+
},
|
|
382
|
+
{
|
|
383
|
+
"method": "GET",
|
|
384
|
+
"path": "/api/billing/usage"
|
|
385
|
+
}
|
|
386
|
+
]
|
|
387
|
+
},
|
|
388
|
+
{
|
|
389
|
+
"command": "activity tail",
|
|
390
|
+
"verb": "activity.tail",
|
|
391
|
+
"pack": "read",
|
|
392
|
+
"paid": false,
|
|
393
|
+
"quote": false,
|
|
394
|
+
"summary": "Tail the companion activity feed for the list.",
|
|
395
|
+
"routes": [
|
|
396
|
+
{
|
|
397
|
+
"method": "GET",
|
|
398
|
+
"path": "/api/lists/[id]/exa-agent/activity"
|
|
399
|
+
}
|
|
400
|
+
]
|
|
401
|
+
},
|
|
402
|
+
{
|
|
403
|
+
"command": "lists create",
|
|
404
|
+
"verb": "lists.create",
|
|
405
|
+
"pack": "build",
|
|
406
|
+
"paid": false,
|
|
407
|
+
"quote": false,
|
|
408
|
+
"summary": "Create a list with its must-haves and nice-to-haves.",
|
|
409
|
+
"guidance": "Criteria coaching: keep 2–3 must-haves — more densify the synthesized query past its 2-to-4 structural-qualifier cap and multiply per-account columns, which collapses recall. Move the rest to nice-to-haves; they become enrichment columns you fill and filter on after the run. Do not restate the search query as a must-have, and remember disqualifiers (\"not a subsidiary\") are high-value. Show the draft and the quote before spending. Full guide: agent://guide, or `predictable guide criteria`.",
|
|
410
|
+
"routes": [
|
|
411
|
+
{
|
|
412
|
+
"method": "POST",
|
|
413
|
+
"path": "/api/onboard"
|
|
414
|
+
}
|
|
415
|
+
]
|
|
416
|
+
},
|
|
417
|
+
{
|
|
418
|
+
"command": "search estimate",
|
|
419
|
+
"verb": "search.estimate",
|
|
420
|
+
"pack": "build",
|
|
421
|
+
"paid": false,
|
|
422
|
+
"quote": false,
|
|
423
|
+
"summary": "Client-safe target and credit estimate for a base search.",
|
|
424
|
+
"guidance": "Criteria coaching: keep 2–3 must-haves — more densify the synthesized query past its 2-to-4 structural-qualifier cap and multiply per-account columns, which collapses recall. Move the rest to nice-to-haves; they become enrichment columns you fill and filter on after the run. Do not restate the search query as a must-have, and remember disqualifiers (\"not a subsidiary\") are high-value. Show the draft and the quote before spending. Full guide: agent://guide, or `predictable guide criteria`.",
|
|
425
|
+
"routes": [
|
|
426
|
+
{
|
|
427
|
+
"method": "GET",
|
|
428
|
+
"path": "/api/lists/[id]/exa-agent/base-search"
|
|
429
|
+
}
|
|
430
|
+
]
|
|
431
|
+
},
|
|
432
|
+
{
|
|
433
|
+
"command": "search run",
|
|
434
|
+
"verb": "search.run",
|
|
435
|
+
"pack": "build",
|
|
436
|
+
"paid": true,
|
|
437
|
+
"quote": true,
|
|
438
|
+
"summary": "Run the base search. Preview mints the quote; the run consumes it.",
|
|
439
|
+
"guidance": "Criteria coaching: keep 2–3 must-haves — more densify the synthesized query past its 2-to-4 structural-qualifier cap and multiply per-account columns, which collapses recall. Move the rest to nice-to-haves; they become enrichment columns you fill and filter on after the run. Do not restate the search query as a must-have, and remember disqualifiers (\"not a subsidiary\") are high-value. Show the draft and the quote before spending. Full guide: agent://guide, or `predictable guide criteria`.",
|
|
440
|
+
"routes": [
|
|
441
|
+
{
|
|
442
|
+
"method": "POST",
|
|
443
|
+
"path": "/api/lists/[id]/exa-agent/base-search/preview"
|
|
444
|
+
},
|
|
445
|
+
{
|
|
446
|
+
"method": "POST",
|
|
447
|
+
"path": "/api/lists/[id]/exa-agent/base-search"
|
|
448
|
+
}
|
|
449
|
+
]
|
|
450
|
+
},
|
|
451
|
+
{
|
|
452
|
+
"command": "alumni estimate",
|
|
453
|
+
"verb": "alumni.estimate",
|
|
454
|
+
"pack": "build",
|
|
455
|
+
"paid": false,
|
|
456
|
+
"quote": false,
|
|
457
|
+
"summary": "People-count probe and rate estimate for an alumni pull.",
|
|
458
|
+
"routes": [
|
|
459
|
+
{
|
|
460
|
+
"method": "POST",
|
|
461
|
+
"path": "/api/lists/[id]/exa-agent/alumni-estimate"
|
|
462
|
+
}
|
|
463
|
+
]
|
|
464
|
+
},
|
|
465
|
+
{
|
|
466
|
+
"command": "alumni pull",
|
|
467
|
+
"verb": "alumni.pull",
|
|
468
|
+
"pack": "build",
|
|
469
|
+
"paid": true,
|
|
470
|
+
"quote": true,
|
|
471
|
+
"summary": "Run an alumni search job. Preview mints the quote; the pull consumes it.",
|
|
472
|
+
"routes": [
|
|
473
|
+
{
|
|
474
|
+
"method": "POST",
|
|
475
|
+
"path": "/api/lists/[id]/exa-agent/alumni-pull/preview"
|
|
476
|
+
},
|
|
477
|
+
{
|
|
478
|
+
"method": "POST",
|
|
479
|
+
"path": "/api/lists/[id]/exa-agent/alumni-pull"
|
|
480
|
+
}
|
|
481
|
+
]
|
|
482
|
+
},
|
|
483
|
+
{
|
|
484
|
+
"command": "columns manage",
|
|
485
|
+
"verb": "columns.manage",
|
|
486
|
+
"pack": "build",
|
|
487
|
+
"paid": false,
|
|
488
|
+
"quote": false,
|
|
489
|
+
"summary": "Read, create, edit and delete column definitions. Definitions cost nothing.",
|
|
490
|
+
"routes": [
|
|
491
|
+
{
|
|
492
|
+
"method": "GET",
|
|
493
|
+
"path": "/api/lists/[id]/exa-agent/columns"
|
|
494
|
+
},
|
|
495
|
+
{
|
|
496
|
+
"method": "POST",
|
|
497
|
+
"path": "/api/lists/[id]/exa-agent/columns"
|
|
498
|
+
},
|
|
499
|
+
{
|
|
500
|
+
"method": "PATCH",
|
|
501
|
+
"path": "/api/lists/[id]/exa-agent/columns/[columnId]"
|
|
502
|
+
},
|
|
503
|
+
{
|
|
504
|
+
"method": "DELETE",
|
|
505
|
+
"path": "/api/lists/[id]/exa-agent/columns/[columnId]"
|
|
506
|
+
}
|
|
507
|
+
]
|
|
508
|
+
},
|
|
509
|
+
{
|
|
510
|
+
"command": "columns assist",
|
|
511
|
+
"verb": "columns.assist",
|
|
512
|
+
"pack": "build",
|
|
513
|
+
"paid": false,
|
|
514
|
+
"quote": false,
|
|
515
|
+
"summary": "Synthesize a column prompt or infer its type. Persists nothing.",
|
|
516
|
+
"routes": [
|
|
517
|
+
{
|
|
518
|
+
"method": "POST",
|
|
519
|
+
"path": "/api/lists/[id]/exa-agent/column-prompt"
|
|
520
|
+
},
|
|
521
|
+
{
|
|
522
|
+
"method": "POST",
|
|
523
|
+
"path": "/api/lists/[id]/exa-agent/column-type"
|
|
524
|
+
}
|
|
525
|
+
]
|
|
526
|
+
},
|
|
527
|
+
{
|
|
528
|
+
"command": "columns fill",
|
|
529
|
+
"verb": "columns.fill",
|
|
530
|
+
"pack": "build",
|
|
531
|
+
"paid": true,
|
|
532
|
+
"quote": true,
|
|
533
|
+
"summary": "Fill a column across candidates. Preview snapshots the workset; the fill consumes it.",
|
|
534
|
+
"routes": [
|
|
535
|
+
{
|
|
536
|
+
"method": "POST",
|
|
537
|
+
"path": "/api/lists/[id]/exa-agent/columns/[columnId]/fill/preview"
|
|
538
|
+
},
|
|
539
|
+
{
|
|
540
|
+
"method": "POST",
|
|
541
|
+
"path": "/api/lists/[id]/exa-agent/columns/[columnId]/fill"
|
|
542
|
+
}
|
|
543
|
+
]
|
|
544
|
+
},
|
|
545
|
+
{
|
|
546
|
+
"command": "contacts source",
|
|
547
|
+
"verb": "contacts.source",
|
|
548
|
+
"pack": "build",
|
|
549
|
+
"paid": true,
|
|
550
|
+
"quote": true,
|
|
551
|
+
"summary": "Source contacts for staged accounts. Preview is the one server-side spend authorization.",
|
|
552
|
+
"routes": [
|
|
553
|
+
{
|
|
554
|
+
"method": "POST",
|
|
555
|
+
"path": "/api/lists/[id]/exa-agent/contact-source/preview"
|
|
556
|
+
},
|
|
557
|
+
{
|
|
558
|
+
"method": "POST",
|
|
559
|
+
"path": "/api/lists/[id]/exa-agent/contact-source"
|
|
560
|
+
},
|
|
561
|
+
{
|
|
562
|
+
"method": "POST",
|
|
563
|
+
"path": "/api/lists/[id]/exa-agent/contact-source/retry"
|
|
564
|
+
},
|
|
565
|
+
{
|
|
566
|
+
"method": "POST",
|
|
567
|
+
"path": "/api/lists/[id]/exa-agent/contact-source/reset"
|
|
568
|
+
}
|
|
569
|
+
]
|
|
570
|
+
},
|
|
571
|
+
{
|
|
572
|
+
"command": "emails enrich",
|
|
573
|
+
"verb": "emails.enrich",
|
|
574
|
+
"pack": "build",
|
|
575
|
+
"paid": true,
|
|
576
|
+
"quote": true,
|
|
577
|
+
"summary": "Enrich staged contacts with email addresses. Quote-mandatory for every principal.",
|
|
578
|
+
"routes": [
|
|
579
|
+
{
|
|
580
|
+
"method": "POST",
|
|
581
|
+
"path": "/api/lists/[id]/exa-agent/email-enrichment/preview"
|
|
582
|
+
},
|
|
583
|
+
{
|
|
584
|
+
"method": "POST",
|
|
585
|
+
"path": "/api/lists/[id]/exa-agent/email-enrichment"
|
|
586
|
+
}
|
|
587
|
+
]
|
|
588
|
+
},
|
|
589
|
+
{
|
|
590
|
+
"command": "import csv",
|
|
591
|
+
"verb": "import.csv",
|
|
592
|
+
"pack": "build",
|
|
593
|
+
"paid": false,
|
|
594
|
+
"quote": false,
|
|
595
|
+
"summary": "Staged CSV ingest: create a session, stage rows, commit quarantined, then release.",
|
|
596
|
+
"routes": [
|
|
597
|
+
{
|
|
598
|
+
"method": "POST",
|
|
599
|
+
"path": "/api/agent/import-sessions"
|
|
600
|
+
},
|
|
601
|
+
{
|
|
602
|
+
"method": "GET",
|
|
603
|
+
"path": "/api/agent/import-sessions/[sessionId]"
|
|
604
|
+
},
|
|
605
|
+
{
|
|
606
|
+
"method": "POST",
|
|
607
|
+
"path": "/api/agent/import-sessions/[sessionId]/rows"
|
|
608
|
+
},
|
|
609
|
+
{
|
|
610
|
+
"method": "POST",
|
|
611
|
+
"path": "/api/agent/import-sessions/[sessionId]/commit"
|
|
612
|
+
},
|
|
613
|
+
{
|
|
614
|
+
"method": "POST",
|
|
615
|
+
"path": "/api/agent/import-sessions/[sessionId]/release"
|
|
616
|
+
}
|
|
617
|
+
]
|
|
618
|
+
},
|
|
619
|
+
{
|
|
620
|
+
"command": "dnc add",
|
|
621
|
+
"verb": "dnc.add",
|
|
622
|
+
"pack": "build",
|
|
623
|
+
"paid": false,
|
|
624
|
+
"quote": false,
|
|
625
|
+
"summary": "Add or reactivate organization and person suppression entries.",
|
|
626
|
+
"routes": [
|
|
627
|
+
{
|
|
628
|
+
"method": "POST",
|
|
629
|
+
"path": "/api/organization-suppressions"
|
|
630
|
+
},
|
|
631
|
+
{
|
|
632
|
+
"method": "PATCH",
|
|
633
|
+
"path": "/api/organization-suppressions"
|
|
634
|
+
},
|
|
635
|
+
{
|
|
636
|
+
"method": "POST",
|
|
637
|
+
"path": "/api/person-suppressions"
|
|
638
|
+
},
|
|
639
|
+
{
|
|
640
|
+
"method": "PATCH",
|
|
641
|
+
"path": "/api/person-suppressions"
|
|
642
|
+
}
|
|
643
|
+
]
|
|
644
|
+
},
|
|
645
|
+
{
|
|
646
|
+
"command": "dnc import",
|
|
647
|
+
"verb": "dnc.import",
|
|
648
|
+
"pack": "build",
|
|
649
|
+
"paid": false,
|
|
650
|
+
"quote": false,
|
|
651
|
+
"summary": "Run the suppression-CSV pipeline: upload then confirm.",
|
|
652
|
+
"routes": [
|
|
653
|
+
{
|
|
654
|
+
"method": "POST",
|
|
655
|
+
"path": "/api/suppression-imports"
|
|
656
|
+
},
|
|
657
|
+
{
|
|
658
|
+
"method": "POST",
|
|
659
|
+
"path": "/api/suppression-imports/[id]"
|
|
660
|
+
}
|
|
661
|
+
]
|
|
662
|
+
},
|
|
663
|
+
{
|
|
664
|
+
"command": "accounts verdict",
|
|
665
|
+
"verb": "accounts.verdict",
|
|
666
|
+
"pack": "build",
|
|
667
|
+
"paid": false,
|
|
668
|
+
"quote": false,
|
|
669
|
+
"summary": "Record include or exclude verdicts on accounts.",
|
|
670
|
+
"routes": [
|
|
671
|
+
{
|
|
672
|
+
"method": "POST",
|
|
673
|
+
"path": "/api/feedback/[icpId]"
|
|
674
|
+
}
|
|
675
|
+
]
|
|
676
|
+
},
|
|
677
|
+
{
|
|
678
|
+
"command": "candidates discard",
|
|
679
|
+
"verb": "candidates.discard",
|
|
680
|
+
"pack": "build",
|
|
681
|
+
"paid": false,
|
|
682
|
+
"quote": false,
|
|
683
|
+
"summary": "Discard or restore a candidate. Free and reversible.",
|
|
684
|
+
"routes": [
|
|
685
|
+
{
|
|
686
|
+
"method": "POST",
|
|
687
|
+
"path": "/api/lists/[id]/exa-agent/discard"
|
|
688
|
+
}
|
|
689
|
+
]
|
|
690
|
+
},
|
|
691
|
+
{
|
|
692
|
+
"command": "contacts route",
|
|
693
|
+
"verb": "contacts.route",
|
|
694
|
+
"pack": "route",
|
|
695
|
+
"paid": false,
|
|
696
|
+
"quote": false,
|
|
697
|
+
"summary": "Promote selected staged contacts.",
|
|
698
|
+
"routes": [
|
|
699
|
+
{
|
|
700
|
+
"method": "POST",
|
|
701
|
+
"path": "/api/lists/[id]/exa-agent/contact-route"
|
|
702
|
+
}
|
|
703
|
+
]
|
|
704
|
+
},
|
|
705
|
+
{
|
|
706
|
+
"command": "contacts enroll",
|
|
707
|
+
"verb": "contacts.enroll",
|
|
708
|
+
"pack": "route",
|
|
709
|
+
"paid": false,
|
|
710
|
+
"quote": false,
|
|
711
|
+
"summary": "Enroll contacts into a sequence, optionally from a future start time.",
|
|
712
|
+
"routes": [
|
|
713
|
+
{
|
|
714
|
+
"method": "POST",
|
|
715
|
+
"path": "/api/lists/[id]/exa-agent/contact-enroll"
|
|
716
|
+
}
|
|
717
|
+
]
|
|
718
|
+
},
|
|
719
|
+
{
|
|
720
|
+
"command": "push run",
|
|
721
|
+
"verb": "push.run",
|
|
722
|
+
"pack": "route",
|
|
723
|
+
"paid": false,
|
|
724
|
+
"quote": false,
|
|
725
|
+
"summary": "The one final execution. Gated server-side on NEXT_PUBLIC_EXA_AGENT_PROMOTE_AT_PUSH — the file existing is not the surface being live (§10k).",
|
|
726
|
+
"routes": [
|
|
727
|
+
{
|
|
728
|
+
"method": "POST",
|
|
729
|
+
"path": "/api/lists/[id]/exa-agent/push"
|
|
730
|
+
}
|
|
731
|
+
]
|
|
732
|
+
},
|
|
733
|
+
{
|
|
734
|
+
"command": "push instantly",
|
|
735
|
+
"verb": "push.instantly",
|
|
736
|
+
"pack": "route",
|
|
737
|
+
"paid": false,
|
|
738
|
+
"quote": false,
|
|
739
|
+
"summary": "Route staged contacts into an Instantly campaign.",
|
|
740
|
+
"routes": [
|
|
741
|
+
{
|
|
742
|
+
"method": "POST",
|
|
743
|
+
"path": "/api/lists/[id]/exa-agent/route-instantly"
|
|
744
|
+
}
|
|
745
|
+
]
|
|
746
|
+
},
|
|
747
|
+
{
|
|
748
|
+
"command": "push ctd",
|
|
749
|
+
"verb": "push.ctd",
|
|
750
|
+
"pack": "route",
|
|
751
|
+
"paid": false,
|
|
752
|
+
"quote": false,
|
|
753
|
+
"summary": "Route staged contacts through the CTD action.",
|
|
754
|
+
"routes": [
|
|
755
|
+
{
|
|
756
|
+
"method": "POST",
|
|
757
|
+
"path": "/api/lists/[id]/exa-agent/route-ctd"
|
|
758
|
+
}
|
|
759
|
+
]
|
|
760
|
+
},
|
|
761
|
+
{
|
|
762
|
+
"command": "destination map",
|
|
763
|
+
"verb": "destination.map",
|
|
764
|
+
"pack": "route",
|
|
765
|
+
"paid": false,
|
|
766
|
+
"quote": false,
|
|
767
|
+
"summary": "Read, write or clear the list destination map. Executes nothing.",
|
|
768
|
+
"routes": [
|
|
769
|
+
{
|
|
770
|
+
"method": "GET",
|
|
771
|
+
"path": "/api/lists/[id]/exa-agent/destination-map"
|
|
772
|
+
},
|
|
773
|
+
{
|
|
774
|
+
"method": "PUT",
|
|
775
|
+
"path": "/api/lists/[id]/exa-agent/destination-map"
|
|
776
|
+
},
|
|
777
|
+
{
|
|
778
|
+
"method": "DELETE",
|
|
779
|
+
"path": "/api/lists/[id]/exa-agent/destination-map"
|
|
780
|
+
}
|
|
781
|
+
]
|
|
782
|
+
},
|
|
783
|
+
{
|
|
784
|
+
"command": "autoroute rules",
|
|
785
|
+
"verb": "autoroute.rules",
|
|
786
|
+
"pack": "route",
|
|
787
|
+
"paid": false,
|
|
788
|
+
"quote": false,
|
|
789
|
+
"summary": "Declare auto-route rules. Declaration only — the outbox processor enrolls.",
|
|
790
|
+
"routes": [
|
|
791
|
+
{
|
|
792
|
+
"method": "GET",
|
|
793
|
+
"path": "/api/lists/[id]/exa-agent/auto-route-rules"
|
|
794
|
+
},
|
|
795
|
+
{
|
|
796
|
+
"method": "POST",
|
|
797
|
+
"path": "/api/lists/[id]/exa-agent/auto-route-rules"
|
|
798
|
+
},
|
|
799
|
+
{
|
|
800
|
+
"method": "PATCH",
|
|
801
|
+
"path": "/api/lists/[id]/exa-agent/auto-route-rules"
|
|
802
|
+
}
|
|
803
|
+
]
|
|
804
|
+
},
|
|
805
|
+
{
|
|
806
|
+
"command": "sequences create",
|
|
807
|
+
"verb": "sequences.create",
|
|
808
|
+
"pack": "route",
|
|
809
|
+
"paid": false,
|
|
810
|
+
"quote": false,
|
|
811
|
+
"summary": "Create a sequence. Drafts only.",
|
|
812
|
+
"routes": [
|
|
813
|
+
{
|
|
814
|
+
"method": "POST",
|
|
815
|
+
"path": "/api/icps/[id]/sequences"
|
|
816
|
+
}
|
|
817
|
+
]
|
|
818
|
+
},
|
|
819
|
+
{
|
|
820
|
+
"command": "sequences edit",
|
|
821
|
+
"verb": "sequences.edit",
|
|
822
|
+
"pack": "route",
|
|
823
|
+
"paid": false,
|
|
824
|
+
"quote": false,
|
|
825
|
+
"summary": "Edit sequence steps, name or daily cap. Live edits are forward-only.",
|
|
826
|
+
"routes": [
|
|
827
|
+
{
|
|
828
|
+
"method": "PATCH",
|
|
829
|
+
"path": "/api/icps/[id]/sequences/[seqId]"
|
|
830
|
+
}
|
|
831
|
+
]
|
|
832
|
+
},
|
|
833
|
+
{
|
|
834
|
+
"command": "sequences publish",
|
|
835
|
+
"verb": "sequences.publish",
|
|
836
|
+
"pack": "route",
|
|
837
|
+
"paid": false,
|
|
838
|
+
"quote": false,
|
|
839
|
+
"summary": "Publish a draft sequence live.",
|
|
840
|
+
"routes": [
|
|
841
|
+
{
|
|
842
|
+
"method": "PATCH",
|
|
843
|
+
"path": "/api/icps/[id]/sequences/[seqId]"
|
|
844
|
+
}
|
|
845
|
+
]
|
|
846
|
+
},
|
|
847
|
+
{
|
|
848
|
+
"command": "sequences lifecycle",
|
|
849
|
+
"verb": "sequences.lifecycle",
|
|
850
|
+
"pack": "route",
|
|
851
|
+
"paid": false,
|
|
852
|
+
"quote": false,
|
|
853
|
+
"summary": "Clone, pause, resume or stop a sequence, or remove one enrollment.",
|
|
854
|
+
"routes": [
|
|
855
|
+
{
|
|
856
|
+
"method": "POST",
|
|
857
|
+
"path": "/api/icps/[id]/sequences/[seqId]/clone"
|
|
858
|
+
},
|
|
859
|
+
{
|
|
860
|
+
"method": "POST",
|
|
861
|
+
"path": "/api/icps/[id]/sequences/[seqId]/pause"
|
|
862
|
+
},
|
|
863
|
+
{
|
|
864
|
+
"method": "POST",
|
|
865
|
+
"path": "/api/icps/[id]/sequences/[seqId]/resume"
|
|
866
|
+
},
|
|
867
|
+
{
|
|
868
|
+
"method": "POST",
|
|
869
|
+
"path": "/api/icps/[id]/sequences/[seqId]/stop"
|
|
870
|
+
},
|
|
871
|
+
{
|
|
872
|
+
"method": "DELETE",
|
|
873
|
+
"path": "/api/icps/[id]/sequences/[seqId]/enrollments/[enrollmentId]"
|
|
874
|
+
}
|
|
875
|
+
]
|
|
876
|
+
}
|
|
877
|
+
],
|
|
878
|
+
"guideTopics": [
|
|
879
|
+
"criteria"
|
|
880
|
+
]
|
|
881
|
+
}
|