mcp-zenskar 1.3.0 → 2.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.
- package/README.md +62 -15
- package/dist/mcp-config.json +475 -15
- package/dist/server.mjs +17 -17
- package/dist/ui/app.html +15 -0
- package/package.json +26 -11
package/dist/mcp-config.json
CHANGED
|
@@ -517,6 +517,30 @@
|
|
|
517
517
|
"prependBody": "## Invoice Download\n\nThe invoice content is:\n\n"
|
|
518
518
|
}
|
|
519
519
|
},
|
|
520
|
+
{
|
|
521
|
+
"name": "getInvoicePreviewHtml",
|
|
522
|
+
"description": "Get the rendered HTML preview of an invoice. Returns the invoice as it would appear when sent to the customer. Use this to show the customer-facing invoice layout.",
|
|
523
|
+
"args": [
|
|
524
|
+
{
|
|
525
|
+
"name": "orgId",
|
|
526
|
+
"description": "Organization ID (auto-populated).",
|
|
527
|
+
"type": "string",
|
|
528
|
+
"required": false,
|
|
529
|
+
"position": "path"
|
|
530
|
+
},
|
|
531
|
+
{
|
|
532
|
+
"name": "invoiceId",
|
|
533
|
+
"description": "The ID of the invoice to preview.",
|
|
534
|
+
"type": "string",
|
|
535
|
+
"required": true,
|
|
536
|
+
"position": "path"
|
|
537
|
+
}
|
|
538
|
+
],
|
|
539
|
+
"requestTemplate": {
|
|
540
|
+
"url": "/communications/{orgId}/invoice/{invoiceId}/html",
|
|
541
|
+
"method": "GET"
|
|
542
|
+
}
|
|
543
|
+
},
|
|
520
544
|
{
|
|
521
545
|
"name": "getInvoiceContractJsonActuals",
|
|
522
546
|
"description": "Get contract actuals in JSON format for a specific invoice.",
|
|
@@ -679,7 +703,7 @@
|
|
|
679
703
|
},
|
|
680
704
|
{
|
|
681
705
|
"name": "listAggregates",
|
|
682
|
-
"description": "List Billable Metrics
|
|
706
|
+
"description": "List Billable Metrics in paginated form, with filtering by ID, name, and data source.",
|
|
683
707
|
"args": [
|
|
684
708
|
{
|
|
685
709
|
"name": "cursor",
|
|
@@ -746,6 +770,22 @@
|
|
|
746
770
|
"type": "string",
|
|
747
771
|
"required": false,
|
|
748
772
|
"position": "query"
|
|
773
|
+
},
|
|
774
|
+
{
|
|
775
|
+
"name": "parent_aggregate_id__isnull",
|
|
776
|
+
"description": "Whether to include only top-level aggregates (no parent). Defaults to true.",
|
|
777
|
+
"type": "boolean",
|
|
778
|
+
"required": false,
|
|
779
|
+
"default": true,
|
|
780
|
+
"position": "query"
|
|
781
|
+
},
|
|
782
|
+
{
|
|
783
|
+
"name": "aggregate_type__isnull",
|
|
784
|
+
"description": "Whether to include only aggregates without an explicit type. Defaults to true.",
|
|
785
|
+
"type": "boolean",
|
|
786
|
+
"required": false,
|
|
787
|
+
"default": true,
|
|
788
|
+
"position": "query"
|
|
749
789
|
}
|
|
750
790
|
],
|
|
751
791
|
"requestTemplate": {
|
|
@@ -753,12 +793,12 @@
|
|
|
753
793
|
"method": "GET"
|
|
754
794
|
},
|
|
755
795
|
"responseTemplate": {
|
|
756
|
-
"prependBody": "## Billable Metrics
|
|
796
|
+
"prependBody": "## Billable Metrics\n\nHere is the list of billable metrics:\n\n"
|
|
757
797
|
}
|
|
758
798
|
},
|
|
759
799
|
{
|
|
760
800
|
"name": "getAggregateSchemas",
|
|
761
|
-
"description": "Show the underlying storage/schema definitions for Billable Metrics
|
|
801
|
+
"description": "Show the underlying storage/schema definitions for Billable Metrics. Mainly useful for advanced debugging, SQL/schema inspection, and integration work rather than day-to-day business operations.",
|
|
762
802
|
"args": [],
|
|
763
803
|
"requestTemplate": {
|
|
764
804
|
"url": "/aggregates/tables/schema",
|
|
@@ -770,7 +810,7 @@
|
|
|
770
810
|
},
|
|
771
811
|
{
|
|
772
812
|
"name": "getAggregateEstimates",
|
|
773
|
-
"description": "Get Billable Metric estimates based on the specified criteria.
|
|
813
|
+
"description": "Get Billable Metric estimates based on the specified criteria.",
|
|
774
814
|
"args": [
|
|
775
815
|
{
|
|
776
816
|
"name": "aggregate_id",
|
|
@@ -819,7 +859,7 @@
|
|
|
819
859
|
},
|
|
820
860
|
{
|
|
821
861
|
"name": "getAggregateById",
|
|
822
|
-
"description": "Get the details of a Billable Metric by its ID.
|
|
862
|
+
"description": "Get the details of a Billable Metric by its ID.",
|
|
823
863
|
"args": [
|
|
824
864
|
{
|
|
825
865
|
"name": "aggregateId",
|
|
@@ -893,9 +933,187 @@
|
|
|
893
933
|
"prependBody": "## Billable Metric Logs\n\nHere are the logs for the specified Billable Metric (aggregate):\n\n"
|
|
894
934
|
}
|
|
895
935
|
},
|
|
936
|
+
{
|
|
937
|
+
"name": "createAggregate",
|
|
938
|
+
"description": "Create a new Billable Metric. Requires a name, data schema, aggregation queries, visual query builder config, and a data source. Host enforces user confirmation via the approval gate; do NOT ask the user to re-confirm before calling.",
|
|
939
|
+
"needsApproval": true,
|
|
940
|
+
"approvalConfig": {
|
|
941
|
+
"title": "Create Billable Metric",
|
|
942
|
+
"description": "This will create a new billable metric (aggregate) in your system.",
|
|
943
|
+
"warningText": "This action will create a new billable metric definition that may be used in pricing and billing configurations.",
|
|
944
|
+
"confirmText": "Create Billable Metric",
|
|
945
|
+
"cancelText": "Cancel",
|
|
946
|
+
"sensitiveFields": ["name", "datasource"]
|
|
947
|
+
},
|
|
948
|
+
"args": [
|
|
949
|
+
{
|
|
950
|
+
"name": "name",
|
|
951
|
+
"description": "Name of the billable metric (required).",
|
|
952
|
+
"type": "string",
|
|
953
|
+
"required": true,
|
|
954
|
+
"position": "body"
|
|
955
|
+
},
|
|
956
|
+
{
|
|
957
|
+
"name": "dataschema",
|
|
958
|
+
"description": "Data schema of the aggregate (JSON string, required).",
|
|
959
|
+
"type": "string",
|
|
960
|
+
"required": true,
|
|
961
|
+
"position": "body"
|
|
962
|
+
},
|
|
963
|
+
{
|
|
964
|
+
"name": "aggregation_query",
|
|
965
|
+
"description": "Aggregate query — SQL/Jinja template for computing the metric (required).",
|
|
966
|
+
"type": "string",
|
|
967
|
+
"required": true,
|
|
968
|
+
"position": "body"
|
|
969
|
+
},
|
|
970
|
+
{
|
|
971
|
+
"name": "cust_agg_query",
|
|
972
|
+
"description": "Customer aggregate query — SQL/Jinja template for customer-level computation (required).",
|
|
973
|
+
"type": "string",
|
|
974
|
+
"required": true,
|
|
975
|
+
"position": "body"
|
|
976
|
+
},
|
|
977
|
+
{
|
|
978
|
+
"name": "visual_query_builder",
|
|
979
|
+
"description": "Visual query builder configuration object (required).",
|
|
980
|
+
"type": "object",
|
|
981
|
+
"required": true,
|
|
982
|
+
"position": "body"
|
|
983
|
+
},
|
|
984
|
+
{
|
|
985
|
+
"name": "datasource",
|
|
986
|
+
"description": "Data source UUID (required).",
|
|
987
|
+
"type": "string",
|
|
988
|
+
"required": true,
|
|
989
|
+
"position": "body"
|
|
990
|
+
}
|
|
991
|
+
],
|
|
992
|
+
"requestTemplate": {
|
|
993
|
+
"url": "/aggregates",
|
|
994
|
+
"method": "POST",
|
|
995
|
+
"headers": {
|
|
996
|
+
"Content-Type": "application/json"
|
|
997
|
+
}
|
|
998
|
+
},
|
|
999
|
+
"responseTemplate": {
|
|
1000
|
+
"prependBody": "## Billable Metric Created\n\nNew billable metric (aggregate) has been successfully created:\n\n"
|
|
1001
|
+
}
|
|
1002
|
+
},
|
|
1003
|
+
{
|
|
1004
|
+
"name": "updateAggregate",
|
|
1005
|
+
"description": "Update an existing Billable Metric. All body fields are optional — only send fields you want to change. Host enforces user confirmation via the approval gate; do NOT ask the user to re-confirm before calling.",
|
|
1006
|
+
"needsApproval": true,
|
|
1007
|
+
"approvalConfig": {
|
|
1008
|
+
"title": "Update Billable Metric",
|
|
1009
|
+
"description": "This will update the specified billable metric (aggregate). Please review the changes carefully.",
|
|
1010
|
+
"warningText": "This action will modify the billable metric definition which may affect active pricing and billing configurations.",
|
|
1011
|
+
"confirmText": "Update Billable Metric",
|
|
1012
|
+
"cancelText": "Cancel",
|
|
1013
|
+
"sensitiveFields": [
|
|
1014
|
+
"aggregateId",
|
|
1015
|
+
"name",
|
|
1016
|
+
"aggregation_query",
|
|
1017
|
+
"datasource"
|
|
1018
|
+
]
|
|
1019
|
+
},
|
|
1020
|
+
"args": [
|
|
1021
|
+
{
|
|
1022
|
+
"name": "aggregateId",
|
|
1023
|
+
"description": "The unique identifier (UUID) of the billable metric (aggregate) to update.",
|
|
1024
|
+
"type": "string",
|
|
1025
|
+
"required": true,
|
|
1026
|
+
"position": "path"
|
|
1027
|
+
},
|
|
1028
|
+
{
|
|
1029
|
+
"name": "name",
|
|
1030
|
+
"description": "Updated name of the billable metric.",
|
|
1031
|
+
"type": "string",
|
|
1032
|
+
"required": false,
|
|
1033
|
+
"position": "body"
|
|
1034
|
+
},
|
|
1035
|
+
{
|
|
1036
|
+
"name": "dataschema",
|
|
1037
|
+
"description": "Updated data schema (JSON string).",
|
|
1038
|
+
"type": "string",
|
|
1039
|
+
"required": false,
|
|
1040
|
+
"position": "body"
|
|
1041
|
+
},
|
|
1042
|
+
{
|
|
1043
|
+
"name": "aggregation_query",
|
|
1044
|
+
"description": "Updated aggregate query (SQL/Jinja template).",
|
|
1045
|
+
"type": "string",
|
|
1046
|
+
"required": false,
|
|
1047
|
+
"position": "body"
|
|
1048
|
+
},
|
|
1049
|
+
{
|
|
1050
|
+
"name": "cust_agg_query",
|
|
1051
|
+
"description": "Updated customer aggregate query (SQL/Jinja template).",
|
|
1052
|
+
"type": "string",
|
|
1053
|
+
"required": false,
|
|
1054
|
+
"position": "body"
|
|
1055
|
+
},
|
|
1056
|
+
{
|
|
1057
|
+
"name": "visual_query_builder",
|
|
1058
|
+
"description": "Updated visual query builder configuration.",
|
|
1059
|
+
"type": "object",
|
|
1060
|
+
"required": false,
|
|
1061
|
+
"position": "body"
|
|
1062
|
+
},
|
|
1063
|
+
{
|
|
1064
|
+
"name": "datasource",
|
|
1065
|
+
"description": "Updated data source UUID.",
|
|
1066
|
+
"type": "string",
|
|
1067
|
+
"required": false,
|
|
1068
|
+
"position": "body"
|
|
1069
|
+
}
|
|
1070
|
+
],
|
|
1071
|
+
"requestTemplate": {
|
|
1072
|
+
"url": "/aggregates/{aggregateId}",
|
|
1073
|
+
"method": "PATCH",
|
|
1074
|
+
"headers": {
|
|
1075
|
+
"Content-Type": "application/json"
|
|
1076
|
+
}
|
|
1077
|
+
},
|
|
1078
|
+
"responseTemplate": {
|
|
1079
|
+
"prependBody": "## Billable Metric Updated\n\nThe billable metric (aggregate) has been successfully updated:\n\n"
|
|
1080
|
+
}
|
|
1081
|
+
},
|
|
1082
|
+
{
|
|
1083
|
+
"name": "deleteAggregate",
|
|
1084
|
+
"description": "Permanently delete a Billable Metric. DESTRUCTIVE: cannot be undone. ONLY call when the user explicitly says 'delete' or 'remove' for THIS billable metric. Host enforces user confirmation via the approval gate; do NOT ask the user to re-confirm before calling.",
|
|
1085
|
+
"needsApproval": true,
|
|
1086
|
+
"approvalConfig": {
|
|
1087
|
+
"title": "Delete Billable Metric",
|
|
1088
|
+
"description": "This will permanently delete the billable metric (aggregate).",
|
|
1089
|
+
"warningText": "DESTRUCTIVE — this cannot be undone. This may affect active pricing configurations and billing that reference this metric.",
|
|
1090
|
+
"confirmText": "Delete Billable Metric",
|
|
1091
|
+
"cancelText": "Cancel",
|
|
1092
|
+
"sensitiveFields": ["aggregateId"]
|
|
1093
|
+
},
|
|
1094
|
+
"args": [
|
|
1095
|
+
{
|
|
1096
|
+
"name": "aggregateId",
|
|
1097
|
+
"description": "The unique identifier (UUID) of the billable metric (aggregate) to delete.",
|
|
1098
|
+
"type": "string",
|
|
1099
|
+
"required": true,
|
|
1100
|
+
"position": "path"
|
|
1101
|
+
}
|
|
1102
|
+
],
|
|
1103
|
+
"requestTemplate": {
|
|
1104
|
+
"url": "/aggregates/{aggregateId}",
|
|
1105
|
+
"method": "DELETE",
|
|
1106
|
+
"headers": {
|
|
1107
|
+
"Content-Type": "application/json"
|
|
1108
|
+
}
|
|
1109
|
+
},
|
|
1110
|
+
"responseTemplate": {
|
|
1111
|
+
"prependBody": "## Billable Metric Deleted\n\n"
|
|
1112
|
+
}
|
|
1113
|
+
},
|
|
896
1114
|
{
|
|
897
1115
|
"name": "listRawMetrics",
|
|
898
|
-
"description": "List Usage Events.
|
|
1116
|
+
"description": "List Usage Events. Supports filtering by ID, name, and API slug.",
|
|
899
1117
|
"args": [
|
|
900
1118
|
{
|
|
901
1119
|
"name": "cursor",
|
|
@@ -969,16 +1187,16 @@
|
|
|
969
1187
|
"method": "GET"
|
|
970
1188
|
},
|
|
971
1189
|
"responseTemplate": {
|
|
972
|
-
"prependBody": "## Usage Events\n\nHere is the list of usage events
|
|
1190
|
+
"prependBody": "## Usage Events\n\nHere is the list of usage events:\n\n"
|
|
973
1191
|
}
|
|
974
1192
|
},
|
|
975
1193
|
{
|
|
976
1194
|
"name": "createRawMetric",
|
|
977
|
-
"description": "Create a new Usage Event schema.
|
|
1195
|
+
"description": "Create a new Usage Event schema. This defines the schema used for ingesting usage events. Host enforces user confirmation via the approval gate; do NOT ask the user to re-confirm before calling.",
|
|
978
1196
|
"needsApproval": true,
|
|
979
1197
|
"approvalConfig": {
|
|
980
1198
|
"title": "Create Usage Event Schema",
|
|
981
|
-
"description": "This will create a new Usage Event schema
|
|
1199
|
+
"description": "This will create a new Usage Event schema and provision its event schema. Please review the payload carefully.",
|
|
982
1200
|
"warningText": "Ensure the dataschema and slug values are correct before continuing.",
|
|
983
1201
|
"confirmText": "Create Usage Event Schema",
|
|
984
1202
|
"cancelText": "Cancel",
|
|
@@ -1001,7 +1219,7 @@
|
|
|
1001
1219
|
},
|
|
1002
1220
|
{
|
|
1003
1221
|
"name": "dataschema",
|
|
1004
|
-
"description": "Data schema of the Usage Event resource
|
|
1222
|
+
"description": "Data schema of the Usage Event resource. Structure: {\"data\": {custom_fields}, \"timestamp\": \"DateTime64\", \"customer_id\": \"String\"}. The 'timestamp' and 'customer_id' fields are mandatory schema fields for usage ingestion. The 'data' map must include only valid ClickHouse types (String, Int64, Float64, Date32, DateTime64, UUID, Bool); use 'Bool' instead of 'Boolean'.",
|
|
1005
1223
|
"type": "object",
|
|
1006
1224
|
"required": true,
|
|
1007
1225
|
"position": "body",
|
|
@@ -1042,7 +1260,7 @@
|
|
|
1042
1260
|
},
|
|
1043
1261
|
{
|
|
1044
1262
|
"name": "getRawMetricById",
|
|
1045
|
-
"description": "Get Usage Event details by ID.
|
|
1263
|
+
"description": "Get Usage Event details by ID.",
|
|
1046
1264
|
"args": [
|
|
1047
1265
|
{
|
|
1048
1266
|
"name": "rawMetricId",
|
|
@@ -1062,7 +1280,7 @@
|
|
|
1062
1280
|
},
|
|
1063
1281
|
{
|
|
1064
1282
|
"name": "getRawMetricLogs",
|
|
1065
|
-
"description": "Get recent Usage Event rows for a resource by ID. Returns the most recent event rows; backend does NOT support filters, pagination, ordering, or aggregation on this endpoint. For filtered/aggregated queries use the aggregate endpoints.
|
|
1283
|
+
"description": "Get recent Usage Event rows for a resource by ID. Returns the most recent event rows; backend does NOT support filters, pagination, ordering, or aggregation on this endpoint. For filtered/aggregated queries use the aggregate endpoints.",
|
|
1066
1284
|
"args": [
|
|
1067
1285
|
{
|
|
1068
1286
|
"name": "rawMetricId",
|
|
@@ -1082,7 +1300,7 @@
|
|
|
1082
1300
|
},
|
|
1083
1301
|
{
|
|
1084
1302
|
"name": "getRawMetricBySlug",
|
|
1085
|
-
"description": "Get Usage Event details by API slug.
|
|
1303
|
+
"description": "Get Usage Event details by API slug.",
|
|
1086
1304
|
"args": [
|
|
1087
1305
|
{
|
|
1088
1306
|
"name": "rawMetricSlug",
|
|
@@ -1849,6 +2067,232 @@
|
|
|
1849
2067
|
"prependBody": "## Entitlement Created\n\nNew entitlement has been successfully created:\n\n"
|
|
1850
2068
|
}
|
|
1851
2069
|
},
|
|
2070
|
+
{
|
|
2071
|
+
"name": "listEntitlements",
|
|
2072
|
+
"description": "List entitlements in paginated form, with filtering by ID, name, type, product, and active status.",
|
|
2073
|
+
"args": [
|
|
2074
|
+
{
|
|
2075
|
+
"name": "cursor",
|
|
2076
|
+
"description": "The cursor for pagination.",
|
|
2077
|
+
"type": "string",
|
|
2078
|
+
"required": false,
|
|
2079
|
+
"position": "query"
|
|
2080
|
+
},
|
|
2081
|
+
{
|
|
2082
|
+
"name": "limit",
|
|
2083
|
+
"description": "Maximum number of records to return per page (defaults to 50).",
|
|
2084
|
+
"type": "integer",
|
|
2085
|
+
"required": false,
|
|
2086
|
+
"position": "query"
|
|
2087
|
+
},
|
|
2088
|
+
{
|
|
2089
|
+
"name": "order",
|
|
2090
|
+
"description": "Order of results (e.g., '-created_at').",
|
|
2091
|
+
"type": "string",
|
|
2092
|
+
"required": false,
|
|
2093
|
+
"default": "-created_at",
|
|
2094
|
+
"position": "query"
|
|
2095
|
+
},
|
|
2096
|
+
{
|
|
2097
|
+
"name": "sort_key",
|
|
2098
|
+
"description": "Key to sort the results by.",
|
|
2099
|
+
"type": "string",
|
|
2100
|
+
"required": false,
|
|
2101
|
+
"default": "created_at",
|
|
2102
|
+
"position": "query"
|
|
2103
|
+
},
|
|
2104
|
+
{
|
|
2105
|
+
"name": "sort_type",
|
|
2106
|
+
"description": "Sort order type ('ASC' or 'DESC').",
|
|
2107
|
+
"type": "string",
|
|
2108
|
+
"required": false,
|
|
2109
|
+
"default": "DESC",
|
|
2110
|
+
"position": "query"
|
|
2111
|
+
},
|
|
2112
|
+
{
|
|
2113
|
+
"name": "search",
|
|
2114
|
+
"description": "Text search across entitlement fields.",
|
|
2115
|
+
"type": "string",
|
|
2116
|
+
"required": false,
|
|
2117
|
+
"position": "query"
|
|
2118
|
+
},
|
|
2119
|
+
{
|
|
2120
|
+
"name": "id",
|
|
2121
|
+
"description": "Filter by entitlement ID.",
|
|
2122
|
+
"type": "string",
|
|
2123
|
+
"required": false,
|
|
2124
|
+
"position": "query"
|
|
2125
|
+
},
|
|
2126
|
+
{
|
|
2127
|
+
"name": "name__ilike",
|
|
2128
|
+
"description": "Case-insensitive partial match for entitlement name.",
|
|
2129
|
+
"type": "string",
|
|
2130
|
+
"required": false,
|
|
2131
|
+
"position": "query"
|
|
2132
|
+
},
|
|
2133
|
+
{
|
|
2134
|
+
"name": "entitlement_type",
|
|
2135
|
+
"description": "Filter by entitlement type.",
|
|
2136
|
+
"type": "string",
|
|
2137
|
+
"required": false,
|
|
2138
|
+
"position": "query",
|
|
2139
|
+
"enum": ["Feature", "Quantity", "Credits"]
|
|
2140
|
+
},
|
|
2141
|
+
{
|
|
2142
|
+
"name": "is_active",
|
|
2143
|
+
"description": "Filter by active status.",
|
|
2144
|
+
"type": "boolean",
|
|
2145
|
+
"required": false,
|
|
2146
|
+
"position": "query"
|
|
2147
|
+
},
|
|
2148
|
+
{
|
|
2149
|
+
"name": "product_id",
|
|
2150
|
+
"description": "Filter by associated product ID.",
|
|
2151
|
+
"type": "string",
|
|
2152
|
+
"required": false,
|
|
2153
|
+
"position": "query"
|
|
2154
|
+
}
|
|
2155
|
+
],
|
|
2156
|
+
"requestTemplate": {
|
|
2157
|
+
"url": "/entitlements",
|
|
2158
|
+
"method": "GET"
|
|
2159
|
+
},
|
|
2160
|
+
"responseTemplate": {
|
|
2161
|
+
"prependBody": "## Entitlements\n\nHere is the list of entitlements:\n\n"
|
|
2162
|
+
}
|
|
2163
|
+
},
|
|
2164
|
+
{
|
|
2165
|
+
"name": "getEntitlementById",
|
|
2166
|
+
"description": "Get the details of an entitlement by its ID.",
|
|
2167
|
+
"args": [
|
|
2168
|
+
{
|
|
2169
|
+
"name": "entitlementId",
|
|
2170
|
+
"description": "The unique identifier (UUID) of the entitlement.",
|
|
2171
|
+
"type": "string",
|
|
2172
|
+
"required": true,
|
|
2173
|
+
"position": "path"
|
|
2174
|
+
}
|
|
2175
|
+
],
|
|
2176
|
+
"requestTemplate": {
|
|
2177
|
+
"url": "/entitlements/{entitlementId}",
|
|
2178
|
+
"method": "GET"
|
|
2179
|
+
},
|
|
2180
|
+
"responseTemplate": {
|
|
2181
|
+
"prependBody": "## Entitlement Details\n\nHere are the details for the specified entitlement:\n\n"
|
|
2182
|
+
}
|
|
2183
|
+
},
|
|
2184
|
+
{
|
|
2185
|
+
"name": "updateEntitlement",
|
|
2186
|
+
"description": "Update an existing entitlement's details. Host enforces user confirmation via the approval gate; do NOT ask the user to re-confirm before calling.",
|
|
2187
|
+
"needsApproval": true,
|
|
2188
|
+
"approvalConfig": {
|
|
2189
|
+
"title": "Update Entitlement",
|
|
2190
|
+
"description": "This will update the specified entitlement. Please review the changes carefully.",
|
|
2191
|
+
"warningText": "This action will modify the entitlement record which may affect billing and access control.",
|
|
2192
|
+
"confirmText": "Update Entitlement",
|
|
2193
|
+
"cancelText": "Cancel",
|
|
2194
|
+
"sensitiveFields": [
|
|
2195
|
+
"entitlementId",
|
|
2196
|
+
"name",
|
|
2197
|
+
"entitlement_type",
|
|
2198
|
+
"product_id"
|
|
2199
|
+
]
|
|
2200
|
+
},
|
|
2201
|
+
"args": [
|
|
2202
|
+
{
|
|
2203
|
+
"name": "entitlementId",
|
|
2204
|
+
"description": "The unique identifier (UUID) of the entitlement to update.",
|
|
2205
|
+
"type": "string",
|
|
2206
|
+
"required": true,
|
|
2207
|
+
"position": "path"
|
|
2208
|
+
},
|
|
2209
|
+
{
|
|
2210
|
+
"name": "name",
|
|
2211
|
+
"description": "Updated entitlement name.",
|
|
2212
|
+
"type": "string",
|
|
2213
|
+
"required": true,
|
|
2214
|
+
"position": "body"
|
|
2215
|
+
},
|
|
2216
|
+
{
|
|
2217
|
+
"name": "description",
|
|
2218
|
+
"description": "Updated entitlement description.",
|
|
2219
|
+
"type": "string",
|
|
2220
|
+
"required": false,
|
|
2221
|
+
"position": "body"
|
|
2222
|
+
},
|
|
2223
|
+
{
|
|
2224
|
+
"name": "entitlement_type",
|
|
2225
|
+
"description": "Updated type of entitlement.",
|
|
2226
|
+
"type": "string",
|
|
2227
|
+
"required": false,
|
|
2228
|
+
"position": "body",
|
|
2229
|
+
"enum": ["Feature", "Quantity", "Credits"]
|
|
2230
|
+
},
|
|
2231
|
+
{
|
|
2232
|
+
"name": "units",
|
|
2233
|
+
"description": "Updated units for the entitlement (e.g., 'units', 'GB', 'users').",
|
|
2234
|
+
"type": "string",
|
|
2235
|
+
"required": false,
|
|
2236
|
+
"position": "body"
|
|
2237
|
+
},
|
|
2238
|
+
{
|
|
2239
|
+
"name": "is_active",
|
|
2240
|
+
"description": "Whether the entitlement is active.",
|
|
2241
|
+
"type": "boolean",
|
|
2242
|
+
"required": false,
|
|
2243
|
+
"position": "body"
|
|
2244
|
+
},
|
|
2245
|
+
{
|
|
2246
|
+
"name": "product_id",
|
|
2247
|
+
"description": "Updated associated product ID (UUID format).",
|
|
2248
|
+
"type": "string",
|
|
2249
|
+
"required": false,
|
|
2250
|
+
"position": "body"
|
|
2251
|
+
}
|
|
2252
|
+
],
|
|
2253
|
+
"requestTemplate": {
|
|
2254
|
+
"url": "/entitlements/{entitlementId}",
|
|
2255
|
+
"method": "PATCH",
|
|
2256
|
+
"headers": {
|
|
2257
|
+
"Content-Type": "application/json"
|
|
2258
|
+
}
|
|
2259
|
+
},
|
|
2260
|
+
"responseTemplate": {
|
|
2261
|
+
"prependBody": "## Entitlement Updated\n\nThe entitlement has been successfully updated:\n\n"
|
|
2262
|
+
}
|
|
2263
|
+
},
|
|
2264
|
+
{
|
|
2265
|
+
"name": "deleteEntitlement",
|
|
2266
|
+
"description": "Permanently delete an entitlement. DESTRUCTIVE: cannot be undone. ONLY call when the user explicitly says 'delete' or 'remove' for THIS entitlement. Host enforces user confirmation via the approval gate; do NOT ask the user to re-confirm before calling.",
|
|
2267
|
+
"needsApproval": true,
|
|
2268
|
+
"approvalConfig": {
|
|
2269
|
+
"title": "Delete Entitlement",
|
|
2270
|
+
"description": "This will permanently delete the entitlement.",
|
|
2271
|
+
"warningText": "DESTRUCTIVE — this cannot be undone. This may affect billing and access control for customers using this entitlement.",
|
|
2272
|
+
"confirmText": "Delete Entitlement",
|
|
2273
|
+
"cancelText": "Cancel",
|
|
2274
|
+
"sensitiveFields": ["entitlementId"]
|
|
2275
|
+
},
|
|
2276
|
+
"args": [
|
|
2277
|
+
{
|
|
2278
|
+
"name": "entitlementId",
|
|
2279
|
+
"description": "The unique identifier (UUID) of the entitlement to delete.",
|
|
2280
|
+
"type": "string",
|
|
2281
|
+
"required": true,
|
|
2282
|
+
"position": "path"
|
|
2283
|
+
}
|
|
2284
|
+
],
|
|
2285
|
+
"requestTemplate": {
|
|
2286
|
+
"url": "/entitlements/{entitlementId}",
|
|
2287
|
+
"method": "DELETE",
|
|
2288
|
+
"headers": {
|
|
2289
|
+
"Content-Type": "application/json"
|
|
2290
|
+
}
|
|
2291
|
+
},
|
|
2292
|
+
"responseTemplate": {
|
|
2293
|
+
"prependBody": "## Entitlement Deleted\n\n"
|
|
2294
|
+
}
|
|
2295
|
+
},
|
|
1852
2296
|
{
|
|
1853
2297
|
"name": "approveInvoice",
|
|
1854
2298
|
"description": "Approve an invoice; sets status to approved. Host enforces user confirmation via the approval gate; do NOT ask the user to re-confirm before calling.",
|
|
@@ -2408,11 +2852,11 @@
|
|
|
2408
2852
|
},
|
|
2409
2853
|
{
|
|
2410
2854
|
"name": "ingestRawMetricEvent",
|
|
2411
|
-
"description": "Ingest a Usage Event for the specified resource slug.
|
|
2855
|
+
"description": "Ingest a Usage Event for the specified resource slug. Host enforces user confirmation via the approval gate; do NOT ask the user to re-confirm before calling.",
|
|
2412
2856
|
"needsApproval": true,
|
|
2413
2857
|
"approvalConfig": {
|
|
2414
2858
|
"title": "Ingest Usage Event",
|
|
2415
|
-
"description": "This will ingest a Usage Event for the selected Usage Event schema
|
|
2859
|
+
"description": "This will ingest a Usage Event for the selected Usage Event schema. Review the payload carefully.",
|
|
2416
2860
|
"warningText": "Ensure the data payload matches the Usage Event schema (raw metric schema) before proceeding.",
|
|
2417
2861
|
"confirmText": "Ingest Usage Event",
|
|
2418
2862
|
"cancelText": "Cancel",
|
|
@@ -3907,6 +4351,22 @@
|
|
|
3907
4351
|
"type": "string",
|
|
3908
4352
|
"required": false,
|
|
3909
4353
|
"position": "query"
|
|
4354
|
+
},
|
|
4355
|
+
{
|
|
4356
|
+
"name": "type",
|
|
4357
|
+
"description": "Filter by product object type. Defaults to 'product' (excludes plans, addons, etc.).",
|
|
4358
|
+
"type": "string",
|
|
4359
|
+
"required": false,
|
|
4360
|
+
"default": "product",
|
|
4361
|
+
"position": "query"
|
|
4362
|
+
},
|
|
4363
|
+
{
|
|
4364
|
+
"name": "product_category__isnull",
|
|
4365
|
+
"description": "Whether to include only products without a category. Defaults to true.",
|
|
4366
|
+
"type": "boolean",
|
|
4367
|
+
"required": false,
|
|
4368
|
+
"default": true,
|
|
4369
|
+
"position": "query"
|
|
3910
4370
|
}
|
|
3911
4371
|
],
|
|
3912
4372
|
"requestTemplate": {
|