@epilot/cli 0.1.26 → 0.1.27

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.
@@ -2036,7 +2036,6 @@
2036
2036
  "unit_amount_gross_decimal": "25",
2037
2037
  "unit_amount_net": 25,
2038
2038
  "unit_amount_net_decimal": "25",
2039
- "billing_period": null,
2040
2039
  "type": "one_time",
2041
2040
  "taxes": [],
2042
2041
  "pricing_model": "per_unit",
@@ -2109,20 +2108,22 @@
2109
2108
  "amount_subtotal_decimal": "25",
2110
2109
  "amount_subtotal": 2500,
2111
2110
  "unit_amount": 25,
2112
- "unit_amount_gross": 29.75,
2111
+ "unit_amount_gross": 2975,
2113
2112
  "unit_amount_gross_decimal": "29.75",
2114
2113
  "unit_amount_net": 25,
2115
2114
  "unit_amount_net_decimal": "25",
2116
- "billing_period": null,
2117
2115
  "type": "one_time",
2118
2116
  "taxes": [
2119
2117
  {
2120
2118
  "tax": {
2121
- "_id": "tax-vat-19",
2122
- "name": "VAT",
2119
+ "_id": "24641e82-0690-4135-8b43-ef12a9b1c5dc",
2120
+ "_title": "VAT 19%",
2121
+ "_org": "728",
2122
+ "_schema": "tax",
2123
+ "_created_at": "2024-01-01T00:00:00.000Z",
2124
+ "_updated_at": "2024-01-01T00:00:00.000Z",
2123
2125
  "type": "VAT",
2124
- "rate": 19,
2125
- "region": "DE"
2126
+ "rate": 19
2126
2127
  },
2127
2128
  "amount": 475
2128
2129
  }
@@ -2140,15 +2141,16 @@
2140
2141
  "is_composite_price": false,
2141
2142
  "pricing_model": "per_unit",
2142
2143
  "price_display_in_journeys": "show_price",
2143
- "tax": [
2144
- {
2145
- "_id": "tax-vat-19",
2146
- "name": "VAT",
2147
- "type": "VAT",
2148
- "rate": 19,
2149
- "region": "DE"
2150
- }
2151
- ]
2144
+ "tax": {
2145
+ "_id": "24641e82-0690-4135-8b43-ef12a9b1c5dc",
2146
+ "_title": "VAT 19%",
2147
+ "_org": "728",
2148
+ "_schema": "tax",
2149
+ "_created_at": "2024-01-01T00:00:00.000Z",
2150
+ "_updated_at": "2024-01-01T00:00:00.000Z",
2151
+ "type": "VAT",
2152
+ "rate": 19
2153
+ }
2152
2154
  },
