@propper-ai/cli 0.3.3 → 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.
@@ -97,33 +97,37 @@ async function parseErrorBody(res) {
97
97
  return { message: text.slice(0, 500), body: text };
98
98
  }
99
99
  }
100
- async function request(entry, req, ctx) {
100
+ function mergeHeaders(defaults, extra) {
101
+ const headers = { ...defaults };
102
+ for (const [key, value] of Object.entries(extra ?? {})) {
103
+ const lower = key.toLowerCase();
104
+ if (value === "") delete headers[lower];
105
+ else headers[lower] = value;
106
+ }
107
+ return headers;
108
+ }
109
+ async function rawRequest(method, url, opts, ctx, errorMeta = {}) {
101
110
  const fetchFn = ctx.fetchFn ?? fetch;
102
111
  const sleep = ctx.sleepFn ?? defaultSleep;
103
112
  const maxRetries = ctx.maxRetries ?? DEFAULT_MAX_RETRIES;
104
- const url = buildUrl(entry, req, ctx.apiBaseUrl);
105
- const headers = {
113
+ const defaults = {
106
114
  "user-agent": ctx.userAgent,
107
- accept: entry.produces === "binary" ? "*/*" : "application/json"
115
+ accept: opts.accept ?? "application/json"
108
116
  };
109
- if (ctx.token) headers.authorization = `Bearer ${ctx.token}`;
110
- let bodyInit;
111
- if (entry.consumes === "json" && req.body !== void 0) {
112
- headers["content-type"] = "application/json";
113
- bodyInit = JSON.stringify(req.body);
114
- }
117
+ if (ctx.token) defaults.authorization = `Bearer ${ctx.token}`;
118
+ const headers = mergeHeaders(defaults, opts.headers);
115
119
  let lastError;
116
120
  for (let attempt = 0; attempt <= maxRetries; attempt++) {
117
121
  const controller = new AbortController();
118
122
  const timer = setTimeout(() => controller.abort(), ctx.timeoutMs ?? DEFAULT_TIMEOUT_MS);
119
123
  try {
120
124
  if (ctx.debug) {
121
- console.error(`\u2192 ${entry.method} ${url}${bodyInit ? ` body=${bodyInit}` : ""}`);
125
+ console.error(`\u2192 ${method} ${url}${opts.body ? ` body=${opts.body}` : ""}`);
122
126
  }
123
127
  const res = await fetchFn(url, {
124
- method: entry.method,
128
+ method,
125
129
  headers,
126
- body: bodyInit,
130
+ body: opts.body,
127
131
  signal: controller.signal
128
132
  });
129
133
  if (RETRYABLE_STATUS.has(res.status) && attempt < maxRetries) {
@@ -138,18 +142,16 @@ async function request(entry, req, ctx) {
138
142
  code,
139
143
  requestId: res.headers.get("x-request-id") ?? void 0,
140
144
  body,
141
- method: entry.method,
142
- path: entry.path,
143
- operation: operationLabel(entry)
145
+ method: errorMeta.method,
146
+ path: errorMeta.path,
147
+ operation: errorMeta.operation
144
148
  });
145
149
  }
146
- if (entry.produces === "binary") {
147
- const buf = Buffer.from(await res.arrayBuffer());
148
- return { status: res.status, headers: res.headers, bytes: buf };
149
- }
150
- const text = await res.text();
151
- const data = text ? JSON.parse(text) : void 0;
152
- return { status: res.status, headers: res.headers, data };
150
+ return {
151
+ status: res.status,
152
+ headers: res.headers,
153
+ bytes: Buffer.from(await res.arrayBuffer())
154
+ };
153
155
  } catch (err) {
154
156
  if (err instanceof ApiError) throw err;
155
157
  lastError = err;
@@ -163,35 +165,2322 @@ async function request(entry, req, ctx) {
163
165
  throw new ApiError({
164
166
  status: 0,
165
167
  message: `Network error: ${lastError instanceof Error ? lastError.message : String(lastError)}`,
166
- method: entry.method,
167
- path: entry.path,
168
- operation: operationLabel(entry)
168
+ method: errorMeta.method,
169
+ path: errorMeta.path,
170
+ operation: errorMeta.operation
169
171
  });
170
172
  }
173
+ async function request(entry, req, ctx) {
174
+ const url = buildUrl(entry, req, ctx.apiBaseUrl);
175
+ const headers = {};
176
+ let body;
177
+ if (entry.consumes === "json" && req.body !== void 0) {
178
+ headers["content-type"] = "application/json";
179
+ body = JSON.stringify(req.body);
180
+ }
181
+ const raw = await rawRequest(
182
+ entry.method,
183
+ url,
184
+ { headers, body, accept: entry.produces === "binary" ? "*/*" : "application/json" },
185
+ ctx,
186
+ { method: entry.method, path: entry.path, operation: operationLabel(entry) }
187
+ );
188
+ if (entry.produces === "binary") {
189
+ return { status: raw.status, headers: raw.headers, bytes: raw.bytes };
190
+ }
191
+ const text = raw.bytes.toString("utf8");
192
+ const data = text ? JSON.parse(text) : void 0;
193
+ return { status: raw.status, headers: raw.headers, data };
194
+ }
171
195
 
172
196
  // src/generated/manifest.json
173
197
  var manifest_default = {
174
198
  version: "1",
175
- generatedFrom: "Sign API, Propper Gen API, Propper Locker API",
199
+ generatedFrom: "Sign API, Propper Gen API, Propper Locker API, Propper Click API",
176
200
  apiBaseUrl: "https://api.propper.ai",
177
201
  apis: [
178
202
  {
179
- name: "sign",
180
- title: "Sign API",
181
- baseUrl: "https://api.propper.ai"
203
+ name: "sign",
204
+ title: "Sign API",
205
+ baseUrl: "https://api.propper.ai"
206
+ },
207
+ {
208
+ name: "docgen",
209
+ title: "Propper Gen API",
210
+ baseUrl: "https://api.propper.ai"
211
+ },
212
+ {
213
+ name: "locker",
214
+ title: "Propper Locker API",
215
+ baseUrl: "https://api.propper.ai"
216
+ },
217
+ {
218
+ name: "click",
219
+ title: "Propper Click API",
220
+ baseUrl: "https://api.propper.ai"
221
+ }
222
+ ],
223
+ operations: [
224
+ {
225
+ api: "click",
226
+ operationId: "acceptConsent",
227
+ topic: "acceptance",
228
+ command: "accept",
229
+ method: "POST",
230
+ path: "/v1/click/accept",
231
+ summary: "Accept consent",
232
+ description: "Record consent acceptance with idempotent writes and Pub/Sub integration",
233
+ pathParams: [],
234
+ queryParams: [],
235
+ hasBody: true,
236
+ bodyFields: [
237
+ {
238
+ name: "templateVersionId",
239
+ flag: "--template-version-id",
240
+ type: "string",
241
+ required: true,
242
+ description: "Template version UUID"
243
+ },
244
+ {
245
+ name: "deploymentId",
246
+ flag: "--deployment-id",
247
+ type: "string",
248
+ required: true,
249
+ description: "Deployment ID that served the consent form"
250
+ },
251
+ {
252
+ name: "checksum",
253
+ flag: "--checksum",
254
+ type: "string",
255
+ required: true,
256
+ description: "Template version checksum (SHA-256 hash)"
257
+ },
258
+ {
259
+ name: "consentMethod",
260
+ flag: "--consent-method",
261
+ type: "string",
262
+ required: true,
263
+ description: "Consent method used for acceptance"
264
+ },
265
+ {
266
+ name: "sessionId",
267
+ flag: "--session-id",
268
+ type: "string",
269
+ required: false,
270
+ description: "Optional session ID"
271
+ },
272
+ {
273
+ name: "userId",
274
+ flag: "--user-id",
275
+ type: "string",
276
+ required: false,
277
+ description: "Optional user ID"
278
+ },
279
+ {
280
+ name: "email",
281
+ flag: "--email",
282
+ type: "string",
283
+ required: false,
284
+ description: "Optional email address"
285
+ },
286
+ {
287
+ name: "variant",
288
+ flag: "--variant",
289
+ type: "string",
290
+ required: false,
291
+ description: "Optional variant identifier"
292
+ },
293
+ {
294
+ name: "capturedHtml",
295
+ flag: "--captured-html",
296
+ type: "string",
297
+ required: false,
298
+ description: "Captured HTML from SDK for evidence generation"
299
+ }
300
+ ],
301
+ produces: "json",
302
+ consumes: "json"
303
+ },
304
+ {
305
+ api: "click",
306
+ operationId: "getEvidenceBundle",
307
+ topic: "acceptances",
308
+ command: "evidence",
309
+ method: "GET",
310
+ path: "/v1/click/acceptances/{id}/evidence",
311
+ pathParams: [
312
+ {
313
+ name: "id",
314
+ in: "path",
315
+ flag: "--id",
316
+ required: true
317
+ }
318
+ ],
319
+ queryParams: [],
320
+ hasBody: false,
321
+ bodyFields: [],
322
+ produces: "json",
323
+ consumes: "none"
324
+ },
325
+ {
326
+ api: "click",
327
+ operationId: "getAcceptance",
328
+ topic: "acceptances",
329
+ command: "get",
330
+ method: "GET",
331
+ path: "/v1/click/acceptances/{id}",
332
+ pathParams: [
333
+ {
334
+ name: "id",
335
+ in: "path",
336
+ flag: "--id",
337
+ required: true
338
+ }
339
+ ],
340
+ queryParams: [
341
+ {
342
+ name: "includeEvidence",
343
+ in: "query",
344
+ flag: "--include-evidence",
345
+ required: true
346
+ },
347
+ {
348
+ name: "includeReceipt",
349
+ in: "query",
350
+ flag: "--include-receipt",
351
+ required: true
352
+ }
353
+ ],
354
+ hasBody: false,
355
+ bodyFields: [],
356
+ produces: "json",
357
+ consumes: "none"
358
+ },
359
+ {
360
+ api: "click",
361
+ operationId: "getReceipt",
362
+ topic: "acceptances",
363
+ command: "get-receipt",
364
+ method: "GET",
365
+ path: "/v1/click/receipts/{receiptId}",
366
+ pathParams: [
367
+ {
368
+ name: "receiptId",
369
+ in: "path",
370
+ flag: "--receipt-id",
371
+ required: true
372
+ }
373
+ ],
374
+ queryParams: [],
375
+ hasBody: false,
376
+ bodyFields: [],
377
+ produces: "json",
378
+ consumes: "none"
379
+ },
380
+ {
381
+ api: "click",
382
+ operationId: "getAcceptances",
383
+ topic: "acceptances",
384
+ command: "list",
385
+ method: "GET",
386
+ path: "/v1/click/acceptances",
387
+ pathParams: [],
388
+ queryParams: [],
389
+ hasBody: false,
390
+ bodyFields: [],
391
+ produces: "json",
392
+ consumes: "none"
393
+ },
394
+ {
395
+ api: "click",
396
+ operationId: "getScreenshot",
397
+ topic: "acceptances",
398
+ command: "screenshot",
399
+ method: "GET",
400
+ path: "/v1/click/acceptances/{id}/screenshot",
401
+ pathParams: [
402
+ {
403
+ name: "id",
404
+ in: "path",
405
+ flag: "--id",
406
+ required: true
407
+ }
408
+ ],
409
+ queryParams: [],
410
+ hasBody: false,
411
+ bodyFields: [],
412
+ produces: "json",
413
+ consumes: "none"
414
+ },
415
+ {
416
+ api: "click",
417
+ operationId: "getRetentionStatus",
418
+ topic: "acceptances",
419
+ command: "status",
420
+ method: "GET",
421
+ path: "/v1/click/evidence/retention/status",
422
+ pathParams: [],
423
+ queryParams: [],
424
+ hasBody: false,
425
+ bodyFields: [],
426
+ produces: "json",
427
+ consumes: "none"
428
+ },
429
+ {
430
+ api: "click",
431
+ operationId: "getAcceptanceAnalytics",
432
+ topic: "analytics",
433
+ command: "acceptance",
434
+ method: "GET",
435
+ path: "/v1/click/analytics/acceptance",
436
+ summary: "Get acceptance analytics",
437
+ pathParams: [],
438
+ queryParams: [
439
+ {
440
+ name: "templateId",
441
+ in: "query",
442
+ flag: "--template-id",
443
+ required: true
444
+ },
445
+ {
446
+ name: "from",
447
+ in: "query",
448
+ flag: "--from",
449
+ required: true
450
+ },
451
+ {
452
+ name: "to",
453
+ in: "query",
454
+ flag: "--to",
455
+ required: true
456
+ },
457
+ {
458
+ name: "groupBy",
459
+ in: "query",
460
+ flag: "--group-by",
461
+ required: true
462
+ },
463
+ {
464
+ name: "timeRange",
465
+ in: "query",
466
+ flag: "--time-range",
467
+ required: true
468
+ }
469
+ ],
470
+ hasBody: false,
471
+ bodyFields: [],
472
+ produces: "json",
473
+ consumes: "none"
474
+ },
475
+ {
476
+ api: "click",
477
+ operationId: "getDashboardMetrics",
478
+ topic: "analytics",
479
+ command: "dashboard",
480
+ method: "GET",
481
+ path: "/v1/click/analytics/dashboard",
482
+ summary: "Get dashboard analytics and metrics",
483
+ pathParams: [],
484
+ queryParams: [],
485
+ hasBody: false,
486
+ bodyFields: [],
487
+ produces: "json",
488
+ consumes: "none"
489
+ },
490
+ {
491
+ api: "click",
492
+ operationId: "completeSession",
493
+ topic: "click",
494
+ command: "complete",
495
+ method: "POST",
496
+ path: "/v1/click/sessions/{id}/complete",
497
+ summary: "Complete a click session",
498
+ pathParams: [
499
+ {
500
+ name: "id",
501
+ in: "path",
502
+ flag: "--id",
503
+ required: true,
504
+ description: "Session ID"
505
+ }
506
+ ],
507
+ queryParams: [],
508
+ hasBody: false,
509
+ bodyFields: [],
510
+ produces: "json",
511
+ consumes: "none"
512
+ },
513
+ {
514
+ api: "click",
515
+ operationId: "updateUserConsentState",
516
+ topic: "click",
517
+ command: "create",
518
+ method: "POST",
519
+ path: "/v1/click/consent/{userRef}",
520
+ summary: "Update user consent state",
521
+ pathParams: [
522
+ {
523
+ name: "userRef",
524
+ in: "path",
525
+ flag: "--user-ref",
526
+ required: true,
527
+ description: "User reference"
528
+ }
529
+ ],
530
+ queryParams: [],
531
+ hasBody: false,
532
+ bodyFields: [],
533
+ produces: "json",
534
+ consumes: "none"
535
+ },
536
+ {
537
+ api: "click",
538
+ operationId: "getSession",
539
+ topic: "click",
540
+ command: "get",
541
+ method: "GET",
542
+ path: "/v1/click/sessions/{id}",
543
+ summary: "Get a click session",
544
+ pathParams: [
545
+ {
546
+ name: "id",
547
+ in: "path",
548
+ flag: "--id",
549
+ required: true,
550
+ description: "Session ID"
551
+ }
552
+ ],
553
+ queryParams: [],
554
+ hasBody: false,
555
+ bodyFields: [],
556
+ produces: "json",
557
+ consumes: "none"
558
+ },
559
+ {
560
+ api: "click",
561
+ operationId: "getClickEvidenceBundle",
562
+ topic: "click",
563
+ command: "get-click-evidence-bundle",
564
+ method: "GET",
565
+ path: "/v1/click/evidence/{sessionId}",
566
+ summary: "Get evidence bundle for a session",
567
+ pathParams: [
568
+ {
569
+ name: "sessionId",
570
+ in: "path",
571
+ flag: "--session-id",
572
+ required: true,
573
+ description: "Session ID"
574
+ }
575
+ ],
576
+ queryParams: [],
577
+ hasBody: false,
578
+ bodyFields: [],
579
+ produces: "json",
580
+ consumes: "none"
581
+ },
582
+ {
583
+ api: "click",
584
+ operationId: "getUserConsentState",
585
+ topic: "click",
586
+ command: "get-user-consent-state",
587
+ method: "GET",
588
+ path: "/v1/click/consent/{userRef}",
589
+ summary: "Get user consent state",
590
+ pathParams: [
591
+ {
592
+ name: "userRef",
593
+ in: "path",
594
+ flag: "--user-ref",
595
+ required: true,
596
+ description: "User reference"
597
+ }
598
+ ],
599
+ queryParams: [],
600
+ hasBody: false,
601
+ bodyFields: [],
602
+ produces: "json",
603
+ consumes: "none"
604
+ },
605
+ {
606
+ api: "click",
607
+ operationId: "createSession",
608
+ topic: "click",
609
+ command: "sessions",
610
+ method: "POST",
611
+ path: "/v1/click/sessions",
612
+ summary: "Create a click session",
613
+ pathParams: [],
614
+ queryParams: [],
615
+ hasBody: false,
616
+ bodyFields: [],
617
+ produces: "json",
618
+ consumes: "none"
619
+ },
620
+ {
621
+ api: "click",
622
+ operationId: "getClickDefaults",
623
+ topic: "config",
624
+ command: "click-defaults",
625
+ method: "GET",
626
+ path: "/v1/click/config/click-defaults",
627
+ summary: "Get Click default settings",
628
+ description: "Retrieve platform-wide default settings for Click experiences",
629
+ pathParams: [],
630
+ queryParams: [],
631
+ hasBody: false,
632
+ bodyFields: [],
633
+ produces: "json",
634
+ consumes: "none"
635
+ },
636
+ {
637
+ api: "click",
638
+ operationId: "updateClickDefaults",
639
+ topic: "config",
640
+ command: "update-click-defaults",
641
+ method: "PUT",
642
+ path: "/v1/click/config/click-defaults",
643
+ summary: "Update Click default settings",
644
+ description: "Update platform-wide default settings for Click experiences (admin only)",
645
+ pathParams: [],
646
+ queryParams: [],
647
+ hasBody: true,
648
+ bodyFields: [
649
+ {
650
+ name: "defaultConsentMethod",
651
+ flag: "--default-consent-method",
652
+ type: "string",
653
+ required: true,
654
+ description: "Default consent method"
655
+ },
656
+ {
657
+ name: "displayMode",
658
+ flag: "--display-mode",
659
+ type: "string",
660
+ required: true,
661
+ description: "Display mode for Click experiences"
662
+ },
663
+ {
664
+ name: "requireIdentity",
665
+ flag: "--require-identity",
666
+ type: "boolean",
667
+ required: true,
668
+ description: "Whether to require identity verification"
669
+ },
670
+ {
671
+ name: "acceptButtonText",
672
+ flag: "--accept-button-text",
673
+ type: "string",
674
+ required: true,
675
+ description: "Text for accept button"
676
+ },
677
+ {
678
+ name: "declineButtonText",
679
+ flag: "--decline-button-text",
680
+ type: "string",
681
+ required: true,
682
+ description: "Text for decline button"
683
+ },
684
+ {
685
+ name: "scrollPercentage",
686
+ flag: "--scroll-percentage",
687
+ type: "number",
688
+ required: true,
689
+ description: "Required scroll percentage before enabling accept"
690
+ },
691
+ {
692
+ name: "timeout",
693
+ flag: "--timeout",
694
+ type: "number",
695
+ required: true,
696
+ description: "Session timeout in seconds"
697
+ },
698
+ {
699
+ name: "showProgressBar",
700
+ flag: "--show-progress-bar",
701
+ type: "boolean",
702
+ required: true,
703
+ description: "Whether to show progress bar"
704
+ },
705
+ {
706
+ name: "enableAnalytics",
707
+ flag: "--enable-analytics",
708
+ type: "boolean",
709
+ required: true,
710
+ description: "Whether to enable analytics tracking"
711
+ }
712
+ ],
713
+ produces: "json",
714
+ consumes: "json"
715
+ },
716
+ {
717
+ api: "click",
718
+ operationId: "findActiveByDomain",
719
+ topic: "deployments",
720
+ command: "active",
721
+ method: "GET",
722
+ path: "/v1/click/deployments/domain/{domain}/active",
723
+ summary: "Get active deployments for a domain",
724
+ pathParams: [
725
+ {
726
+ name: "domain",
727
+ in: "path",
728
+ flag: "--domain",
729
+ required: true,
730
+ description: "Domain"
731
+ }
732
+ ],
733
+ queryParams: [
734
+ {
735
+ name: "environment",
736
+ in: "query",
737
+ flag: "--environment",
738
+ required: false,
739
+ description: "Filter by environment"
740
+ }
741
+ ],
742
+ hasBody: false,
743
+ bodyFields: [],
744
+ produces: "json",
745
+ consumes: "none"
746
+ },
747
+ {
748
+ api: "click",
749
+ operationId: "createDeployment",
750
+ topic: "deployments",
751
+ command: "create",
752
+ method: "POST",
753
+ path: "/v1/click/deployments",
754
+ summary: "Create a new deployment",
755
+ pathParams: [],
756
+ queryParams: [],
757
+ hasBody: true,
758
+ bodyFields: [
759
+ {
760
+ name: "domain",
761
+ flag: "--domain",
762
+ type: "string",
763
+ required: true,
764
+ description: "Domain where template will be deployed"
765
+ },
766
+ {
767
+ name: "templateVersionId",
768
+ flag: "--template-version-id",
769
+ type: "string",
770
+ required: true,
771
+ description: "Template version ID to deploy"
772
+ },
773
+ {
774
+ name: "environment",
775
+ flag: "--environment",
776
+ type: "string",
777
+ required: false,
778
+ description: "Deployment environment"
779
+ },
780
+ {
781
+ name: "path",
782
+ flag: "--path",
783
+ type: "string",
784
+ required: false,
785
+ description: "URL path where template will be active"
786
+ },
787
+ {
788
+ name: "variant",
789
+ flag: "--variant",
790
+ type: "string",
791
+ required: false,
792
+ description: "A/B test variant identifier"
793
+ },
794
+ {
795
+ name: "active",
796
+ flag: "--active",
797
+ type: "boolean",
798
+ required: false,
799
+ description: "Whether deployment is active"
800
+ },
801
+ {
802
+ name: "priority",
803
+ flag: "--priority",
804
+ type: "number",
805
+ required: false,
806
+ description: "Deployment priority (higher numbers take precedence)"
807
+ },
808
+ {
809
+ name: "startAt",
810
+ flag: "--start-at",
811
+ type: "string",
812
+ required: false,
813
+ description: "When deployment becomes active (ISO 8601 date)"
814
+ },
815
+ {
816
+ name: "endAt",
817
+ flag: "--end-at",
818
+ type: "string",
819
+ required: false,
820
+ description: "When deployment expires (ISO 8601 date)"
821
+ }
822
+ ],
823
+ produces: "json",
824
+ consumes: "json"
825
+ },
826
+ {
827
+ api: "click",
828
+ operationId: "deactivateByPath",
829
+ topic: "deployments",
830
+ command: "deactivate",
831
+ method: "POST",
832
+ path: "/v1/click/deployments/domain/{domain}/deactivate",
833
+ summary: "Deactivate deployments by path",
834
+ pathParams: [
835
+ {
836
+ name: "domain",
837
+ in: "path",
838
+ flag: "--domain",
839
+ required: true,
840
+ description: "Domain"
841
+ }
842
+ ],
843
+ queryParams: [
844
+ {
845
+ name: "environment",
846
+ in: "query",
847
+ flag: "--environment",
848
+ required: true,
849
+ description: "Environment"
850
+ },
851
+ {
852
+ name: "path",
853
+ in: "query",
854
+ flag: "--path",
855
+ required: true,
856
+ description: "Path to deactivate"
857
+ }
858
+ ],
859
+ hasBody: false,
860
+ bodyFields: [],
861
+ produces: "json",
862
+ consumes: "none"
863
+ },
864
+ {
865
+ api: "click",
866
+ operationId: "removeDeployment",
867
+ topic: "deployments",
868
+ command: "delete",
869
+ method: "DELETE",
870
+ path: "/v1/click/deployments/{id}",
871
+ summary: "Delete a deployment",
872
+ pathParams: [
873
+ {
874
+ name: "id",
875
+ in: "path",
876
+ flag: "--id",
877
+ required: true,
878
+ description: "Deployment ID"
879
+ }
880
+ ],
881
+ queryParams: [],
882
+ hasBody: false,
883
+ bodyFields: [],
884
+ produces: "json",
885
+ consumes: "none"
886
+ },
887
+ {
888
+ api: "click",
889
+ operationId: "findOneDeployment",
890
+ topic: "deployments",
891
+ command: "get",
892
+ method: "GET",
893
+ path: "/v1/click/deployments/{id}",
894
+ summary: "Get a specific deployment",
895
+ pathParams: [
896
+ {
897
+ name: "id",
898
+ in: "path",
899
+ flag: "--id",
900
+ required: true,
901
+ description: "Deployment ID"
902
+ }
903
+ ],
904
+ queryParams: [
905
+ {
906
+ name: "includeSite",
907
+ in: "query",
908
+ flag: "--include-site",
909
+ required: false,
910
+ description: "Include site details"
911
+ },
912
+ {
913
+ name: "includeTemplateVersion",
914
+ in: "query",
915
+ flag: "--include-template-version",
916
+ required: false,
917
+ description: "Include template version details"
918
+ }
919
+ ],
920
+ hasBody: false,
921
+ bodyFields: [],
922
+ produces: "json",
923
+ consumes: "none"
924
+ },
925
+ {
926
+ api: "click",
927
+ operationId: "findAllDeployments",
928
+ topic: "deployments",
929
+ command: "list",
930
+ method: "GET",
931
+ path: "/v1/click/deployments",
932
+ summary: "List all deployments",
933
+ pathParams: [],
934
+ queryParams: [
935
+ {
936
+ name: "siteId",
937
+ in: "query",
938
+ flag: "--site-id",
939
+ required: false,
940
+ description: "Filter by site ID"
941
+ },
942
+ {
943
+ name: "environment",
944
+ in: "query",
945
+ flag: "--environment",
946
+ required: false,
947
+ description: "Filter by environment"
948
+ },
949
+ {
950
+ name: "active",
951
+ in: "query",
952
+ flag: "--active",
953
+ required: false,
954
+ description: "Filter by active status"
955
+ },
956
+ {
957
+ name: "includeSite",
958
+ in: "query",
959
+ flag: "--include-site",
960
+ required: false,
961
+ description: "Include site details"
962
+ },
963
+ {
964
+ name: "includeTemplateVersion",
965
+ in: "query",
966
+ flag: "--include-template-version",
967
+ required: false,
968
+ description: "Include template version details"
969
+ }
970
+ ],
971
+ hasBody: false,
972
+ bodyFields: [],
973
+ produces: "json",
974
+ consumes: "none"
975
+ },
976
+ {
977
+ api: "click",
978
+ operationId: "updateDeployment",
979
+ topic: "deployments",
980
+ command: "update",
981
+ method: "PATCH",
982
+ path: "/v1/click/deployments/{id}",
983
+ summary: "Update a deployment",
984
+ pathParams: [
985
+ {
986
+ name: "id",
987
+ in: "path",
988
+ flag: "--id",
989
+ required: true,
990
+ description: "Deployment ID"
991
+ }
992
+ ],
993
+ queryParams: [],
994
+ hasBody: true,
995
+ bodyFields: [
996
+ {
997
+ name: "domain",
998
+ flag: "--domain",
999
+ type: "string",
1000
+ required: false,
1001
+ description: "Domain where template will be deployed"
1002
+ },
1003
+ {
1004
+ name: "templateVersionId",
1005
+ flag: "--template-version-id",
1006
+ type: "string",
1007
+ required: false,
1008
+ description: "Template version ID to deploy"
1009
+ },
1010
+ {
1011
+ name: "environment",
1012
+ flag: "--environment",
1013
+ type: "string",
1014
+ required: false,
1015
+ description: "Deployment environment"
1016
+ },
1017
+ {
1018
+ name: "path",
1019
+ flag: "--path",
1020
+ type: "string",
1021
+ required: false,
1022
+ description: "URL path where template will be active"
1023
+ },
1024
+ {
1025
+ name: "variant",
1026
+ flag: "--variant",
1027
+ type: "string",
1028
+ required: false,
1029
+ description: "A/B test variant identifier"
1030
+ },
1031
+ {
1032
+ name: "active",
1033
+ flag: "--active",
1034
+ type: "boolean",
1035
+ required: false,
1036
+ description: "Whether deployment is active"
1037
+ },
1038
+ {
1039
+ name: "priority",
1040
+ flag: "--priority",
1041
+ type: "number",
1042
+ required: false,
1043
+ description: "Deployment priority (higher numbers take precedence)"
1044
+ },
1045
+ {
1046
+ name: "startAt",
1047
+ flag: "--start-at",
1048
+ type: "string",
1049
+ required: false,
1050
+ description: "When deployment becomes active (ISO 8601 date)"
1051
+ },
1052
+ {
1053
+ name: "endAt",
1054
+ flag: "--end-at",
1055
+ type: "string",
1056
+ required: false,
1057
+ description: "When deployment expires (ISO 8601 date)"
1058
+ }
1059
+ ],
1060
+ produces: "json",
1061
+ consumes: "json"
1062
+ },
1063
+ {
1064
+ api: "click",
1065
+ operationId: "verifyOTP",
1066
+ topic: "identity",
1067
+ command: "otp",
1068
+ method: "POST",
1069
+ path: "/v1/click/identity/verify/{sessionId}/otp",
1070
+ pathParams: [
1071
+ {
1072
+ name: "sessionId",
1073
+ in: "path",
1074
+ flag: "--session-id",
1075
+ required: true
1076
+ }
1077
+ ],
1078
+ queryParams: [],
1079
+ hasBody: true,
1080
+ bodyFields: [],
1081
+ produces: "json",
1082
+ consumes: "json"
1083
+ },
1084
+ {
1085
+ api: "click",
1086
+ operationId: "startVerification",
1087
+ topic: "identity",
1088
+ command: "start",
1089
+ method: "POST",
1090
+ path: "/v1/click/identity/verify/start",
1091
+ pathParams: [],
1092
+ queryParams: [],
1093
+ hasBody: true,
1094
+ bodyFields: [],
1095
+ produces: "json",
1096
+ consumes: "json"
1097
+ },
1098
+ {
1099
+ api: "click",
1100
+ operationId: "checkStatus",
1101
+ topic: "identity",
1102
+ command: "status",
1103
+ method: "POST",
1104
+ path: "/v1/click/identity/verify/{sessionId}/status",
1105
+ pathParams: [
1106
+ {
1107
+ name: "sessionId",
1108
+ in: "path",
1109
+ flag: "--session-id",
1110
+ required: true
1111
+ }
1112
+ ],
1113
+ queryParams: [],
1114
+ hasBody: false,
1115
+ bodyFields: [],
1116
+ produces: "json",
1117
+ consumes: "none"
1118
+ },
1119
+ {
1120
+ api: "click",
1121
+ operationId: "getSettings",
1122
+ topic: "organization",
1123
+ command: "settings",
1124
+ method: "GET",
1125
+ path: "/v1/click/organization/settings",
1126
+ summary: "Get organization settings",
1127
+ description: "Retrieve organization settings including retention policies, PII mode, webhook configuration, and default policy flags",
1128
+ pathParams: [],
1129
+ queryParams: [],
1130
+ hasBody: false,
1131
+ bodyFields: [],
1132
+ produces: "json",
1133
+ consumes: "none"
1134
+ },
1135
+ {
1136
+ api: "click",
1137
+ operationId: "updateSettings",
1138
+ topic: "organization",
1139
+ command: "update-settings",
1140
+ method: "PATCH",
1141
+ path: "/v1/click/organization/settings",
1142
+ summary: "Update organization settings",
1143
+ description: "Update organization settings such as retention policies, PII mode, webhook configuration, and default policy flags",
1144
+ pathParams: [],
1145
+ queryParams: [],
1146
+ hasBody: true,
1147
+ bodyFields: [
1148
+ {
1149
+ name: "name",
1150
+ flag: "--name",
1151
+ type: "string",
1152
+ required: false,
1153
+ description: "Organization name"
1154
+ },
1155
+ {
1156
+ name: "defaultRetentionDays",
1157
+ flag: "--default-retention-days",
1158
+ type: "number",
1159
+ required: false,
1160
+ description: "Default evidence retention period in days"
1161
+ },
1162
+ {
1163
+ name: "piiMode",
1164
+ flag: "--pii-mode",
1165
+ type: "string",
1166
+ required: false,
1167
+ description: "PII collection mode"
1168
+ },
1169
+ {
1170
+ name: "webhookUrl",
1171
+ flag: "--webhook-url",
1172
+ type: "string",
1173
+ required: false,
1174
+ description: "Webhook URL for notifications"
1175
+ },
1176
+ {
1177
+ name: "webhookSecret",
1178
+ flag: "--webhook-secret",
1179
+ type: "string",
1180
+ required: false,
1181
+ description: "Webhook signing secret"
1182
+ },
1183
+ {
1184
+ name: "webhookEnabled",
1185
+ flag: "--webhook-enabled",
1186
+ type: "boolean",
1187
+ required: false,
1188
+ description: "Whether webhooks are enabled"
1189
+ }
1190
+ ],
1191
+ produces: "json",
1192
+ consumes: "json"
1193
+ },
1194
+ {
1195
+ api: "click",
1196
+ operationId: "downloadOriginalDocx",
1197
+ topic: "render",
1198
+ command: "download",
1199
+ method: "GET",
1200
+ path: "/v1/click/render/template-versions/{versionId}/download",
1201
+ summary: "Download Original DOCX Template",
1202
+ description: "Download the original DOCX file for a template version",
1203
+ pathParams: [
1204
+ {
1205
+ name: "versionId",
1206
+ in: "path",
1207
+ flag: "--version-id",
1208
+ required: true
1209
+ }
1210
+ ],
1211
+ queryParams: [],
1212
+ hasBody: false,
1213
+ bodyFields: [],
1214
+ produces: "binary",
1215
+ consumes: "none"
1216
+ },
1217
+ {
1218
+ api: "click",
1219
+ operationId: "renderByDeploymentId",
1220
+ topic: "render",
1221
+ command: "get",
1222
+ method: "GET",
1223
+ path: "/v1/click/render/deployment/{id}",
1224
+ summary: "Render Experience JSON by Deployment ID",
1225
+ description: "Returns Experience JSON for a specific deployment ID with optional locale override",
1226
+ pathParams: [
1227
+ {
1228
+ name: "id",
1229
+ in: "path",
1230
+ flag: "--id",
1231
+ required: true,
1232
+ description: "Deployment ID"
1233
+ }
1234
+ ],
1235
+ queryParams: [
1236
+ {
1237
+ name: "locale",
1238
+ in: "query",
1239
+ flag: "--locale",
1240
+ required: false,
1241
+ description: "Locale for template resolution (overrides deployment default)"
1242
+ }
1243
+ ],
1244
+ hasBody: false,
1245
+ bodyFields: [],
1246
+ produces: "json",
1247
+ consumes: "none"
1248
+ },
1249
+ {
1250
+ api: "click",
1251
+ operationId: "renderExperience",
1252
+ topic: "render",
1253
+ command: "list",
1254
+ method: "GET",
1255
+ path: "/v1/click/render",
1256
+ summary: "Render Experience JSON",
1257
+ description: "Returns Experience JSON with template content and metadata for the specified route",
1258
+ pathParams: [],
1259
+ queryParams: [
1260
+ {
1261
+ name: "domain",
1262
+ in: "query",
1263
+ flag: "--domain",
1264
+ required: true,
1265
+ description: "Domain to resolve template for"
1266
+ },
1267
+ {
1268
+ name: "path",
1269
+ in: "query",
1270
+ flag: "--path",
1271
+ required: true,
1272
+ description: "Path to resolve template for"
1273
+ },
1274
+ {
1275
+ name: "variant",
1276
+ in: "query",
1277
+ flag: "--variant",
1278
+ required: false,
1279
+ description: "A/B testing variant identifier"
1280
+ },
1281
+ {
1282
+ name: "environment",
1283
+ in: "query",
1284
+ flag: "--environment",
1285
+ required: false,
1286
+ description: "Deployment environment"
1287
+ }
1288
+ ],
1289
+ hasBody: false,
1290
+ bodyFields: [],
1291
+ produces: "json",
1292
+ consumes: "none"
1293
+ },
1294
+ {
1295
+ api: "click",
1296
+ operationId: "archiveVersion",
1297
+ topic: "templates",
1298
+ command: "archive",
1299
+ method: "POST",
1300
+ path: "/v1/click/templates/{templateId}/versions/{versionId}/archive",
1301
+ summary: "Archive a template version",
1302
+ pathParams: [
1303
+ {
1304
+ name: "templateId",
1305
+ in: "path",
1306
+ flag: "--template-id",
1307
+ required: true,
1308
+ description: "Template ID"
1309
+ },
1310
+ {
1311
+ name: "versionId",
1312
+ in: "path",
1313
+ flag: "--version-id",
1314
+ required: true,
1315
+ description: "Version ID"
1316
+ }
1317
+ ],
1318
+ queryParams: [],
1319
+ hasBody: false,
1320
+ bodyFields: [],
1321
+ produces: "json",
1322
+ consumes: "none"
1323
+ },
1324
+ {
1325
+ api: "click",
1326
+ operationId: "getTemplateConfiguration",
1327
+ topic: "templates",
1328
+ command: "configuration",
1329
+ method: "GET",
1330
+ path: "/v1/click/templates/{id}/configuration",
1331
+ summary: "Get template configuration",
1332
+ description: "Returns template configuration including type config and policy flags",
1333
+ pathParams: [
1334
+ {
1335
+ name: "id",
1336
+ in: "path",
1337
+ flag: "--id",
1338
+ required: true,
1339
+ description: "Template ID"
1340
+ }
1341
+ ],
1342
+ queryParams: [],
1343
+ hasBody: false,
1344
+ bodyFields: [],
1345
+ produces: "json",
1346
+ consumes: "none"
1347
+ },
1348
+ {
1349
+ api: "click",
1350
+ operationId: "createTemplate",
1351
+ topic: "templates",
1352
+ command: "create",
1353
+ method: "POST",
1354
+ path: "/v1/click/templates",
1355
+ summary: "Create a new template",
1356
+ pathParams: [],
1357
+ queryParams: [],
1358
+ hasBody: true,
1359
+ bodyFields: [
1360
+ {
1361
+ name: "name",
1362
+ flag: "--name",
1363
+ type: "string",
1364
+ required: true,
1365
+ description: "Template name"
1366
+ },
1367
+ {
1368
+ name: "slug",
1369
+ flag: "--slug",
1370
+ type: "string",
1371
+ required: true,
1372
+ description: "Template slug (URL-friendly identifier)"
1373
+ },
1374
+ {
1375
+ name: "type",
1376
+ flag: "--type",
1377
+ type: "string",
1378
+ required: false,
1379
+ description: "Template type"
1380
+ },
1381
+ {
1382
+ name: "retentionDays",
1383
+ flag: "--retention-days",
1384
+ type: "number",
1385
+ required: false,
1386
+ description: "Data retention period in days"
1387
+ },
1388
+ {
1389
+ name: "consentVersion",
1390
+ flag: "--consent-version",
1391
+ type: "string",
1392
+ required: false,
1393
+ description: "Consent version"
1394
+ },
1395
+ {
1396
+ name: "description",
1397
+ flag: "--description",
1398
+ type: "string",
1399
+ required: false,
1400
+ description: "Template description"
1401
+ }
1402
+ ],
1403
+ produces: "json",
1404
+ consumes: "json"
1405
+ },
1406
+ {
1407
+ api: "click",
1408
+ operationId: "createVersion",
1409
+ topic: "templates",
1410
+ command: "create-version",
1411
+ method: "POST",
1412
+ path: "/v1/click/templates/{templateId}/versions",
1413
+ summary: "Create a new template version",
1414
+ pathParams: [
1415
+ {
1416
+ name: "templateId",
1417
+ in: "path",
1418
+ flag: "--template-id",
1419
+ required: true,
1420
+ description: "Template ID"
1421
+ }
1422
+ ],
1423
+ queryParams: [],
1424
+ hasBody: true,
1425
+ bodyFields: [
1426
+ {
1427
+ name: "version",
1428
+ flag: "--body-version",
1429
+ type: "string",
1430
+ required: false,
1431
+ description: "Semantic version number"
1432
+ },
1433
+ {
1434
+ name: "title",
1435
+ flag: "--title",
1436
+ type: "string",
1437
+ required: true,
1438
+ description: "Version title"
1439
+ },
1440
+ {
1441
+ name: "content",
1442
+ flag: "--content",
1443
+ type: "string",
1444
+ required: true,
1445
+ description: "Template content"
1446
+ },
1447
+ {
1448
+ name: "locale",
1449
+ flag: "--locale",
1450
+ type: "string",
1451
+ required: false,
1452
+ description: "Content locale"
1453
+ },
1454
+ {
1455
+ name: "format",
1456
+ flag: "--format",
1457
+ type: "string",
1458
+ required: false,
1459
+ description: "Content format"
1460
+ },
1461
+ {
1462
+ name: "published",
1463
+ flag: "--published",
1464
+ type: "boolean",
1465
+ required: false,
1466
+ description: "Whether to publish immediately"
1467
+ }
1468
+ ],
1469
+ fileField: "content",
1470
+ produces: "json",
1471
+ consumes: "json"
1472
+ },
1473
+ {
1474
+ api: "click",
1475
+ operationId: "removeTemplate",
1476
+ topic: "templates",
1477
+ command: "delete",
1478
+ method: "DELETE",
1479
+ path: "/v1/click/templates/{id}",
1480
+ summary: "Delete a template",
1481
+ pathParams: [
1482
+ {
1483
+ name: "id",
1484
+ in: "path",
1485
+ flag: "--id",
1486
+ required: true,
1487
+ description: "Template ID"
1488
+ }
1489
+ ],
1490
+ queryParams: [],
1491
+ hasBody: false,
1492
+ bodyFields: [],
1493
+ produces: "json",
1494
+ consumes: "none"
1495
+ },
1496
+ {
1497
+ api: "click",
1498
+ operationId: "findOneVersion",
1499
+ topic: "templates",
1500
+ command: "find-one-version",
1501
+ method: "GET",
1502
+ path: "/v1/click/templates/{templateId}/versions/{versionId}",
1503
+ summary: "Get a specific template version",
1504
+ pathParams: [
1505
+ {
1506
+ name: "templateId",
1507
+ in: "path",
1508
+ flag: "--template-id",
1509
+ required: true,
1510
+ description: "Template ID"
1511
+ },
1512
+ {
1513
+ name: "versionId",
1514
+ in: "path",
1515
+ flag: "--version-id",
1516
+ required: true,
1517
+ description: "Version ID"
1518
+ }
1519
+ ],
1520
+ queryParams: [
1521
+ {
1522
+ name: "includeTemplate",
1523
+ in: "query",
1524
+ flag: "--include-template",
1525
+ required: false
1526
+ },
1527
+ {
1528
+ name: "includeDeployments",
1529
+ in: "query",
1530
+ flag: "--include-deployments",
1531
+ required: false
1532
+ }
1533
+ ],
1534
+ hasBody: false,
1535
+ bodyFields: [],
1536
+ produces: "json",
1537
+ consumes: "none"
1538
+ },
1539
+ {
1540
+ api: "click",
1541
+ operationId: "findOneTemplate",
1542
+ topic: "templates",
1543
+ command: "get",
1544
+ method: "GET",
1545
+ path: "/v1/click/templates/{id}",
1546
+ summary: "Get a specific template",
1547
+ pathParams: [
1548
+ {
1549
+ name: "id",
1550
+ in: "path",
1551
+ flag: "--id",
1552
+ required: true,
1553
+ description: "Template ID"
1554
+ }
1555
+ ],
1556
+ queryParams: [
1557
+ {
1558
+ name: "includeVersions",
1559
+ in: "query",
1560
+ flag: "--include-versions",
1561
+ required: false
1562
+ }
1563
+ ],
1564
+ hasBody: false,
1565
+ bodyFields: [],
1566
+ produces: "json",
1567
+ consumes: "none"
1568
+ },
1569
+ {
1570
+ api: "click",
1571
+ operationId: "findAllTemplates",
1572
+ topic: "templates",
1573
+ command: "list",
1574
+ method: "GET",
1575
+ path: "/v1/click/templates",
1576
+ summary: "List all templates",
1577
+ pathParams: [],
1578
+ queryParams: [
1579
+ {
1580
+ name: "includeVersions",
1581
+ in: "query",
1582
+ flag: "--include-versions",
1583
+ required: false
1584
+ }
1585
+ ],
1586
+ hasBody: false,
1587
+ bodyFields: [],
1588
+ produces: "json",
1589
+ consumes: "none"
1590
+ },
1591
+ {
1592
+ api: "click",
1593
+ operationId: "applyPolicyFlags",
1594
+ topic: "templates",
1595
+ command: "policy-flags",
1596
+ method: "POST",
1597
+ path: "/v1/click/templates/{id}/policy-flags",
1598
+ summary: "Apply policy flags to template",
1599
+ description: "Updates template policy flags with validation",
1600
+ pathParams: [
1601
+ {
1602
+ name: "id",
1603
+ in: "path",
1604
+ flag: "--id",
1605
+ required: true,
1606
+ description: "Template ID"
1607
+ }
1608
+ ],
1609
+ queryParams: [],
1610
+ hasBody: false,
1611
+ bodyFields: [],
1612
+ produces: "json",
1613
+ consumes: "none"
1614
+ },
1615
+ {
1616
+ api: "click",
1617
+ operationId: "publishVersion",
1618
+ topic: "templates",
1619
+ command: "publish",
1620
+ method: "POST",
1621
+ path: "/v1/click/templates/{templateId}/versions/{versionId}/publish",
1622
+ summary: "Publish or unpublish a template version",
1623
+ pathParams: [
1624
+ {
1625
+ name: "templateId",
1626
+ in: "path",
1627
+ flag: "--template-id",
1628
+ required: true,
1629
+ description: "Template ID"
1630
+ },
1631
+ {
1632
+ name: "versionId",
1633
+ in: "path",
1634
+ flag: "--version-id",
1635
+ required: true,
1636
+ description: "Version ID"
1637
+ }
1638
+ ],
1639
+ queryParams: [],
1640
+ hasBody: true,
1641
+ bodyFields: [
1642
+ {
1643
+ name: "published",
1644
+ flag: "--published",
1645
+ type: "boolean",
1646
+ required: false,
1647
+ description: "Whether to publish the version"
1648
+ }
1649
+ ],
1650
+ produces: "json",
1651
+ consumes: "json"
1652
+ },
1653
+ {
1654
+ api: "click",
1655
+ operationId: "findPublishedVersions",
1656
+ topic: "templates",
1657
+ command: "published",
1658
+ method: "GET",
1659
+ path: "/v1/click/templates/{templateId}/versions/published",
1660
+ summary: "List published versions for a template",
1661
+ pathParams: [
1662
+ {
1663
+ name: "templateId",
1664
+ in: "path",
1665
+ flag: "--template-id",
1666
+ required: true,
1667
+ description: "Template ID"
1668
+ }
1669
+ ],
1670
+ queryParams: [],
1671
+ hasBody: false,
1672
+ bodyFields: [],
1673
+ produces: "json",
1674
+ consumes: "none"
1675
+ },
1676
+ {
1677
+ api: "click",
1678
+ operationId: "getTemplateStats",
1679
+ topic: "templates",
1680
+ command: "stats",
1681
+ method: "GET",
1682
+ path: "/v1/click/templates/{id}/stats",
1683
+ summary: "Get template statistics",
1684
+ pathParams: [
1685
+ {
1686
+ name: "id",
1687
+ in: "path",
1688
+ flag: "--id",
1689
+ required: true,
1690
+ description: "Template ID"
1691
+ }
1692
+ ],
1693
+ queryParams: [],
1694
+ hasBody: false,
1695
+ bodyFields: [],
1696
+ produces: "json",
1697
+ consumes: "none"
1698
+ },
1699
+ {
1700
+ api: "click",
1701
+ operationId: "getTemplateTypes",
1702
+ topic: "templates",
1703
+ command: "types",
1704
+ method: "GET",
1705
+ path: "/v1/click/templates/types",
1706
+ summary: "Get available template types",
1707
+ description: "Returns all available template types with their configurations",
1708
+ pathParams: [],
1709
+ queryParams: [],
1710
+ hasBody: false,
1711
+ bodyFields: [],
1712
+ produces: "json",
1713
+ consumes: "none"
1714
+ },
1715
+ {
1716
+ api: "click",
1717
+ operationId: "updateTemplate",
1718
+ topic: "templates",
1719
+ command: "update",
1720
+ method: "PATCH",
1721
+ path: "/v1/click/templates/{id}",
1722
+ summary: "Update a template",
1723
+ pathParams: [
1724
+ {
1725
+ name: "id",
1726
+ in: "path",
1727
+ flag: "--id",
1728
+ required: true,
1729
+ description: "Template ID"
1730
+ }
1731
+ ],
1732
+ queryParams: [],
1733
+ hasBody: true,
1734
+ bodyFields: [
1735
+ {
1736
+ name: "name",
1737
+ flag: "--name",
1738
+ type: "string",
1739
+ required: false,
1740
+ description: "Template name"
1741
+ },
1742
+ {
1743
+ name: "slug",
1744
+ flag: "--slug",
1745
+ type: "string",
1746
+ required: false,
1747
+ description: "Template slug (URL-friendly identifier)"
1748
+ },
1749
+ {
1750
+ name: "type",
1751
+ flag: "--type",
1752
+ type: "string",
1753
+ required: false,
1754
+ description: "Template type"
1755
+ },
1756
+ {
1757
+ name: "retentionDays",
1758
+ flag: "--retention-days",
1759
+ type: "number",
1760
+ required: false,
1761
+ description: "Data retention period in days"
1762
+ },
1763
+ {
1764
+ name: "consentVersion",
1765
+ flag: "--consent-version",
1766
+ type: "string",
1767
+ required: false,
1768
+ description: "Consent version"
1769
+ },
1770
+ {
1771
+ name: "description",
1772
+ flag: "--description",
1773
+ type: "string",
1774
+ required: false,
1775
+ description: "Template description"
1776
+ }
1777
+ ],
1778
+ produces: "json",
1779
+ consumes: "json"
1780
+ },
1781
+ {
1782
+ api: "click",
1783
+ operationId: "updateVersion",
1784
+ topic: "templates",
1785
+ command: "update-version",
1786
+ method: "PATCH",
1787
+ path: "/v1/click/templates/{templateId}/versions/{versionId}",
1788
+ summary: "Update a template version",
1789
+ pathParams: [
1790
+ {
1791
+ name: "templateId",
1792
+ in: "path",
1793
+ flag: "--template-id",
1794
+ required: true,
1795
+ description: "Template ID"
1796
+ },
1797
+ {
1798
+ name: "versionId",
1799
+ in: "path",
1800
+ flag: "--version-id",
1801
+ required: true,
1802
+ description: "Version ID"
1803
+ }
1804
+ ],
1805
+ queryParams: [],
1806
+ hasBody: true,
1807
+ bodyFields: [
1808
+ {
1809
+ name: "version",
1810
+ flag: "--body-version",
1811
+ type: "string",
1812
+ required: false,
1813
+ description: "Semantic version number"
1814
+ },
1815
+ {
1816
+ name: "title",
1817
+ flag: "--title",
1818
+ type: "string",
1819
+ required: false,
1820
+ description: "Version title"
1821
+ },
1822
+ {
1823
+ name: "content",
1824
+ flag: "--content",
1825
+ type: "string",
1826
+ required: false,
1827
+ description: "Template content"
1828
+ },
1829
+ {
1830
+ name: "locale",
1831
+ flag: "--locale",
1832
+ type: "string",
1833
+ required: false,
1834
+ description: "Content locale"
1835
+ },
1836
+ {
1837
+ name: "format",
1838
+ flag: "--format",
1839
+ type: "string",
1840
+ required: false,
1841
+ description: "Content format"
1842
+ },
1843
+ {
1844
+ name: "published",
1845
+ flag: "--published",
1846
+ type: "boolean",
1847
+ required: false,
1848
+ description: "Whether to publish immediately"
1849
+ }
1850
+ ],
1851
+ fileField: "content",
1852
+ produces: "json",
1853
+ consumes: "json"
1854
+ },
1855
+ {
1856
+ api: "click",
1857
+ operationId: "validateContent",
1858
+ topic: "templates",
1859
+ command: "validate-content",
1860
+ method: "POST",
1861
+ path: "/v1/click/templates/validate-content",
1862
+ summary: "Validate template content",
1863
+ description: "Validates template content against type-specific rules. `type` is REQUIRED and identifies which validation ruleset to apply.",
1864
+ pathParams: [],
1865
+ queryParams: [],
1866
+ hasBody: true,
1867
+ bodyFields: [
1868
+ {
1869
+ name: "type",
1870
+ flag: "--type",
1871
+ type: "string",
1872
+ required: true,
1873
+ description: "Template type to validate against"
1874
+ },
1875
+ {
1876
+ name: "content",
1877
+ flag: "--content",
1878
+ type: "string",
1879
+ required: true,
1880
+ description: "The template content to validate"
1881
+ },
1882
+ {
1883
+ name: "format",
1884
+ flag: "--format",
1885
+ type: "string",
1886
+ required: false,
1887
+ description: "Content format (defaults to `html`)"
1888
+ }
1889
+ ],
1890
+ fileField: "content",
1891
+ produces: "json",
1892
+ consumes: "json"
1893
+ },
1894
+ {
1895
+ api: "click",
1896
+ operationId: "getVerificationRequirements",
1897
+ topic: "templates",
1898
+ command: "verification-requirements",
1899
+ method: "GET",
1900
+ path: "/v1/click/templates/{id}/verification-requirements",
1901
+ summary: "Get template verification requirements",
1902
+ description: "Returns what verification methods are required for this template",
1903
+ pathParams: [
1904
+ {
1905
+ name: "id",
1906
+ in: "path",
1907
+ flag: "--id",
1908
+ required: true,
1909
+ description: "Template ID"
1910
+ }
1911
+ ],
1912
+ queryParams: [],
1913
+ hasBody: false,
1914
+ bodyFields: [],
1915
+ produces: "json",
1916
+ consumes: "none"
1917
+ },
1918
+ {
1919
+ api: "click",
1920
+ operationId: "findAllVersions",
1921
+ topic: "templates",
1922
+ command: "versions",
1923
+ method: "GET",
1924
+ path: "/v1/click/templates/{templateId}/versions",
1925
+ summary: "List all versions for a template",
1926
+ pathParams: [
1927
+ {
1928
+ name: "templateId",
1929
+ in: "path",
1930
+ flag: "--template-id",
1931
+ required: true,
1932
+ description: "Template ID"
1933
+ }
1934
+ ],
1935
+ queryParams: [
1936
+ {
1937
+ name: "includeTemplate",
1938
+ in: "query",
1939
+ flag: "--include-template",
1940
+ required: false
1941
+ },
1942
+ {
1943
+ name: "includeDeployments",
1944
+ in: "query",
1945
+ flag: "--include-deployments",
1946
+ required: false
1947
+ }
1948
+ ],
1949
+ hasBody: false,
1950
+ bodyFields: [],
1951
+ produces: "json",
1952
+ consumes: "none"
1953
+ },
1954
+ {
1955
+ api: "click",
1956
+ operationId: "acceptInvitation",
1957
+ topic: "users",
1958
+ command: "accept-invitation",
1959
+ method: "POST",
1960
+ path: "/v1/click/users/accept-invitation",
1961
+ summary: "Accept organization invitation",
1962
+ pathParams: [],
1963
+ queryParams: [],
1964
+ hasBody: true,
1965
+ bodyFields: [
1966
+ {
1967
+ name: "token",
1968
+ flag: "--body-token",
1969
+ type: "string",
1970
+ required: true,
1971
+ description: "Invitation token"
1972
+ },
1973
+ {
1974
+ name: "name",
1975
+ flag: "--name",
1976
+ type: "string",
1977
+ required: true,
1978
+ description: "User full name"
1979
+ },
1980
+ {
1981
+ name: "password",
1982
+ flag: "--password",
1983
+ type: "string",
1984
+ required: false,
1985
+ description: "User password (if not using SSO)"
1986
+ }
1987
+ ],
1988
+ produces: "json",
1989
+ consumes: "json"
1990
+ },
1991
+ {
1992
+ api: "click",
1993
+ operationId: "revokePersonalApiKey",
1994
+ topic: "users",
1995
+ command: "api-key",
1996
+ method: "DELETE",
1997
+ path: "/v1/click/users/{userId}/api-key",
1998
+ summary: "Revoke personal API key for user",
1999
+ pathParams: [
2000
+ {
2001
+ name: "userId",
2002
+ in: "path",
2003
+ flag: "--user-id",
2004
+ required: true,
2005
+ description: "User ID"
2006
+ }
2007
+ ],
2008
+ queryParams: [],
2009
+ hasBody: false,
2010
+ bodyFields: [],
2011
+ produces: "json",
2012
+ consumes: "none"
2013
+ },
2014
+ {
2015
+ api: "click",
2016
+ operationId: "cancelInvitation",
2017
+ topic: "users",
2018
+ command: "cancel-invitation",
2019
+ method: "DELETE",
2020
+ path: "/v1/click/users/organization/invitations/{invitationId}",
2021
+ summary: "Cancel pending invitation",
2022
+ pathParams: [
2023
+ {
2024
+ name: "invitationId",
2025
+ in: "path",
2026
+ flag: "--invitation-id",
2027
+ required: true,
2028
+ description: "Invitation ID to cancel"
2029
+ }
2030
+ ],
2031
+ queryParams: [],
2032
+ hasBody: false,
2033
+ bodyFields: [],
2034
+ produces: "json",
2035
+ consumes: "none"
2036
+ },
2037
+ {
2038
+ api: "click",
2039
+ operationId: "getUserCapabilities",
2040
+ topic: "users",
2041
+ command: "capabilities",
2042
+ method: "GET",
2043
+ path: "/v1/click/users/organization/members/{userId}/capabilities",
2044
+ summary: "Get user capabilities in organization",
2045
+ pathParams: [
2046
+ {
2047
+ name: "userId",
2048
+ in: "path",
2049
+ flag: "--user-id",
2050
+ required: true,
2051
+ description: "User ID"
2052
+ }
2053
+ ],
2054
+ queryParams: [],
2055
+ hasBody: false,
2056
+ bodyFields: [],
2057
+ produces: "json",
2058
+ consumes: "none"
2059
+ },
2060
+ {
2061
+ api: "click",
2062
+ operationId: "removeMember",
2063
+ topic: "users",
2064
+ command: "delete",
2065
+ method: "DELETE",
2066
+ path: "/v1/click/users/organization/members/{userId}",
2067
+ summary: "Remove user from organization",
2068
+ pathParams: [
2069
+ {
2070
+ name: "userId",
2071
+ in: "path",
2072
+ flag: "--user-id",
2073
+ required: true,
2074
+ description: "User ID to remove"
2075
+ }
2076
+ ],
2077
+ queryParams: [],
2078
+ hasBody: false,
2079
+ bodyFields: [],
2080
+ produces: "json",
2081
+ consumes: "none"
2082
+ },
2083
+ {
2084
+ api: "click",
2085
+ operationId: "generatePersonalApiKey",
2086
+ topic: "users",
2087
+ command: "generate",
2088
+ method: "POST",
2089
+ path: "/v1/click/users/{userId}/api-key/generate",
2090
+ summary: "Generate personal API key for user",
2091
+ pathParams: [
2092
+ {
2093
+ name: "userId",
2094
+ in: "path",
2095
+ flag: "--user-id",
2096
+ required: true,
2097
+ description: "User ID"
2098
+ }
2099
+ ],
2100
+ queryParams: [],
2101
+ hasBody: false,
2102
+ bodyFields: [],
2103
+ produces: "json",
2104
+ consumes: "none"
2105
+ },
2106
+ {
2107
+ api: "click",
2108
+ operationId: "inviteUser",
2109
+ topic: "users",
2110
+ command: "invite",
2111
+ method: "POST",
2112
+ path: "/v1/click/users/organization/invite",
2113
+ summary: "Invite a user to the organization",
2114
+ pathParams: [],
2115
+ queryParams: [],
2116
+ hasBody: true,
2117
+ bodyFields: [
2118
+ {
2119
+ name: "email",
2120
+ flag: "--email",
2121
+ type: "string",
2122
+ required: true,
2123
+ description: "Email address to invite"
2124
+ },
2125
+ {
2126
+ name: "role",
2127
+ flag: "--role",
2128
+ type: "string",
2129
+ required: true,
2130
+ description: "Role to assign to the invited user"
2131
+ },
2132
+ {
2133
+ name: "expiresAt",
2134
+ flag: "--expires-at",
2135
+ type: "string",
2136
+ required: false,
2137
+ description: "Expiration date for time-bounded access"
2138
+ }
2139
+ ],
2140
+ produces: "json",
2141
+ consumes: "json"
182
2142
  },
183
2143
  {
184
- name: "docgen",
185
- title: "Propper Gen API",
186
- baseUrl: "https://api.propper.ai"
2144
+ api: "click",
2145
+ operationId: "getOrganizationMembers",
2146
+ topic: "users",
2147
+ command: "members",
2148
+ method: "GET",
2149
+ path: "/v1/click/users/organization/members",
2150
+ summary: "Get organization members and invitations",
2151
+ pathParams: [],
2152
+ queryParams: [],
2153
+ hasBody: false,
2154
+ bodyFields: [],
2155
+ produces: "json",
2156
+ consumes: "none"
187
2157
  },
188
2158
  {
189
- name: "locker",
190
- title: "Propper Locker API",
191
- baseUrl: "https://api.propper.ai"
192
- }
193
- ],
194
- operations: [
2159
+ api: "click",
2160
+ operationId: "getRoles",
2161
+ topic: "users",
2162
+ command: "roles",
2163
+ method: "GET",
2164
+ path: "/v1/click/users/roles",
2165
+ summary: "Get available RBAC roles and their capabilities",
2166
+ pathParams: [],
2167
+ queryParams: [],
2168
+ hasBody: false,
2169
+ bodyFields: [],
2170
+ produces: "json",
2171
+ consumes: "none"
2172
+ },
2173
+ {
2174
+ api: "click",
2175
+ operationId: "getUserSettings",
2176
+ topic: "users",
2177
+ command: "settings",
2178
+ method: "GET",
2179
+ path: "/v1/click/users/{userId}/settings",
2180
+ summary: "Get user settings",
2181
+ pathParams: [
2182
+ {
2183
+ name: "userId",
2184
+ in: "path",
2185
+ flag: "--user-id",
2186
+ required: true,
2187
+ description: "User ID"
2188
+ }
2189
+ ],
2190
+ queryParams: [],
2191
+ hasBody: false,
2192
+ bodyFields: [],
2193
+ produces: "json",
2194
+ consumes: "none"
2195
+ },
2196
+ {
2197
+ api: "click",
2198
+ operationId: "updateMembership",
2199
+ topic: "users",
2200
+ command: "update",
2201
+ method: "PUT",
2202
+ path: "/v1/click/users/organization/members/{userId}",
2203
+ summary: "Update organization membership",
2204
+ pathParams: [
2205
+ {
2206
+ name: "userId",
2207
+ in: "path",
2208
+ flag: "--user-id",
2209
+ required: true,
2210
+ description: "User ID to update"
2211
+ }
2212
+ ],
2213
+ queryParams: [],
2214
+ hasBody: true,
2215
+ bodyFields: [
2216
+ {
2217
+ name: "role",
2218
+ flag: "--role",
2219
+ type: "string",
2220
+ required: false,
2221
+ description: "New role for the user"
2222
+ },
2223
+ {
2224
+ name: "status",
2225
+ flag: "--status",
2226
+ type: "string",
2227
+ required: false,
2228
+ description: "New membership status"
2229
+ },
2230
+ {
2231
+ name: "expiresAt",
2232
+ flag: "--expires-at",
2233
+ type: "string",
2234
+ required: false,
2235
+ description: "New expiration date"
2236
+ }
2237
+ ],
2238
+ produces: "json",
2239
+ consumes: "json"
2240
+ },
2241
+ {
2242
+ api: "click",
2243
+ operationId: "updateUserSettings",
2244
+ topic: "users",
2245
+ command: "update-user-settings",
2246
+ method: "PUT",
2247
+ path: "/v1/click/users/{userId}/settings",
2248
+ summary: "Update user settings",
2249
+ pathParams: [
2250
+ {
2251
+ name: "userId",
2252
+ in: "path",
2253
+ flag: "--user-id",
2254
+ required: true,
2255
+ description: "User ID"
2256
+ }
2257
+ ],
2258
+ queryParams: [],
2259
+ hasBody: true,
2260
+ bodyFields: [
2261
+ {
2262
+ name: "timezone",
2263
+ flag: "--timezone",
2264
+ type: "string",
2265
+ required: false,
2266
+ description: "User timezone"
2267
+ },
2268
+ {
2269
+ name: "language",
2270
+ flag: "--language",
2271
+ type: "string",
2272
+ required: false,
2273
+ description: "User language preference"
2274
+ },
2275
+ {
2276
+ name: "theme",
2277
+ flag: "--theme",
2278
+ type: "string",
2279
+ required: false,
2280
+ description: "UI theme preference"
2281
+ },
2282
+ {
2283
+ name: "defaultDashboardView",
2284
+ flag: "--default-dashboard-view",
2285
+ type: "string",
2286
+ required: false,
2287
+ description: "Default dashboard view"
2288
+ },
2289
+ {
2290
+ name: "itemsPerPage",
2291
+ flag: "--items-per-page",
2292
+ type: "number",
2293
+ required: false,
2294
+ description: "Items per page in lists"
2295
+ },
2296
+ {
2297
+ name: "twoFactorEnabled",
2298
+ flag: "--two-factor-enabled",
2299
+ type: "boolean",
2300
+ required: false,
2301
+ description: "Whether two-factor authentication is enabled"
2302
+ },
2303
+ {
2304
+ name: "sessionTimeout",
2305
+ flag: "--session-timeout",
2306
+ type: "number",
2307
+ required: false,
2308
+ description: "Session timeout in minutes"
2309
+ }
2310
+ ],
2311
+ produces: "json",
2312
+ consumes: "json"
2313
+ },
2314
+ {
2315
+ api: "click",
2316
+ operationId: "generateCertificate",
2317
+ topic: "validation",
2318
+ command: "certificate",
2319
+ method: "POST",
2320
+ path: "/v1/click/validate/certificate",
2321
+ summary: "Generate verification certificate",
2322
+ description: "Generate a printable verification certificate from validation results",
2323
+ pathParams: [],
2324
+ queryParams: [],
2325
+ hasBody: false,
2326
+ bodyFields: [],
2327
+ produces: "json",
2328
+ consumes: "none"
2329
+ },
2330
+ {
2331
+ api: "click",
2332
+ operationId: "downloadCertificate",
2333
+ topic: "validation",
2334
+ command: "download",
2335
+ method: "GET",
2336
+ path: "/v1/click/validate/certificate/{certificateId}/download",
2337
+ summary: "Download verification certificate as PDF",
2338
+ description: "Download a verification certificate in PDF format",
2339
+ pathParams: [
2340
+ {
2341
+ name: "certificateId",
2342
+ in: "path",
2343
+ flag: "--certificate-id",
2344
+ required: true
2345
+ }
2346
+ ],
2347
+ queryParams: [],
2348
+ hasBody: false,
2349
+ bodyFields: [],
2350
+ produces: "json",
2351
+ consumes: "none"
2352
+ },
2353
+ {
2354
+ api: "click",
2355
+ operationId: "getCertificate",
2356
+ topic: "validation",
2357
+ command: "get",
2358
+ method: "GET",
2359
+ path: "/v1/click/validate/certificate/{certificateId}",
2360
+ summary: "Retrieve verification certificate",
2361
+ description: "Get a previously generated verification certificate by ID",
2362
+ pathParams: [
2363
+ {
2364
+ name: "certificateId",
2365
+ in: "path",
2366
+ flag: "--certificate-id",
2367
+ required: true
2368
+ }
2369
+ ],
2370
+ queryParams: [],
2371
+ hasBody: false,
2372
+ bodyFields: [],
2373
+ produces: "json",
2374
+ consumes: "none"
2375
+ },
2376
+ {
2377
+ api: "click",
2378
+ operationId: "validateReceiptJson",
2379
+ topic: "validation",
2380
+ command: "receipt",
2381
+ method: "POST",
2382
+ path: "/v1/click/validate/receipt",
2383
+ summary: "Validate a cryptographic receipt",
2384
+ description: "Upload and verify the authenticity of a cryptographic receipt JSON file",
2385
+ pathParams: [],
2386
+ queryParams: [],
2387
+ hasBody: false,
2388
+ bodyFields: [],
2389
+ produces: "json",
2390
+ consumes: "none"
2391
+ },
2392
+ {
2393
+ api: "click",
2394
+ operationId: "validateReceiptFile",
2395
+ topic: "validation",
2396
+ command: "upload",
2397
+ method: "POST",
2398
+ path: "/v1/click/validate/receipt/upload",
2399
+ summary: "Validate a receipt file upload",
2400
+ description: "Upload a receipt.json file for verification",
2401
+ pathParams: [],
2402
+ queryParams: [],
2403
+ hasBody: false,
2404
+ bodyFields: [],
2405
+ produces: "json",
2406
+ consumes: "none"
2407
+ },
2408
+ {
2409
+ api: "click",
2410
+ operationId: "validateAndCertify",
2411
+ topic: "validation",
2412
+ command: "validate-and-certify",
2413
+ method: "POST",
2414
+ path: "/v1/click/validate/validate-and-certify",
2415
+ summary: "Validate receipt and generate certificate in one step",
2416
+ description: "Convenience endpoint that validates a receipt and generates a certificate",
2417
+ pathParams: [],
2418
+ queryParams: [],
2419
+ hasBody: false,
2420
+ bodyFields: [],
2421
+ produces: "json",
2422
+ consumes: "none"
2423
+ },
2424
+ {
2425
+ api: "click",
2426
+ operationId: "sendEmailVerification",
2427
+ topic: "verification",
2428
+ command: "send",
2429
+ method: "POST",
2430
+ path: "/v1/click/verification/email/send",
2431
+ summary: "Send email verification code",
2432
+ pathParams: [],
2433
+ queryParams: [],
2434
+ hasBody: false,
2435
+ bodyFields: [],
2436
+ produces: "json",
2437
+ consumes: "none"
2438
+ },
2439
+ {
2440
+ api: "click",
2441
+ operationId: "sendSMSVerification",
2442
+ topic: "verification",
2443
+ command: "send-smsverification",
2444
+ method: "POST",
2445
+ path: "/v1/click/verification/sms/send",
2446
+ summary: "Send SMS verification code",
2447
+ pathParams: [],
2448
+ queryParams: [],
2449
+ hasBody: false,
2450
+ bodyFields: [],
2451
+ produces: "json",
2452
+ consumes: "none"
2453
+ },
2454
+ {
2455
+ api: "click",
2456
+ operationId: "verifyEmailCode",
2457
+ topic: "verification",
2458
+ command: "verify",
2459
+ method: "POST",
2460
+ path: "/v1/click/verification/email/verify",
2461
+ summary: "Verify email code",
2462
+ pathParams: [],
2463
+ queryParams: [],
2464
+ hasBody: false,
2465
+ bodyFields: [],
2466
+ produces: "json",
2467
+ consumes: "none"
2468
+ },
2469
+ {
2470
+ api: "click",
2471
+ operationId: "verifySMSCode",
2472
+ topic: "verification",
2473
+ command: "verify-smscode",
2474
+ method: "POST",
2475
+ path: "/v1/click/verification/sms/verify",
2476
+ summary: "Verify SMS code",
2477
+ pathParams: [],
2478
+ queryParams: [],
2479
+ hasBody: false,
2480
+ bodyFields: [],
2481
+ produces: "json",
2482
+ consumes: "none"
2483
+ },
195
2484
  {
196
2485
  api: "docgen",
197
2486
  operationId: "listPendingApprovals",
@@ -2590,6 +4879,143 @@ function callOperation(api, operationId, req, ctx) {
2590
4879
  return request(entry, req, ctx);
2591
4880
  }
2592
4881
  var operations = {
4882
+ "click": {
4883
+ /** Accept consent (POST /v1/click/accept) */
4884
+ "acceptConsent": (req, ctx) => callOperation("click", "acceptConsent", req, ctx),
4885
+ "getEvidenceBundle": (req, ctx) => callOperation("click", "getEvidenceBundle", req, ctx),
4886
+ "getAcceptance": (req, ctx) => callOperation("click", "getAcceptance", req, ctx),
4887
+ "getReceipt": (req, ctx) => callOperation("click", "getReceipt", req, ctx),
4888
+ "getAcceptances": (req, ctx) => callOperation("click", "getAcceptances", req, ctx),
4889
+ "getScreenshot": (req, ctx) => callOperation("click", "getScreenshot", req, ctx),
4890
+ "getRetentionStatus": (req, ctx) => callOperation("click", "getRetentionStatus", req, ctx),
4891
+ /** Get acceptance analytics (GET /v1/click/analytics/acceptance) */
4892
+ "getAcceptanceAnalytics": (req, ctx) => callOperation("click", "getAcceptanceAnalytics", req, ctx),
4893
+ /** Get dashboard analytics and metrics (GET /v1/click/analytics/dashboard) */
4894
+ "getDashboardMetrics": (req, ctx) => callOperation("click", "getDashboardMetrics", req, ctx),
4895
+ /** Complete a click session (POST /v1/click/sessions/{id}/complete) */
4896
+ "completeSession": (req, ctx) => callOperation("click", "completeSession", req, ctx),
4897
+ /** Update user consent state (POST /v1/click/consent/{userRef}) */
4898
+ "updateUserConsentState": (req, ctx) => callOperation("click", "updateUserConsentState", req, ctx),
4899
+ /** Get a click session (GET /v1/click/sessions/{id}) */
4900
+ "getSession": (req, ctx) => callOperation("click", "getSession", req, ctx),
4901
+ /** Get evidence bundle for a session (GET /v1/click/evidence/{sessionId}) */
4902
+ "getClickEvidenceBundle": (req, ctx) => callOperation("click", "getClickEvidenceBundle", req, ctx),
4903
+ /** Get user consent state (GET /v1/click/consent/{userRef}) */
4904
+ "getUserConsentState": (req, ctx) => callOperation("click", "getUserConsentState", req, ctx),
4905
+ /** Create a click session (POST /v1/click/sessions) */
4906
+ "createSession": (req, ctx) => callOperation("click", "createSession", req, ctx),
4907
+ /** Get Click default settings (GET /v1/click/config/click-defaults) */
4908
+ "getClickDefaults": (req, ctx) => callOperation("click", "getClickDefaults", req, ctx),
4909
+ /** Update Click default settings (PUT /v1/click/config/click-defaults) */
4910
+ "updateClickDefaults": (req, ctx) => callOperation("click", "updateClickDefaults", req, ctx),
4911
+ /** Get active deployments for a domain (GET /v1/click/deployments/domain/{domain}/active) */
4912
+ "findActiveByDomain": (req, ctx) => callOperation("click", "findActiveByDomain", req, ctx),
4913
+ /** Create a new deployment (POST /v1/click/deployments) */
4914
+ "createDeployment": (req, ctx) => callOperation("click", "createDeployment", req, ctx),
4915
+ /** Deactivate deployments by path (POST /v1/click/deployments/domain/{domain}/deactivate) */
4916
+ "deactivateByPath": (req, ctx) => callOperation("click", "deactivateByPath", req, ctx),
4917
+ /** Delete a deployment (DELETE /v1/click/deployments/{id}) */
4918
+ "removeDeployment": (req, ctx) => callOperation("click", "removeDeployment", req, ctx),
4919
+ /** Get a specific deployment (GET /v1/click/deployments/{id}) */
4920
+ "findOneDeployment": (req, ctx) => callOperation("click", "findOneDeployment", req, ctx),
4921
+ /** List all deployments (GET /v1/click/deployments) */
4922
+ "findAllDeployments": (req, ctx) => callOperation("click", "findAllDeployments", req, ctx),
4923
+ /** Update a deployment (PATCH /v1/click/deployments/{id}) */
4924
+ "updateDeployment": (req, ctx) => callOperation("click", "updateDeployment", req, ctx),
4925
+ "verifyOTP": (req, ctx) => callOperation("click", "verifyOTP", req, ctx),
4926
+ "startVerification": (req, ctx) => callOperation("click", "startVerification", req, ctx),
4927
+ "checkStatus": (req, ctx) => callOperation("click", "checkStatus", req, ctx),
4928
+ /** Get organization settings (GET /v1/click/organization/settings) */
4929
+ "getSettings": (req, ctx) => callOperation("click", "getSettings", req, ctx),
4930
+ /** Update organization settings (PATCH /v1/click/organization/settings) */
4931
+ "updateSettings": (req, ctx) => callOperation("click", "updateSettings", req, ctx),
4932
+ /** Download Original DOCX Template (GET /v1/click/render/template-versions/{versionId}/download) */
4933
+ "downloadOriginalDocx": (req, ctx) => callOperation("click", "downloadOriginalDocx", req, ctx),
4934
+ /** Render Experience JSON by Deployment ID (GET /v1/click/render/deployment/{id}) */
4935
+ "renderByDeploymentId": (req, ctx) => callOperation("click", "renderByDeploymentId", req, ctx),
4936
+ /** Render Experience JSON (GET /v1/click/render) */
4937
+ "renderExperience": (req, ctx) => callOperation("click", "renderExperience", req, ctx),
4938
+ /** Archive a template version (POST /v1/click/templates/{templateId}/versions/{versionId}/archive) */
4939
+ "archiveVersion": (req, ctx) => callOperation("click", "archiveVersion", req, ctx),
4940
+ /** Get template configuration (GET /v1/click/templates/{id}/configuration) */
4941
+ "getTemplateConfiguration": (req, ctx) => callOperation("click", "getTemplateConfiguration", req, ctx),
4942
+ /** Create a new template (POST /v1/click/templates) */
4943
+ "createTemplate": (req, ctx) => callOperation("click", "createTemplate", req, ctx),
4944
+ /** Create a new template version (POST /v1/click/templates/{templateId}/versions) */
4945
+ "createVersion": (req, ctx) => callOperation("click", "createVersion", req, ctx),
4946
+ /** Delete a template (DELETE /v1/click/templates/{id}) */
4947
+ "removeTemplate": (req, ctx) => callOperation("click", "removeTemplate", req, ctx),
4948
+ /** Get a specific template version (GET /v1/click/templates/{templateId}/versions/{versionId}) */
4949
+ "findOneVersion": (req, ctx) => callOperation("click", "findOneVersion", req, ctx),
4950
+ /** Get a specific template (GET /v1/click/templates/{id}) */
4951
+ "findOneTemplate": (req, ctx) => callOperation("click", "findOneTemplate", req, ctx),
4952
+ /** List all templates (GET /v1/click/templates) */
4953
+ "findAllTemplates": (req, ctx) => callOperation("click", "findAllTemplates", req, ctx),
4954
+ /** Apply policy flags to template (POST /v1/click/templates/{id}/policy-flags) */
4955
+ "applyPolicyFlags": (req, ctx) => callOperation("click", "applyPolicyFlags", req, ctx),
4956
+ /** Publish or unpublish a template version (POST /v1/click/templates/{templateId}/versions/{versionId}/publish) */
4957
+ "publishVersion": (req, ctx) => callOperation("click", "publishVersion", req, ctx),
4958
+ /** List published versions for a template (GET /v1/click/templates/{templateId}/versions/published) */
4959
+ "findPublishedVersions": (req, ctx) => callOperation("click", "findPublishedVersions", req, ctx),
4960
+ /** Get template statistics (GET /v1/click/templates/{id}/stats) */
4961
+ "getTemplateStats": (req, ctx) => callOperation("click", "getTemplateStats", req, ctx),
4962
+ /** Get available template types (GET /v1/click/templates/types) */
4963
+ "getTemplateTypes": (req, ctx) => callOperation("click", "getTemplateTypes", req, ctx),
4964
+ /** Update a template (PATCH /v1/click/templates/{id}) */
4965
+ "updateTemplate": (req, ctx) => callOperation("click", "updateTemplate", req, ctx),
4966
+ /** Update a template version (PATCH /v1/click/templates/{templateId}/versions/{versionId}) */
4967
+ "updateVersion": (req, ctx) => callOperation("click", "updateVersion", req, ctx),
4968
+ /** Validate template content (POST /v1/click/templates/validate-content) */
4969
+ "validateContent": (req, ctx) => callOperation("click", "validateContent", req, ctx),
4970
+ /** Get template verification requirements (GET /v1/click/templates/{id}/verification-requirements) */
4971
+ "getVerificationRequirements": (req, ctx) => callOperation("click", "getVerificationRequirements", req, ctx),
4972
+ /** List all versions for a template (GET /v1/click/templates/{templateId}/versions) */
4973
+ "findAllVersions": (req, ctx) => callOperation("click", "findAllVersions", req, ctx),
4974
+ /** Accept organization invitation (POST /v1/click/users/accept-invitation) */
4975
+ "acceptInvitation": (req, ctx) => callOperation("click", "acceptInvitation", req, ctx),
4976
+ /** Revoke personal API key for user (DELETE /v1/click/users/{userId}/api-key) */
4977
+ "revokePersonalApiKey": (req, ctx) => callOperation("click", "revokePersonalApiKey", req, ctx),
4978
+ /** Cancel pending invitation (DELETE /v1/click/users/organization/invitations/{invitationId}) */
4979
+ "cancelInvitation": (req, ctx) => callOperation("click", "cancelInvitation", req, ctx),
4980
+ /** Get user capabilities in organization (GET /v1/click/users/organization/members/{userId}/capabilities) */
4981
+ "getUserCapabilities": (req, ctx) => callOperation("click", "getUserCapabilities", req, ctx),
4982
+ /** Remove user from organization (DELETE /v1/click/users/organization/members/{userId}) */
4983
+ "removeMember": (req, ctx) => callOperation("click", "removeMember", req, ctx),
4984
+ /** Generate personal API key for user (POST /v1/click/users/{userId}/api-key/generate) */
4985
+ "generatePersonalApiKey": (req, ctx) => callOperation("click", "generatePersonalApiKey", req, ctx),
4986
+ /** Invite a user to the organization (POST /v1/click/users/organization/invite) */
4987
+ "inviteUser": (req, ctx) => callOperation("click", "inviteUser", req, ctx),
4988
+ /** Get organization members and invitations (GET /v1/click/users/organization/members) */
4989
+ "getOrganizationMembers": (req, ctx) => callOperation("click", "getOrganizationMembers", req, ctx),
4990
+ /** Get available RBAC roles and their capabilities (GET /v1/click/users/roles) */
4991
+ "getRoles": (req, ctx) => callOperation("click", "getRoles", req, ctx),
4992
+ /** Get user settings (GET /v1/click/users/{userId}/settings) */
4993
+ "getUserSettings": (req, ctx) => callOperation("click", "getUserSettings", req, ctx),
4994
+ /** Update organization membership (PUT /v1/click/users/organization/members/{userId}) */
4995
+ "updateMembership": (req, ctx) => callOperation("click", "updateMembership", req, ctx),
4996
+ /** Update user settings (PUT /v1/click/users/{userId}/settings) */
4997
+ "updateUserSettings": (req, ctx) => callOperation("click", "updateUserSettings", req, ctx),
4998
+ /** Generate verification certificate (POST /v1/click/validate/certificate) */
4999
+ "generateCertificate": (req, ctx) => callOperation("click", "generateCertificate", req, ctx),
5000
+ /** Download verification certificate as PDF (GET /v1/click/validate/certificate/{certificateId}/download) */
5001
+ "downloadCertificate": (req, ctx) => callOperation("click", "downloadCertificate", req, ctx),
5002
+ /** Retrieve verification certificate (GET /v1/click/validate/certificate/{certificateId}) */
5003
+ "getCertificate": (req, ctx) => callOperation("click", "getCertificate", req, ctx),
5004
+ /** Validate a cryptographic receipt (POST /v1/click/validate/receipt) */
5005
+ "validateReceiptJson": (req, ctx) => callOperation("click", "validateReceiptJson", req, ctx),
5006
+ /** Validate a receipt file upload (POST /v1/click/validate/receipt/upload) */
5007
+ "validateReceiptFile": (req, ctx) => callOperation("click", "validateReceiptFile", req, ctx),
5008
+ /** Validate receipt and generate certificate in one step (POST /v1/click/validate/validate-and-certify) */
5009
+ "validateAndCertify": (req, ctx) => callOperation("click", "validateAndCertify", req, ctx),
5010
+ /** Send email verification code (POST /v1/click/verification/email/send) */
5011
+ "sendEmailVerification": (req, ctx) => callOperation("click", "sendEmailVerification", req, ctx),
5012
+ /** Send SMS verification code (POST /v1/click/verification/sms/send) */
5013
+ "sendSMSVerification": (req, ctx) => callOperation("click", "sendSMSVerification", req, ctx),
5014
+ /** Verify email code (POST /v1/click/verification/email/verify) */
5015
+ "verifyEmailCode": (req, ctx) => callOperation("click", "verifyEmailCode", req, ctx),
5016
+ /** Verify SMS code (POST /v1/click/verification/sms/verify) */
5017
+ "verifySMSCode": (req, ctx) => callOperation("click", "verifySMSCode", req, ctx)
5018
+ },
2593
5019
  "docgen": {
2594
5020
  /** List pending approvals (GET /v1/docgen/approvals/pending) */
2595
5021
  "listPendingApprovals": (req, ctx) => callOperation("docgen", "listPendingApprovals", req, ctx),
@@ -2758,8 +5184,9 @@ export {
2758
5184
  ApiError,
2759
5185
  UsageError,
2760
5186
  AuthError,
5187
+ rawRequest,
2761
5188
  manifest,
2762
5189
  callOperation,
2763
5190
  operations
2764
5191
  };
2765
- //# sourceMappingURL=chunk-CBIH6V3I.js.map
5192
+ //# sourceMappingURL=chunk-K664LS27.js.map