mcp-zenskar 1.0.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.
@@ -0,0 +1,4587 @@
1
+ {
2
+ "server": {
3
+ "name": "zenskar-api-server",
4
+ "baseUrl": "https://api.zenskar.com"
5
+ },
6
+ "tools": [
7
+ {
8
+ "name": "listCustomers",
9
+ "description": "Retrieve a paginated list of customers, with options for searching, filtering by ID, external ID, email, phone number, communication status, auto-charge status, creation date, customer name, and business entity ID.",
10
+ "args": [
11
+ {
12
+ "name": "cursor",
13
+ "description": "The cursor for pagination to fetch the next or previous set of records.",
14
+ "type": "string",
15
+ "required": false,
16
+ "position": "query"
17
+ },
18
+ {
19
+ "name": "limit",
20
+ "description": "Maximum number of customers to return per page (defaults to 10).",
21
+ "type": "integer",
22
+ "required": false,
23
+ "position": "query"
24
+ },
25
+ {
26
+ "name": "search",
27
+ "description": "General search query (e.g., 'name=john,custom_data.key=john@zenskar.com').",
28
+ "type": "string",
29
+ "required": false,
30
+ "position": "query"
31
+ },
32
+ {
33
+ "name": "order",
34
+ "description": "Order of results (e.g., '-created_at' for descending creation date).",
35
+ "type": "string",
36
+ "required": false,
37
+ "default": "-created_at",
38
+ "position": "query"
39
+ },
40
+ {
41
+ "name": "sortKey",
42
+ "description": "Key to sort the results by (e.g., 'id').",
43
+ "type": "string",
44
+ "required": false,
45
+ "position": "query"
46
+ },
47
+ {
48
+ "name": "sortType",
49
+ "description": "Sort order type (e.g., 'asc' for ascending).",
50
+ "type": "string",
51
+ "required": false,
52
+ "position": "query"
53
+ },
54
+ {
55
+ "name": "expand",
56
+ "description": "Fields to expand in the response (e.g., 'contacts').",
57
+ "type": "string",
58
+ "required": false,
59
+ "position": "query"
60
+ },
61
+ {
62
+ "name": "id",
63
+ "description": "Filter by customer ID (exact match).",
64
+ "type": "string",
65
+ "required": false,
66
+ "position": "query"
67
+ },
68
+ {
69
+ "name": "id__ilike",
70
+ "description": "Case-insensitive partial match for customer ID.",
71
+ "type": "string",
72
+ "required": false,
73
+ "position": "query"
74
+ },
75
+ {
76
+ "name": "id__in",
77
+ "description": "Filter by a comma-separated list of customer IDs.",
78
+ "type": "string",
79
+ "required": false,
80
+ "position": "query"
81
+ },
82
+ {
83
+ "name": "external_id",
84
+ "description": "Filter by external ID (exact match).",
85
+ "type": "string",
86
+ "required": false,
87
+ "position": "query"
88
+ },
89
+ {
90
+ "name": "external_id__ilike",
91
+ "description": "Case-insensitive partial match for external ID.",
92
+ "type": "string",
93
+ "required": false,
94
+ "position": "query"
95
+ },
96
+ {
97
+ "name": "email",
98
+ "description": "Filter by email (exact match).",
99
+ "type": "string",
100
+ "required": false,
101
+ "position": "query"
102
+ },
103
+ {
104
+ "name": "email__ilike",
105
+ "description": "Case-insensitive partial match for email.",
106
+ "type": "string",
107
+ "required": false,
108
+ "position": "query"
109
+ },
110
+ {
111
+ "name": "phoneNumber__ilike",
112
+ "description": "Case-insensitive partial match for phone number.",
113
+ "type": "string",
114
+ "required": false,
115
+ "position": "query"
116
+ },
117
+ {
118
+ "name": "communications_enabled",
119
+ "description": "Filter by communications enabled status.",
120
+ "type": "boolean",
121
+ "required": false,
122
+ "position": "query"
123
+ },
124
+ {
125
+ "name": "auto_charge_enabled",
126
+ "description": "Filter by auto-charge enabled status.",
127
+ "type": "boolean",
128
+ "required": false,
129
+ "position": "query"
130
+ },
131
+ {
132
+ "name": "created_at__gte",
133
+ "description": "Filter by creation date greater than or equal to (ISO 8601 format).",
134
+ "type": "string",
135
+ "required": false,
136
+ "position": "query"
137
+ },
138
+ {
139
+ "name": "created_at__lte",
140
+ "description": "Filter by creation date less than or equal to (ISO 8601 format).",
141
+ "type": "string",
142
+ "required": false,
143
+ "position": "query"
144
+ },
145
+ {
146
+ "name": "customer_name__ilike",
147
+ "description": "Case-insensitive partial match for customer name.",
148
+ "type": "string",
149
+ "required": false,
150
+ "position": "query"
151
+ },
152
+ {
153
+ "name": "business_entity_id",
154
+ "description": "Filter by business entity ID (exact match).",
155
+ "type": "string",
156
+ "required": false,
157
+ "position": "query"
158
+ },
159
+ {
160
+ "name": "invoice__customer_id",
161
+ "description": "Filter by invoice customer ID.",
162
+ "type": "string",
163
+ "required": false,
164
+ "position": "query"
165
+ },
166
+ {
167
+ "name": "invoice__status",
168
+ "description": "Filter by invoice status.",
169
+ "type": "string",
170
+ "required": false,
171
+ "position": "query"
172
+ }
173
+ ],
174
+ "requestTemplate": {
175
+ "url": "/customer",
176
+ "method": "GET"
177
+ },
178
+ "responseTemplate": {
179
+ "prependBody": "## Customer List\n\nHere is the list of customers based on your criteria:\n\n"
180
+ }
181
+ },
182
+ {
183
+ "name": "getCustomerById",
184
+ "description": "Retrieve details for a specific customer by their ID.",
185
+ "args": [
186
+ {
187
+ "name": "customerId",
188
+ "description": "The unique ID of the customer to retrieve.",
189
+ "type": "string",
190
+ "required": true,
191
+ "position": "path"
192
+ }
193
+ ],
194
+ "requestTemplate": {
195
+ "url": "/customers/{customerId}",
196
+ "method": "GET"
197
+ },
198
+ "responseTemplate": {
199
+ "prependBody": "## Customer Details\n\nHere are the details for the requested customer:\n\n"
200
+ }
201
+ },
202
+ {
203
+ "name": "listContacts",
204
+ "description": "Retrieve a paginated list of contacts.",
205
+ "args": [
206
+ {
207
+ "name": "cursor",
208
+ "description": "The cursor for pagination.",
209
+ "type": "string",
210
+ "required": false,
211
+ "position": "query"
212
+ },
213
+ {
214
+ "name": "limit",
215
+ "description": "Maximum number of contacts to return per page (defaults to 10).",
216
+ "type": "integer",
217
+ "required": false,
218
+ "position": "query"
219
+ },
220
+ {
221
+ "name": "sortKey",
222
+ "description": "Key to sort the results by (e.g., 'id').",
223
+ "type": "string",
224
+ "required": false,
225
+ "position": "query"
226
+ },
227
+ {
228
+ "name": "sortType",
229
+ "description": "Sort order type (e.g., 'asc').",
230
+ "type": "string",
231
+ "required": false,
232
+ "position": "query"
233
+ }
234
+ ],
235
+ "requestTemplate": {
236
+ "url": "/contacts",
237
+ "method": "GET"
238
+ },
239
+ "responseTemplate": {
240
+ "prependBody": "## Contact List\n\nHere is the list of contacts:\n\n"
241
+ }
242
+ },
243
+ {
244
+ "name": "getContactById",
245
+ "description": "Retrieve details for a specific contact by their ID.",
246
+ "args": [
247
+ {
248
+ "name": "contactId",
249
+ "description": "The unique ID of the contact to retrieve.",
250
+ "type": "string",
251
+ "required": true,
252
+ "position": "path"
253
+ }
254
+ ],
255
+ "requestTemplate": {
256
+ "url": "/contacts/{contactId}",
257
+ "method": "GET"
258
+ },
259
+ "responseTemplate": {
260
+ "prependBody": "## Contact Details\n\nHere are the details for the requested contact:\n\n"
261
+ }
262
+ },
263
+ {
264
+ "name": "listInvoices",
265
+ "description": "Retrieve a paginated list of invoices, with options for filtering by customer, status, amounts, due date, creation date, and related customer/contract details.",
266
+ "args": [
267
+ {
268
+ "name": "customerId",
269
+ "description": "Filter invoices by a specific customer ID.",
270
+ "type": "string",
271
+ "required": false,
272
+ "position": "query"
273
+ },
274
+ {
275
+ "name": "customerExternalId",
276
+ "description": "Filter invoices by a customer's external ID.",
277
+ "type": "string",
278
+ "required": false,
279
+ "position": "query"
280
+ },
281
+ {
282
+ "name": "status",
283
+ "description": "Filter invoices by their status (e.g., 'draft', 'approved', 'paid', 'void', 'partially_paid', 'upcoming').",
284
+ "type": "string",
285
+ "required": false,
286
+ "position": "query",
287
+ "enum": ["draft", "approved", "edited", "discarded", "paid", "void", "partially_paid", "upcoming"]
288
+ },
289
+ {
290
+ "name": "status__in",
291
+ "description": "Filter invoices by multiple statuses (comma-separated, e.g., 'draft,approved,paid,partially_paid,upcoming,void').",
292
+ "type": "string",
293
+ "required": false,
294
+ "position": "query"
295
+ },
296
+ {
297
+ "name": "cursor",
298
+ "description": "The cursor for pagination.",
299
+ "type": "string",
300
+ "required": false,
301
+ "position": "query"
302
+ },
303
+ {
304
+ "name": "limit",
305
+ "description": "Maximum number of invoices to return per page (defaults to 10).",
306
+ "type": "integer",
307
+ "required": false,
308
+ "position": "query"
309
+ },
310
+ {
311
+ "name": "contractId",
312
+ "description": "Filter by contract ID.",
313
+ "type": "string",
314
+ "required": false,
315
+ "position": "query"
316
+ },
317
+ {
318
+ "name": "externalId",
319
+ "description": "Filter by invoice external ID.",
320
+ "type": "string",
321
+ "required": false,
322
+ "position": "query"
323
+ },
324
+ {
325
+ "name": "invoiceTotal__gte",
326
+ "description": "Filter by invoice total greater than or equal to.",
327
+ "type": "number",
328
+ "required": false,
329
+ "position": "query"
330
+ },
331
+ {
332
+ "name": "invoiceTotal__lte",
333
+ "description": "Filter by invoice total less than or equal to.",
334
+ "type": "number",
335
+ "required": false,
336
+ "position": "query"
337
+ },
338
+ {
339
+ "name": "amountDue__gte",
340
+ "description": "Filter by amount due greater than or equal to.",
341
+ "type": "number",
342
+ "required": false,
343
+ "position": "query"
344
+ },
345
+ {
346
+ "name": "amountDue__lte",
347
+ "description": "Filter by amount due less than or equal to.",
348
+ "type": "number",
349
+ "required": false,
350
+ "position": "query"
351
+ },
352
+ {
353
+ "name": "dueDate__gte",
354
+ "description": "Filter by due date greater than or equal to (ISO 8601).",
355
+ "type": "string",
356
+ "required": false,
357
+ "position": "query"
358
+ },
359
+ {
360
+ "name": "dueDate__lte",
361
+ "description": "Filter by due date less than or equal to (ISO 8601).",
362
+ "type": "string",
363
+ "required": false,
364
+ "position": "query"
365
+ },
366
+ {
367
+ "name": "createdAt__gte",
368
+ "description": "Filter by creation date greater than or equal to (ISO 8601).",
369
+ "type": "string",
370
+ "required": false,
371
+ "position": "query"
372
+ },
373
+ {
374
+ "name": "createdAt__lte",
375
+ "description": "Filter by creation date less than or equal to (ISO 8601).",
376
+ "type": "string",
377
+ "required": false,
378
+ "position": "query"
379
+ },
380
+ {
381
+ "name": "invoice_number__like",
382
+ "description": "Partial match for invoice number.",
383
+ "type": "string",
384
+ "required": false,
385
+ "position": "query"
386
+ },
387
+ {
388
+ "name": "customer__customer_name__ilike",
389
+ "description": "Case-insensitive partial match for customer name associated with the invoice.",
390
+ "type": "string",
391
+ "required": false,
392
+ "position": "query"
393
+ }
394
+ ],
395
+ "requestTemplate": {
396
+ "url": "/invoices/internal",
397
+ "method": "GET"
398
+ },
399
+ "responseTemplate": {
400
+ "prependBody": "## Invoice List\n\nHere are the invoices matching your criteria:\n\n"
401
+ }
402
+ },
403
+ {
404
+ "name": "getInvoiceById",
405
+ "description": "Retrieve details for a specific invoice by its ID.",
406
+ "args": [
407
+ {
408
+ "name": "invoiceId",
409
+ "description": "The unique ID of the invoice to retrieve.",
410
+ "type": "string",
411
+ "required": true,
412
+ "position": "path"
413
+ },
414
+ {
415
+ "name": "customerId",
416
+ "description": "The ID of the customer associated with the invoice (optional).",
417
+ "type": "string",
418
+ "required": false,
419
+ "position": "query"
420
+ }
421
+ ],
422
+ "requestTemplate": {
423
+ "url": "/invoices/{invoiceId}",
424
+ "method": "GET"
425
+ },
426
+ "responseTemplate": {
427
+ "prependBody": "## Invoice Details\n\nHere are the details for the requested invoice:\n\n"
428
+ }
429
+ },
430
+ {
431
+ "name": "getInvoiceGenerationStatus",
432
+ "description": "Get the generation status of a specific invoice.",
433
+ "args": [
434
+ {
435
+ "name": "invoiceId",
436
+ "description": "The ID of the invoice.",
437
+ "type": "string",
438
+ "required": true,
439
+ "position": "path"
440
+ },
441
+ {
442
+ "name": "contractId",
443
+ "description": "The ID of the contract associated with the invoice.",
444
+ "type": "string",
445
+ "required": true,
446
+ "position": "query"
447
+ }
448
+ ],
449
+ "requestTemplate": {
450
+ "url": "/invoices/invoice_generation_status/{invoiceId}",
451
+ "method": "GET"
452
+ },
453
+ "responseTemplate": {
454
+ "prependBody": "## Invoice Generation Status\n\nDetails of the invoice generation status:\n\n"
455
+ }
456
+ },
457
+ {
458
+ "name": "getInvoiceByExternalId",
459
+ "description": "Retrieve details for an invoice using its external ID.",
460
+ "args": [
461
+ {
462
+ "name": "externalId",
463
+ "description": "The external ID of the invoice.",
464
+ "type": "string",
465
+ "required": true,
466
+ "position": "path"
467
+ }
468
+ ],
469
+ "requestTemplate": {
470
+ "url": "/invoices/external_id/{externalId}",
471
+ "method": "GET"
472
+ },
473
+ "responseTemplate": {
474
+ "prependBody": "## Invoice by External ID\n\nDetails of the invoice retrieved by its external ID:\n\n"
475
+ }
476
+ },
477
+ {
478
+ "name": "downloadInvoice",
479
+ "description": "Download an invoice in JSON format.",
480
+ "args": [
481
+ {
482
+ "name": "invoiceId",
483
+ "description": "The ID of the invoice to download.",
484
+ "type": "string",
485
+ "required": true,
486
+ "position": "path"
487
+ },
488
+ {
489
+ "name": "invoiceJsonKey",
490
+ "description": "Optional key for invoice JSON.",
491
+ "type": "string",
492
+ "required": false,
493
+ "position": "query"
494
+ },
495
+ {
496
+ "name": "customerId",
497
+ "description": "Optional customer ID associated with the invoice.",
498
+ "type": "string",
499
+ "required": false,
500
+ "position": "query"
501
+ }
502
+ ],
503
+ "requestTemplate": {
504
+ "url": "/invoices/{invoiceId}/download_invoice",
505
+ "method": "GET"
506
+ },
507
+ "responseTemplate": {
508
+ "prependBody": "## Invoice Download\n\nThe invoice content is:\n\n"
509
+ }
510
+ },
511
+ {
512
+ "name": "getInvoiceContractJsonActuals",
513
+ "description": "Get contract actuals in JSON format for a specific invoice.",
514
+ "args": [
515
+ {
516
+ "name": "invoiceId",
517
+ "description": "The ID of the invoice.",
518
+ "type": "string",
519
+ "required": true,
520
+ "position": "path"
521
+ }
522
+ ],
523
+ "requestTemplate": {
524
+ "url": "/invoices/{invoiceId}/contract_json_actuals",
525
+ "method": "GET"
526
+ },
527
+ "responseTemplate": {
528
+ "prependBody": "## Contract JSON Actuals for Invoice\n\nHere are the contract actuals:\n\n"
529
+ }
530
+ },
531
+ {
532
+ "name": "getInvoicePayments",
533
+ "description": "Get payments associated with a specific invoice.",
534
+ "args": [
535
+ {
536
+ "name": "invoiceId",
537
+ "description": "The ID of the invoice.",
538
+ "type": "string",
539
+ "required": true,
540
+ "position": "path"
541
+ }
542
+ ],
543
+ "requestTemplate": {
544
+ "url": "/invoices/{invoiceId}/payments",
545
+ "method": "GET"
546
+ },
547
+ "responseTemplate": {
548
+ "prependBody": "## Payments for Invoice\n\nHere are the payments for the specified invoice:\n\n"
549
+ }
550
+ },
551
+ {
552
+ "name": "generateInvoicePaymentLink",
553
+ "description": "Generate a payment link for a specific invoice.",
554
+ "args": [
555
+ {
556
+ "name": "invoiceId",
557
+ "description": "The ID of the invoice.",
558
+ "type": "string",
559
+ "required": true,
560
+ "position": "path"
561
+ },
562
+ {
563
+ "name": "amount",
564
+ "description": "Custom amount to be charged for the invoice (must be less than the amount due).",
565
+ "type": "integer",
566
+ "required": false,
567
+ "position": "query"
568
+ }
569
+ ],
570
+ "requestTemplate": {
571
+ "url": "/invoices/{invoiceId}/payment_link",
572
+ "method": "GET"
573
+ },
574
+ "responseTemplate": {
575
+ "prependBody": "## Invoice Payment Link\n\nHere is the generated payment link:\n\n"
576
+ }
577
+ },
578
+ {
579
+ "name": "payInvoice",
580
+ "description": "Initiate payment for an invoice using a payload.",
581
+ "args": [
582
+ {
583
+ "name": "payload",
584
+ "description": "The payment payload.",
585
+ "type": "string",
586
+ "required": true,
587
+ "position": "path"
588
+ }
589
+ ],
590
+ "requestTemplate": {
591
+ "url": "/invoices/pay/{payload}",
592
+ "method": "GET"
593
+ },
594
+ "responseTemplate": {
595
+ "prependBody": "## Invoice Payment Status\n\nThe payment process was initiated:\n\n"
596
+ }
597
+ },
598
+ {
599
+ "name": "getInvoiceLineItems",
600
+ "description": "Get details about the invoice line items, features, and pricing models.",
601
+ "args": [
602
+ {
603
+ "name": "invoiceId",
604
+ "description": "The ID of the invoice.",
605
+ "type": "string",
606
+ "required": true,
607
+ "position": "path"
608
+ }
609
+ ],
610
+ "requestTemplate": {
611
+ "url": "/invoices/{invoiceId}/line_items",
612
+ "method": "GET"
613
+ },
614
+ "responseTemplate": {
615
+ "prependBody": "## Invoice Line Items\n\nDetails of the invoice line items:\n\n"
616
+ }
617
+ },
618
+ {
619
+ "name": "getInvoiceSummary",
620
+ "description": "Get a summary of a specific invoice.",
621
+ "args": [
622
+ {
623
+ "name": "invoiceId",
624
+ "description": "The ID of the invoice.",
625
+ "type": "string",
626
+ "required": true,
627
+ "position": "path"
628
+ }
629
+ ],
630
+ "requestTemplate": {
631
+ "url": "/invoices/{invoiceId}/summary",
632
+ "method": "GET"
633
+ },
634
+ "responseTemplate": {
635
+ "prependBody": "## Invoice Summary\n\nHere is the summary for the specified invoice:\n\n"
636
+ }
637
+ },
638
+ {
639
+ "name": "getAllInvoiceTags",
640
+ "description": "Get all available tags for invoices.",
641
+ "args": [],
642
+ "requestTemplate": {
643
+ "url": "/invoices/tags",
644
+ "method": "GET"
645
+ },
646
+ "responseTemplate": {
647
+ "prependBody": "## All Invoice Tags\n\nHere is a list of all defined invoice tags:\n\n"
648
+ }
649
+ },
650
+ {
651
+ "name": "getCustomerPortalConfiguration",
652
+ "description": "Retrieve the customer portal configuration.",
653
+ "args": [],
654
+ "requestTemplate": {
655
+ "url": "/customer_portal/configuration",
656
+ "method": "GET"
657
+ },
658
+ "responseTemplate": {
659
+ "prependBody": "## Customer Portal Configuration\n\nHere is the customer portal configuration:\n\n"
660
+ }
661
+ },
662
+ {
663
+ "name": "listAggregates",
664
+ "description": "Get billable metrics in paginated form with options for filtering by ID, name, and data source.",
665
+ "args": [
666
+ {
667
+ "name": "cursor",
668
+ "description": "The cursor for pagination.",
669
+ "type": "string",
670
+ "required": false,
671
+ "position": "query"
672
+ },
673
+ {
674
+ "name": "limit",
675
+ "description": "Maximum number of records to return per page (defaults to 10).",
676
+ "type": "integer",
677
+ "required": false,
678
+ "position": "query"
679
+ },
680
+ {
681
+ "name": "order",
682
+ "description": "Order of results (e.g., '-created_at').",
683
+ "type": "string",
684
+ "required": false,
685
+ "default": "-created_at",
686
+ "position": "query"
687
+ },
688
+ {
689
+ "name": "sortKey",
690
+ "description": "Key to sort the results by (e.g., 'id').",
691
+ "type": "string",
692
+ "required": false,
693
+ "default": "created_at",
694
+ "position": "query"
695
+ },
696
+ {
697
+ "name": "sortType",
698
+ "description": "Sort order type (e.g., 'asc').",
699
+ "type": "string",
700
+ "required": false,
701
+ "default": "DESC",
702
+ "position": "query"
703
+ },
704
+ {
705
+ "name": "id",
706
+ "description": "Filter by aggregate ID.",
707
+ "type": "string",
708
+ "required": false,
709
+ "position": "query"
710
+ },
711
+ {
712
+ "name": "name__ilike",
713
+ "description": "Case-insensitive partial match for aggregate name.",
714
+ "type": "string",
715
+ "required": false,
716
+ "position": "query"
717
+ },
718
+ {
719
+ "name": "datasource",
720
+ "description": "Filter by data source ID.",
721
+ "type": "string",
722
+ "required": false,
723
+ "position": "query"
724
+ },
725
+ {
726
+ "name": "createdAt__gte",
727
+ "description": "Filter by creation date greater than or equal to (ISO 8601).",
728
+ "type": "string",
729
+ "required": false,
730
+ "position": "query"
731
+ }
732
+ ],
733
+ "requestTemplate": {
734
+ "url": "/aggregates",
735
+ "method": "GET"
736
+ },
737
+ "responseTemplate": {
738
+ "prependBody": "## Billable Metrics List\n\nHere is the list of billable metrics:\n\n"
739
+ }
740
+ },
741
+ {
742
+ "name": "getAggregateSchemas",
743
+ "description": "Get all billable metric schemas belonging to an organization.",
744
+ "args": [],
745
+ "requestTemplate": {
746
+ "url": "/aggregates/tables/schema",
747
+ "method": "GET"
748
+ },
749
+ "responseTemplate": {
750
+ "prependBody": "## Billable Metric Schemas\n\nHere are the schemas for billable metrics:\n\n"
751
+ }
752
+ },
753
+ {
754
+ "name": "getAggregateEstimates",
755
+ "description": "Get billable metric estimates based on the specified criteria.",
756
+ "args": [
757
+ {
758
+ "name": "aggregateId",
759
+ "description": "The ID of the billable metric.",
760
+ "type": "string",
761
+ "required": true,
762
+ "position": "query"
763
+ },
764
+ {
765
+ "name": "customerId",
766
+ "description": "The ID of the customer.",
767
+ "type": "string",
768
+ "required": true,
769
+ "position": "query"
770
+ },
771
+ {
772
+ "name": "startDate",
773
+ "description": "Start date of the estimate (YYYY-MM-DD).",
774
+ "type": "string",
775
+ "required": true,
776
+ "position": "query"
777
+ },
778
+ {
779
+ "name": "endDate",
780
+ "description": "End date of the estimate (YYYY-MM-DD).",
781
+ "type": "string",
782
+ "required": true,
783
+ "position": "query"
784
+ },
785
+ {
786
+ "name": "getSingle",
787
+ "description": "Whether to get a single estimate (defaults to true).",
788
+ "type": "boolean",
789
+ "required": false,
790
+ "default": true,
791
+ "position": "query"
792
+ }
793
+ ],
794
+ "requestTemplate": {
795
+ "url": "/aggregates/estimates",
796
+ "method": "GET"
797
+ },
798
+ "responseTemplate": {
799
+ "prependBody": "## Billable Metric Estimates\n\nHere are the estimates for the billable metric:\n\n"
800
+ }
801
+ },
802
+ {
803
+ "name": "getAggregateById",
804
+ "description": "Get the details of a billable metric by its ID.",
805
+ "args": [
806
+ {
807
+ "name": "aggregateId",
808
+ "description": "The ID of the billable metric.",
809
+ "type": "string",
810
+ "required": true,
811
+ "position": "path"
812
+ }
813
+ ],
814
+ "requestTemplate": {
815
+ "url": "/aggregates/{aggregateId}",
816
+ "method": "GET"
817
+ },
818
+ "responseTemplate": {
819
+ "prependBody": "## Billable Metric Details\n\nHere are the details for the specified billable metric:\n\n"
820
+ }
821
+ },
822
+ {
823
+ "name": "getAggregateLogs",
824
+ "description": "Get the logs related to a billable metric by its ID, with optional date and customer filters.",
825
+ "args": [
826
+ {
827
+ "name": "aggregateId",
828
+ "description": "The ID of the billable metric.",
829
+ "type": "string",
830
+ "required": true,
831
+ "position": "path"
832
+ },
833
+ {
834
+ "name": "startDate",
835
+ "description": "Start date for filtering logs (YYYY-MM-DD).",
836
+ "type": "string",
837
+ "required": false,
838
+ "position": "query"
839
+ },
840
+ {
841
+ "name": "endDate",
842
+ "description": "End date for filtering logs (YYYY-MM-DD).",
843
+ "type": "string",
844
+ "required": false,
845
+ "position": "query"
846
+ },
847
+ {
848
+ "name": "month",
849
+ "description": "Filter by month (e.g., 'Apr 2023').",
850
+ "type": "string",
851
+ "required": false,
852
+ "position": "query"
853
+ },
854
+ {
855
+ "name": "customerId",
856
+ "description": "Filter by customer ID.",
857
+ "type": "string",
858
+ "required": false,
859
+ "position": "query"
860
+ },
861
+ {
862
+ "name": "queryLimit",
863
+ "description": "Limit the number of log entries (defaults to 100).",
864
+ "type": "integer",
865
+ "required": false,
866
+ "default": 100,
867
+ "position": "query"
868
+ }
869
+ ],
870
+ "requestTemplate": {
871
+ "url": "/aggregates/logs/{aggregateId}",
872
+ "method": "GET"
873
+ },
874
+ "responseTemplate": {
875
+ "prependBody": "## Billable Metric Logs\n\nHere are the logs for the specified billable metric:\n\n"
876
+ }
877
+ },
878
+ {
879
+ "name": "listRawMetrics",
880
+ "description": "Get usage events in paginated form, with options for filtering by ID, name, and API slug.",
881
+ "args": [
882
+ {
883
+ "name": "cursor",
884
+ "description": "The cursor for pagination.",
885
+ "type": "string",
886
+ "required": false,
887
+ "position": "query"
888
+ },
889
+ {
890
+ "name": "limit",
891
+ "description": "Maximum number of records to return per page (defaults to 10).",
892
+ "type": "integer",
893
+ "required": false,
894
+ "position": "query"
895
+ },
896
+ {
897
+ "name": "order",
898
+ "description": "Order of results (e.g., '-created_at').",
899
+ "type": "string",
900
+ "required": false,
901
+ "default": "-created_at",
902
+ "position": "query"
903
+ },
904
+ {
905
+ "name": "sortKey",
906
+ "description": "Key to sort the results by (e.g., 'created_at').",
907
+ "type": "string",
908
+ "required": false,
909
+ "default": "created_at",
910
+ "position": "query"
911
+ },
912
+ {
913
+ "name": "sortType",
914
+ "description": "Sort order type (e.g., 'asc').",
915
+ "type": "string",
916
+ "required": false,
917
+ "default": "DESC",
918
+ "position": "query"
919
+ },
920
+ {
921
+ "name": "search",
922
+ "description": "General search query.",
923
+ "type": "string",
924
+ "required": false,
925
+ "position": "query"
926
+ },
927
+ {
928
+ "name": "id",
929
+ "description": "Filter by usage event ID.",
930
+ "type": "string",
931
+ "required": false,
932
+ "position": "query"
933
+ },
934
+ {
935
+ "name": "name__ilike",
936
+ "description": "Case-insensitive partial match for usage event name.",
937
+ "type": "string",
938
+ "required": false,
939
+ "position": "query"
940
+ },
941
+ {
942
+ "name": "api_slug__ilike",
943
+ "description": "Case-insensitive partial match for API slug.",
944
+ "type": "string",
945
+ "required": false,
946
+ "position": "query"
947
+ }
948
+ ],
949
+ "requestTemplate": {
950
+ "url": "/rawmetrics",
951
+ "method": "GET"
952
+ },
953
+ "responseTemplate": {
954
+ "prependBody": "## Usage Events List\n\nHere is the list of usage events:\n\n"
955
+ }
956
+ },
957
+ {
958
+ "name": "getRawMetricById",
959
+ "description": "Get usage event details by its ID.",
960
+ "args": [
961
+ {
962
+ "name": "rawMetricId",
963
+ "description": "The ID of the raw metric.",
964
+ "type": "string",
965
+ "required": true,
966
+ "position": "path"
967
+ }
968
+ ],
969
+ "requestTemplate": {
970
+ "url": "/rawmetrics/{rawMetricId}",
971
+ "method": "GET"
972
+ },
973
+ "responseTemplate": {
974
+ "prependBody": "## Usage Event Details\n\nHere are the details for the specified usage event:\n\n"
975
+ }
976
+ },
977
+ {
978
+ "name": "getRawMetricLogs",
979
+ "description": "Get logs for a specific raw metric by its ID.",
980
+ "args": [
981
+ {
982
+ "name": "rawMetricId",
983
+ "description": "The ID of the raw metric.",
984
+ "type": "string",
985
+ "required": true,
986
+ "position": "path"
987
+ }
988
+ ],
989
+ "requestTemplate": {
990
+ "url": "/rawmetrics/{rawMetricId}/logs",
991
+ "method": "GET"
992
+ },
993
+ "responseTemplate": {
994
+ "prependBody": "## Usage Event Logs\n\nHere are the logs for the specified usage event:\n\n"
995
+ }
996
+ },
997
+ {
998
+ "name": "getRawMetricBySlug",
999
+ "description": "Get usage event details by its API slug.",
1000
+ "args": [
1001
+ {
1002
+ "name": "rawMetricSlug",
1003
+ "description": "The API slug of the raw metric.",
1004
+ "type": "string",
1005
+ "required": true,
1006
+ "position": "path"
1007
+ }
1008
+ ],
1009
+ "requestTemplate": {
1010
+ "url": "/rawmetrics/slug/{rawMetricSlug}",
1011
+ "method": "GET"
1012
+ },
1013
+ "responseTemplate": {
1014
+ "prependBody": "## Usage Event by Slug\n\nHere are the details for the usage event with the specified slug:\n\n"
1015
+ }
1016
+ },
1017
+ {
1018
+ "name": "getInvoicePaymentsById",
1019
+ "description": "Get payments associated with a specific invoice ID.",
1020
+ "args": [
1021
+ {
1022
+ "name": "invoiceId",
1023
+ "description": "The ID of the invoice.",
1024
+ "type": "string",
1025
+ "required": true,
1026
+ "position": "path"
1027
+ }
1028
+ ],
1029
+ "requestTemplate": {
1030
+ "url": "/payments/invoice/{invoiceId}",
1031
+ "method": "GET"
1032
+ },
1033
+ "responseTemplate": {
1034
+ "prependBody": "## Payments for Invoice\n\nHere are the payments for the specified invoice:\n\n"
1035
+ }
1036
+ },
1037
+ {
1038
+ "name": "getInvoicePaymentsWithoutRefunds",
1039
+ "description": "Get payments for an invoice, excluding refunds.",
1040
+ "args": [
1041
+ {
1042
+ "name": "invoiceId",
1043
+ "description": "The ID of the invoice.",
1044
+ "type": "string",
1045
+ "required": true,
1046
+ "position": "path"
1047
+ }
1048
+ ],
1049
+ "requestTemplate": {
1050
+ "url": "/payments/invoice/{invoiceId}/without_refunds",
1051
+ "method": "GET"
1052
+ },
1053
+ "responseTemplate": {
1054
+ "prependBody": "## Invoice Payments (Excluding Refunds)\n\nHere are the payments for the specified invoice, excluding refunds:\n\n"
1055
+ }
1056
+ },
1057
+ {
1058
+ "name": "getPaymentById",
1059
+ "description": "Retrieve details for a specific payment by its ID.",
1060
+ "args": [
1061
+ {
1062
+ "name": "paymentId",
1063
+ "description": "The unique ID of the payment to retrieve.",
1064
+ "type": "string",
1065
+ "required": true,
1066
+ "position": "path"
1067
+ }
1068
+ ],
1069
+ "requestTemplate": {
1070
+ "url": "/payments/{paymentId}",
1071
+ "method": "GET"
1072
+ },
1073
+ "responseTemplate": {
1074
+ "prependBody": "## Payment Details\n\nHere are the details for the requested payment:\n\n"
1075
+ }
1076
+ },
1077
+ {
1078
+ "name": "getCurrentDateTime",
1079
+ "description": "Get the current system date and time in multiple formats for temporal context",
1080
+ "args": [],
1081
+ "requestTemplate": {
1082
+ "url": "/system/datetime",
1083
+ "method": "GET"
1084
+ },
1085
+ "responseTemplate": {
1086
+ "prependBody": "## Current Date and Time\n\nSystem date/time information:\n\n"
1087
+ }
1088
+ },
1089
+ {
1090
+ "name": "listAllPayments",
1091
+ "description": "Retrieve a paginated list of all payments, with extensive filtering and sorting options.",
1092
+ "args": [
1093
+ {
1094
+ "name": "cursor",
1095
+ "description": "The cursor for pagination.",
1096
+ "type": "string",
1097
+ "required": false,
1098
+ "position": "query"
1099
+ },
1100
+ {
1101
+ "name": "limit",
1102
+ "description": "Maximum number of payments to return per page (defaults to 10).",
1103
+ "type": "integer",
1104
+ "required": false,
1105
+ "position": "query"
1106
+ },
1107
+ {
1108
+ "name": "search",
1109
+ "description": "General search query.",
1110
+ "type": "string",
1111
+ "required": false,
1112
+ "position": "query"
1113
+ },
1114
+ {
1115
+ "name": "sortKey",
1116
+ "description": "Key to sort the results by (e.g., 'id').",
1117
+ "type": "string",
1118
+ "required": false,
1119
+ "position": "query"
1120
+ },
1121
+ {
1122
+ "name": "sortType",
1123
+ "description": "Sort order type (e.g., 'asc').",
1124
+ "type": "string",
1125
+ "required": false,
1126
+ "position": "query"
1127
+ },
1128
+ {
1129
+ "name": "order",
1130
+ "description": "Order of results (e.g., '-created_at').",
1131
+ "type": "string",
1132
+ "required": false,
1133
+ "default": "-created_at",
1134
+ "position": "query"
1135
+ },
1136
+ {
1137
+ "name": "id",
1138
+ "description": "Filter by payment ID.",
1139
+ "type": "string",
1140
+ "required": false,
1141
+ "position": "query"
1142
+ },
1143
+ {
1144
+ "name": "customerId",
1145
+ "description": "Filter by customer ID.",
1146
+ "type": "string",
1147
+ "required": false,
1148
+ "position": "query"
1149
+ },
1150
+ {
1151
+ "name": "connectorId",
1152
+ "description": "Filter by connector ID.",
1153
+ "type": "string",
1154
+ "required": false,
1155
+ "position": "query"
1156
+ },
1157
+ {
1158
+ "name": "externalId__ilike",
1159
+ "description": "Case-insensitive partial match for external ID.",
1160
+ "type": "string",
1161
+ "required": false,
1162
+ "position": "query"
1163
+ },
1164
+ {
1165
+ "name": "paymentMethod",
1166
+ "description": "Filter by payment method (e.g., 'card', 'cash', 'bank_transfer').",
1167
+ "type": "string",
1168
+ "required": false,
1169
+ "position": "query",
1170
+ "enum": ["card", "cash", "check", "charge_back", "bank_transfer", "direct_debit", "amazon_payments", "paypal_express_checkout", "upi", "netbanking_emandates", "other", "credits", "ach_credit_transfer"]
1171
+ },
1172
+ {
1173
+ "name": "type",
1174
+ "description": "Filter by payment type (e.g., 'payment', 'refund').",
1175
+ "type": "string",
1176
+ "required": false,
1177
+ "position": "query",
1178
+ "enum": ["payment", "refund", "payment_reversal", "authorization", "tax_withheld"]
1179
+ },
1180
+ {
1181
+ "name": "amount__gte",
1182
+ "description": "Filter by amount greater than or equal to.",
1183
+ "type": "number",
1184
+ "required": false,
1185
+ "position": "query"
1186
+ },
1187
+ {
1188
+ "name": "amount__lte",
1189
+ "description": "Filter by amount less than or equal to.",
1190
+ "type": "number",
1191
+ "required": false,
1192
+ "position": "query"
1193
+ },
1194
+ {
1195
+ "name": "amount_refunded__gte",
1196
+ "description": "Filter by amount refunded greater than or equal to.",
1197
+ "type": "number",
1198
+ "required": false,
1199
+ "position": "query"
1200
+ },
1201
+ {
1202
+ "name": "amount_refunded__lte",
1203
+ "description": "Filter by amount refunded less than or equal to.",
1204
+ "type": "number",
1205
+ "required": false,
1206
+ "position": "query"
1207
+ },
1208
+ {
1209
+ "name": "currencyCode__ilike",
1210
+ "description": "Case-insensitive partial match for currency code.",
1211
+ "type": "string",
1212
+ "required": false,
1213
+ "position": "query"
1214
+ },
1215
+ {
1216
+ "name": "receiptNumber__ilike",
1217
+ "description": "Case-insensitive partial match for receipt number.",
1218
+ "type": "string",
1219
+ "required": false,
1220
+ "position": "query"
1221
+ },
1222
+ {
1223
+ "name": "status",
1224
+ "description": "Filter by payment status (e.g., 'success', 'failed').",
1225
+ "type": "string",
1226
+ "required": false,
1227
+ "position": "query",
1228
+ "enum": ["in_progress", "requires_action", "pending_charge", "authorized", "created", "success", "voided", "failed", "canceled", "refunded", "partially_refunded", "other"]
1229
+ },
1230
+ {
1231
+ "name": "autocharge",
1232
+ "description": "Filter by auto-charge status.",
1233
+ "type": "boolean",
1234
+ "required": false,
1235
+ "position": "query"
1236
+ },
1237
+ {
1238
+ "name": "parentId",
1239
+ "description": "Filter by parent payment ID.",
1240
+ "type": "string",
1241
+ "required": false,
1242
+ "position": "query"
1243
+ },
1244
+ {
1245
+ "name": "timestamp__gte",
1246
+ "description": "Filter by timestamp greater than or equal to (Unix time).",
1247
+ "type": "integer",
1248
+ "required": false,
1249
+ "position": "query"
1250
+ },
1251
+ {
1252
+ "name": "timestamp__lte",
1253
+ "description": "Filter by timestamp less than or equal to (Unix time).",
1254
+ "type": "integer",
1255
+ "required": false,
1256
+ "position": "query"
1257
+ },
1258
+ {
1259
+ "name": "createdAt__gte",
1260
+ "description": "Filter by creation date greater than or equal to (ISO 8601).",
1261
+ "type": "string",
1262
+ "required": false,
1263
+ "position": "query"
1264
+ },
1265
+ {
1266
+ "name": "createdAt__lte",
1267
+ "description": "Filter by creation date less than or equal to (ISO 8601).",
1268
+ "type": "string",
1269
+ "required": false,
1270
+ "position": "query"
1271
+ },
1272
+ {
1273
+ "name": "invoice__id",
1274
+ "description": "Filter by associated invoice ID.",
1275
+ "type": "string",
1276
+ "required": false,
1277
+ "position": "query"
1278
+ },
1279
+ {
1280
+ "name": "invoice__bill_for_date__gte",
1281
+ "description": "Filter by invoice billing date greater than or equal to (ISO 8601).",
1282
+ "type": "string",
1283
+ "required": false,
1284
+ "position": "query"
1285
+ },
1286
+ {
1287
+ "name": "invoice__bill_for_date__lte",
1288
+ "description": "Filter by invoice billing date less than or equal to (ISO 8601).",
1289
+ "type": "string",
1290
+ "required": false,
1291
+ "position": "query"
1292
+ },
1293
+ {
1294
+ "name": "invoice__approved_at__gte",
1295
+ "description": "Filter by invoice approval date greater than or equal to (ISO 8601).",
1296
+ "type": "string",
1297
+ "required": false,
1298
+ "position": "query"
1299
+ },
1300
+ {
1301
+ "name": "invoice__approved_at__lte",
1302
+ "description": "Filter by invoice approval date less than or equal to (ISO 8601).",
1303
+ "type": "string",
1304
+ "required": false,
1305
+ "position": "query"
1306
+ },
1307
+ {
1308
+ "name": "customer__business_entity_id",
1309
+ "description": "Filter by customer's business entity ID.",
1310
+ "type": "string",
1311
+ "required": false,
1312
+ "position": "query"
1313
+ }
1314
+ ],
1315
+ "requestTemplate": {
1316
+ "url": "/payments",
1317
+ "method": "GET"
1318
+ },
1319
+ "responseTemplate": {
1320
+ "prependBody": "## All Payments List\n\nHere is a comprehensive list of payments based on your criteria:\n\n"
1321
+ }
1322
+ },
1323
+ {
1324
+ "name": "createContractPrompt",
1325
+ "description": "Create a new contract prompt and save it to the system.",
1326
+ "needsApproval": true,
1327
+ "approvalConfig": {
1328
+ "title": "Create Contract Prompt",
1329
+ "description": "This will create a new AI contract prompt. Please verify the prompt content.",
1330
+ "warningText": "This will save a new contract prompt that may be used for AI-generated content.",
1331
+ "confirmText": "Create Prompt",
1332
+ "cancelText": "Cancel",
1333
+ "sensitiveFields": ["prompt_name", "prompt_text", "document_id"]
1334
+ },
1335
+ "args": [
1336
+ {
1337
+ "name": "prompt_name",
1338
+ "description": "A name for the prompt (required by API).",
1339
+ "type": "string",
1340
+ "required": true,
1341
+ "position": "body"
1342
+ },
1343
+ {
1344
+ "name": "prompt_text",
1345
+ "description": "The prompt text to save.",
1346
+ "type": "string",
1347
+ "required": true,
1348
+ "position": "body"
1349
+ },
1350
+ {
1351
+ "name": "document_id",
1352
+ "description": "The ID of the contract document this prompt is for.",
1353
+ "type": "string",
1354
+ "required": true,
1355
+ "position": "body"
1356
+ },
1357
+ {
1358
+ "name": "prompt_schema",
1359
+ "description": "Optional schema for the prompt (e.g., 'billing_schema'). Can be null.",
1360
+ "type": ["string", "null"],
1361
+ "required": false,
1362
+ "position": "body"
1363
+ }
1364
+ ],
1365
+ "requestTemplate": {
1366
+ "url": "/ai/contracts/prompts",
1367
+ "method": "POST",
1368
+ "headers": {
1369
+ "Content-Type": "application/json"
1370
+ }
1371
+ },
1372
+ "responseTemplate": {
1373
+ "prependBody": "## Contract Prompt Created\n\nPrompt has been saved successfully:\n\n"
1374
+ }
1375
+ },
1376
+ {
1377
+ "name": "listContracts",
1378
+ "description": "Retrieve a paginated list of contracts, with extensive options for filtering by ID, customer ID, name, start date, end date, creation date, and status.",
1379
+ "args": [
1380
+ {
1381
+ "name": "cursor",
1382
+ "description": "The cursor for pagination to fetch the next or previous set of records.",
1383
+ "type": "string",
1384
+ "required": false,
1385
+ "position": "query"
1386
+ },
1387
+ {
1388
+ "name": "limit",
1389
+ "description": "Maximum number of records to return per page (defaults to 10).",
1390
+ "type": "integer",
1391
+ "required": false,
1392
+ "position": "query"
1393
+ },
1394
+ {
1395
+ "name": "order",
1396
+ "description": "Order of results (e.g., '-created_at' for descending creation date).",
1397
+ "type": "string",
1398
+ "required": false,
1399
+ "default": "-created_at",
1400
+ "position": "query"
1401
+ },
1402
+ {
1403
+ "name": "id",
1404
+ "description": "Filter by Contract ID (exact match).",
1405
+ "type": "string",
1406
+ "required": false,
1407
+ "position": "query"
1408
+ },
1409
+ {
1410
+ "name": "id__ilike",
1411
+ "description": "Contract ID (case-insensitive partial match).",
1412
+ "type": "string",
1413
+ "required": false,
1414
+ "position": "query"
1415
+ },
1416
+ {
1417
+ "name": "id__like",
1418
+ "description": "Contract ID (case-sensitive partial match).",
1419
+ "type": "string",
1420
+ "required": false,
1421
+ "position": "query"
1422
+ },
1423
+ {
1424
+ "name": "id__in",
1425
+ "description": "Filter by a comma-separated list of Contract IDs.",
1426
+ "type": "string",
1427
+ "required": false,
1428
+ "position": "query"
1429
+ },
1430
+ {
1431
+ "name": "id__isnull",
1432
+ "description": "Filter by whether Contract ID is null.",
1433
+ "type": "boolean",
1434
+ "required": false,
1435
+ "position": "query"
1436
+ },
1437
+ {
1438
+ "name": "customer_id",
1439
+ "description": "Filter by Customer ID (exact match).",
1440
+ "type": "string",
1441
+ "required": false,
1442
+ "position": "query"
1443
+ },
1444
+ {
1445
+ "name": "customer_id__in",
1446
+ "description": "Filter by a comma-separated list of Customer IDs.",
1447
+ "type": "string",
1448
+ "required": false,
1449
+ "position": "query"
1450
+ },
1451
+ {
1452
+ "name": "customer_id__isnull",
1453
+ "description": "Filter by whether Customer ID is null.",
1454
+ "type": "boolean",
1455
+ "required": false,
1456
+ "position": "query"
1457
+ },
1458
+ {
1459
+ "name": "name",
1460
+ "description": "Filter by Contract Name (exact match).",
1461
+ "type": "string",
1462
+ "required": false,
1463
+ "position": "query"
1464
+ },
1465
+ {
1466
+ "name": "name__ilike",
1467
+ "description": "Contract Name (case-insensitive partial match).",
1468
+ "type": "string",
1469
+ "required": false,
1470
+ "position": "query"
1471
+ },
1472
+ {
1473
+ "name": "name__like",
1474
+ "description": "Contract Name (case-sensitive partial match).",
1475
+ "type": "string",
1476
+ "required": false,
1477
+ "position": "query"
1478
+ },
1479
+ {
1480
+ "name": "name__in",
1481
+ "description": "Filter by a comma-separated list of Contract Names.",
1482
+ "type": "string",
1483
+ "required": false,
1484
+ "position": "query"
1485
+ },
1486
+ {
1487
+ "name": "name__isnull",
1488
+ "description": "Filter by whether Contract Name is null.",
1489
+ "type": "boolean",
1490
+ "required": false,
1491
+ "position": "query"
1492
+ },
1493
+ {
1494
+ "name": "start_date",
1495
+ "description": "Contract Start Date (exact match, ISO 8601).",
1496
+ "type": "string",
1497
+ "required": false,
1498
+ "position": "query"
1499
+ },
1500
+ {
1501
+ "name": "start_date__neq",
1502
+ "description": "Contract Start Date (not equal, ISO 8601).",
1503
+ "type": "string",
1504
+ "required": false,
1505
+ "position": "query"
1506
+ },
1507
+ {
1508
+ "name": "start_date__gt",
1509
+ "description": "Contract Start Date (greater than, ISO 8601).",
1510
+ "type": "string",
1511
+ "required": false,
1512
+ "position": "query"
1513
+ },
1514
+ {
1515
+ "name": "start_date__gte",
1516
+ "description": "Contract Start Date (greater than or equal to, ISO 8601).",
1517
+ "type": "string",
1518
+ "required": false,
1519
+ "position": "query"
1520
+ },
1521
+ {
1522
+ "name": "start_date__lt",
1523
+ "description": "Contract Start Date (less than, ISO 8601).",
1524
+ "type": "string",
1525
+ "required": false,
1526
+ "position": "query"
1527
+ },
1528
+ {
1529
+ "name": "start_date__lte",
1530
+ "description": "Contract Start Date (less than or equal to, ISO 8601).",
1531
+ "type": "string",
1532
+ "required": false,
1533
+ "position": "query"
1534
+ },
1535
+ {
1536
+ "name": "start_date__isnull",
1537
+ "description": "Filter by whether Contract Start Date is null.",
1538
+ "type": "boolean",
1539
+ "required": false,
1540
+ "position": "query"
1541
+ },
1542
+ {
1543
+ "name": "start_date__in",
1544
+ "description": "Filter by a comma-separated list of Contract Start Dates.",
1545
+ "type": "string",
1546
+ "required": false,
1547
+ "position": "query"
1548
+ },
1549
+ {
1550
+ "name": "created_at",
1551
+ "description": "Contract Created At (exact match, ISO 8601).",
1552
+ "type": "string",
1553
+ "required": false,
1554
+ "position": "query"
1555
+ },
1556
+ {
1557
+ "name": "created_at__neq",
1558
+ "description": "Contract Created At (not equal, ISO 8601).",
1559
+ "type": "string",
1560
+ "required": false,
1561
+ "position": "query"
1562
+ },
1563
+ {
1564
+ "name": "created_at__gt",
1565
+ "description": "Contract Created At (greater than, ISO 8601).",
1566
+ "type": "string",
1567
+ "required": false,
1568
+ "position": "query"
1569
+ },
1570
+ {
1571
+ "name": "created_at__gte",
1572
+ "description": "Contract Created At (greater than or equal to, ISO 8601).",
1573
+ "type": "string",
1574
+ "required": false,
1575
+ "position": "query"
1576
+ },
1577
+ {
1578
+ "name": "created_at__lt",
1579
+ "description": "Contract Created At (less than, ISO 8601).",
1580
+ "type": "string",
1581
+ "required": false,
1582
+ "position": "query"
1583
+ },
1584
+ {
1585
+ "name": "created_at__lte",
1586
+ "description": "Contract Created At (less than or equal to, ISO 8601).",
1587
+ "type": "string",
1588
+ "required": false,
1589
+ "position": "query"
1590
+ },
1591
+ {
1592
+ "name": "created_at__isnull",
1593
+ "description": "Filter by whether Contract Created At is null.",
1594
+ "type": "boolean",
1595
+ "required": false,
1596
+ "position": "query"
1597
+ },
1598
+ {
1599
+ "name": "created_at__in",
1600
+ "description": "Filter by a comma-separated list of Contract Creation Dates.",
1601
+ "type": "string",
1602
+ "required": false,
1603
+ "position": "query"
1604
+ },
1605
+ {
1606
+ "name": "end_date",
1607
+ "description": "Contract End Date (exact match, ISO 8601).",
1608
+ "type": "string",
1609
+ "required": false,
1610
+ "position": "query"
1611
+ },
1612
+ {
1613
+ "name": "end_date__neq",
1614
+ "description": "Contract End Date (not equal, ISO 8601).",
1615
+ "type": "string",
1616
+ "required": false,
1617
+ "position": "query"
1618
+ },
1619
+ {
1620
+ "name": "end_date__gt",
1621
+ "description": "Contract End Date (greater than, ISO 8601).",
1622
+ "type": "string",
1623
+ "required": false,
1624
+ "position": "query"
1625
+ },
1626
+ {
1627
+ "name": "end_date__gte",
1628
+ "description": "Contract End Date (greater than or equal to, ISO 8601).",
1629
+ "type": "string",
1630
+ "required": false,
1631
+ "position": "query"
1632
+ },
1633
+ {
1634
+ "name": "end_date__lt",
1635
+ "description": "Contract End Date (less than, ISO 8601).",
1636
+ "type": "string",
1637
+ "required": false,
1638
+ "position": "query"
1639
+ },
1640
+ {
1641
+ "name": "end_date__lte",
1642
+ "description": "Contract End Date (less than or equal to, ISO 8601).",
1643
+ "type": "string",
1644
+ "required": false,
1645
+ "position": "query"
1646
+ },
1647
+ {
1648
+ "name": "end_date__isnull",
1649
+ "description": "Filter by whether Contract End Date is null.",
1650
+ "type": "boolean",
1651
+ "required": false,
1652
+ "position": "query"
1653
+ },
1654
+ {
1655
+ "name": "end_date__in",
1656
+ "description": "Filter by a comma-separated list of Contract End Dates.",
1657
+ "type": "string",
1658
+ "required": false,
1659
+ "position": "query"
1660
+ },
1661
+ {
1662
+ "name": "status",
1663
+ "description": "Filter contracts by their status.",
1664
+ "type": "string",
1665
+ "required": false,
1666
+ "position": "query",
1667
+ "enum": ["draft", "active", "paused", "expired", "disputed"]
1668
+ },
1669
+ {
1670
+ "name": "status__in",
1671
+ "description": "Filter by a comma-separated list of contract statuses.",
1672
+ "type": "string",
1673
+ "required": false,
1674
+ "position": "query"
1675
+ }
1676
+ ],
1677
+ "requestTemplate": {
1678
+ "url": "/contract_v2",
1679
+ "method": "GET"
1680
+ },
1681
+ "responseTemplate": {
1682
+ "prependBody": "## Contract List\n\nHere is the list of contracts based on your criteria:\n\n"
1683
+ }
1684
+ },
1685
+ {
1686
+ "name": "createEntitlement",
1687
+ "description": "Creates a new entitlement in the system with various attributes including name, description, type, units, and product association.",
1688
+ "needsApproval": true,
1689
+ "approvalConfig": {
1690
+ "title": "Create New Entitlement",
1691
+ "description": "This will create a new entitlement in your system. Please review the details carefully.",
1692
+ "warningText": "This action will create a new entitlement record that may affect billing and access control.",
1693
+ "confirmText": "Create Entitlement",
1694
+ "cancelText": "Cancel",
1695
+ "sensitiveFields": ["name", "description", "product_id"]
1696
+ },
1697
+ "args": [
1698
+ {
1699
+ "name": "name",
1700
+ "description": "Entitlement name (required).",
1701
+ "type": "string",
1702
+ "required": true,
1703
+ "position": "body"
1704
+ },
1705
+ {
1706
+ "name": "description",
1707
+ "description": "Entitlement description (optional).",
1708
+ "type": "string",
1709
+ "required": false,
1710
+ "position": "body"
1711
+ },
1712
+ {
1713
+ "name": "entitlement_type",
1714
+ "description": "Type of entitlement (e.g., 'Quantity', 'Feature', 'Access').",
1715
+ "type": "string",
1716
+ "required": false,
1717
+ "position": "body",
1718
+ "enum": ["Quantity", "Feature", "Access"]
1719
+ },
1720
+ {
1721
+ "name": "units",
1722
+ "description": "Units for the entitlement (e.g., 'units', 'GB', 'users').",
1723
+ "type": "string",
1724
+ "required": false,
1725
+ "position": "body"
1726
+ },
1727
+ {
1728
+ "name": "is_active",
1729
+ "description": "Whether the entitlement is active (defaults to true).",
1730
+ "type": "boolean",
1731
+ "required": false,
1732
+ "default": true,
1733
+ "position": "body"
1734
+ },
1735
+ {
1736
+ "name": "product_id",
1737
+ "description": "Associated product ID (UUID format, optional).",
1738
+ "type": "string",
1739
+ "required": false,
1740
+ "position": "body"
1741
+ }
1742
+ ],
1743
+ "requestTemplate": {
1744
+ "url": "/entitlements",
1745
+ "method": "POST",
1746
+ "headers": {
1747
+ "Content-Type": "application/json"
1748
+ }
1749
+ },
1750
+ "responseTemplate": {
1751
+ "prependBody": "## Entitlement Created\n\nNew entitlement has been successfully created:\n\n"
1752
+ }
1753
+ },
1754
+ {
1755
+ "name": "approveInvoice",
1756
+ "description": "Approves an invoice. This changes the invoice status to approved and may trigger billing processes.",
1757
+ "needsApproval": true,
1758
+ "approvalConfig": {
1759
+ "title": "Approve Invoice",
1760
+ "description": "This will approve the specified invoice without sending email notification. Please review the invoice details carefully.",
1761
+ "warningText": "This action will approve the invoice and may trigger billing processes. This cannot be easily undone.",
1762
+ "confirmText": "Approve Invoice",
1763
+ "cancelText": "Cancel",
1764
+ "sensitiveFields": ["invoiceId", "customer_id", "actor"]
1765
+ },
1766
+ "args": [
1767
+ {
1768
+ "name": "invoiceId",
1769
+ "description": "The unique ID of the invoice to approve (required).",
1770
+ "type": "string",
1771
+ "required": true,
1772
+ "position": "path"
1773
+ },
1774
+ {
1775
+ "name": "send_email",
1776
+ "description": "Whether to send email notification (defaults to false).",
1777
+ "type": "boolean",
1778
+ "required": false,
1779
+ "default": false,
1780
+ "position": "query"
1781
+ },
1782
+ {
1783
+ "name": "check_duplicate_invoice",
1784
+ "description": "Whether to check for duplicate invoices (defaults to true).",
1785
+ "type": "boolean",
1786
+ "required": false,
1787
+ "default": true,
1788
+ "position": "body"
1789
+ }
1790
+ ],
1791
+ "requestTemplate": {
1792
+ "url": "/invoice/{invoiceId}/approve",
1793
+ "method": "PATCH",
1794
+ "headers": {
1795
+ "Content-Type": "application/json"
1796
+ }
1797
+ },
1798
+ "responseTemplate": {
1799
+ "prependBody": "## Invoice Approved\n\nThe invoice has been successfully approved:\n\n"
1800
+ }
1801
+ },
1802
+ {
1803
+ "name": "recogniseRevenue",
1804
+ "description": "Recognizes revenue for the organization up to a specified end date. This triggers revenue recognition processing for all eligible transactions.",
1805
+ "needsApproval": true,
1806
+ "approvalConfig": {
1807
+ "title": "Recognise Revenue",
1808
+ "description": "This will trigger revenue recognition processing up to the specified end date. Please review the date carefully.",
1809
+ "warningText": "This action will process revenue recognition which may affect financial reporting and accounting records.",
1810
+ "confirmText": "Recognise Revenue",
1811
+ "cancelText": "Cancel",
1812
+ "sensitiveFields": ["end_date"]
1813
+ },
1814
+ "args": [
1815
+ {
1816
+ "name": "end_date",
1817
+ "description": "End date for revenue recognition in YYYY-MM-DD format (required).",
1818
+ "type": "string",
1819
+ "required": true,
1820
+ "position": "body"
1821
+ }
1822
+ ],
1823
+ "requestTemplate": {
1824
+ "url": "/revenue_recognition_v3/recognise-revenue",
1825
+ "method": "POST",
1826
+ "headers": {
1827
+ "Content-Type": "application/json"
1828
+ }
1829
+ },
1830
+ "responseTemplate": {
1831
+ "prependBody": "## Revenue Recognition\n\nRevenue recognition has been processed successfully:\n\n"
1832
+ }
1833
+ },
1834
+ {
1835
+ "name": "createBusinessEntity",
1836
+ "description": "Creates a new business entity in the system with various attributes including name, address, contact details, tax configuration, and logo.",
1837
+ "needsApproval": true,
1838
+ "approvalConfig": {
1839
+ "title": "Create New Business Entity",
1840
+ "description": "This will create a new business entity in your system. Please review the details carefully.",
1841
+ "warningText": "This action will create a new business entity record that may affect billing and organizational structure.",
1842
+ "confirmText": "Create Business Entity",
1843
+ "cancelText": "Cancel",
1844
+ "sensitiveFields": ["name", "email", "phone_number", "address"]
1845
+ },
1846
+ "args": [
1847
+ {
1848
+ "name": "name",
1849
+ "description": "Business Entity Name (required).",
1850
+ "type": "string",
1851
+ "required": true,
1852
+ "position": "body"
1853
+ },
1854
+ {
1855
+ "name": "email",
1856
+ "description": "Business Entity email address (optional).",
1857
+ "type": "string",
1858
+ "required": false,
1859
+ "position": "body"
1860
+ },
1861
+ {
1862
+ "name": "phone_number",
1863
+ "description": "Business Entity phone number with country code (Required).",
1864
+ "type": "string",
1865
+ "required": true,
1866
+ "position": "body",
1867
+ "default": "+911234567890"
1868
+ },
1869
+ {
1870
+ "name": "is_default",
1871
+ "description": "Whether this is the default business entity (defaults to false).",
1872
+ "type": "boolean",
1873
+ "required": false,
1874
+ "default": false,
1875
+ "position": "body"
1876
+ },
1877
+ {
1878
+ "name": "logo_url",
1879
+ "description": "Business Entity logo URL (optional).",
1880
+ "type": "string",
1881
+ "required": false,
1882
+ "position": "body"
1883
+ },
1884
+ {
1885
+ "name": "tax_config",
1886
+ "description": "Business Entity tax configuration as JSON object (optional).",
1887
+ "type": "object",
1888
+ "required": false,
1889
+ "position": "body"
1890
+ },
1891
+ {
1892
+ "name": "address_line1",
1893
+ "description": "Address line 1 (optional).",
1894
+ "type": "string",
1895
+ "required": false,
1896
+ "position": "body"
1897
+ },
1898
+ {
1899
+ "name": "address_line2",
1900
+ "description": "Address line 2 (optional).",
1901
+ "type": "string",
1902
+ "required": false,
1903
+ "position": "body"
1904
+ },
1905
+ {
1906
+ "name": "address_line3",
1907
+ "description": "Address line 3 (optional).",
1908
+ "type": "string",
1909
+ "required": false,
1910
+ "position": "body"
1911
+ },
1912
+ {
1913
+ "name": "address_city",
1914
+ "description": "Address city (optional).",
1915
+ "type": "string",
1916
+ "required": false,
1917
+ "position": "body"
1918
+ },
1919
+ {
1920
+ "name": "address_state",
1921
+ "description": "Address state (optional).",
1922
+ "type": "string",
1923
+ "required": false,
1924
+ "position": "body"
1925
+ },
1926
+ {
1927
+ "name": "address_zipCode",
1928
+ "description": "Address zip code (optional).",
1929
+ "type": "string",
1930
+ "required": false,
1931
+ "position": "body"
1932
+ },
1933
+ {
1934
+ "name": "address_country",
1935
+ "description": "Address country (optional).",
1936
+ "type": "string",
1937
+ "required": false,
1938
+ "position": "body"
1939
+ }
1940
+ ],
1941
+ "requestTemplate": {
1942
+ "url": "/business_entities",
1943
+ "method": "POST",
1944
+ "headers": {
1945
+ "Content-Type": "application/json"
1946
+ }
1947
+ },
1948
+ "responseTemplate": {
1949
+ "prependBody": "## Business Entity Created\n\nNew business entity has been successfully created:\n\n"
1950
+ }
1951
+ },
1952
+ {
1953
+ "name": "createCustomer",
1954
+ "description": "Creates a new customer in the system with various attributes including address, tax info, and contact details.",
1955
+ "needsApproval": true,
1956
+ "approvalConfig": {
1957
+ "title": "Create New Customer",
1958
+ "description": "This will create a new customer in your system. Please review the details carefully.",
1959
+ "warningText": "This action will create a new customer record in your system.",
1960
+ "confirmText": "Create Customer",
1961
+ "cancelText": "Cancel",
1962
+ "sensitiveFields": ["customer_name", "email", "phone_number"]
1963
+ },
1964
+ "args": [
1965
+ {
1966
+ "name": "external_id",
1967
+ "description": "External customer ID (optional).",
1968
+ "type": "string",
1969
+ "required": false,
1970
+ "position": "body"
1971
+ },
1972
+ {
1973
+ "name": "customer_name",
1974
+ "description": "Customer name (required).",
1975
+ "type": "string",
1976
+ "required": true,
1977
+ "position": "body"
1978
+ },
1979
+ {
1980
+ "name": "email",
1981
+ "description": "Customer primary email address (optional).",
1982
+ "type": "string",
1983
+ "required": false,
1984
+ "position": "body"
1985
+ },
1986
+ {
1987
+ "name": "phone_number",
1988
+ "description": "Customer phone number (optional).",
1989
+ "type": "string",
1990
+ "required": false,
1991
+ "position": "body"
1992
+ },
1993
+ {
1994
+ "name": "address_line1",
1995
+ "description": "Address line 1 (optional).",
1996
+ "type": "string",
1997
+ "required": false,
1998
+ "position": "body"
1999
+ },
2000
+ {
2001
+ "name": "address_line2",
2002
+ "description": "Address line 2 (optional).",
2003
+ "type": "string",
2004
+ "required": false,
2005
+ "position": "body"
2006
+ },
2007
+ {
2008
+ "name": "address_city",
2009
+ "description": "Address city (optional).",
2010
+ "type": "string",
2011
+ "required": false,
2012
+ "position": "body"
2013
+ },
2014
+ {
2015
+ "name": "address_state",
2016
+ "description": "Address state (optional).",
2017
+ "type": "string",
2018
+ "required": false,
2019
+ "position": "body"
2020
+ },
2021
+ {
2022
+ "name": "address_zipCode",
2023
+ "description": "Address zip code (optional).",
2024
+ "type": "string",
2025
+ "required": false,
2026
+ "position": "body"
2027
+ },
2028
+ {
2029
+ "name": "address_country",
2030
+ "description": "Address country (optional).",
2031
+ "type": "string",
2032
+ "required": false,
2033
+ "position": "body"
2034
+ },
2035
+ {
2036
+ "name": "address_country_code",
2037
+ "description": "Address country code (optional).",
2038
+ "type": "string",
2039
+ "required": false,
2040
+ "position": "body"
2041
+ },
2042
+ {
2043
+ "name": "communications_enabled",
2044
+ "description": "Enable/disable communications (defaults to true).",
2045
+ "type": "boolean",
2046
+ "required": false,
2047
+ "position": "body"
2048
+ },
2049
+ {
2050
+ "name": "auto_charge_enabled",
2051
+ "description": "Enable/disable auto-charge (defaults to true).",
2052
+ "type": "boolean",
2053
+ "required": false,
2054
+ "position": "body"
2055
+ },
2056
+ {
2057
+ "name": "business_entity_id",
2058
+ "description": "Business entity ID (UUID format, optional).",
2059
+ "type": "string",
2060
+ "required": false,
2061
+ "position": "body"
2062
+ }
2063
+ ],
2064
+ "requestTemplate": {
2065
+ "url": "/customers",
2066
+ "method": "POST",
2067
+ "headers": {
2068
+ "Content-Type": "application/json"
2069
+ }
2070
+ },
2071
+ "responseTemplate": {
2072
+ "prependBody": "## Customer Created\n\nNew customer has been successfully created:\n\n"
2073
+ }
2074
+ },
2075
+ {
2076
+ "name": "updateCustomer",
2077
+ "description": "Updates an existing customer in the system with various attributes including address, tax info, and contact details.",
2078
+ "needsApproval": true,
2079
+ "approvalConfig": {
2080
+ "title": "Update Customer",
2081
+ "description": "This will update an existing customer in your system. Please review the changes carefully.",
2082
+ "warningText": "This action will modify an existing customer record in your system.",
2083
+ "confirmText": "Update Customer",
2084
+ "cancelText": "Cancel",
2085
+ "sensitiveFields": ["customer_name", "email", "phone_number"]
2086
+ },
2087
+ "args": [
2088
+ {
2089
+ "name": "customerId",
2090
+ "description": "The unique ID of the customer to update.",
2091
+ "type": "string",
2092
+ "required": true,
2093
+ "position": "path"
2094
+ },
2095
+ {
2096
+ "name": "external_id",
2097
+ "description": "External customer ID (optional).",
2098
+ "type": "string",
2099
+ "required": false,
2100
+ "position": "body"
2101
+ },
2102
+ {
2103
+ "name": "customer_name",
2104
+ "description": "Customer name (optional).",
2105
+ "type": "string",
2106
+ "required": false,
2107
+ "position": "body"
2108
+ },
2109
+ {
2110
+ "name": "email",
2111
+ "description": "Customer primary email address (optional).",
2112
+ "type": "string",
2113
+ "required": false,
2114
+ "position": "body"
2115
+ },
2116
+ {
2117
+ "name": "phone_number",
2118
+ "description": "Customer phone number (optional).",
2119
+ "type": "string",
2120
+ "required": false,
2121
+ "position": "body"
2122
+ },
2123
+ {
2124
+ "name": "communications_enabled",
2125
+ "description": "Enable/disable communications (optional).",
2126
+ "type": "boolean",
2127
+ "required": false,
2128
+ "position": "body"
2129
+ },
2130
+ {
2131
+ "name": "auto_charge_enabled",
2132
+ "description": "Enable/disable auto-charge (optional).",
2133
+ "type": "boolean",
2134
+ "required": false,
2135
+ "position": "body"
2136
+ },
2137
+ {
2138
+ "name": "business_entity_id",
2139
+ "description": "Business entity ID (UUID format, optional).",
2140
+ "type": "string",
2141
+ "required": false,
2142
+ "position": "body"
2143
+ }
2144
+ ],
2145
+ "requestTemplate": {
2146
+ "url": "/customers/{customerId}",
2147
+ "method": "PATCH",
2148
+ "headers": {
2149
+ "Content-Type": "application/json"
2150
+ }
2151
+ },
2152
+ "responseTemplate": {
2153
+ "prependBody": "## Customer Updated\n\nCustomer has been successfully updated:\n\n"
2154
+ }
2155
+ },
2156
+ {
2157
+ "name": "updateContact",
2158
+ "description": "Updates an existing contact with the provided details.",
2159
+ "needsApproval": true,
2160
+ "approvalConfig": {
2161
+ "title": "Update Contact",
2162
+ "description": "This will update an existing contact in your system. Please review the changes carefully.",
2163
+ "warningText": "This action will modify an existing contact record in your system.",
2164
+ "confirmText": "Update Contact",
2165
+ "cancelText": "Cancel",
2166
+ "sensitiveFields": ["contact_id"]
2167
+ },
2168
+ "args": [
2169
+ {
2170
+ "name": "contactId",
2171
+ "description": "The unique ID of the contact to update.",
2172
+ "type": "string",
2173
+ "required": true,
2174
+ "position": "path"
2175
+ }
2176
+ ],
2177
+ "requestTemplate": {
2178
+ "url": "/contacts/{contactId}",
2179
+ "method": "PATCH",
2180
+ "headers": {
2181
+ "Content-Type": "application/json"
2182
+ }
2183
+ },
2184
+ "responseTemplate": {
2185
+ "prependBody": "## Contact Updated\n\nContact has been successfully updated:\n\n"
2186
+ }
2187
+ },
2188
+ {
2189
+ "name": "updateBusinessEntity",
2190
+ "description": "Updates an existing business entity with the provided details.",
2191
+ "needsApproval": true,
2192
+ "approvalConfig": {
2193
+ "title": "Update Business Entity",
2194
+ "description": "This will update an existing business entity in your system. Please review the changes carefully.",
2195
+ "warningText": "This action will modify an existing business entity record that may affect billing and organizational structure.",
2196
+ "confirmText": "Update Business Entity",
2197
+ "cancelText": "Cancel",
2198
+ "sensitiveFields": ["entity_id"]
2199
+ },
2200
+ "args": [
2201
+ {
2202
+ "name": "entityId",
2203
+ "description": "The unique ID of the business entity to update.",
2204
+ "type": "string",
2205
+ "required": true,
2206
+ "position": "path"
2207
+ }
2208
+ ],
2209
+ "requestTemplate": {
2210
+ "url": "/business_entities/{entityId}",
2211
+ "method": "PATCH",
2212
+ "headers": {
2213
+ "Content-Type": "application/json"
2214
+ }
2215
+ },
2216
+ "responseTemplate": {
2217
+ "prependBody": "## Business Entity Updated\n\nBusiness entity has been successfully updated:\n\n"
2218
+ }
2219
+ },
2220
+ {
2221
+ "name": "updateAggregate",
2222
+ "description": "Updates an existing billable metric (aggregate) by its ID.",
2223
+ "needsApproval": true,
2224
+ "approvalConfig": {
2225
+ "title": "Update Billable Metric",
2226
+ "description": "This will update an existing billable metric in your system. Please review the changes carefully.",
2227
+ "warningText": "This action will modify a billable metric that may affect billing calculations.",
2228
+ "confirmText": "Update Billable Metric",
2229
+ "cancelText": "Cancel",
2230
+ "sensitiveFields": ["aggregateId"]
2231
+ },
2232
+ "args": [
2233
+ {
2234
+ "name": "aggregateId",
2235
+ "description": "The unique ID of the billable metric to update.",
2236
+ "type": "string",
2237
+ "required": true,
2238
+ "position": "path"
2239
+ },
2240
+ {
2241
+ "name": "name",
2242
+ "description": "Name of the aggregate (optional).",
2243
+ "type": "string",
2244
+ "required": false,
2245
+ "position": "body"
2246
+ },
2247
+ {
2248
+ "name": "dataschema",
2249
+ "description": "Data schema of aggregate (optional).",
2250
+ "type": "string",
2251
+ "required": false,
2252
+ "position": "body"
2253
+ },
2254
+ {
2255
+ "name": "aggregation_query",
2256
+ "description": "Aggregate query (optional).",
2257
+ "type": "string",
2258
+ "required": false,
2259
+ "position": "body"
2260
+ },
2261
+ {
2262
+ "name": "cust_agg_query",
2263
+ "description": "Customer aggregate query (optional).",
2264
+ "type": "string",
2265
+ "required": false,
2266
+ "position": "body"
2267
+ },
2268
+ {
2269
+ "name": "visual_query_builder",
2270
+ "description": "Visual query builder (optional).",
2271
+ "type": "object",
2272
+ "required": false,
2273
+ "position": "body"
2274
+ },
2275
+ {
2276
+ "name": "datasource",
2277
+ "description": "Data source UUID (optional).",
2278
+ "type": "string",
2279
+ "required": false,
2280
+ "position": "body"
2281
+ }
2282
+ ],
2283
+ "requestTemplate": {
2284
+ "url": "/aggregates/{aggregateId}",
2285
+ "method": "PATCH",
2286
+ "headers": {
2287
+ "Content-Type": "application/json"
2288
+ }
2289
+ },
2290
+ "responseTemplate": {
2291
+ "prependBody": "## Billable Metric Updated\n\nBillable metric has been successfully updated:\n\n"
2292
+ }
2293
+ },
2294
+ {
2295
+ "name": "updateContract",
2296
+ "description": "Updates an already existing contract.",
2297
+ "needsApproval": true,
2298
+ "approvalConfig": {
2299
+ "title": "Update Contract",
2300
+ "description": "This will update an existing contract in your system. Please review the changes carefully.",
2301
+ "warningText": "This action will modify an existing contract that may affect billing and terms.",
2302
+ "confirmText": "Update Contract",
2303
+ "cancelText": "Cancel",
2304
+ "sensitiveFields": ["contractId"]
2305
+ },
2306
+ "args": [
2307
+ {
2308
+ "name": "contractId",
2309
+ "description": "The unique ID of the contract to update.",
2310
+ "type": "string",
2311
+ "required": true,
2312
+ "position": "path"
2313
+ }
2314
+ ],
2315
+ "requestTemplate": {
2316
+ "url": "/contract_v2/{contractId}",
2317
+ "method": "PUT",
2318
+ "headers": {
2319
+ "Content-Type": "application/json"
2320
+ }
2321
+ },
2322
+ "responseTemplate": {
2323
+ "prependBody": "## Contract Updated\n\nContract has been successfully updated:\n\n"
2324
+ }
2325
+ },
2326
+ {
2327
+ "name": "pauseContract",
2328
+ "description": "Pauses an existing contract or edits the pause of an existing contract.",
2329
+ "needsApproval": true,
2330
+ "approvalConfig": {
2331
+ "title": "Pause Contract",
2332
+ "description": "This will pause an existing contract or modify the pause settings. Please review carefully.",
2333
+ "warningText": "This action will pause a contract which may affect billing and service delivery.",
2334
+ "confirmText": "Pause Contract",
2335
+ "cancelText": "Cancel",
2336
+ "sensitiveFields": ["contractId"]
2337
+ },
2338
+ "args": [
2339
+ {
2340
+ "name": "contractId",
2341
+ "description": "The unique ID of the contract to pause.",
2342
+ "type": "string",
2343
+ "required": true,
2344
+ "position": "path"
2345
+ }
2346
+ ],
2347
+ "requestTemplate": {
2348
+ "url": "/contract_v2/{contractId}/pause",
2349
+ "method": "PATCH",
2350
+ "headers": {
2351
+ "Content-Type": "application/json"
2352
+ }
2353
+ },
2354
+ "responseTemplate": {
2355
+ "prependBody": "## Contract Paused\n\nContract has been successfully paused:\n\n"
2356
+ }
2357
+ },
2358
+ {
2359
+ "name": "resumeContract",
2360
+ "description": "Resumes a paused contract.",
2361
+ "needsApproval": true,
2362
+ "approvalConfig": {
2363
+ "title": "Resume Contract",
2364
+ "description": "This will resume a paused contract. Please review carefully.",
2365
+ "warningText": "This action will resume a contract which may restart billing and service delivery.",
2366
+ "confirmText": "Resume Contract",
2367
+ "cancelText": "Cancel",
2368
+ "sensitiveFields": ["contractId"]
2369
+ },
2370
+ "args": [
2371
+ {
2372
+ "name": "contractId",
2373
+ "description": "The unique ID of the contract to resume.",
2374
+ "type": "string",
2375
+ "required": true,
2376
+ "position": "path"
2377
+ }
2378
+ ],
2379
+ "requestTemplate": {
2380
+ "url": "/contract_v2/{contractId}/resume",
2381
+ "method": "PATCH",
2382
+ "headers": {
2383
+ "Content-Type": "application/json"
2384
+ }
2385
+ },
2386
+ "responseTemplate": {
2387
+ "prependBody": "## Contract Resumed\n\nContract has been successfully resumed:\n\n"
2388
+ }
2389
+ },
2390
+ {
2391
+ "name": "expireContract",
2392
+ "description": "Expires an existing contract.",
2393
+ "needsApproval": true,
2394
+ "approvalConfig": {
2395
+ "title": "Expire Contract",
2396
+ "description": "This will expire an existing contract. Please review carefully.",
2397
+ "warningText": "This action will expire a contract which will end billing and service delivery.",
2398
+ "confirmText": "Expire Contract",
2399
+ "cancelText": "Cancel",
2400
+ "sensitiveFields": ["contractId"]
2401
+ },
2402
+ "args": [
2403
+ {
2404
+ "name": "contractId",
2405
+ "description": "The unique ID of the contract to expire.",
2406
+ "type": "string",
2407
+ "required": true,
2408
+ "position": "path"
2409
+ }
2410
+ ],
2411
+ "requestTemplate": {
2412
+ "url": "/contract_v2/{contractId}/expire",
2413
+ "method": "PATCH",
2414
+ "headers": {
2415
+ "Content-Type": "application/json"
2416
+ }
2417
+ },
2418
+ "responseTemplate": {
2419
+ "prependBody": "## Contract Expired\n\nContract has been successfully expired:\n\n"
2420
+ }
2421
+ },
2422
+ {
2423
+ "name": "voidInvoice",
2424
+ "description": "Voids an existing invoice.",
2425
+ "needsApproval": true,
2426
+ "approvalConfig": {
2427
+ "title": "Void Invoice",
2428
+ "description": "This will void an existing invoice. Please review the invoice details carefully.",
2429
+ "warningText": "This action will void an invoice which cannot be easily undone and may affect financial records.",
2430
+ "confirmText": "Void Invoice",
2431
+ "cancelText": "Cancel",
2432
+ "sensitiveFields": ["invoiceId"]
2433
+ },
2434
+ "args": [
2435
+ {
2436
+ "name": "invoiceId",
2437
+ "description": "The unique ID of the invoice to void.",
2438
+ "type": "string",
2439
+ "required": true,
2440
+ "position": "path"
2441
+ }
2442
+ ],
2443
+ "requestTemplate": {
2444
+ "url": "/invoices/{invoiceId}/void",
2445
+ "method": "PATCH",
2446
+ "headers": {
2447
+ "Content-Type": "application/json"
2448
+ }
2449
+ },
2450
+ "responseTemplate": {
2451
+ "prependBody": "## Invoice Voided\n\nInvoice has been successfully voided:\n\n"
2452
+ }
2453
+ },
2454
+ {
2455
+ "name": "createCreditNoteFromInvoice",
2456
+ "description": "Creates a credit note against an existing invoice.",
2457
+ "needsApproval": true,
2458
+ "approvalConfig": {
2459
+ "title": "Create Credit Note from Invoice",
2460
+ "description": "This will create a credit note against an existing invoice. Please review the details carefully.",
2461
+ "warningText": "This action will create a credit note which affects financial records and customer accounts.",
2462
+ "confirmText": "Create Credit Note",
2463
+ "cancelText": "Cancel",
2464
+ "sensitiveFields": ["invoiceId"]
2465
+ },
2466
+ "args": [
2467
+ {
2468
+ "name": "invoiceId",
2469
+ "description": "The unique ID of the invoice to create a credit note for.",
2470
+ "type": "string",
2471
+ "required": true,
2472
+ "position": "path"
2473
+ }
2474
+ ],
2475
+ "requestTemplate": {
2476
+ "url": "/invoices/{invoiceId}/create_credit_note",
2477
+ "method": "PATCH",
2478
+ "headers": {
2479
+ "Content-Type": "application/json"
2480
+ }
2481
+ },
2482
+ "responseTemplate": {
2483
+ "prependBody": "## Credit Note Created from Invoice\n\nCredit note has been successfully created:\n\n"
2484
+ }
2485
+ },
2486
+ {
2487
+ "name": "updatePayment",
2488
+ "description": "Updates an existing payment record.",
2489
+ "needsApproval": true,
2490
+ "approvalConfig": {
2491
+ "title": "Update Payment",
2492
+ "description": "This will update an existing payment record. Please review the changes carefully.",
2493
+ "warningText": "This action will modify a payment record which may affect financial records and reconciliation.",
2494
+ "confirmText": "Update Payment",
2495
+ "cancelText": "Cancel",
2496
+ "sensitiveFields": ["paymentId"]
2497
+ },
2498
+ "args": [
2499
+ {
2500
+ "name": "paymentId",
2501
+ "description": "The unique ID of the payment to update.",
2502
+ "type": "string",
2503
+ "required": true,
2504
+ "position": "path"
2505
+ }
2506
+ ],
2507
+ "requestTemplate": {
2508
+ "url": "/payments/{paymentId}",
2509
+ "method": "PATCH",
2510
+ "headers": {
2511
+ "Content-Type": "application/json"
2512
+ }
2513
+ },
2514
+ "responseTemplate": {
2515
+ "prependBody": "## Payment Updated\n\nPayment has been successfully updated:\n\n"
2516
+ }
2517
+ },
2518
+ {
2519
+ "name": "updateEntitlement",
2520
+ "description": "Updates an existing entitlement in the system.",
2521
+ "needsApproval": true,
2522
+ "approvalConfig": {
2523
+ "title": "Update Entitlement",
2524
+ "description": "This will update an existing entitlement in your system. Please review the changes carefully.",
2525
+ "warningText": "This action will modify an entitlement record that may affect billing and access control.",
2526
+ "confirmText": "Update Entitlement",
2527
+ "cancelText": "Cancel",
2528
+ "sensitiveFields": ["entitlementId"]
2529
+ },
2530
+ "args": [
2531
+ {
2532
+ "name": "entitlementId",
2533
+ "description": "The unique ID of the entitlement to update.",
2534
+ "type": "string",
2535
+ "required": true,
2536
+ "position": "path"
2537
+ }
2538
+ ],
2539
+ "requestTemplate": {
2540
+ "url": "/entitlements/{entitlementId}",
2541
+ "method": "PATCH",
2542
+ "headers": {
2543
+ "Content-Type": "application/json"
2544
+ }
2545
+ },
2546
+ "responseTemplate": {
2547
+ "prependBody": "## Entitlement Updated\n\nEntitlement has been successfully updated:\n\n"
2548
+ }
2549
+ },
2550
+ {
2551
+ "name": "updateCloseDate",
2552
+ "description": "Update the close date for an organisation.",
2553
+ "needsApproval": true,
2554
+ "approvalConfig": {
2555
+ "title": "Update Close Date",
2556
+ "description": "This will update the accounting close date for the organisation. Please review carefully.",
2557
+ "warningText": "This action will modify the accounting close date which may affect financial reporting periods.",
2558
+ "confirmText": "Update Close Date",
2559
+ "cancelText": "Cancel",
2560
+ "sensitiveFields": []
2561
+ },
2562
+ "args": [],
2563
+ "requestTemplate": {
2564
+ "url": "/accounting_new/close_date",
2565
+ "method": "PATCH",
2566
+ "headers": {
2567
+ "Content-Type": "application/json"
2568
+ }
2569
+ },
2570
+ "responseTemplate": {
2571
+ "prependBody": "## Close Date Updated\n\nAccounting close date has been successfully updated:\n\n"
2572
+ }
2573
+ },
2574
+ {
2575
+ "name": "updateJournalEntry",
2576
+ "description": "Update a journal entry by its unique identifier for an organisation.",
2577
+ "needsApproval": true,
2578
+ "approvalConfig": {
2579
+ "title": "Update Journal Entry",
2580
+ "description": "This will update an existing journal entry. Please review the changes carefully.",
2581
+ "warningText": "This action will modify a journal entry which may affect accounting records.",
2582
+ "confirmText": "Update Journal Entry",
2583
+ "cancelText": "Cancel",
2584
+ "sensitiveFields": ["journalEntryId"]
2585
+ },
2586
+ "args": [
2587
+ {
2588
+ "name": "journalEntryId",
2589
+ "description": "The unique ID of the journal entry to update.",
2590
+ "type": "string",
2591
+ "required": true,
2592
+ "position": "path"
2593
+ }
2594
+ ],
2595
+ "requestTemplate": {
2596
+ "url": "/accounting_new/journal_entry/{journalEntryId}",
2597
+ "method": "PUT",
2598
+ "headers": {
2599
+ "Content-Type": "application/json"
2600
+ }
2601
+ },
2602
+ "responseTemplate": {
2603
+ "prependBody": "## Journal Entry Updated\n\nJournal entry has been successfully updated:\n\n"
2604
+ }
2605
+ },
2606
+ {
2607
+ "name": "updateCreditNote",
2608
+ "description": "Update credit note by ID.",
2609
+ "needsApproval": true,
2610
+ "approvalConfig": {
2611
+ "title": "Update Credit Note",
2612
+ "description": "This will update an existing credit note. Please review the changes carefully.",
2613
+ "warningText": "This action will modify a credit note which may affect financial records and customer accounts.",
2614
+ "confirmText": "Update Credit Note",
2615
+ "cancelText": "Cancel",
2616
+ "sensitiveFields": ["creditNoteId"]
2617
+ },
2618
+ "args": [
2619
+ {
2620
+ "name": "creditNoteId",
2621
+ "description": "The unique ID of the credit note to update.",
2622
+ "type": "string",
2623
+ "required": true,
2624
+ "position": "path"
2625
+ }
2626
+ ],
2627
+ "requestTemplate": {
2628
+ "url": "/credit_notes/{creditNoteId}",
2629
+ "method": "PATCH",
2630
+ "headers": {
2631
+ "Content-Type": "application/json"
2632
+ }
2633
+ },
2634
+ "responseTemplate": {
2635
+ "prependBody": "## Credit Note Updated\n\nCredit note has been successfully updated:\n\n"
2636
+ }
2637
+ },
2638
+ {
2639
+ "name": "updateCustomAttributeDefinition",
2640
+ "description": "Update custom attribute definition.",
2641
+ "needsApproval": true,
2642
+ "approvalConfig": {
2643
+ "title": "Update Custom Attribute Definition",
2644
+ "description": "This will update a custom attribute definition. Please review the changes carefully.",
2645
+ "warningText": "This action will modify a custom attribute definition which may affect data collection and validation.",
2646
+ "confirmText": "Update Custom Attribute",
2647
+ "cancelText": "Cancel",
2648
+ "sensitiveFields": ["definitionId"]
2649
+ },
2650
+ "args": [
2651
+ {
2652
+ "name": "definitionId",
2653
+ "description": "The unique ID of the custom attribute definition to update.",
2654
+ "type": "string",
2655
+ "required": true,
2656
+ "position": "path"
2657
+ }
2658
+ ],
2659
+ "requestTemplate": {
2660
+ "url": "/custom_attributes/{definitionId}",
2661
+ "method": "PATCH",
2662
+ "headers": {
2663
+ "Content-Type": "application/json"
2664
+ }
2665
+ },
2666
+ "responseTemplate": {
2667
+ "prependBody": "## Custom Attribute Definition Updated\n\nCustom attribute definition has been successfully updated:\n\n"
2668
+ }
2669
+ },
2670
+ {
2671
+ "name": "updateCustomerConnector",
2672
+ "description": "Patch Customer Connector Id.",
2673
+ "needsApproval": true,
2674
+ "approvalConfig": {
2675
+ "title": "Update Customer Connector",
2676
+ "description": "This will update a customer's connector configuration. Please review the changes carefully.",
2677
+ "warningText": "This action will modify customer connector settings which may affect integrations and data flow.",
2678
+ "confirmText": "Update Customer Connector",
2679
+ "cancelText": "Cancel",
2680
+ "sensitiveFields": ["customerId"]
2681
+ },
2682
+ "args": [
2683
+ {
2684
+ "name": "customerId",
2685
+ "description": "The unique ID of the customer whose connector to update.",
2686
+ "type": "string",
2687
+ "required": true,
2688
+ "position": "path"
2689
+ }
2690
+ ],
2691
+ "requestTemplate": {
2692
+ "url": "/customers/{customerId}/connector",
2693
+ "method": "PATCH",
2694
+ "headers": {
2695
+ "Content-Type": "application/json"
2696
+ }
2697
+ },
2698
+ "responseTemplate": {
2699
+ "prependBody": "## Customer Connector Updated\n\nCustomer connector has been successfully updated:\n\n"
2700
+ }
2701
+ },
2702
+ {
2703
+ "name": "updateDataSource",
2704
+ "description": "Update data-source connector.",
2705
+ "needsApproval": true,
2706
+ "approvalConfig": {
2707
+ "title": "Update Data Source",
2708
+ "description": "This will update a data source connector. Please review the changes carefully.",
2709
+ "warningText": "This action will modify a data source connector which may affect data ingestion and billing calculations.",
2710
+ "confirmText": "Update Data Source",
2711
+ "cancelText": "Cancel",
2712
+ "sensitiveFields": ["datasourceId"]
2713
+ },
2714
+ "args": [
2715
+ {
2716
+ "name": "datasourceId",
2717
+ "description": "The unique ID of the data source to update.",
2718
+ "type": "string",
2719
+ "required": true,
2720
+ "position": "path"
2721
+ }
2722
+ ],
2723
+ "requestTemplate": {
2724
+ "url": "/datasources/{datasourceId}",
2725
+ "method": "PATCH",
2726
+ "headers": {
2727
+ "Content-Type": "application/json"
2728
+ }
2729
+ },
2730
+ "responseTemplate": {
2731
+ "prependBody": "## Data Source Updated\n\nData source has been successfully updated:\n\n"
2732
+ }
2733
+ },
2734
+ {
2735
+ "name": "updateCustomerEntitlement",
2736
+ "description": "Update customer entitlement.",
2737
+ "needsApproval": true,
2738
+ "approvalConfig": {
2739
+ "title": "Update Customer Entitlement",
2740
+ "description": "This will update a customer's entitlement. Please review the changes carefully.",
2741
+ "warningText": "This action will modify a customer entitlement which may affect access control and billing.",
2742
+ "confirmText": "Update Customer Entitlement",
2743
+ "cancelText": "Cancel",
2744
+ "sensitiveFields": ["entitlementId", "customerId", "ecId"]
2745
+ },
2746
+ "args": [
2747
+ {
2748
+ "name": "entitlementId",
2749
+ "description": "The unique ID of the entitlement.",
2750
+ "type": "string",
2751
+ "required": true,
2752
+ "position": "path"
2753
+ },
2754
+ {
2755
+ "name": "customerId",
2756
+ "description": "The unique ID of the customer.",
2757
+ "type": "string",
2758
+ "required": true,
2759
+ "position": "path"
2760
+ },
2761
+ {
2762
+ "name": "ecId",
2763
+ "description": "The unique ID of the entitlement-customer relationship.",
2764
+ "type": "string",
2765
+ "required": true,
2766
+ "position": "path"
2767
+ }
2768
+ ],
2769
+ "requestTemplate": {
2770
+ "url": "/entitlements/{entitlementId}/customer/{customerId}/{ecId}",
2771
+ "method": "PATCH",
2772
+ "headers": {
2773
+ "Content-Type": "application/json"
2774
+ }
2775
+ },
2776
+ "responseTemplate": {
2777
+ "prependBody": "## Customer Entitlement Updated\n\nCustomer entitlement has been successfully updated:\n\n"
2778
+ }
2779
+ },
2780
+ {
2781
+ "name": "updateManualPayment",
2782
+ "description": "Edit manual payment.",
2783
+ "needsApproval": true,
2784
+ "approvalConfig": {
2785
+ "title": "Update Manual Payment",
2786
+ "description": "This will update a manual payment record. Please review the changes carefully.",
2787
+ "warningText": "This action will modify a manual payment record which may affect financial records and reconciliation.",
2788
+ "confirmText": "Update Manual Payment",
2789
+ "cancelText": "Cancel",
2790
+ "sensitiveFields": ["paymentId"]
2791
+ },
2792
+ "args": [
2793
+ {
2794
+ "name": "paymentId",
2795
+ "description": "The unique ID of the manual payment to update.",
2796
+ "type": "string",
2797
+ "required": true,
2798
+ "position": "path"
2799
+ }
2800
+ ],
2801
+ "requestTemplate": {
2802
+ "url": "/payments/manual_payment/{paymentId}",
2803
+ "method": "PATCH",
2804
+ "headers": {
2805
+ "Content-Type": "application/json"
2806
+ }
2807
+ },
2808
+ "responseTemplate": {
2809
+ "prependBody": "## Manual Payment Updated\n\nManual payment has been successfully updated:\n\n"
2810
+ }
2811
+ },
2812
+ {
2813
+ "name": "updatePlan",
2814
+ "description": "Update plan.",
2815
+ "needsApproval": true,
2816
+ "approvalConfig": {
2817
+ "title": "Update Plan",
2818
+ "description": "This will update an existing plan. Please review the changes carefully.",
2819
+ "warningText": "This action will modify a plan which may affect pricing and billing for customers.",
2820
+ "confirmText": "Update Plan",
2821
+ "cancelText": "Cancel",
2822
+ "sensitiveFields": ["planId"]
2823
+ },
2824
+ "args": [
2825
+ {
2826
+ "name": "planId",
2827
+ "description": "The unique ID of the plan to update.",
2828
+ "type": "string",
2829
+ "required": true,
2830
+ "position": "path"
2831
+ }
2832
+ ],
2833
+ "requestTemplate": {
2834
+ "url": "/plans/{planId}",
2835
+ "method": "PUT",
2836
+ "headers": {
2837
+ "Content-Type": "application/json"
2838
+ }
2839
+ },
2840
+ "responseTemplate": {
2841
+ "prependBody": "## Plan Updated\n\nPlan has been successfully updated:\n\n"
2842
+ }
2843
+ },
2844
+ {
2845
+ "name": "updatePlanPhase",
2846
+ "description": "Update plan phase.",
2847
+ "needsApproval": true,
2848
+ "approvalConfig": {
2849
+ "title": "Update Plan Phase",
2850
+ "description": "This will update a plan phase. Please review the changes carefully.",
2851
+ "warningText": "This action will modify a plan phase which may affect pricing and billing for customers.",
2852
+ "confirmText": "Update Plan Phase",
2853
+ "cancelText": "Cancel",
2854
+ "sensitiveFields": ["planId", "phaseId"]
2855
+ },
2856
+ "args": [
2857
+ {
2858
+ "name": "planId",
2859
+ "description": "The unique ID of the plan.",
2860
+ "type": "string",
2861
+ "required": true,
2862
+ "position": "path"
2863
+ },
2864
+ {
2865
+ "name": "phaseId",
2866
+ "description": "The unique ID of the phase to update.",
2867
+ "type": "string",
2868
+ "required": true,
2869
+ "position": "path"
2870
+ }
2871
+ ],
2872
+ "requestTemplate": {
2873
+ "url": "/plans/{planId}/phases/{phaseId}",
2874
+ "method": "PUT",
2875
+ "headers": {
2876
+ "Content-Type": "application/json"
2877
+ }
2878
+ },
2879
+ "responseTemplate": {
2880
+ "prependBody": "## Plan Phase Updated\n\nPlan phase has been successfully updated:\n\n"
2881
+ }
2882
+ },
2883
+ {
2884
+ "name": "updatePlanPhasePricing",
2885
+ "description": "Update plan phase pricing.",
2886
+ "needsApproval": true,
2887
+ "approvalConfig": {
2888
+ "title": "Update Plan Phase Pricing",
2889
+ "description": "This will update plan phase pricing. Please review the changes carefully.",
2890
+ "warningText": "This action will modify plan phase pricing which may affect billing calculations for customers.",
2891
+ "confirmText": "Update Plan Phase Pricing",
2892
+ "cancelText": "Cancel",
2893
+ "sensitiveFields": ["planId", "phaseId", "phasePricingId"]
2894
+ },
2895
+ "args": [
2896
+ {
2897
+ "name": "planId",
2898
+ "description": "The unique ID of the plan.",
2899
+ "type": "string",
2900
+ "required": true,
2901
+ "position": "path"
2902
+ },
2903
+ {
2904
+ "name": "phaseId",
2905
+ "description": "The unique ID of the phase.",
2906
+ "type": "string",
2907
+ "required": true,
2908
+ "position": "path"
2909
+ },
2910
+ {
2911
+ "name": "phasePricingId",
2912
+ "description": "The unique ID of the phase pricing to update.",
2913
+ "type": "string",
2914
+ "required": true,
2915
+ "position": "path"
2916
+ }
2917
+ ],
2918
+ "requestTemplate": {
2919
+ "url": "/plans/{planId}/phases/{phaseId}/pricing/{phasePricingId}",
2920
+ "method": "PUT",
2921
+ "headers": {
2922
+ "Content-Type": "application/json"
2923
+ }
2924
+ },
2925
+ "responseTemplate": {
2926
+ "prependBody": "## Plan Phase Pricing Updated\n\nPlan phase pricing has been successfully updated:\n\n"
2927
+ }
2928
+ },
2929
+ {
2930
+ "name": "updateProduct",
2931
+ "description": "Update product.",
2932
+ "needsApproval": true,
2933
+ "approvalConfig": {
2934
+ "title": "Update Product",
2935
+ "description": "This will update an existing product. Please review the changes carefully.",
2936
+ "warningText": "This action will modify a product which may affect pricing and billing for customers.",
2937
+ "confirmText": "Update Product",
2938
+ "cancelText": "Cancel",
2939
+ "sensitiveFields": ["productId"]
2940
+ },
2941
+ "args": [
2942
+ {
2943
+ "name": "productId",
2944
+ "description": "The unique ID of the product to update.",
2945
+ "type": "string",
2946
+ "required": true,
2947
+ "position": "path"
2948
+ }
2949
+ ],
2950
+ "requestTemplate": {
2951
+ "url": "/products/{productId}",
2952
+ "method": "PATCH",
2953
+ "headers": {
2954
+ "Content-Type": "application/json"
2955
+ }
2956
+ },
2957
+ "responseTemplate": {
2958
+ "prependBody": "## Product Updated\n\nProduct has been successfully updated:\n\n"
2959
+ }
2960
+ },
2961
+ {
2962
+ "name": "updateProductPricing",
2963
+ "description": "Update product pricing.",
2964
+ "needsApproval": true,
2965
+ "approvalConfig": {
2966
+ "title": "Update Product Pricing",
2967
+ "description": "This will update product pricing. Please review the changes carefully.",
2968
+ "warningText": "This action will modify product pricing which may affect billing calculations for customers.",
2969
+ "confirmText": "Update Product Pricing",
2970
+ "cancelText": "Cancel",
2971
+ "sensitiveFields": ["productId", "pricingId"]
2972
+ },
2973
+ "args": [
2974
+ {
2975
+ "name": "productId",
2976
+ "description": "The unique ID of the product.",
2977
+ "type": "string",
2978
+ "required": true,
2979
+ "position": "path"
2980
+ },
2981
+ {
2982
+ "name": "pricingId",
2983
+ "description": "The unique ID of the pricing to update.",
2984
+ "type": "string",
2985
+ "required": true,
2986
+ "position": "path"
2987
+ }
2988
+ ],
2989
+ "requestTemplate": {
2990
+ "url": "/products/{productId}/pricing/{pricingId}",
2991
+ "method": "PATCH",
2992
+ "headers": {
2993
+ "Content-Type": "application/json"
2994
+ }
2995
+ },
2996
+ "responseTemplate": {
2997
+ "prependBody": "## Product Pricing Updated\n\nProduct pricing has been successfully updated:\n\n"
2998
+ }
2999
+ },
3000
+ {
3001
+ "name": "updateProductBundlePricing",
3002
+ "description": "Update product bundle pricing.",
3003
+ "needsApproval": true,
3004
+ "approvalConfig": {
3005
+ "title": "Update Product Bundle Pricing",
3006
+ "description": "This will update product bundle pricing. Please review the changes carefully.",
3007
+ "warningText": "This action will modify product bundle pricing which may affect billing calculations for customers.",
3008
+ "confirmText": "Update Product Bundle Pricing",
3009
+ "cancelText": "Cancel",
3010
+ "sensitiveFields": ["productId", "pricingId"]
3011
+ },
3012
+ "args": [
3013
+ {
3014
+ "name": "productId",
3015
+ "description": "The unique ID of the product bundle.",
3016
+ "type": "string",
3017
+ "required": true,
3018
+ "position": "path"
3019
+ },
3020
+ {
3021
+ "name": "pricingId",
3022
+ "description": "The unique ID of the bundle pricing to update.",
3023
+ "type": "string",
3024
+ "required": true,
3025
+ "position": "path"
3026
+ }
3027
+ ],
3028
+ "requestTemplate": {
3029
+ "url": "/products/bundle/{productId}/pricing/{pricingId}",
3030
+ "method": "PATCH",
3031
+ "headers": {
3032
+ "Content-Type": "application/json"
3033
+ }
3034
+ },
3035
+ "responseTemplate": {
3036
+ "prependBody": "## Product Bundle Pricing Updated\n\nProduct bundle pricing has been successfully updated:\n\n"
3037
+ }
3038
+ },
3039
+ {
3040
+ "name": "updateUsageEvent",
3041
+ "description": "Update usage event.",
3042
+ "needsApproval": true,
3043
+ "approvalConfig": {
3044
+ "title": "Update Usage Event",
3045
+ "description": "This will update a usage event (raw metric). Please review the changes carefully.",
3046
+ "warningText": "This action will modify a usage event which may affect billing calculations and metrics.",
3047
+ "confirmText": "Update Usage Event",
3048
+ "cancelText": "Cancel",
3049
+ "sensitiveFields": ["rawMetricId"]
3050
+ },
3051
+ "args": [
3052
+ {
3053
+ "name": "rawMetricId",
3054
+ "description": "The unique ID of the usage event to update.",
3055
+ "type": "string",
3056
+ "required": true,
3057
+ "position": "path"
3058
+ }
3059
+ ],
3060
+ "requestTemplate": {
3061
+ "url": "/rawmetrics/{rawMetricId}",
3062
+ "method": "PATCH",
3063
+ "headers": {
3064
+ "Content-Type": "application/json"
3065
+ }
3066
+ },
3067
+ "responseTemplate": {
3068
+ "prependBody": "## Usage Event Updated\n\nUsage event has been successfully updated:\n\n"
3069
+ }
3070
+ },
3071
+ {
3072
+ "name": "createAccount",
3073
+ "description": "Create a new account for an organisation.",
3074
+ "needsApproval": true,
3075
+ "approvalConfig": {
3076
+ "title": "Create Account",
3077
+ "description": "This will create a new accounting account. Please review the details carefully.",
3078
+ "warningText": "This action will create a new accounting account which may affect financial reporting.",
3079
+ "confirmText": "Create Account",
3080
+ "cancelText": "Cancel",
3081
+ "sensitiveFields": []
3082
+ },
3083
+ "args": [],
3084
+ "requestTemplate": {
3085
+ "url": "/accounting_new/accounts",
3086
+ "method": "POST",
3087
+ "headers": {
3088
+ "Content-Type": "application/json"
3089
+ }
3090
+ },
3091
+ "responseTemplate": {
3092
+ "prependBody": "## Account Created\n\nAccounting account has been successfully created:\n\n"
3093
+ }
3094
+ },
3095
+ {
3096
+ "name": "createCloseDateEntry",
3097
+ "description": "Create close date entry for an organisation.",
3098
+ "needsApproval": true,
3099
+ "approvalConfig": {
3100
+ "title": "Create Close Date Entry",
3101
+ "description": "This will create a new accounting close date entry. Please review carefully.",
3102
+ "warningText": "This action will create a close date entry which may affect financial reporting periods.",
3103
+ "confirmText": "Create Close Date Entry",
3104
+ "cancelText": "Cancel",
3105
+ "sensitiveFields": []
3106
+ },
3107
+ "args": [],
3108
+ "requestTemplate": {
3109
+ "url": "/accounting_new/close_date",
3110
+ "method": "POST",
3111
+ "headers": {
3112
+ "Content-Type": "application/json"
3113
+ }
3114
+ },
3115
+ "responseTemplate": {
3116
+ "prependBody": "## Close Date Entry Created\n\nClose date entry has been successfully created:\n\n"
3117
+ }
3118
+ },
3119
+ {
3120
+ "name": "createJournalEntry",
3121
+ "description": "Create a new journal entry for an organisation.",
3122
+ "needsApproval": true,
3123
+ "approvalConfig": {
3124
+ "title": "Create Journal Entry",
3125
+ "description": "This will create a new journal entry. Please review the details carefully.",
3126
+ "warningText": "This action will create a journal entry which affects accounting records.",
3127
+ "confirmText": "Create Journal Entry",
3128
+ "cancelText": "Cancel",
3129
+ "sensitiveFields": []
3130
+ },
3131
+ "args": [],
3132
+ "requestTemplate": {
3133
+ "url": "/accounting_new/journal_entry",
3134
+ "method": "POST",
3135
+ "headers": {
3136
+ "Content-Type": "application/json"
3137
+ }
3138
+ },
3139
+ "responseTemplate": {
3140
+ "prependBody": "## Journal Entry Created\n\nJournal entry has been successfully created:\n\n"
3141
+ }
3142
+ },
3143
+ {
3144
+ "name": "createBillableMetric",
3145
+ "description": "Create a new billable metric (aggregate).",
3146
+ "needsApproval": true,
3147
+ "approvalConfig": {
3148
+ "title": "Create Billable Metric",
3149
+ "description": "This will create a new billable metric. Please review the details carefully.",
3150
+ "warningText": "This action will create a billable metric which may affect billing calculations.",
3151
+ "confirmText": "Create Billable Metric",
3152
+ "cancelText": "Cancel",
3153
+ "sensitiveFields": ["name", "datasource"]
3154
+ },
3155
+ "args": [
3156
+ {
3157
+ "name": "name",
3158
+ "description": "Name of the aggregate.",
3159
+ "type": "string",
3160
+ "required": true,
3161
+ "position": "body"
3162
+ },
3163
+ {
3164
+ "name": "dataschema",
3165
+ "description": "Data schema of aggregate.",
3166
+ "type": "string",
3167
+ "required": true,
3168
+ "position": "body"
3169
+ },
3170
+ {
3171
+ "name": "aggregation_query",
3172
+ "description": "Aggregate query.",
3173
+ "type": "string",
3174
+ "required": true,
3175
+ "position": "body"
3176
+ },
3177
+ {
3178
+ "name": "cust_agg_query",
3179
+ "description": "Customer aggregate query.",
3180
+ "type": "string",
3181
+ "required": true,
3182
+ "position": "body"
3183
+ },
3184
+ {
3185
+ "name": "visual_query_builder",
3186
+ "description": "Visual query builder (JSON object).",
3187
+ "type": "object",
3188
+ "required": true,
3189
+ "position": "body"
3190
+ },
3191
+ {
3192
+ "name": "datasource",
3193
+ "description": "Data source UUID.",
3194
+ "type": "string",
3195
+ "required": true,
3196
+ "position": "body"
3197
+ }
3198
+ ],
3199
+ "requestTemplate": {
3200
+ "url": "/aggregates",
3201
+ "method": "POST",
3202
+ "headers": {
3203
+ "Content-Type": "application/json"
3204
+ }
3205
+ },
3206
+ "responseTemplate": {
3207
+ "prependBody": "## Billable Metric Created\n\nBillable metric has been successfully created:\n\n"
3208
+ }
3209
+ },
3210
+ {
3211
+ "name": "createContact",
3212
+ "description": "Create a new contact in the system.",
3213
+ "needsApproval": true,
3214
+ "approvalConfig": {
3215
+ "title": "Create Contact",
3216
+ "description": "This will create a new contact. Please review the details carefully.",
3217
+ "warningText": "This action will create a new contact record in your system.",
3218
+ "confirmText": "Create Contact",
3219
+ "cancelText": "Cancel",
3220
+ "sensitiveFields": ["customer", "email"]
3221
+ },
3222
+ "args": [
3223
+ {
3224
+ "name": "customer",
3225
+ "description": "Customer ID to associate contact with.",
3226
+ "type": "string",
3227
+ "required": true,
3228
+ "position": "body"
3229
+ },
3230
+ {
3231
+ "name": "email",
3232
+ "description": "Contact email address.",
3233
+ "type": "string",
3234
+ "required": true,
3235
+ "position": "body"
3236
+ },
3237
+ {
3238
+ "name": "first_name",
3239
+ "description": "Contact first name (optional).",
3240
+ "type": "string",
3241
+ "required": false,
3242
+ "position": "body"
3243
+ },
3244
+ {
3245
+ "name": "last_name",
3246
+ "description": "Contact last name (optional).",
3247
+ "type": "string",
3248
+ "required": false,
3249
+ "position": "body"
3250
+ },
3251
+ {
3252
+ "name": "send_contract",
3253
+ "description": "Send contract to contact (optional).",
3254
+ "type": "boolean",
3255
+ "required": false,
3256
+ "position": "body"
3257
+ },
3258
+ {
3259
+ "name": "send_invoice",
3260
+ "description": "Send invoice to contact (optional).",
3261
+ "type": "boolean",
3262
+ "required": false,
3263
+ "position": "body"
3264
+ }
3265
+ ],
3266
+ "requestTemplate": {
3267
+ "url": "/contacts",
3268
+ "method": "POST",
3269
+ "headers": {
3270
+ "Content-Type": "application/json"
3271
+ }
3272
+ },
3273
+ "responseTemplate": {
3274
+ "prependBody": "## Contact Created\n\nContact has been successfully created:\n\n"
3275
+ }
3276
+ },
3277
+ {
3278
+ "name": "createContract",
3279
+ "description": "Create a new contract in the system.",
3280
+ "needsApproval": true,
3281
+ "approvalConfig": {
3282
+ "title": "Create Contract",
3283
+ "description": "This will create a new contract. Please review the details carefully.",
3284
+ "warningText": "This action will create a new contract which may affect billing and service delivery.",
3285
+ "confirmText": "Create Contract",
3286
+ "cancelText": "Cancel",
3287
+ "sensitiveFields": ["name", "customer_id", "currency"]
3288
+ },
3289
+ "args": [
3290
+ {
3291
+ "name": "name",
3292
+ "description": "Contract name.",
3293
+ "type": "string",
3294
+ "required": true,
3295
+ "position": "body"
3296
+ },
3297
+ {
3298
+ "name": "status",
3299
+ "description": "Contract status.",
3300
+ "type": "string",
3301
+ "required": true,
3302
+ "position": "body"
3303
+ },
3304
+ {
3305
+ "name": "currency",
3306
+ "description": "Currency for the contract.",
3307
+ "type": "string",
3308
+ "required": true,
3309
+ "position": "body"
3310
+ },
3311
+ {
3312
+ "name": "start_date",
3313
+ "description": "Contract start date.",
3314
+ "type": "string",
3315
+ "required": true,
3316
+ "position": "body"
3317
+ },
3318
+ {
3319
+ "name": "customer_id",
3320
+ "description": "Customer ID for the contract.",
3321
+ "type": "string",
3322
+ "required": true,
3323
+ "position": "body"
3324
+ },
3325
+ {
3326
+ "name": "id",
3327
+ "description": "Contract ID (optional).",
3328
+ "type": "string",
3329
+ "required": false,
3330
+ "position": "body"
3331
+ },
3332
+ {
3333
+ "name": "description",
3334
+ "description": "Contract description (optional).",
3335
+ "type": "string",
3336
+ "required": false,
3337
+ "position": "body"
3338
+ },
3339
+ {
3340
+ "name": "end_date",
3341
+ "description": "Contract end date (optional).",
3342
+ "type": "string",
3343
+ "required": false,
3344
+ "position": "body"
3345
+ },
3346
+ {
3347
+ "name": "anchor_date",
3348
+ "description": "Anchor date (optional).",
3349
+ "type": "string",
3350
+ "required": false,
3351
+ "position": "body"
3352
+ },
3353
+ {
3354
+ "name": "plan_id",
3355
+ "description": "Plan ID (optional).",
3356
+ "type": "string",
3357
+ "required": false,
3358
+ "position": "body"
3359
+ }
3360
+ ],
3361
+ "requestTemplate": {
3362
+ "url": "/contract_v2",
3363
+ "method": "POST",
3364
+ "headers": {
3365
+ "Content-Type": "application/json"
3366
+ }
3367
+ },
3368
+ "responseTemplate": {
3369
+ "prependBody": "## Contract Created\n\nContract has been successfully created:\n\n"
3370
+ }
3371
+ },
3372
+ {
3373
+ "name": "createContractPhase",
3374
+ "description": "Create a new phase for an existing contract.",
3375
+ "needsApproval": true,
3376
+ "approvalConfig": {
3377
+ "title": "Create Contract Phase",
3378
+ "description": "This will create a new phase for a contract. Please review the details carefully.",
3379
+ "warningText": "This action will create a contract phase which may affect billing and service delivery.",
3380
+ "confirmText": "Create Contract Phase",
3381
+ "cancelText": "Cancel",
3382
+ "sensitiveFields": ["contractId"]
3383
+ },
3384
+ "args": [
3385
+ {
3386
+ "name": "contractId",
3387
+ "description": "The unique ID of the contract to add a phase to.",
3388
+ "type": "string",
3389
+ "required": true,
3390
+ "position": "path"
3391
+ }
3392
+ ],
3393
+ "requestTemplate": {
3394
+ "url": "/contract_v2/{contractId}/phases",
3395
+ "method": "POST",
3396
+ "headers": {
3397
+ "Content-Type": "application/json"
3398
+ }
3399
+ },
3400
+ "responseTemplate": {
3401
+ "prependBody": "## Contract Phase Created\n\nContract phase has been successfully created:\n\n"
3402
+ }
3403
+ },
3404
+ {
3405
+ "name": "pauseContractPost",
3406
+ "description": "Pause a contract (POST version).",
3407
+ "needsApproval": true,
3408
+ "approvalConfig": {
3409
+ "title": "Pause Contract",
3410
+ "description": "This will pause a contract. Please review carefully.",
3411
+ "warningText": "This action will pause a contract which may affect billing and service delivery.",
3412
+ "confirmText": "Pause Contract",
3413
+ "cancelText": "Cancel",
3414
+ "sensitiveFields": ["contractId"]
3415
+ },
3416
+ "args": [
3417
+ {
3418
+ "name": "contractId",
3419
+ "description": "The unique ID of the contract to pause.",
3420
+ "type": "string",
3421
+ "required": true,
3422
+ "position": "path"
3423
+ }
3424
+ ],
3425
+ "requestTemplate": {
3426
+ "url": "/contract_v2/{contractId}/pause",
3427
+ "method": "POST",
3428
+ "headers": {
3429
+ "Content-Type": "application/json"
3430
+ }
3431
+ },
3432
+ "responseTemplate": {
3433
+ "prependBody": "## Contract Paused\n\nContract has been successfully paused:\n\n"
3434
+ }
3435
+ },
3436
+ {
3437
+ "name": "createContractPhasePricing",
3438
+ "description": "Create pricing for a contract phase.",
3439
+ "needsApproval": true,
3440
+ "approvalConfig": {
3441
+ "title": "Create Contract Phase Pricing",
3442
+ "description": "This will create pricing for a contract phase. Please review the details carefully.",
3443
+ "warningText": "This action will create contract phase pricing which may affect billing calculations.",
3444
+ "confirmText": "Create Contract Phase Pricing",
3445
+ "cancelText": "Cancel",
3446
+ "sensitiveFields": ["contractId", "phaseId"]
3447
+ },
3448
+ "args": [
3449
+ {
3450
+ "name": "contractId",
3451
+ "description": "The unique ID of the contract.",
3452
+ "type": "string",
3453
+ "required": true,
3454
+ "position": "path"
3455
+ },
3456
+ {
3457
+ "name": "phaseId",
3458
+ "description": "The unique ID of the phase.",
3459
+ "type": "string",
3460
+ "required": true,
3461
+ "position": "path"
3462
+ }
3463
+ ],
3464
+ "requestTemplate": {
3465
+ "url": "/contract_v2/{contractId}/phases/{phaseId}/pricing",
3466
+ "method": "POST",
3467
+ "headers": {
3468
+ "Content-Type": "application/json"
3469
+ }
3470
+ },
3471
+ "responseTemplate": {
3472
+ "prependBody": "## Contract Phase Pricing Created\n\nContract phase pricing has been successfully created:\n\n"
3473
+ }
3474
+ },
3475
+ {
3476
+ "name": "createCreditNote",
3477
+ "description": "Create a new credit note.",
3478
+ "needsApproval": true,
3479
+ "approvalConfig": {
3480
+ "title": "Create Credit Note",
3481
+ "description": "This will create a new credit note. Please review the details carefully.",
3482
+ "warningText": "This action will create a credit note which affects financial records and customer accounts.",
3483
+ "confirmText": "Create Credit Note",
3484
+ "cancelText": "Cancel",
3485
+ "sensitiveFields": []
3486
+ },
3487
+ "args": [],
3488
+ "requestTemplate": {
3489
+ "url": "/credit_notes",
3490
+ "method": "POST",
3491
+ "headers": {
3492
+ "Content-Type": "application/json"
3493
+ }
3494
+ },
3495
+ "responseTemplate": {
3496
+ "prependBody": "## Credit Note Created\n\nCredit note has been successfully created:\n\n"
3497
+ }
3498
+ },
3499
+ {
3500
+ "name": "createCustomAttributeDefinition",
3501
+ "description": "Create a new custom attribute definition.",
3502
+ "needsApproval": true,
3503
+ "approvalConfig": {
3504
+ "title": "Create Custom Attribute Definition",
3505
+ "description": "This will create a new custom attribute definition. Please review the details carefully.",
3506
+ "warningText": "This action will create a custom attribute definition which may affect data collection and validation.",
3507
+ "confirmText": "Create Custom Attribute Definition",
3508
+ "cancelText": "Cancel",
3509
+ "sensitiveFields": []
3510
+ },
3511
+ "args": [],
3512
+ "requestTemplate": {
3513
+ "url": "/custom_attributes",
3514
+ "method": "POST",
3515
+ "headers": {
3516
+ "Content-Type": "application/json"
3517
+ }
3518
+ },
3519
+ "responseTemplate": {
3520
+ "prependBody": "## Custom Attribute Definition Created\n\nCustom attribute definition has been successfully created:\n\n"
3521
+ }
3522
+ },
3523
+ {
3524
+ "name": "createPaymentMethod",
3525
+ "description": "Create a new payment method for a customer.",
3526
+ "needsApproval": true,
3527
+ "approvalConfig": {
3528
+ "title": "Create Payment Method",
3529
+ "description": "This will create a new payment method for a customer. Please review the details carefully.",
3530
+ "warningText": "This action will create a payment method which may affect billing and payment processing.",
3531
+ "confirmText": "Create Payment Method",
3532
+ "cancelText": "Cancel",
3533
+ "sensitiveFields": ["customerId"]
3534
+ },
3535
+ "args": [
3536
+ {
3537
+ "name": "customerId",
3538
+ "description": "The unique ID of the customer.",
3539
+ "type": "string",
3540
+ "required": true,
3541
+ "position": "path"
3542
+ }
3543
+ ],
3544
+ "requestTemplate": {
3545
+ "url": "/customers/{customerId}/payment_methods",
3546
+ "method": "POST",
3547
+ "headers": {
3548
+ "Content-Type": "application/json"
3549
+ }
3550
+ },
3551
+ "responseTemplate": {
3552
+ "prependBody": "## Payment Method Created\n\nPayment method has been successfully created:\n\n"
3553
+ }
3554
+ },
3555
+ {
3556
+ "name": "createDataSource",
3557
+ "description": "Create a new data-source connector.",
3558
+ "needsApproval": true,
3559
+ "approvalConfig": {
3560
+ "title": "Create Data Source",
3561
+ "description": "This will create a new data source connector. Please review the details carefully.",
3562
+ "warningText": "This action will create a data source connector which may affect data ingestion and billing calculations.",
3563
+ "confirmText": "Create Data Source",
3564
+ "cancelText": "Cancel",
3565
+ "sensitiveFields": []
3566
+ },
3567
+ "args": [],
3568
+ "requestTemplate": {
3569
+ "url": "/datasources",
3570
+ "method": "POST",
3571
+ "headers": {
3572
+ "Content-Type": "application/json"
3573
+ }
3574
+ },
3575
+ "responseTemplate": {
3576
+ "prependBody": "## Data Source Created\n\nData source has been successfully created:\n\n"
3577
+ }
3578
+ },
3579
+ {
3580
+ "name": "createEntitlementCustomer",
3581
+ "description": "Create entitlement customer relationship.",
3582
+ "needsApproval": true,
3583
+ "approvalConfig": {
3584
+ "title": "Create Entitlement Customer",
3585
+ "description": "This will create an entitlement-customer relationship. Please review the details carefully.",
3586
+ "warningText": "This action will create an entitlement-customer relationship which may affect access control and billing.",
3587
+ "confirmText": "Create Entitlement Customer",
3588
+ "cancelText": "Cancel",
3589
+ "sensitiveFields": ["entitlementId"]
3590
+ },
3591
+ "args": [
3592
+ {
3593
+ "name": "entitlementId",
3594
+ "description": "The unique ID of the entitlement.",
3595
+ "type": "string",
3596
+ "required": true,
3597
+ "position": "path"
3598
+ }
3599
+ ],
3600
+ "requestTemplate": {
3601
+ "url": "/entitlements/{entitlementId}/customer",
3602
+ "method": "POST",
3603
+ "headers": {
3604
+ "Content-Type": "application/json"
3605
+ }
3606
+ },
3607
+ "responseTemplate": {
3608
+ "prependBody": "## Entitlement Customer Created\n\nEntitlement-customer relationship has been successfully created:\n\n"
3609
+ }
3610
+ },
3611
+ {
3612
+ "name": "createPayment",
3613
+ "description": "Create a new payment record.",
3614
+ "needsApproval": true,
3615
+ "approvalConfig": {
3616
+ "title": "Create Payment",
3617
+ "description": "This will create a new payment record. Please review the details carefully.",
3618
+ "warningText": "This action will create a payment record which affects financial records and reconciliation.",
3619
+ "confirmText": "Create Payment",
3620
+ "cancelText": "Cancel",
3621
+ "sensitiveFields": []
3622
+ },
3623
+ "args": [],
3624
+ "requestTemplate": {
3625
+ "url": "/payments",
3626
+ "method": "POST",
3627
+ "headers": {
3628
+ "Content-Type": "application/json"
3629
+ }
3630
+ },
3631
+ "responseTemplate": {
3632
+ "prependBody": "## Payment Created\n\nPayment has been successfully created:\n\n"
3633
+ }
3634
+ },
3635
+ {
3636
+ "name": "createInvoiceCharge",
3637
+ "description": "Create a charge for an invoice.",
3638
+ "needsApproval": true,
3639
+ "approvalConfig": {
3640
+ "title": "Create Invoice Charge",
3641
+ "description": "This will create a charge for an invoice. Please review the details carefully.",
3642
+ "warningText": "This action will create an invoice charge which affects billing and financial records.",
3643
+ "confirmText": "Create Invoice Charge",
3644
+ "cancelText": "Cancel",
3645
+ "sensitiveFields": ["invoiceId"]
3646
+ },
3647
+ "args": [
3648
+ {
3649
+ "name": "invoiceId",
3650
+ "description": "The unique ID of the invoice.",
3651
+ "type": "string",
3652
+ "required": true,
3653
+ "position": "path"
3654
+ }
3655
+ ],
3656
+ "requestTemplate": {
3657
+ "url": "/payments/invoice/{invoiceId}/charge",
3658
+ "method": "POST",
3659
+ "headers": {
3660
+ "Content-Type": "application/json"
3661
+ }
3662
+ },
3663
+ "responseTemplate": {
3664
+ "prependBody": "## Invoice Charge Created\n\nInvoice charge has been successfully created:\n\n"
3665
+ }
3666
+ },
3667
+ {
3668
+ "name": "refundPayment",
3669
+ "description": "Refund a payment.",
3670
+ "needsApproval": true,
3671
+ "approvalConfig": {
3672
+ "title": "Refund Payment",
3673
+ "description": "This will refund a payment. Please review the details carefully.",
3674
+ "warningText": "This action will refund a payment which affects financial records and customer accounts.",
3675
+ "confirmText": "Refund Payment",
3676
+ "cancelText": "Cancel",
3677
+ "sensitiveFields": ["paymentId"]
3678
+ },
3679
+ "args": [
3680
+ {
3681
+ "name": "paymentId",
3682
+ "description": "The unique ID of the payment to refund.",
3683
+ "type": "string",
3684
+ "required": true,
3685
+ "position": "path"
3686
+ }
3687
+ ],
3688
+ "requestTemplate": {
3689
+ "url": "/payments/{paymentId}/refund",
3690
+ "method": "POST",
3691
+ "headers": {
3692
+ "Content-Type": "application/json"
3693
+ }
3694
+ },
3695
+ "responseTemplate": {
3696
+ "prependBody": "## Payment Refunded\n\nPayment has been successfully refunded:\n\n"
3697
+ }
3698
+ },
3699
+ {
3700
+ "name": "createPlan",
3701
+ "description": "Create a new plan.",
3702
+ "needsApproval": true,
3703
+ "approvalConfig": {
3704
+ "title": "Create Plan",
3705
+ "description": "This will create a new plan. Please review the details carefully.",
3706
+ "warningText": "This action will create a plan which may affect pricing and billing for customers.",
3707
+ "confirmText": "Create Plan",
3708
+ "cancelText": "Cancel",
3709
+ "sensitiveFields": ["name"]
3710
+ },
3711
+ "args": [
3712
+ {
3713
+ "name": "name",
3714
+ "description": "Plan name.",
3715
+ "type": "string",
3716
+ "required": true,
3717
+ "position": "body"
3718
+ },
3719
+ {
3720
+ "name": "status",
3721
+ "description": "Plan status.",
3722
+ "type": "string",
3723
+ "required": true,
3724
+ "position": "body"
3725
+ },
3726
+ {
3727
+ "name": "schedule",
3728
+ "description": "Duration/schedule of the plan.",
3729
+ "type": "object",
3730
+ "required": true,
3731
+ "position": "body"
3732
+ },
3733
+ {
3734
+ "name": "description",
3735
+ "description": "Plan description (optional).",
3736
+ "type": "string",
3737
+ "required": false,
3738
+ "position": "body"
3739
+ },
3740
+ {
3741
+ "name": "phases",
3742
+ "description": "Plan phases (optional).",
3743
+ "type": "array",
3744
+ "required": false,
3745
+ "position": "body"
3746
+ }
3747
+ ],
3748
+ "requestTemplate": {
3749
+ "url": "/plans",
3750
+ "method": "POST",
3751
+ "headers": {
3752
+ "Content-Type": "application/json"
3753
+ }
3754
+ },
3755
+ "responseTemplate": {
3756
+ "prependBody": "## Plan Created\n\nPlan has been successfully created:\n\n"
3757
+ }
3758
+ },
3759
+ {
3760
+ "name": "createPlanPhase",
3761
+ "description": "Create a new phase for a plan.",
3762
+ "needsApproval": true,
3763
+ "approvalConfig": {
3764
+ "title": "Create Plan Phase",
3765
+ "description": "This will create a new phase for a plan. Please review the details carefully.",
3766
+ "warningText": "This action will create a plan phase which may affect pricing and billing for customers.",
3767
+ "confirmText": "Create Plan Phase",
3768
+ "cancelText": "Cancel",
3769
+ "sensitiveFields": ["planId"]
3770
+ },
3771
+ "args": [
3772
+ {
3773
+ "name": "planId",
3774
+ "description": "The unique ID of the plan.",
3775
+ "type": "string",
3776
+ "required": true,
3777
+ "position": "path"
3778
+ }
3779
+ ],
3780
+ "requestTemplate": {
3781
+ "url": "/plans/{planId}/phases",
3782
+ "method": "POST",
3783
+ "headers": {
3784
+ "Content-Type": "application/json"
3785
+ }
3786
+ },
3787
+ "responseTemplate": {
3788
+ "prependBody": "## Plan Phase Created\n\nPlan phase has been successfully created:\n\n"
3789
+ }
3790
+ },
3791
+ {
3792
+ "name": "createPlanPhasePricing",
3793
+ "description": "Create pricing for a plan phase.",
3794
+ "needsApproval": true,
3795
+ "approvalConfig": {
3796
+ "title": "Create Plan Phase Pricing",
3797
+ "description": "This will create pricing for a plan phase. Please review the details carefully.",
3798
+ "warningText": "This action will create plan phase pricing which may affect billing calculations for customers.",
3799
+ "confirmText": "Create Plan Phase Pricing",
3800
+ "cancelText": "Cancel",
3801
+ "sensitiveFields": ["planId", "phaseId"]
3802
+ },
3803
+ "args": [
3804
+ {
3805
+ "name": "planId",
3806
+ "description": "The unique ID of the plan.",
3807
+ "type": "string",
3808
+ "required": true,
3809
+ "position": "path"
3810
+ },
3811
+ {
3812
+ "name": "phaseId",
3813
+ "description": "The unique ID of the phase.",
3814
+ "type": "string",
3815
+ "required": true,
3816
+ "position": "path"
3817
+ }
3818
+ ],
3819
+ "requestTemplate": {
3820
+ "url": "/plans/{planId}/phases/{phaseId}/pricing",
3821
+ "method": "POST",
3822
+ "headers": {
3823
+ "Content-Type": "application/json"
3824
+ }
3825
+ },
3826
+ "responseTemplate": {
3827
+ "prependBody": "## Plan Phase Pricing Created\n\nPlan phase pricing has been successfully created:\n\n"
3828
+ }
3829
+ },
3830
+ {
3831
+ "name": "createPlanVersion",
3832
+ "description": "Create a new version of an existing plan.",
3833
+ "needsApproval": true,
3834
+ "approvalConfig": {
3835
+ "title": "Create Plan Version",
3836
+ "description": "This will create a new version of an existing plan. Please review the details carefully.",
3837
+ "warningText": "This action will create a new plan version which may affect pricing and billing for customers.",
3838
+ "confirmText": "Create Plan Version",
3839
+ "cancelText": "Cancel",
3840
+ "sensitiveFields": ["planId"]
3841
+ },
3842
+ "args": [
3843
+ {
3844
+ "name": "planId",
3845
+ "description": "The unique ID of the plan.",
3846
+ "type": "string",
3847
+ "required": true,
3848
+ "position": "path"
3849
+ }
3850
+ ],
3851
+ "requestTemplate": {
3852
+ "url": "/plans/{planId}/new_version",
3853
+ "method": "POST",
3854
+ "headers": {
3855
+ "Content-Type": "application/json"
3856
+ }
3857
+ },
3858
+ "responseTemplate": {
3859
+ "prependBody": "## Plan Version Created\n\nNew plan version has been successfully created:\n\n"
3860
+ }
3861
+ },
3862
+ {
3863
+ "name": "createProduct",
3864
+ "description": "Create a new product.",
3865
+ "needsApproval": true,
3866
+ "approvalConfig": {
3867
+ "title": "Create Product",
3868
+ "description": "This will create a new product. Please review the details carefully.",
3869
+ "warningText": "This action will create a product which may affect pricing and billing for customers.",
3870
+ "confirmText": "Create Product",
3871
+ "cancelText": "Cancel",
3872
+ "sensitiveFields": ["name", "type"]
3873
+ },
3874
+ "args": [
3875
+ {
3876
+ "name": "name",
3877
+ "description": "Product name.",
3878
+ "type": "string",
3879
+ "required": true,
3880
+ "position": "body"
3881
+ },
3882
+ {
3883
+ "name": "type",
3884
+ "description": "Product type.",
3885
+ "type": "string",
3886
+ "required": true,
3887
+ "position": "body"
3888
+ },
3889
+ {
3890
+ "name": "description",
3891
+ "description": "Product description (optional).",
3892
+ "type": "string",
3893
+ "required": false,
3894
+ "position": "body"
3895
+ },
3896
+ {
3897
+ "name": "sku",
3898
+ "description": "Product SKU (optional).",
3899
+ "type": "string",
3900
+ "required": false,
3901
+ "position": "body"
3902
+ },
3903
+ {
3904
+ "name": "is_active",
3905
+ "description": "Is product active (optional).",
3906
+ "type": "boolean",
3907
+ "required": false,
3908
+ "position": "body"
3909
+ }
3910
+ ],
3911
+ "requestTemplate": {
3912
+ "url": "/products",
3913
+ "method": "POST",
3914
+ "headers": {
3915
+ "Content-Type": "application/json"
3916
+ }
3917
+ },
3918
+ "responseTemplate": {
3919
+ "prependBody": "## Product Created\n\nProduct has been successfully created:\n\n"
3920
+ }
3921
+ },
3922
+ {
3923
+ "name": "createProductPricing",
3924
+ "description": "Create pricing for a product.",
3925
+ "needsApproval": true,
3926
+ "approvalConfig": {
3927
+ "title": "Create Product Pricing",
3928
+ "description": "This will create pricing for a product. Please review the details carefully.",
3929
+ "warningText": "This action will create product pricing which may affect billing calculations for customers.",
3930
+ "confirmText": "Create Product Pricing",
3931
+ "cancelText": "Cancel",
3932
+ "sensitiveFields": ["productId"]
3933
+ },
3934
+ "args": [
3935
+ {
3936
+ "name": "productId",
3937
+ "description": "The unique ID of the product.",
3938
+ "type": "string",
3939
+ "required": true,
3940
+ "position": "path"
3941
+ }
3942
+ ],
3943
+ "requestTemplate": {
3944
+ "url": "/products/{productId}/pricing",
3945
+ "method": "POST",
3946
+ "headers": {
3947
+ "Content-Type": "application/json"
3948
+ }
3949
+ },
3950
+ "responseTemplate": {
3951
+ "prependBody": "## Product Pricing Created\n\nProduct pricing has been successfully created:\n\n"
3952
+ }
3953
+ },
3954
+ {
3955
+ "name": "createProductBundlePricing",
3956
+ "description": "Create pricing for a product bundle.",
3957
+ "needsApproval": true,
3958
+ "approvalConfig": {
3959
+ "title": "Create Product Bundle Pricing",
3960
+ "description": "This will create pricing for a product bundle. Please review the details carefully.",
3961
+ "warningText": "This action will create product bundle pricing which may affect billing calculations for customers.",
3962
+ "confirmText": "Create Product Bundle Pricing",
3963
+ "cancelText": "Cancel",
3964
+ "sensitiveFields": ["productId"]
3965
+ },
3966
+ "args": [
3967
+ {
3968
+ "name": "productId",
3969
+ "description": "The unique ID of the product bundle.",
3970
+ "type": "string",
3971
+ "required": true,
3972
+ "position": "path"
3973
+ }
3974
+ ],
3975
+ "requestTemplate": {
3976
+ "url": "/products/bundle/{productId}/pricing",
3977
+ "method": "POST",
3978
+ "headers": {
3979
+ "Content-Type": "application/json"
3980
+ }
3981
+ },
3982
+ "responseTemplate": {
3983
+ "prependBody": "## Product Bundle Pricing Created\n\nProduct bundle pricing has been successfully created:\n\n"
3984
+ }
3985
+ },
3986
+ {
3987
+ "name": "upsertTags",
3988
+ "description": "Upsert tags in the system.",
3989
+ "needsApproval": true,
3990
+ "approvalConfig": {
3991
+ "title": "Upsert Tags",
3992
+ "description": "This will create or update tags in the system. Please review the details carefully.",
3993
+ "warningText": "This action will create or update tags which may affect categorization and filtering.",
3994
+ "confirmText": "Upsert Tags",
3995
+ "cancelText": "Cancel",
3996
+ "sensitiveFields": []
3997
+ },
3998
+ "args": [],
3999
+ "requestTemplate": {
4000
+ "url": "/tags",
4001
+ "method": "POST",
4002
+ "headers": {
4003
+ "Content-Type": "application/json"
4004
+ }
4005
+ },
4006
+ "responseTemplate": {
4007
+ "prependBody": "## Tags Upserted\n\nTags have been successfully created/updated:\n\n"
4008
+ }
4009
+ },
4010
+ {
4011
+ "name": "createUsageEvent",
4012
+ "description": "Create a new usage event (raw metric).",
4013
+ "needsApproval": true,
4014
+ "approvalConfig": {
4015
+ "title": "Create Usage Event",
4016
+ "description": "This will create a new usage event. Please review the details carefully.",
4017
+ "warningText": "This action will create a usage event which may affect billing calculations and metrics.",
4018
+ "confirmText": "Create Usage Event",
4019
+ "cancelText": "Cancel",
4020
+ "sensitiveFields": ["name", "api_slug"]
4021
+ },
4022
+ "args": [
4023
+ {
4024
+ "name": "name",
4025
+ "description": "Name of the raw metric. (required)",
4026
+ "type": "string",
4027
+ "required": true,
4028
+ "position": "body",
4029
+ "default": "New Usage Event"
4030
+ },
4031
+ {
4032
+ "name": "api_slug",
4033
+ "description": "Raw metric slug name.",
4034
+ "type": "string",
4035
+ "required": true,
4036
+ "position": "body"
4037
+ },
4038
+ {
4039
+ "name": "dataschema",
4040
+ "description": "Data schema of raw metric (JSON object).",
4041
+ "type": "object",
4042
+ "required": true,
4043
+ "position": "body"
4044
+ },
4045
+ {
4046
+ "name": "column_order",
4047
+ "description": "Order of the columns in the raw metric table (optional array of strings).",
4048
+ "type": "array",
4049
+ "required": false,
4050
+ "position": "body"
4051
+ }
4052
+ ],
4053
+ "requestTemplate": {
4054
+ "url": "/rawmetrics",
4055
+ "method": "POST",
4056
+ "headers": {
4057
+ "Content-Type": "application/json"
4058
+ }
4059
+ },
4060
+ "responseTemplate": {
4061
+ "prependBody": "## Usage Event Created\n\nUsage event has been successfully created:\n\n"
4062
+ }
4063
+ },
4064
+ {
4065
+ "name": "ingestUsageEvent",
4066
+ "description": "Ingest usage event by raw metric slug.",
4067
+ "needsApproval": true,
4068
+ "approvalConfig": {
4069
+ "title": "Ingest Usage Event",
4070
+ "description": "This will ingest a usage event. Please review the details carefully.",
4071
+ "warningText": "This action will ingest a usage event which may affect billing calculations and metrics.",
4072
+ "confirmText": "Ingest Usage Event",
4073
+ "cancelText": "Cancel",
4074
+ "sensitiveFields": ["rawMetricSlug"]
4075
+ },
4076
+ "args": [
4077
+ {
4078
+ "name": "rawMetricSlug",
4079
+ "description": "The slug of the raw metric.",
4080
+ "type": "string",
4081
+ "required": true,
4082
+ "position": "path"
4083
+ }
4084
+ ],
4085
+ "requestTemplate": {
4086
+ "url": "/usage_events/{rawMetricSlug}",
4087
+ "method": "POST",
4088
+ "headers": {
4089
+ "Content-Type": "application/json"
4090
+ }
4091
+ },
4092
+ "responseTemplate": {
4093
+ "prependBody": "## Usage Event Ingested\n\nUsage event has been successfully ingested:\n\n"
4094
+ }
4095
+ },
4096
+ {
4097
+ "name": "deleteAggregate",
4098
+ "description": "Delete a billable metric (aggregate).",
4099
+ "needsApproval": true,
4100
+ "approvalConfig": {
4101
+ "title": "Delete Billable Metric",
4102
+ "description": "This will permanently delete a billable metric. Please review carefully.",
4103
+ "warningText": "This action will permanently delete a billable metric which may affect billing calculations. This cannot be undone.",
4104
+ "confirmText": "Delete Billable Metric",
4105
+ "cancelText": "Cancel",
4106
+ "sensitiveFields": ["aggregateId"]
4107
+ },
4108
+ "args": [
4109
+ {
4110
+ "name": "aggregateId",
4111
+ "description": "The unique ID of the billable metric to delete.",
4112
+ "type": "string",
4113
+ "required": true,
4114
+ "position": "path"
4115
+ }
4116
+ ],
4117
+ "requestTemplate": {
4118
+ "url": "/aggregates/{aggregateId}",
4119
+ "method": "DELETE",
4120
+ "headers": {
4121
+ "Content-Type": "application/json"
4122
+ }
4123
+ },
4124
+ "responseTemplate": {
4125
+ "prependBody": "## Billable Metric Deleted\n\nBillable metric has been permanently deleted:\n\n"
4126
+ }
4127
+ },
4128
+ {
4129
+ "name": "deleteContact",
4130
+ "description": "Delete a contact from the system.",
4131
+ "needsApproval": true,
4132
+ "approvalConfig": {
4133
+ "title": "Delete Contact",
4134
+ "description": "This will permanently delete a contact. Please review carefully.",
4135
+ "warningText": "This action will permanently delete a contact record. This cannot be undone.",
4136
+ "confirmText": "Delete Contact",
4137
+ "cancelText": "Cancel",
4138
+ "sensitiveFields": ["contactId"]
4139
+ },
4140
+ "args": [
4141
+ {
4142
+ "name": "contactId",
4143
+ "description": "The unique ID of the contact to delete.",
4144
+ "type": "string",
4145
+ "required": true,
4146
+ "position": "path"
4147
+ }
4148
+ ],
4149
+ "requestTemplate": {
4150
+ "url": "/contacts/{contactId}",
4151
+ "method": "DELETE",
4152
+ "headers": {
4153
+ "Content-Type": "application/json"
4154
+ }
4155
+ },
4156
+ "responseTemplate": {
4157
+ "prependBody": "## Contact Deleted\n\nContact has been permanently deleted:\n\n"
4158
+ }
4159
+ },
4160
+ {
4161
+ "name": "deleteContract",
4162
+ "description": "Delete a contract from the system.",
4163
+ "needsApproval": true,
4164
+ "approvalConfig": {
4165
+ "title": "Delete Contract",
4166
+ "description": "This will permanently delete a contract. Please review carefully.",
4167
+ "warningText": "This action will permanently delete a contract which may affect billing and service delivery. This cannot be undone.",
4168
+ "confirmText": "Delete Contract",
4169
+ "cancelText": "Cancel",
4170
+ "sensitiveFields": ["contractId"]
4171
+ },
4172
+ "args": [
4173
+ {
4174
+ "name": "contractId",
4175
+ "description": "The unique ID of the contract to delete.",
4176
+ "type": "string",
4177
+ "required": true,
4178
+ "position": "path"
4179
+ }
4180
+ ],
4181
+ "requestTemplate": {
4182
+ "url": "/contract_v2/{contractId}",
4183
+ "method": "DELETE",
4184
+ "headers": {
4185
+ "Content-Type": "application/json"
4186
+ }
4187
+ },
4188
+ "responseTemplate": {
4189
+ "prependBody": "## Contract Deleted\n\nContract has been permanently deleted:\n\n"
4190
+ }
4191
+ },
4192
+ {
4193
+ "name": "deleteCustomAttributeDefinition",
4194
+ "description": "Delete a custom attribute definition from the system.",
4195
+ "needsApproval": true,
4196
+ "approvalConfig": {
4197
+ "title": "Delete Custom Attribute Definition",
4198
+ "description": "This will permanently delete a custom attribute definition. Please review carefully.",
4199
+ "warningText": "This action will permanently delete a custom attribute definition which may affect data collection and validation. This cannot be undone.",
4200
+ "confirmText": "Delete Custom Attribute Definition",
4201
+ "cancelText": "Cancel",
4202
+ "sensitiveFields": ["definitionId"]
4203
+ },
4204
+ "args": [
4205
+ {
4206
+ "name": "definitionId",
4207
+ "description": "The unique ID of the custom attribute definition to delete.",
4208
+ "type": "string",
4209
+ "required": true,
4210
+ "position": "path"
4211
+ }
4212
+ ],
4213
+ "requestTemplate": {
4214
+ "url": "/custom_attributes/{definitionId}",
4215
+ "method": "DELETE",
4216
+ "headers": {
4217
+ "Content-Type": "application/json"
4218
+ }
4219
+ },
4220
+ "responseTemplate": {
4221
+ "prependBody": "## Custom Attribute Definition Deleted\n\nCustom attribute definition has been permanently deleted:\n\n"
4222
+ }
4223
+ },
4224
+ {
4225
+ "name": "deleteCustomer",
4226
+ "description": "Delete a customer from the system.",
4227
+ "needsApproval": true,
4228
+ "approvalConfig": {
4229
+ "title": "Delete Customer",
4230
+ "description": "This will permanently delete a customer. Please review carefully.",
4231
+ "warningText": "This action will permanently delete a customer record which may affect billing and service delivery. This cannot be undone.",
4232
+ "confirmText": "Delete Customer",
4233
+ "cancelText": "Cancel",
4234
+ "sensitiveFields": ["customerId"]
4235
+ },
4236
+ "args": [
4237
+ {
4238
+ "name": "customerId",
4239
+ "description": "The unique ID of the customer to delete.",
4240
+ "type": "string",
4241
+ "required": true,
4242
+ "position": "path"
4243
+ }
4244
+ ],
4245
+ "requestTemplate": {
4246
+ "url": "/customers/{customerId}",
4247
+ "method": "DELETE",
4248
+ "headers": {
4249
+ "Content-Type": "application/json"
4250
+ }
4251
+ },
4252
+ "responseTemplate": {
4253
+ "prependBody": "## Customer Deleted\n\nCustomer has been permanently deleted:\n\n"
4254
+ }
4255
+ },
4256
+ {
4257
+ "name": "deleteCustomerConnector",
4258
+ "description": "Delete third-party connector for a customer.",
4259
+ "needsApproval": true,
4260
+ "approvalConfig": {
4261
+ "title": "Delete Customer Connector",
4262
+ "description": "This will permanently delete a customer's third-party connector. Please review carefully.",
4263
+ "warningText": "This action will permanently delete a customer connector which may affect integrations and data flow. This cannot be undone.",
4264
+ "confirmText": "Delete Customer Connector",
4265
+ "cancelText": "Cancel",
4266
+ "sensitiveFields": ["customerId"]
4267
+ },
4268
+ "args": [
4269
+ {
4270
+ "name": "customerId",
4271
+ "description": "The unique ID of the customer whose connector to delete.",
4272
+ "type": "string",
4273
+ "required": true,
4274
+ "position": "path"
4275
+ }
4276
+ ],
4277
+ "requestTemplate": {
4278
+ "url": "/customers/connector/{customerId}",
4279
+ "method": "DELETE",
4280
+ "headers": {
4281
+ "Content-Type": "application/json"
4282
+ }
4283
+ },
4284
+ "responseTemplate": {
4285
+ "prependBody": "## Customer Connector Deleted\n\nCustomer connector has been permanently deleted:\n\n"
4286
+ }
4287
+ },
4288
+ {
4289
+ "name": "deleteEntitlement",
4290
+ "description": "Delete an entitlement from the system.",
4291
+ "needsApproval": true,
4292
+ "approvalConfig": {
4293
+ "title": "Delete Entitlement",
4294
+ "description": "This will permanently delete an entitlement. Please review carefully.",
4295
+ "warningText": "This action will permanently delete an entitlement which may affect access control and billing. This cannot be undone.",
4296
+ "confirmText": "Delete Entitlement",
4297
+ "cancelText": "Cancel",
4298
+ "sensitiveFields": ["entitlementId"]
4299
+ },
4300
+ "args": [
4301
+ {
4302
+ "name": "entitlementId",
4303
+ "description": "The unique ID of the entitlement to delete.",
4304
+ "type": "string",
4305
+ "required": true,
4306
+ "position": "path"
4307
+ }
4308
+ ],
4309
+ "requestTemplate": {
4310
+ "url": "/entitlements/{entitlementId}",
4311
+ "method": "DELETE",
4312
+ "headers": {
4313
+ "Content-Type": "application/json"
4314
+ }
4315
+ },
4316
+ "responseTemplate": {
4317
+ "prependBody": "## Entitlement Deleted\n\nEntitlement has been permanently deleted:\n\n"
4318
+ }
4319
+ },
4320
+ {
4321
+ "name": "deleteCustomerEntitlement",
4322
+ "description": "Delete customer entitlement relationship.",
4323
+ "needsApproval": true,
4324
+ "approvalConfig": {
4325
+ "title": "Delete Customer Entitlement",
4326
+ "description": "This will permanently delete a customer entitlement relationship. Please review carefully.",
4327
+ "warningText": "This action will permanently delete a customer entitlement which may affect access control and billing. This cannot be undone.",
4328
+ "confirmText": "Delete Customer Entitlement",
4329
+ "cancelText": "Cancel",
4330
+ "sensitiveFields": ["entitlementId", "customerId", "ecId"]
4331
+ },
4332
+ "args": [
4333
+ {
4334
+ "name": "entitlementId",
4335
+ "description": "The unique ID of the entitlement.",
4336
+ "type": "string",
4337
+ "required": true,
4338
+ "position": "path"
4339
+ },
4340
+ {
4341
+ "name": "customerId",
4342
+ "description": "The unique ID of the customer.",
4343
+ "type": "string",
4344
+ "required": true,
4345
+ "position": "path"
4346
+ },
4347
+ {
4348
+ "name": "ecId",
4349
+ "description": "The unique ID of the entitlement-customer relationship.",
4350
+ "type": "string",
4351
+ "required": true,
4352
+ "position": "path"
4353
+ }
4354
+ ],
4355
+ "requestTemplate": {
4356
+ "url": "/entitlements/{entitlementId}/customer/{customerId}/{ecId}",
4357
+ "method": "DELETE",
4358
+ "headers": {
4359
+ "Content-Type": "application/json"
4360
+ }
4361
+ },
4362
+ "responseTemplate": {
4363
+ "prependBody": "## Customer Entitlement Deleted\n\nCustomer entitlement has been permanently deleted:\n\n"
4364
+ }
4365
+ },
4366
+ {
4367
+ "name": "deletePayment",
4368
+ "description": "Delete a manual payment.",
4369
+ "needsApproval": true,
4370
+ "approvalConfig": {
4371
+ "title": "Delete Payment",
4372
+ "description": "This will permanently delete a payment record. Please review carefully.",
4373
+ "warningText": "This action will permanently delete a payment record which may affect financial records and reconciliation. This cannot be undone.",
4374
+ "confirmText": "Delete Payment",
4375
+ "cancelText": "Cancel",
4376
+ "sensitiveFields": ["paymentId"]
4377
+ },
4378
+ "args": [
4379
+ {
4380
+ "name": "paymentId",
4381
+ "description": "The unique ID of the payment to delete.",
4382
+ "type": "string",
4383
+ "required": true,
4384
+ "position": "path"
4385
+ }
4386
+ ],
4387
+ "requestTemplate": {
4388
+ "url": "/payments/{paymentId}",
4389
+ "method": "DELETE",
4390
+ "headers": {
4391
+ "Content-Type": "application/json"
4392
+ }
4393
+ },
4394
+ "responseTemplate": {
4395
+ "prependBody": "## Payment Deleted\n\nPayment has been permanently deleted:\n\n"
4396
+ }
4397
+ },
4398
+ {
4399
+ "name": "deletePlan",
4400
+ "description": "Delete a plan from the system.",
4401
+ "needsApproval": true,
4402
+ "approvalConfig": {
4403
+ "title": "Delete Plan",
4404
+ "description": "This will permanently delete a plan. Please review carefully.",
4405
+ "warningText": "This action will permanently delete a plan which may affect pricing and billing for customers. This cannot be undone.",
4406
+ "confirmText": "Delete Plan",
4407
+ "cancelText": "Cancel",
4408
+ "sensitiveFields": ["planId"]
4409
+ },
4410
+ "args": [
4411
+ {
4412
+ "name": "planId",
4413
+ "description": "The unique ID of the plan to delete.",
4414
+ "type": "string",
4415
+ "required": true,
4416
+ "position": "path"
4417
+ }
4418
+ ],
4419
+ "requestTemplate": {
4420
+ "url": "/plans/{planId}",
4421
+ "method": "DELETE",
4422
+ "headers": {
4423
+ "Content-Type": "application/json"
4424
+ }
4425
+ },
4426
+ "responseTemplate": {
4427
+ "prependBody": "## Plan Deleted\n\nPlan has been permanently deleted:\n\n"
4428
+ }
4429
+ },
4430
+ {
4431
+ "name": "deletePlanPhase",
4432
+ "description": "Delete a plan phase.",
4433
+ "needsApproval": true,
4434
+ "approvalConfig": {
4435
+ "title": "Delete Plan Phase",
4436
+ "description": "This will permanently delete a plan phase. Please review carefully.",
4437
+ "warningText": "This action will permanently delete a plan phase which may affect pricing and billing for customers. This cannot be undone.",
4438
+ "confirmText": "Delete Plan Phase",
4439
+ "cancelText": "Cancel",
4440
+ "sensitiveFields": ["planId", "phaseId"]
4441
+ },
4442
+ "args": [
4443
+ {
4444
+ "name": "planId",
4445
+ "description": "The unique ID of the plan.",
4446
+ "type": "string",
4447
+ "required": true,
4448
+ "position": "path"
4449
+ },
4450
+ {
4451
+ "name": "phaseId",
4452
+ "description": "The unique ID of the phase to delete.",
4453
+ "type": "string",
4454
+ "required": true,
4455
+ "position": "path"
4456
+ }
4457
+ ],
4458
+ "requestTemplate": {
4459
+ "url": "/plans/{planId}/phases/{phaseId}",
4460
+ "method": "DELETE",
4461
+ "headers": {
4462
+ "Content-Type": "application/json"
4463
+ }
4464
+ },
4465
+ "responseTemplate": {
4466
+ "prependBody": "## Plan Phase Deleted\n\nPlan phase has been permanently deleted:\n\n"
4467
+ }
4468
+ },
4469
+ {
4470
+ "name": "deletePlanPhasePricing",
4471
+ "description": "Delete plan phase pricing.",
4472
+ "needsApproval": true,
4473
+ "approvalConfig": {
4474
+ "title": "Delete Plan Phase Pricing",
4475
+ "description": "This will permanently delete plan phase pricing. Please review carefully.",
4476
+ "warningText": "This action will permanently delete plan phase pricing which may affect billing calculations for customers. This cannot be undone.",
4477
+ "confirmText": "Delete Plan Phase Pricing",
4478
+ "cancelText": "Cancel",
4479
+ "sensitiveFields": ["planId", "phaseId", "pricingId"]
4480
+ },
4481
+ "args": [
4482
+ {
4483
+ "name": "planId",
4484
+ "description": "The unique ID of the plan.",
4485
+ "type": "string",
4486
+ "required": true,
4487
+ "position": "path"
4488
+ },
4489
+ {
4490
+ "name": "phaseId",
4491
+ "description": "The unique ID of the phase.",
4492
+ "type": "string",
4493
+ "required": true,
4494
+ "position": "path"
4495
+ },
4496
+ {
4497
+ "name": "pricingId",
4498
+ "description": "The unique ID of the pricing to delete.",
4499
+ "type": "string",
4500
+ "required": true,
4501
+ "position": "path"
4502
+ }
4503
+ ],
4504
+ "requestTemplate": {
4505
+ "url": "/plans/{planId}/phases/{phaseId}/pricing/{pricingId}",
4506
+ "method": "DELETE",
4507
+ "headers": {
4508
+ "Content-Type": "application/json"
4509
+ }
4510
+ },
4511
+ "responseTemplate": {
4512
+ "prependBody": "## Plan Phase Pricing Deleted\n\nPlan phase pricing has been permanently deleted:\n\n"
4513
+ }
4514
+ },
4515
+ {
4516
+ "name": "deleteProduct",
4517
+ "description": "Delete a product from the system.",
4518
+ "needsApproval": true,
4519
+ "approvalConfig": {
4520
+ "title": "Delete Product",
4521
+ "description": "This will permanently delete a product. Please review carefully.",
4522
+ "warningText": "This action will permanently delete a product which may affect pricing and billing for customers. This cannot be undone.",
4523
+ "confirmText": "Delete Product",
4524
+ "cancelText": "Cancel",
4525
+ "sensitiveFields": ["productId"]
4526
+ },
4527
+ "args": [
4528
+ {
4529
+ "name": "productId",
4530
+ "description": "The unique ID of the product to delete.",
4531
+ "type": "string",
4532
+ "required": true,
4533
+ "position": "path"
4534
+ }
4535
+ ],
4536
+ "requestTemplate": {
4537
+ "url": "/products/{productId}",
4538
+ "method": "DELETE",
4539
+ "headers": {
4540
+ "Content-Type": "application/json"
4541
+ }
4542
+ },
4543
+ "responseTemplate": {
4544
+ "prependBody": "## Product Deleted\n\nProduct has been permanently deleted:\n\n"
4545
+ }
4546
+ },
4547
+ {
4548
+ "name": "deleteProductPricing",
4549
+ "description": "Delete product pricing.",
4550
+ "needsApproval": true,
4551
+ "approvalConfig": {
4552
+ "title": "Delete Product Pricing",
4553
+ "description": "This will permanently delete product pricing. Please review carefully.",
4554
+ "warningText": "This action will permanently delete product pricing which may affect billing calculations for customers. This cannot be undone.",
4555
+ "confirmText": "Delete Product Pricing",
4556
+ "cancelText": "Cancel",
4557
+ "sensitiveFields": ["productId", "pricingId"]
4558
+ },
4559
+ "args": [
4560
+ {
4561
+ "name": "productId",
4562
+ "description": "The unique ID of the product.",
4563
+ "type": "string",
4564
+ "required": true,
4565
+ "position": "path"
4566
+ },
4567
+ {
4568
+ "name": "pricingId",
4569
+ "description": "The unique ID of the pricing to delete.",
4570
+ "type": "string",
4571
+ "required": true,
4572
+ "position": "path"
4573
+ }
4574
+ ],
4575
+ "requestTemplate": {
4576
+ "url": "/products/{productId}/pricing/{pricingId}",
4577
+ "method": "DELETE",
4578
+ "headers": {
4579
+ "Content-Type": "application/json"
4580
+ }
4581
+ },
4582
+ "responseTemplate": {
4583
+ "prependBody": "## Product Pricing Deleted\n\nProduct pricing has been permanently deleted:\n\n"
4584
+ }
4585
+ }
4586
+ ]
4587
+ }