2153
2155
  "_product": {
2154
2156
  "_id": "product-93f857a4",
@@ -2168,11 +2170,14 @@
2168
2170
  "taxes": [
2169
2171
  {
2170
2172
  "tax": {
2171
- "_id": "tax-vat-19",
2172
- "name": "VAT",
2173
+ "_id": "24641e82-0690-4135-8b43-ef12a9b1c5dc",
2174
+ "_title": "VAT 19%",
2175
+ "_org": "728",
2176
+ "_schema": "tax",
2177
+ "_created_at": "2024-01-01T00:00:00.000Z",
2178
+ "_updated_at": "2024-01-01T00:00:00.000Z",
2173
2179
  "type": "VAT",
2174
- "rate": 19,
2175
- "region": "DE"
2180
+ "rate": 19
2176
2181
  },
2177
2182
  "amount": 475
2178
2183
  }
@@ -2722,6 +2727,17 @@
2722
2727
  "tags": [
2723
2728
  "External Catalog API"
2724
2729
  ],
2730
+ "parameters": [
2731
+ {
2732
+ "in": "header",
2733
+ "name": "x-epilot-org-id",
2734
+ "schema": {
2735
+ "type": "string"
2736
+ },
2737
+ "required": false,
2738
+ "description": "Organization ID (required when not using EpilotPublicAuth token)"
2739
+ }
2740
+ ],
2725
2741
  "requestBody": {
2726
2742
  "required": true,
2727
2743
  "content": {
@@ -2872,6 +2888,17 @@
2872
2888
  "tags": [
2873
2889
  "External Catalog API"
2874
2890
  ],
2891
+ "parameters": [
2892
+ {
2893
+ "in": "header",
2894
+ "name": "x-epilot-org-id",
2895
+ "schema": {
2896
+ "type": "string"
2897
+ },
2898
+ "required": false,
2899
+ "description": "Organization ID (required when not using EpilotPublicAuth token)"
2900
+ }
2901
+ ],
2875
2902
  "requestBody": {
2876
2903
  "required": true,
2877
2904
  "content": {
@@ -3003,7 +3030,6 @@
3003
3030
  "unit_amount_gross_decimal": "25",
3004
3031
  "unit_amount_net": 25,
3005
3032
  "unit_amount_net_decimal": "25",
3006
- "billing_period": null,
3007
3033
  "type": "one_time",
3008
3034
  "taxes": [],
3009
3035
  "pricing_model": "per_unit",
@@ -3076,20 +3102,22 @@
3076
3102
  "amount_subtotal_decimal": "25",
3077
3103
  "amount_subtotal": 2500,
3078
3104
  "unit_amount": 25,
3079
- "unit_amount_gross": 29.75,
3105
+ "unit_amount_gross": 2975,
3080
3106
  "unit_amount_gross_decimal": "29.75",
3081
3107
  "unit_amount_net": 25,
3082
3108
  "unit_amount_net_decimal": "25",
3083
- "billing_period": null,
3084
3109
  "type": "one_time",
3085
3110
  "taxes": [
3086
3111
  {
3087
3112
  "tax": {
3088
- "_id": "tax-vat-19",
3089
- "name": "VAT",
3113
+ "_id": "24641e82-0690-4135-8b43-ef12a9b1c5dc",
3114
+ "_title": "VAT 19%",
3115
+ "_org": "728",
3116
+ "_schema": "tax",
3117
+ "_created_at": "2024-01-01T00:00:00.000Z",
3118
+ "_updated_at": "2024-01-01T00:00:00.000Z",
3090
3119
  "type": "VAT",
3091
- "rate": 19,
3092
- "region": "DE"
3120
+ "rate": 19
3093
3121
  },
3094
3122
  "amount": 475
3095
3123
  }
@@ -3107,15 +3135,16 @@
3107
3135
  "is_composite_price": false,
3108
3136
  "pricing_model": "per_unit",
3109
3137
  "price_display_in_journeys": "show_price",
3110
- "tax": [
3111
- {
3112
- "_id": "tax-vat-19",
3113
- "name": "VAT",
3114
- "type": "VAT",
3115
- "rate": 19,
3116
- "region": "DE"
3117
- }
3118
- ]
3138
+ "tax": {
3139
+ "_id": "24641e82-0690-4135-8b43-ef12a9b1c5dc",
3140
+ "_title": "VAT 19%",
3141
+ "_org": "728",
3142
+ "_schema": "tax",
3143
+ "_created_at": "2024-01-01T00:00:00.000Z",
3144
+ "_updated_at": "2024-01-01T00:00:00.000Z",
3145
+ "type": "VAT",
3146
+ "rate": 19
3147
+ }
3119
3148
  },
3120
3149
  "_product": {
3121
3150
  "_id": "product-93f857a4",
@@ -3135,11 +3164,14 @@
3135
3164
  "taxes": [
3136
3165
  {
3137
3166
  "tax": {
3138
- "_id": "tax-vat-19",
3139
- "name": "VAT",
3167
+ "_id": "24641e82-0690-4135-8b43-ef12a9b1c5dc",
3168
+ "_title": "VAT 19%",
3169
+ "_org": "728",
3170
+ "_schema": "tax",
3171
+ "_created_at": "2024-01-01T00:00:00.000Z",
3172
+ "_updated_at": "2024-01-01T00:00:00.000Z",
3140
3173
  "type": "VAT",
3141
- "rate": 19,
3142
- "region": "DE"
3174
+ "rate": 19
3143
3175
  },
3144
3176
  "amount": 475
3145
3177
  }
@@ -7550,8 +7582,12 @@
7550
7582
  },
7551
7583
  "CashbackAmount": {
7552
7584
  "type": "object",
7553
- "description": "An amount associated with a specific cashback period.",
7585
+ "description": "A detail associated with a specific cashback.",
7554
7586
  "properties": {
7587
+ "cashback_name": {
7588
+ "type": "string",
7589
+ "description": "The name of the cashback."
7590
+ },
7555
7591
  "cashback_period": {
7556
7592
  "$ref": "#/components/schemas/CashbackPeriod"
7557
7593
  },
@@ -9112,8 +9148,8 @@
9112
9148
  "description": "Description of the contract"
9113
9149
  },
9114
9150
  "billing_account": {
9115
- "type": "string",
9116
- "description": "Billing Account relation ID"
9151
+ "type": "object",
9152
+ "description": "Billing Account relation"
9117
9153
  },
9118
9154
  "account_number": {
9119
9155
  "type": "string",
@@ -9121,14 +9157,7 @@
9121
9157
  },
9122
9158
  "branch": {
9123
9159
  "type": "string",
9124
- "description": "Branch/commodity type",
9125
- "enum": [
9126
- "power",
9127
- "gas",
9128
- "water",
9129
- "waste_water",
9130
- "district_heating"
9131
- ]
9160
+ "description": "Branch/commodity type (e.g. power, gas, water, waste_water, district_heating, or any custom value)"
9132
9161
  },
9133
9162
  "move_in_date": {
9134
9163
  "type": "string",
@@ -9141,12 +9170,15 @@
9141
9170
  "description": "Move Out Date"
9142
9171
  },
9143
9172
  "billing_address": {
9144
- "type": "object",
9145
- "description": "Billing Address"
9173
+ "description": "Billing Address",
9174
+ "type": "object"
9146
9175
  },
9147
9176
  "delivery_address": {
9148
- "type": "object",
9149
- "description": "Delivery Address"
9177
+ "description": "Delivery Address",
9178
+ "type": "array",
9179
+ "items": {
9180
+ "type": "object"
9181
+ }
9150
9182
  },
9151
9183
  "additional_addresses": {
9152
9184
  "type": "array",
@@ -9175,11 +9207,8 @@
9175
9207
  "description": "End Date"
9176
9208
  },
9177
9209
  "customer": {
9178
- "type": "array",
9179
- "description": "Customer relation (contact or account)",
9180
- "items": {
9181
- "type": "string"
9182
- }
9210
+ "type": "object",
9211
+ "description": "Customer relation (contact or account)"
9183
9212
  },
9184
9213
  "order": {
9185
9214
  "type": "string",
@@ -9265,30 +9294,11 @@
9265
9294
  "description": "Billing Due Day"
9266
9295
  },
9267
9296
  "installment_amount": {
9268
- "type": "object",
9269
- "description": "Installment Amount",
9270
- "properties": {
9271
- "value": {
9272
- "type": "number"
9273
- },
9274
- "currency": {
9275
- "type": "string",
9276
- "default": "EUR"
9277
- }
9278
- }
9297
+ "type": "number"
9279
9298
  },
9280
9299
  "balance": {
9281
- "type": "object",
9282
- "description": "Balance",
9283
- "properties": {
9284
- "value": {
9285
- "type": "number"
9286
- },
9287
- "currency": {
9288
- "type": "string",
9289
- "default": "EUR"
9290
- }
9291
- }
9300
+ "type": "number",
9301
+ "description": "Balance"
9292
9302
  },
9293
9303
  "meters": {
9294
9304
  "type": "array",
@@ -9298,8 +9308,8 @@
9298
9308
  }
9299
9309
  },
9300
9310
  "payment": {
9301
- "type": "string",
9302
- "description": "Payment Details relation ID"
9311
+ "type": "object",
9312
+ "description": "Payment Details relation"
9303
9313
  },
9304
9314
  "last_sync_at": {
9305
9315
  "type": "string",
@@ -9507,6 +9517,65 @@
9507
9517
  "readOnly": true
9508
9518
  }
9509
9519
  }
9520
+ },
9521
+ "availability_address": {
9522
+ "type": "object",
9523
+ "description": "Address to use for product availability checks. Include when the catalog should filter products by serviceable area (e.g. postal code coverage).\n",
9524
+ "properties": {
9525
+ "postal_code": {
9526
+ "type": "string",
9527
+ "description": "Postal Code"
9528
+ },
9529
+ "city": {
9530
+ "type": "string",
9531
+ "description": "City"
9532
+ },
9533
+ "street": {
9534
+ "type": "string",
9535
+ "description": "Street"
9536
+ },
9537
+ "street_number": {
9538
+ "type": "string",
9539
+ "description": "Street Number"
9540
+ },
9541
+ "journey_target_block": {
9542
+ "type": "string",
9543
+ "description": "The journey target block of the availability address <step_index>/<block_name>"
9544
+ }
9545
+ }
9546
+ },
9547
+ "variable_inputs": {
9548
+ "type": "array",
9549
+ "description": "Variable inputs (e.g. energy or water consumption) extracted/provided by the portal so the external catalog service can compute amounts for variable prices.\n",
9550
+ "items": {
9551
+ "type": "object",
9552
+ "properties": {
9553
+ "value": {
9554
+ "type": "number",
9555
+ "description": "The value of the variable input"
9556
+ },
9557
+ "unit": {
9558
+ "type": "string",
9559
+ "description": "The unit of the variable input"
9560
+ },
9561
+ "frequency_unit": {
9562
+ "type": "string",
9563
+ "description": "The frequency unit of the variable input",
9564
+ "enum": [
9565
+ "weekly",
9566
+ "monthly",
9567
+ "every_quarter",
9568
+ "every_6_months",
9569
+ "yearly",
9570
+ "one_time"
9571
+ ]
9572
+ },
9573
+ "journey_target_block": {
9574
+ "type": "string",
9575
+ "description": "The journey target block of the variable input <step_index>/<block_name>"
9576
+ }
9577
+ }
9578
+ }
9510
9579
  }
9511
9580
  },
9512
9581
  "required": [
@@ -9858,6 +9927,11 @@
9858
9927
  {
9859
9928
  "tax": {
9860
9929
  "_id": "936db2a1-3748-45b6-bb9d-04943280ceeb",
9930
+ "_title": "VAT 23%",
9931
+ "_org": "728",
9932
+ "_schema": "tax",
9933
+ "_created_at": "2021-09-24T15:06:13.859Z",
9934
+ "_updated_at": "2021-09-24T15:06:13.859Z",
9861
9935
  "type": "VAT",
9862
9936
  "rate": 23
9863
9937
  },
@@ -9866,6 +9940,11 @@
9866
9940
  {
9867
9941
  "tax": {
9868
9942
  "_id": "936db2a1-3748-45b6-bb9d-04943280cee4",
9943
+ "_title": "VAT 7%",
9944
+ "_org": "728",
9945
+ "_schema": "tax",
9946
+ "_created_at": "2021-09-24T15:06:13.859Z",
9947
+ "_updated_at": "2021-09-24T15:06:13.859Z",
9869
9948
  "type": "VAT",
9870
9949
  "rate": 7
9871
9950
  },
@@ -355,6 +355,70 @@
355
355
  }
356
356
  }
357
357
  },
358
+ "/v1/webhooks/configs/{configId}/test-oauth": {
359
+ "post": {
360
+ "operationId": "testOAuth",
361
+ "summary": "Test OAuth connection",
362
+ "description": "Tests the OAuth client credentials configuration for a saved webhook by attempting\na token exchange against the configured OAuth endpoint. Returns success with token\nmetadata (e.g. expires_in, token_type) or an error describing why the exchange failed.\nDoes not send the actual webhook.\n",
363
+ "tags": [
364
+ "webhooks"
365
+ ],
366
+ "parameters": [
367
+ {
368
+ "in": "path",
369
+ "name": "configId",
370
+ "schema": {
371
+ "type": "string"
372
+ },
373
+ "required": true,
374
+ "description": "Short uuid to identify the webhook configuration.",
375
+ "example": "7hj28aasgag2gha2"
376
+ }
377
+ ],
378
+ "responses": {
379
+ "200": {
380
+ "description": "OAuth token exchange succeeded",
381
+ "content": {
382
+ "application/json": {
383
+ "schema": {
384
+ "$ref": "#/components/schemas/TestOAuthResponse"
385
+ }
386
+ }
387
+ }
388
+ },
389
+ "400": {
390
+ "description": "Webhook does not use OAuth or configuration is invalid",
391
+ "content": {
392
+ "application/json": {
393
+ "schema": {
394
+ "$ref": "#/components/schemas/ErrorResp"
395
+ }
396
+ }
397
+ }
398
+ },
399
+ "404": {
400
+ "description": "No config found",
401
+ "content": {
402
+ "application/json": {
403
+ "schema": {
404
+ "$ref": "#/components/schemas/ErrorResp"
405
+ }
406
+ }
407
+ }
408
+ },
409
+ "500": {
410
+ "description": "OAuth token exchange failed",
411
+ "content": {
412
+ "application/json": {
413
+ "schema": {
414
+ "$ref": "#/components/schemas/ErrorResp"
415
+ }
416
+ }
417
+ }
418
+ }
419
+ }
420
+ }
421
+ },
358
422
  "/v1/webhooks/configs/{configId}/trigger": {
359
423
  "post": {
360
424
  "operationId": "triggerWebhook",
@@ -1118,7 +1182,9 @@
1118
1182
  "type": "string"
1119
1183
  },
1120
1184
  "password": {
1121
- "type": "string"
1185
+ "type": "string",
1186
+ "nullable": true,
1187
+ "description": "On update: omit to preserve existing, pass null to explicitly clear, pass string to set new value.\n"
1122
1188
  },
1123
1189
  "passwordIsEnvVar": {
1124
1190
  "type": "boolean",
@@ -1137,7 +1203,9 @@
1137
1203
  "type": "string"
1138
1204
  },
1139
1205
  "clientSecret": {
1140
- "type": "string"
1206
+ "type": "string",
1207
+ "nullable": true,
1208
+ "description": "On update: omit to preserve existing, pass null to explicitly clear, pass string to set new value.\n"
1141
1209
  },
1142
1210
  "clientSecretIsEnvVar": {
1143
1211
  "type": "boolean",
@@ -1171,7 +1239,9 @@
1171
1239
  "type": "string"
1172
1240
  },
1173
1241
  "keyValue": {
1174
- "type": "string"
1242
+ "type": "string",
1243
+ "nullable": true,
1244
+ "description": "On update: omit to preserve existing, pass null to explicitly clear, pass string to set new value.\n"
1175
1245
  },
1176
1246
  "keyValueIsEnvVar": {
1177
1247
  "type": "boolean",
@@ -1200,7 +1270,12 @@
1200
1270
  },
1201
1271
  "creationTime": {
1202
1272
  "type": "string",
1203
- "description": "creation timestamp",
1273
+ "description": "Timestamp the webhook was first created. Immutable after creation.",
1274
+ "example": "2021-04-27T12:01:13.000Z"
1275
+ },
1276
+ "updatedTime": {
1277
+ "type": "string",
1278
+ "description": "Timestamp of the most recent update to the webhook. Equals creationTime for never-edited webhooks. May be absent on legacy records written before this field was introduced.",
1204
1279
  "example": "2021-04-27T12:01:13.000Z"
1205
1280
  },
1206
1281
  "httpMethod": {
@@ -1254,6 +1329,43 @@
1254
1329
  "type": "string",
1255
1330
  "description": "JSONata expression to transform the payload"
1256
1331
  },
1332
+ "deliveryMode": {
1333
+ "type": "string",
1334
+ "enum": [
1335
+ "json_base64",
1336
+ "binary_multipart"
1337
+ ],
1338
+ "description": "Controls how file data is delivered to the endpoint. Only relevant when the webhook is triggered by a file event. Absent for non-file-event webhooks."
1339
+ },
1340
+ "multipartConfig": {
1341
+ "type": "object",
1342
+ "description": "Configuration for `binary_multipart` delivery mode. Describes the\nshape of the multipart/form-data body the receiver expects — pick\nthe attachment(s) via a JSONata expression and add scalar form\nparts on the side.\n",
1343
+ "properties": {
1344
+ "fileFieldName": {
1345
+ "type": "string",
1346
+ "description": "Name of the binary form part(s). Default `\"file\"`. The same\nname is reused when `fileFieldStrategy=\"multi\"` produces\nmultiple file parts.\n"
1347
+ },
1348
+ "fileFieldStrategy": {
1349
+ "type": "string",
1350
+ "enum": [
1351
+ "single",
1352
+ "multi"
1353
+ ],
1354
+ "description": "Assertion on the picker result. `single` (default) fails the\ndelivery when `fileSource` resolves to more than one\nattachment. `multi` accepts any non-empty count.\n"
1355
+ },
1356
+ "fileSource": {
1357
+ "type": "string",
1358
+ "description": "JSONata expression evaluated against the event payload that\npicks the attachment(s) to send. Default `\"event_attachments\"`\n(all attachments). When the result is `undefined`, `null`, or\nan empty array, the event is silently skipped (no HTTP\nrequest, no error notification). Validated for syntax at\nconfig-save time.\n"
1359
+ },
1360
+ "extraFields": {
1361
+ "type": "object",
1362
+ "additionalProperties": {
1363
+ "type": "string"
1364
+ },
1365
+ "description": "Map of `formFieldName → JSONata expression`. Each value is\nevaluated against the event payload, then passed through\nenv-resolution (same as `custom_headers`). Static literals\nmust be JSONata-quoted: a bare `\"business_partner\"` is\ntreated as a path lookup and yields `undefined`; for a\nliteral value, single-quote inside the JSON string:\n`\"'business_partner'\"`. Expressions yielding `undefined` or\n`null` silently omit the field. Object/array results are\nJSON-stringified before being appended. Values are not part\nof the signed payload.\n"
1366
+ }
1367
+ }
1368
+ },
1257
1369
  "filterConditions": {
1258
1370
  "$ref": "#/components/schemas/WebhookConditionGroup"
1259
1371
  },
@@ -1383,6 +1495,10 @@
1383
1495
  "include_changed_attributes": {
1384
1496
  "type": "boolean"
1385
1497
  },
1498
+ "apply_changesets": {
1499
+ "type": "boolean",
1500
+ "description": "When true, entity fields show proposed changeset values instead of current values"
1501
+ },
1386
1502
  "custom_headers": {
1387
1503
  "$ref": "#/components/schemas/CustomHeader"
1388
1504
  }
@@ -1590,6 +1706,35 @@
1590
1706
  },
1591
1707
  "additionalProperties": true
1592
1708
  },
1709
+ "TestOAuthResponse": {
1710
+ "type": "object",
1711
+ "properties": {
1712
+ "success": {
1713
+ "type": "boolean",
1714
+ "description": "Whether the OAuth token exchange succeeded",
1715
+ "example": true
1716
+ },
1717
+ "expires_in": {
1718
+ "type": "number",
1719
+ "description": "Token validity in seconds as reported by the OAuth provider",
1720
+ "example": 3600
1721
+ },
1722
+ "token_type": {
1723
+ "type": "string",
1724
+ "description": "Token type returned by the OAuth provider",
1725
+ "example": "Bearer"
1726
+ },
1727
+ "message": {
1728
+ "type": "string",
1729
+ "description": "Human-readable result message",
1730
+ "example": "OAuth token exchange successful"
1731
+ }
1732
+ },
1733
+ "required": [
1734
+ "success",
1735
+ "message"
1736
+ ]
1737
+ },
1593
1738
  "BatchReplayRequest": {
1594
1739
  "type": "object",
1595
1740
  "properties": {