@epilot/sdk 2.11.4 → 2.11.6
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/definitions/billing-runtime.json +1 -1
- package/definitions/billing.json +1571 -198
- package/definitions/snapshot-runtime.json +1 -1
- package/definitions/snapshot.json +214 -46
- package/dist/apis/access-token.cjs +6 -6
- package/dist/apis/access-token.js +1 -1
- package/dist/apis/address-suggestions.cjs +6 -6
- package/dist/apis/address-suggestions.js +1 -1
- package/dist/apis/address.cjs +6 -6
- package/dist/apis/address.js +1 -1
- package/dist/apis/ai-agents.cjs +6 -6
- package/dist/apis/ai-agents.js +1 -1
- package/dist/apis/app.cjs +6 -6
- package/dist/apis/app.js +1 -1
- package/dist/apis/audit-logs.cjs +6 -6
- package/dist/apis/audit-logs.js +1 -1
- package/dist/apis/automation.cjs +6 -6
- package/dist/apis/automation.js +1 -1
- package/dist/apis/billing.cjs +8 -8
- package/dist/apis/billing.d.cts +2 -2
- package/dist/apis/billing.d.ts +2 -2
- package/dist/apis/billing.js +2 -2
- package/dist/apis/blueprint-manifest.cjs +6 -6
- package/dist/apis/blueprint-manifest.js +1 -1
- package/dist/apis/calendar.cjs +6 -6
- package/dist/apis/calendar.js +1 -1
- package/dist/apis/configuration-hub.cjs +6 -6
- package/dist/apis/configuration-hub.js +1 -1
- package/dist/apis/consent.cjs +6 -6
- package/dist/apis/consent.js +1 -1
- package/dist/apis/customer-portal.cjs +6 -6
- package/dist/apis/customer-portal.js +1 -1
- package/dist/apis/dashboard.cjs +6 -6
- package/dist/apis/dashboard.js +1 -1
- package/dist/apis/data-governance.cjs +6 -6
- package/dist/apis/data-governance.js +1 -1
- package/dist/apis/deduplication.cjs +6 -6
- package/dist/apis/deduplication.js +1 -1
- package/dist/apis/design.cjs +6 -6
- package/dist/apis/design.js +1 -1
- package/dist/apis/document.cjs +6 -6
- package/dist/apis/document.js +1 -1
- package/dist/apis/email-settings.cjs +6 -6
- package/dist/apis/email-settings.js +1 -1
- package/dist/apis/email-template.cjs +6 -6
- package/dist/apis/email-template.js +1 -1
- package/dist/apis/entity-mapping.cjs +6 -6
- package/dist/apis/entity-mapping.js +1 -1
- package/dist/apis/entity.cjs +6 -6
- package/dist/apis/entity.js +1 -1
- package/dist/apis/environments.cjs +6 -6
- package/dist/apis/environments.js +1 -1
- package/dist/apis/event-catalog.cjs +6 -6
- package/dist/apis/event-catalog.js +1 -1
- package/dist/apis/file.cjs +6 -6
- package/dist/apis/file.js +1 -1
- package/dist/apis/iban.cjs +6 -6
- package/dist/apis/iban.js +1 -1
- package/dist/apis/integration-toolkit.cjs +6 -6
- package/dist/apis/integration-toolkit.js +1 -1
- package/dist/apis/journey.cjs +6 -6
- package/dist/apis/journey.js +1 -1
- package/dist/apis/kanban.cjs +6 -6
- package/dist/apis/kanban.js +1 -1
- package/dist/apis/message.cjs +6 -6
- package/dist/apis/message.js +1 -1
- package/dist/apis/metering.cjs +6 -6
- package/dist/apis/metering.js +1 -1
- package/dist/apis/notes.cjs +6 -6
- package/dist/apis/notes.js +1 -1
- package/dist/apis/notification.cjs +6 -6
- package/dist/apis/notification.js +1 -1
- package/dist/apis/organization.cjs +6 -6
- package/dist/apis/organization.js +1 -1
- package/dist/apis/partner-directory.cjs +6 -6
- package/dist/apis/partner-directory.js +1 -1
- package/dist/apis/permissions.cjs +6 -6
- package/dist/apis/permissions.js +1 -1
- package/dist/apis/pricing-tier.cjs +6 -6
- package/dist/apis/pricing-tier.js +1 -1
- package/dist/apis/pricing.cjs +6 -6
- package/dist/apis/pricing.js +1 -1
- package/dist/apis/purpose.cjs +6 -6
- package/dist/apis/purpose.js +1 -1
- package/dist/apis/query.cjs +6 -6
- package/dist/apis/query.js +1 -1
- package/dist/apis/sandbox.cjs +6 -6
- package/dist/apis/sandbox.js +1 -1
- package/dist/apis/sharing.cjs +6 -6
- package/dist/apis/sharing.js +1 -1
- package/dist/apis/snapshot.cjs +8 -8
- package/dist/apis/snapshot.d.cts +2 -2
- package/dist/apis/snapshot.d.ts +2 -2
- package/dist/apis/snapshot.js +2 -2
- package/dist/apis/submission.cjs +6 -6
- package/dist/apis/submission.js +1 -1
- package/dist/apis/target.cjs +6 -6
- package/dist/apis/target.js +1 -1
- package/dist/apis/targeting.cjs +6 -6
- package/dist/apis/targeting.js +1 -1
- package/dist/apis/template-variables.cjs +6 -6
- package/dist/apis/template-variables.js +1 -1
- package/dist/apis/user.cjs +6 -6
- package/dist/apis/user.js +1 -1
- package/dist/apis/validation-rules.cjs +6 -6
- package/dist/apis/validation-rules.js +1 -1
- package/dist/apis/webhooks.cjs +6 -6
- package/dist/apis/webhooks.js +1 -1
- package/dist/apis/workflow-definition.cjs +6 -6
- package/dist/apis/workflow-definition.js +1 -1
- package/dist/apis/workflow.cjs +6 -6
- package/dist/apis/workflow.js +1 -1
- package/dist/billing-C45UEPBV.cjs +7 -0
- package/dist/billing-IV5ABNW4.js +7 -0
- package/dist/{billing-runtime-C6BMGWCX.js → billing-runtime-3OCFZU2K.js} +1 -1
- package/dist/{billing-runtime-L4Y7MLM3.cjs → billing-runtime-PKKLWPQY.cjs} +2 -2
- package/dist/billing.d-N_1F759g.d.cts +3673 -0
- package/dist/billing.d-N_1F759g.d.ts +3673 -0
- package/dist/chunk-4XOJVIUQ.cjs +14 -0
- package/dist/{chunk-O4C7IU7J.cjs → chunk-F4KDYDCB.cjs} +4 -4
- package/dist/{chunk-PCK46M32.js → chunk-H72QGQR6.js} +4 -4
- package/dist/chunk-U5XZ4ERL.js +14 -0
- package/dist/{chunk-54QNWEPZ.js → chunk-UXY7SWNP.js} +1 -1
- package/dist/{chunk-YXJ4PBFQ.cjs → chunk-VDMPIKAN.cjs} +1 -1
- package/dist/index.cjs +12 -12
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +3 -3
- package/dist/snapshot-5XHTEB2U.js +7 -0
- package/dist/snapshot-NKK6BNQB.cjs +7 -0
- package/dist/{snapshot-runtime-6DV42FVY.cjs → snapshot-runtime-AQJSSXRV.cjs} +2 -2
- package/dist/{snapshot-runtime-IW57MINC.js → snapshot-runtime-AY7YYSFQ.js} +1 -1
- package/dist/{snapshot.d-CqefmvuB.d.ts → snapshot.d-DT0zg2CS.d.cts} +258 -39
- package/dist/{snapshot.d-CqefmvuB.d.cts → snapshot.d-DT0zg2CS.d.ts} +258 -39
- package/docs/billing.md +1200 -292
- package/docs/snapshot.md +179 -21
- package/package.json +1 -1
- package/dist/billing-DUWDISHP.cjs +0 -7
- package/dist/billing-IPALEAG2.js +0 -7
- package/dist/billing.d-Bs8Ku9qE.d.cts +0 -993
- package/dist/billing.d-Bs8Ku9qE.d.ts +0 -993
- package/dist/chunk-CSK5ZUTS.js +0 -14
- package/dist/chunk-G5FKTWUC.cjs +0 -14
- package/dist/snapshot-2HFERXRQ.js +0 -7
- package/dist/snapshot-UHCQAT4R.cjs +0 -7
package/docs/snapshot.md
CHANGED
|
@@ -35,9 +35,13 @@ const { data } = await snapshotClient.createSnapshot(...)
|
|
|
35
35
|
- [`getSnapshotResource`](#getsnapshotresource)
|
|
36
36
|
- [`listDependencies`](#listdependencies)
|
|
37
37
|
|
|
38
|
+
**ScheduledSnapshots**
|
|
39
|
+
- [`getOrgSnapshotSchedule`](#getorgsnapshotschedule)
|
|
40
|
+
- [`putOrgSnapshotSchedule`](#putorgsnapshotschedule)
|
|
41
|
+
- [`deleteOrgSnapshotSchedule`](#deleteorgsnapshotschedule)
|
|
42
|
+
|
|
38
43
|
**Schemas**
|
|
39
44
|
- [`Error`](#error)
|
|
40
|
-
- [`EmptyInventoryError`](#emptyinventoryerror)
|
|
41
45
|
- [`ResourceRef`](#resourceref)
|
|
42
46
|
- [`SnapshotResourceSummary`](#snapshotresourcesummary)
|
|
43
47
|
- [`SnapshotResourceList`](#snapshotresourcelist)
|
|
@@ -50,6 +54,9 @@ const { data } = await snapshotClient.createSnapshot(...)
|
|
|
50
54
|
- [`Snapshot`](#snapshot)
|
|
51
55
|
- [`Operation`](#operation)
|
|
52
56
|
- [`CallerIdentity`](#calleridentity)
|
|
57
|
+
- [`RetentionConfig`](#retentionconfig)
|
|
58
|
+
- [`PutOrgSnapshotScheduleRequest`](#putorgsnapshotschedulerequest)
|
|
59
|
+
- [`OrgSnapshotSchedule`](#orgsnapshotschedule)
|
|
53
60
|
|
|
54
61
|
### `createSnapshot`
|
|
55
62
|
|
|
@@ -156,9 +163,9 @@ const { data } = await client.listSnapshots({
|
|
|
156
163
|
|
|
157
164
|
### `captureOrgSnapshot`
|
|
158
165
|
|
|
159
|
-
Snapshot the caller's whole organization now.
|
|
160
|
-
|
|
161
|
-
|
|
166
|
+
Snapshot the caller's whole organization now. Creates a `scope: "org"`
|
|
167
|
+
snapshot row and starts a chunked capture Step Function, then returns
|
|
168
|
+
immediately. The capture asynchronously fetches a fresh inv
|
|
162
169
|
|
|
163
170
|
`POST /v1/snapshots:capture-org`
|
|
164
171
|
|
|
@@ -344,6 +351,112 @@ const { data } = await client.getSnapshotResource({
|
|
|
344
351
|
|
|
345
352
|
---
|
|
346
353
|
|
|
354
|
+
### `getOrgSnapshotSchedule`
|
|
355
|
+
|
|
356
|
+
Return the scheduled-snapshot enrollment config for the caller's org.
|
|
357
|
+
Returns 404 when the org has not yet enrolled.
|
|
358
|
+
|
|
359
|
+
`GET /v1/org-snapshot-schedule`
|
|
360
|
+
|
|
361
|
+
```ts
|
|
362
|
+
const { data } = await client.getOrgSnapshotSchedule()
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
<details>
|
|
366
|
+
<summary>Response</summary>
|
|
367
|
+
|
|
368
|
+
```json
|
|
369
|
+
{
|
|
370
|
+
"org_id": "string",
|
|
371
|
+
"enabled": true,
|
|
372
|
+
"cron_expression": "cron(0 2 * * ? *)",
|
|
373
|
+
"timezone": "string",
|
|
374
|
+
"retention": {
|
|
375
|
+
"value": 1,
|
|
376
|
+
"unit": "days"
|
|
377
|
+
},
|
|
378
|
+
"excluded_types": ["string"],
|
|
379
|
+
"schedule_name": "string",
|
|
380
|
+
"last_started_at": "1970-01-01T00:00:00.000Z",
|
|
381
|
+
"last_completed_at": "1970-01-01T00:00:00.000Z",
|
|
382
|
+
"last_status": "completed",
|
|
383
|
+
"created_by": "string",
|
|
384
|
+
"created_at": "1970-01-01T00:00:00.000Z",
|
|
385
|
+
"updated_at": "1970-01-01T00:00:00.000Z"
|
|
386
|
+
}
|
|
387
|
+
```
|
|
388
|
+
|
|
389
|
+
</details>
|
|
390
|
+
|
|
391
|
+
---
|
|
392
|
+
|
|
393
|
+
### `putOrgSnapshotSchedule`
|
|
394
|
+
|
|
395
|
+
Create or update the scheduled-snapshot enrollment config for the
|
|
396
|
+
caller's org (upsert). The cron expression and retention window are
|
|
397
|
+
validated server-side; invalid values are rejected with 400.
|
|
398
|
+
|
|
399
|
+
`PUT /v1/org-snapshot-schedule`
|
|
400
|
+
|
|
401
|
+
```ts
|
|
402
|
+
const { data } = await client.putOrgSnapshotSchedule(
|
|
403
|
+
null,
|
|
404
|
+
{
|
|
405
|
+
enabled: true,
|
|
406
|
+
cron_expression: 'cron(0 2 * * ? *)',
|
|
407
|
+
timezone: 'Europe/Berlin',
|
|
408
|
+
retention: {
|
|
409
|
+
value: 1,
|
|
410
|
+
unit: 'days'
|
|
411
|
+
},
|
|
412
|
+
excluded_types: ['string']
|
|
413
|
+
},
|
|
414
|
+
)
|
|
415
|
+
```
|
|
416
|
+
|
|
417
|
+
<details>
|
|
418
|
+
<summary>Response</summary>
|
|
419
|
+
|
|
420
|
+
```json
|
|
421
|
+
{
|
|
422
|
+
"org_id": "string",
|
|
423
|
+
"enabled": true,
|
|
424
|
+
"cron_expression": "cron(0 2 * * ? *)",
|
|
425
|
+
"timezone": "string",
|
|
426
|
+
"retention": {
|
|
427
|
+
"value": 1,
|
|
428
|
+
"unit": "days"
|
|
429
|
+
},
|
|
430
|
+
"excluded_types": ["string"],
|
|
431
|
+
"schedule_name": "string",
|
|
432
|
+
"last_started_at": "1970-01-01T00:00:00.000Z",
|
|
433
|
+
"last_completed_at": "1970-01-01T00:00:00.000Z",
|
|
434
|
+
"last_status": "completed",
|
|
435
|
+
"created_by": "string",
|
|
436
|
+
"created_at": "1970-01-01T00:00:00.000Z",
|
|
437
|
+
"updated_at": "1970-01-01T00:00:00.000Z"
|
|
438
|
+
}
|
|
439
|
+
```
|
|
440
|
+
|
|
441
|
+
</details>
|
|
442
|
+
|
|
443
|
+
---
|
|
444
|
+
|
|
445
|
+
### `deleteOrgSnapshotSchedule`
|
|
446
|
+
|
|
447
|
+
Remove the scheduled-snapshot enrollment for the caller's org.
|
|
448
|
+
Returns 404 when no schedule exists.
|
|
449
|
+
The corresponding EventBridge schedule is removed by a reconcile
|
|
450
|
+
step (Task 6).
|
|
451
|
+
|
|
452
|
+
`DELETE /v1/org-snapshot-schedule`
|
|
453
|
+
|
|
454
|
+
```ts
|
|
455
|
+
const { data } = await client.deleteOrgSnapshotSchedule()
|
|
456
|
+
```
|
|
457
|
+
|
|
458
|
+
---
|
|
459
|
+
|
|
347
460
|
### `listDependencies`
|
|
348
461
|
|
|
349
462
|
Walk the dependency tree for a set of resources and return the full
|
|
@@ -394,23 +507,6 @@ type Error = {
|
|
|
394
507
|
}
|
|
395
508
|
```
|
|
396
509
|
|
|
397
|
-
### `EmptyInventoryError`
|
|
398
|
-
|
|
399
|
-
Returned (422) when the org inventory contains no capturable resources
|
|
400
|
-
after filtering out sensitive, unsupported, and excluded types. The
|
|
401
|
-
`skipped_types` array explains why every type was dropped.
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
```ts
|
|
405
|
-
type EmptyInventoryError = {
|
|
406
|
-
message: string
|
|
407
|
-
skipped_types: Array<{
|
|
408
|
-
type: string
|
|
409
|
-
reason: string
|
|
410
|
-
}>
|
|
411
|
-
}
|
|
412
|
-
```
|
|
413
|
-
|
|
414
510
|
### `ResourceRef`
|
|
415
511
|
|
|
416
512
|
```ts
|
|
@@ -605,3 +701,65 @@ type CallerIdentity = {
|
|
|
605
701
|
token_id?: string
|
|
606
702
|
}
|
|
607
703
|
```
|
|
704
|
+
|
|
705
|
+
### `RetentionConfig`
|
|
706
|
+
|
|
707
|
+
Flat retention window for a scheduled snapshot.
|
|
708
|
+
Converted to a `ttl` epoch at capture time. Capped at ~24 months.
|
|
709
|
+
|
|
710
|
+
|
|
711
|
+
```ts
|
|
712
|
+
type RetentionConfig = {
|
|
713
|
+
value: number
|
|
714
|
+
unit: "days" | "weeks" | "months"
|
|
715
|
+
}
|
|
716
|
+
```
|
|
717
|
+
|
|
718
|
+
### `PutOrgSnapshotScheduleRequest`
|
|
719
|
+
|
|
720
|
+
Body for `putOrgSnapshotSchedule`. All fields optional; unset fields
|
|
721
|
+
receive defaults on first create and are left unchanged on updates
|
|
722
|
+
(except `updated_at`).
|
|
723
|
+
|
|
724
|
+
|
|
725
|
+
```ts
|
|
726
|
+
type PutOrgSnapshotScheduleRequest = {
|
|
727
|
+
enabled?: boolean
|
|
728
|
+
cron_expression?: string
|
|
729
|
+
timezone?: string
|
|
730
|
+
retention?: {
|
|
731
|
+
value: number
|
|
732
|
+
unit: "days" | "weeks" | "months"
|
|
733
|
+
}
|
|
734
|
+
excluded_types?: string[]
|
|
735
|
+
}
|
|
736
|
+
```
|
|
737
|
+
|
|
738
|
+
### `OrgSnapshotSchedule`
|
|
739
|
+
|
|
740
|
+
Enrollment record for a scheduled org snapshot. One row per org.
|
|
741
|
+
This table — not EventBridge — is the source of truth; the EventBridge
|
|
742
|
+
schedule entry is the materialization of this row (reconciled on write
|
|
743
|
+
by Task 6).
|
|
744
|
+
|
|
745
|
+
|
|
746
|
+
```ts
|
|
747
|
+
type OrgSnapshotSchedule = {
|
|
748
|
+
org_id: string
|
|
749
|
+
enabled: boolean
|
|
750
|
+
cron_expression: string
|
|
751
|
+
timezone: string
|
|
752
|
+
retention: {
|
|
753
|
+
value: number
|
|
754
|
+
unit: "days" | "weeks" | "months"
|
|
755
|
+
}
|
|
756
|
+
excluded_types?: string[]
|
|
757
|
+
schedule_name: string
|
|
758
|
+
last_started_at?: string // date-time
|
|
759
|
+
last_completed_at?: string // date-time
|
|
760
|
+
last_status?: "completed" | "partial" | "failed"
|
|
761
|
+
created_by: string
|
|
762
|
+
created_at: string // date-time
|
|
763
|
+
updated_at: string // date-time
|
|
764
|
+
}
|
|
765
|
+
```
|
package/package.json
CHANGED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-NJK5F5TF.cjs');
|
|
2
|
-
|
|
3
|
-
// src/docs/billing.json
|
|
4
|
-
var billing_default = '# Billing API\n\n- **Base URL:** `https://billing.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/billing](https://docs.epilot.io/api/billing)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.billing.getBillingEvents(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/billing\'\n\nconst billingClient = getClient()\nauthorize(billingClient, () => \'<token>\')\nconst { data } = await billingClient.getBillingEvents(...)\n```\n\n## Operations\n\n**Billing Events**\n- [`getBillingEvents`](#getbillingevents)\n- [`createBillingEvent`](#createbillingevent)\n- [`getBillingEvent`](#getbillingevent)\n- [`updateBillingEvent`](#updatebillingevent)\n- [`deleteBillingEvent`](#deletebillingevent)\n- [`getBillingEventByExternalId`](#getbillingeventbyexternalid)\n\n**Contracts**\n- [`createContractEntity`](#createcontractentity)\n- [`updateContractEntity`](#updatecontractentity)\n- [`deleteContractEntity`](#deletecontractentity)\n\n**Balance**\n- [`getCustomerBalance`](#getcustomerbalance)\n\n**Schemas**\n- [`BaseEntity`](#baseentity)\n- [`EntityId`](#entityid)\n- [`EntitySlug`](#entityslug)\n- [`EntityRelationItem`](#entityrelationitem)\n- [`BaseBillingEvent`](#basebillingevent)\n- [`InstallmentEvent`](#installmentevent)\n- [`ReimbursementEvent`](#reimbursementevent)\n- [`BillingEvent`](#billingevent)\n- [`Contract`](#contract)\n- [`ContractItem`](#contractitem)\n- [`Balance`](#balance)\n- [`Currency`](#currency)\n\n### `getBillingEvents`\n\nGet and filter billing events such as installments and reimbursements.\n\n`GET /v1/billing/events`\n\n```ts\nconst { data } = await client.getBillingEvents({\n from: 1,\n size: 1,\n entity_id: [\'...\'],\n event_type: \'example\',\n date_after: \'example\',\n date_before: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "hits": 0,\n "results": [\n {\n "billing_amount": 10050,\n "billing_amount_decimal": "100.50",\n "billing_currency": "EUR",\n "external_id": "d4fb2a4e-3f74-4fc4-8fba-6fdaaaa3b08e",\n "contract": {\n "$relation": [\n {\n "entity_id": "f589786b-3024-43cd-9cb3-5a3c953f2896"\n }\n ]\n },\n "_id": "5da0a718-c822-403d-9f5d-20d4584e0528",\n "_title": "string",\n "_org": "string",\n "_schema": "contact",\n "_tags": ["string"],\n "_created_at": "string",\n "_updated_at": "string",\n "type": "installment",\n "due_date": "1970-01-01T00:00:00.000Z",\n "paid_date": "1970-01-01T00:00:00.000Z"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `createBillingEvent`\n\nCreate a new billing event.\n\n`POST /v1/billing/events`\n\n```ts\nconst { data } = await client.createBillingEvent(\n null,\n {\n billing_amount: 10050,\n billing_amount_decimal: \'100.50\',\n billing_currency: \'EUR\',\n external_id: \'d4fb2a4e-3f74-4fc4-8fba-6fdaaaa3b08e\',\n contract: {\n $relation: [\n {\n entity_id: \'f589786b-3024-43cd-9cb3-5a3c953f2896\'\n }\n ]\n },\n _id: \'5da0a718-c822-403d-9f5d-20d4584e0528\',\n _title: \'string\',\n _org: \'string\',\n _schema: \'contact\',\n _tags: [\'string\'],\n _created_at: \'string\',\n _updated_at: \'string\',\n type: \'installment\',\n due_date: \'1970-01-01T00:00:00.000Z\',\n paid_date: \'1970-01-01T00:00:00.000Z\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "billing_amount": 10050,\n "billing_amount_decimal": "100.50",\n "billing_currency": "EUR",\n "external_id": "d4fb2a4e-3f74-4fc4-8fba-6fdaaaa3b08e",\n "contract": {\n "$relation": [\n {\n "entity_id": "f589786b-3024-43cd-9cb3-5a3c953f2896"\n }\n ]\n },\n "_id": "5da0a718-c822-403d-9f5d-20d4584e0528",\n "_title": "string",\n "_org": "string",\n "_schema": "contact",\n "_tags": ["string"],\n "_created_at": "string",\n "_updated_at": "string",\n "type": "installment",\n "due_date": "1970-01-01T00:00:00.000Z",\n "paid_date": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `getBillingEvent`\n\nGet a single billing event by ID.\n\n`GET /v1/billing/events/{id}`\n\n```ts\nconst { data } = await client.getBillingEvent({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "billing_amount": 10050,\n "billing_amount_decimal": "100.50",\n "billing_currency": "EUR",\n "external_id": "d4fb2a4e-3f74-4fc4-8fba-6fdaaaa3b08e",\n "contract": {\n "$relation": [\n {\n "entity_id": "f589786b-3024-43cd-9cb3-5a3c953f2896"\n }\n ]\n },\n "_id": "5da0a718-c822-403d-9f5d-20d4584e0528",\n "_title": "string",\n "_org": "string",\n "_schema": "contact",\n "_tags": ["string"],\n "_created_at": "string",\n "_updated_at": "string",\n "type": "installment",\n "due_date": "1970-01-01T00:00:00.000Z",\n "paid_date": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `updateBillingEvent`\n\nUpdate an existing billing event.\n\n`PATCH /v1/billing/events/{id}`\n\n```ts\nconst { data } = await client.updateBillingEvent(\n {\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n },\n {\n billing_amount: 10050,\n billing_amount_decimal: \'100.50\',\n billing_currency: \'EUR\',\n external_id: \'d4fb2a4e-3f74-4fc4-8fba-6fdaaaa3b08e\',\n contract: {\n $relation: [\n {\n entity_id: \'f589786b-3024-43cd-9cb3-5a3c953f2896\'\n }\n ]\n },\n _id: \'5da0a718-c822-403d-9f5d-20d4584e0528\',\n _title: \'string\',\n _org: \'string\',\n _schema: \'contact\',\n _tags: [\'string\'],\n _created_at: \'string\',\n _updated_at: \'string\',\n type: \'installment\',\n due_date: \'1970-01-01T00:00:00.000Z\',\n paid_date: \'1970-01-01T00:00:00.000Z\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "billing_amount": 10050,\n "billing_amount_decimal": "100.50",\n "billing_currency": "EUR",\n "external_id": "d4fb2a4e-3f74-4fc4-8fba-6fdaaaa3b08e",\n "contract": {\n "$relation": [\n {\n "entity_id": "f589786b-3024-43cd-9cb3-5a3c953f2896"\n }\n ]\n },\n "_id": "5da0a718-c822-403d-9f5d-20d4584e0528",\n "_title": "string",\n "_org": "string",\n "_schema": "contact",\n "_tags": ["string"],\n "_created_at": "string",\n "_updated_at": "string",\n "type": "installment",\n "due_date": "1970-01-01T00:00:00.000Z",\n "paid_date": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `deleteBillingEvent`\n\nDelete an existing billing event.\n\n`DELETE /v1/billing/events/{id}`\n\n```ts\nconst { data } = await client.deleteBillingEvent({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `getBillingEventByExternalId`\n\nGet a single billing event by External ID.\n\n`GET /v1/billing/external/{external_id}`\n\n```ts\nconst { data } = await client.getBillingEventByExternalId({\n external_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "billing_amount": 10050,\n "billing_amount_decimal": "100.50",\n "billing_currency": "EUR",\n "external_id": "d4fb2a4e-3f74-4fc4-8fba-6fdaaaa3b08e",\n "contract": {\n "$relation": [\n {\n "entity_id": "f589786b-3024-43cd-9cb3-5a3c953f2896"\n }\n ]\n },\n "_id": "5da0a718-c822-403d-9f5d-20d4584e0528",\n "_title": "string",\n "_org": "string",\n "_schema": "contact",\n "_tags": ["string"],\n "_created_at": "string",\n "_updated_at": "string",\n "type": "installment",\n "due_date": "1970-01-01T00:00:00.000Z",\n "paid_date": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `createContractEntity`\n\nCreate a new contract entity.\n\n`POST /v1/billing/contracts`\n\n```ts\nconst { data } = await client.createContractEntity(\n null,\n {\n _id: \'5da0a718-c822-403d-9f5d-20d4584e0528\',\n _title: \'string\',\n _org: \'string\',\n _schema: \'contact\',\n _tags: [\'string\'],\n _created_at: \'string\',\n _updated_at: \'string\',\n contract_name: \'Grid Contract\',\n contract_number: \'12345\',\n status: \'approved\',\n description: \'This contract is for the supply of widgets.\',\n account_number: \'67890\',\n branch: \'power\',\n billing_address: \'123 Main St, Anytown\',\n delivery_address: \'456 Elm St, Anytown\',\n additional_addresses: \'789 Oak St, Anytown\',\n termination_date: \'2022-01-01\',\n termination_reason: \'Non-payment\',\n billing_period: \'monthly\',\n billing_duration_amount: 30,\n renewal_duration_amount: 365,\n renewal_duration_unit: \'years\',\n notice_time_amount: 30,\n notice_time_unit: \'months\',\n start_date: \'2021-01-01\',\n billing_due_day: 2,\n installment_amount: 10050,\n balance: 8990,\n balance_currency: \'EUR\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "_id": "5da0a718-c822-403d-9f5d-20d4584e0528",\n "_title": "string",\n "_org": "string",\n "_schema": "contact",\n "_tags": ["string"],\n "_created_at": "string",\n "_updated_at": "string",\n "contract_name": "Grid Contract",\n "contract_number": "12345",\n "status": "approved",\n "description": "This contract is for the supply of widgets.",\n "account_number": "67890",\n "branch": "power",\n "billing_address": "123 Main St, Anytown",\n "delivery_address": "456 Elm St, Anytown",\n "additional_addresses": "789 Oak St, Anytown",\n "termination_date": "2022-01-01",\n "termination_reason": "Non-payment",\n "billing_period": "monthly",\n "billing_duration_amount": 30,\n "renewal_duration_amount": 365,\n "renewal_duration_unit": "years",\n "notice_time_amount": 30,\n "notice_time_unit": "months",\n "start_date": "2021-01-01",\n "billing_due_day": 2,\n "installment_amount": 10050,\n "balance": 8990,\n "balance_currency": "EUR"\n}\n```\n\n</details>\n\n---\n\n### `updateContractEntity`\n\nUpdate an existing contract entity.\n\n`PATCH /v1/billing/contracts/{id}`\n\n```ts\nconst { data } = await client.updateContractEntity(\n {\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n },\n {\n _id: \'5da0a718-c822-403d-9f5d-20d4584e0528\',\n _title: \'string\',\n _org: \'string\',\n _schema: \'contact\',\n _tags: [\'string\'],\n _created_at: \'string\',\n _updated_at: \'string\',\n contract_name: \'Grid Contract\',\n contract_number: \'12345\',\n status: \'approved\',\n description: \'This contract is for the supply of widgets.\',\n account_number: \'67890\',\n branch: \'power\',\n billing_address: \'123 Main St, Anytown\',\n delivery_address: \'456 Elm St, Anytown\',\n additional_addresses: \'789 Oak St, Anytown\',\n termination_date: \'2022-01-01\',\n termination_reason: \'Non-payment\',\n billing_period: \'monthly\',\n billing_duration_amount: 30,\n renewal_duration_amount: 365,\n renewal_duration_unit: \'years\',\n notice_time_amount: 30,\n notice_time_unit: \'months\',\n start_date: \'2021-01-01\',\n billing_due_day: 2,\n installment_amount: 10050,\n balance: 8990,\n balance_currency: \'EUR\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "_id": "5da0a718-c822-403d-9f5d-20d4584e0528",\n "_title": "string",\n "_org": "string",\n "_schema": "contact",\n "_tags": ["string"],\n "_created_at": "string",\n "_updated_at": "string",\n "contract_name": "Grid Contract",\n "contract_number": "12345",\n "status": "approved",\n "description": "This contract is for the supply of widgets.",\n "account_number": "67890",\n "branch": "power",\n "billing_address": "123 Main St, Anytown",\n "delivery_address": "456 Elm St, Anytown",\n "additional_addresses": "789 Oak St, Anytown",\n "termination_date": "2022-01-01",\n "termination_reason": "Non-payment",\n "billing_period": "monthly",\n "billing_duration_amount": 30,\n "renewal_duration_amount": 365,\n "renewal_duration_unit": "years",\n "notice_time_amount": 30,\n "notice_time_unit": "months",\n "start_date": "2021-01-01",\n "billing_due_day": 2,\n "installment_amount": 10050,\n "balance": 8990,\n "balance_currency": "EUR"\n}\n```\n\n</details>\n\n---\n\n### `deleteContractEntity`\n\nDelete an existing contract entity.\n\n`DELETE /v1/billing/contracts/{id}`\n\n```ts\nconst { data } = await client.deleteContractEntity({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `getCustomerBalance`\n\nGet total balance across all contracts and orders of a customer entity.\n\n`GET /v1/billing/customers/{id}/balance`\n\n```ts\nconst { data } = await client.getCustomerBalance({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "balance": 8990,\n "balance_decimal": "89.90",\n "balance_currency": "EUR"\n}\n```\n\n</details>\n\n---\n\n## Schemas\n\n### `BaseEntity`\n\n```ts\ntype BaseEntity = {\n _id?: string\n _title?: string\n _org?: string\n _schema?: "contact" | "contract" | "file" | "order" | "opportunity" | "product" | "price" | "meter" | "meter_counter" | "billing_event"\n _tags?: string[]\n _created_at?: string\n _updated_at?: string\n}\n```\n\n### `EntityId`\n\nEntity ID\n\n```ts\ntype EntityId = string\n```\n\n### `EntitySlug`\n\nURL-friendly identifier for the entity schema\n\n```ts\ntype EntitySlug = "contact" | "contract" | "file" | "order" | "opportunity" | "product" | "price" | "meter" | "meter_counter" | "billing_event"\n```\n\n### `EntityRelationItem`\n\n```ts\ntype EntityRelationItem = {\n entity_id?: string\n}\n```\n\n### `BaseBillingEvent`\n\nA base billing event to be inherited by all billing events.\n\n```ts\ntype BaseBillingEvent = {\n _id?: string\n _title?: string\n _org?: string\n _schema?: "contact" | "contract" | "file" | "order" | "opportunity" | "product" | "price" | "meter" | "meter_counter" | "billing_event"\n _tags?: string[]\n _created_at?: string\n _updated_at?: string\n}\n```\n\n### `InstallmentEvent`\n\nAn entity that describes an installment billing event.\n\n```ts\ntype InstallmentEvent = {\n billing_amount: number\n billing_amount_decimal: string\n billing_currency: string\n external_id?: string\n contract: {\n $relation?: Array<{\n entity_id?: { ... }\n }>\n }\n type: "installment"\n due_date: string // date-time\n paid_date?: string // date-time\n}\n```\n\n### `ReimbursementEvent`\n\nAn entity that describes a reimbursement billing event.\n\n```ts\ntype ReimbursementEvent = {\n billing_amount: number\n billing_amount_decimal: string\n billing_currency: string\n external_id?: string\n contract: {\n $relation?: Array<{\n entity_id?: { ... }\n }>\n }\n type: "reimbursement"\n paid_date?: string // date-time\n}\n```\n\n### `BillingEvent`\n\nAn entity that describes a billing event such as a future installment or a reimbursement back to the customer.\n\n```ts\ntype BillingEvent = {\n billing_amount: number\n billing_amount_decimal: string\n billing_currency: string\n external_id?: string\n contract: {\n $relation?: Array<{\n entity_id?: { ... }\n }>\n }\n type: "installment"\n due_date: string // date-time\n paid_date?: string // date-time\n} | {\n billing_amount: number\n billing_amount_decimal: string\n billing_currency: string\n external_id?: string\n contract: {\n $relation?: Array<{\n entity_id?: { ... }\n }>\n }\n type: "reimbursement"\n paid_date?: string // date-time\n}\n```\n\n### `Contract`\n\n```ts\ntype Contract = {\n _id?: string\n _title?: string\n _org?: string\n _schema?: "contact" | "contract" | "file" | "order" | "opportunity" | "product" | "price" | "meter" | "meter_counter" | "billing_event"\n _tags?: string[]\n _created_at?: string\n _updated_at?: string\n contract_name?: string\n contract_number?: string\n status?: "draft" | "in_approval_process" | "approved" | "active" | "deactivated" | "revoked" | "terminated" | "expired"\n description?: string\n account_number?: string\n branch?: "power" | "gas" | "water" | "waste_water" | "district_heating"\n billing_address?: string\n delivery_address?: string\n additional_addresses?: string\n termination_date?: string\n termination_reason?: string\n billing_period?: "weekly" | "monthly" | "every_quarter" | "every_6_months" | "yearly"\n billing_duration_amount?: number\n renewal_duration_amount?: number\n renewal_duration_unit?: "weeks" | "months" | "years"\n notice_time_amount?: number\n notice_time_unit?: "weeks" | "months" | "years"\n start_date?: string\n billing_due_day?: number\n installment_amount?: number\n balance?: number\n balance_currency?: string\n}\n```\n\n### `ContractItem`\n\n```ts\ntype ContractItem = {\n _id?: string\n _title?: string\n _org?: string\n _schema?: "contact" | "contract" | "file" | "order" | "opportunity" | "product" | "price" | "meter" | "meter_counter" | "billing_event"\n _tags?: string[]\n _created_at?: string\n _updated_at?: string\n contract_name?: string\n contract_number?: string\n status?: "draft" | "in_approval_process" | "approved" | "active" | "deactivated" | "revoked" | "terminated" | "expired"\n description?: string\n account_number?: string\n branch?: "power" | "gas" | "water" | "waste_water" | "district_heating"\n billing_address?: string\n delivery_address?: string\n additional_addresses?: string\n termination_date?: string\n termination_reason?: string\n billing_period?: "weekly" | "monthly" | "every_quarter" | "every_6_months" | "yearly"\n billing_duration_amount?: number\n renewal_duration_amount?: number\n renewal_duration_unit?: "weeks" | "months" | "years"\n notice_time_amount?: number\n notice_time_unit?: "weeks" | "months" | "years"\n start_date?: string\n billing_due_day?: number\n installment_amount?: number\n balance?: number\n balance_currency?: string\n}\n```\n\n### `Balance`\n\n```ts\ntype Balance = {\n balance?: number\n balance_decimal?: string\n balance_currency?: string\n}\n```\n\n### `Currency`\n\nCurrency code in ISO 4217 format\n\n```ts\ntype Currency = string\n```\n';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
exports.default = billing_default;
|
package/dist/billing-IPALEAG2.js
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import "./chunk-YPSWSI3M.js";
|
|
2
|
-
|
|
3
|
-
// src/docs/billing.json
|
|
4
|
-
var billing_default = '# Billing API\n\n- **Base URL:** `https://billing.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/billing](https://docs.epilot.io/api/billing)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.billing.getBillingEvents(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/billing\'\n\nconst billingClient = getClient()\nauthorize(billingClient, () => \'<token>\')\nconst { data } = await billingClient.getBillingEvents(...)\n```\n\n## Operations\n\n**Billing Events**\n- [`getBillingEvents`](#getbillingevents)\n- [`createBillingEvent`](#createbillingevent)\n- [`getBillingEvent`](#getbillingevent)\n- [`updateBillingEvent`](#updatebillingevent)\n- [`deleteBillingEvent`](#deletebillingevent)\n- [`getBillingEventByExternalId`](#getbillingeventbyexternalid)\n\n**Contracts**\n- [`createContractEntity`](#createcontractentity)\n- [`updateContractEntity`](#updatecontractentity)\n- [`deleteContractEntity`](#deletecontractentity)\n\n**Balance**\n- [`getCustomerBalance`](#getcustomerbalance)\n\n**Schemas**\n- [`BaseEntity`](#baseentity)\n- [`EntityId`](#entityid)\n- [`EntitySlug`](#entityslug)\n- [`EntityRelationItem`](#entityrelationitem)\n- [`BaseBillingEvent`](#basebillingevent)\n- [`InstallmentEvent`](#installmentevent)\n- [`ReimbursementEvent`](#reimbursementevent)\n- [`BillingEvent`](#billingevent)\n- [`Contract`](#contract)\n- [`ContractItem`](#contractitem)\n- [`Balance`](#balance)\n- [`Currency`](#currency)\n\n### `getBillingEvents`\n\nGet and filter billing events such as installments and reimbursements.\n\n`GET /v1/billing/events`\n\n```ts\nconst { data } = await client.getBillingEvents({\n from: 1,\n size: 1,\n entity_id: [\'...\'],\n event_type: \'example\',\n date_after: \'example\',\n date_before: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "hits": 0,\n "results": [\n {\n "billing_amount": 10050,\n "billing_amount_decimal": "100.50",\n "billing_currency": "EUR",\n "external_id": "d4fb2a4e-3f74-4fc4-8fba-6fdaaaa3b08e",\n "contract": {\n "$relation": [\n {\n "entity_id": "f589786b-3024-43cd-9cb3-5a3c953f2896"\n }\n ]\n },\n "_id": "5da0a718-c822-403d-9f5d-20d4584e0528",\n "_title": "string",\n "_org": "string",\n "_schema": "contact",\n "_tags": ["string"],\n "_created_at": "string",\n "_updated_at": "string",\n "type": "installment",\n "due_date": "1970-01-01T00:00:00.000Z",\n "paid_date": "1970-01-01T00:00:00.000Z"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `createBillingEvent`\n\nCreate a new billing event.\n\n`POST /v1/billing/events`\n\n```ts\nconst { data } = await client.createBillingEvent(\n null,\n {\n billing_amount: 10050,\n billing_amount_decimal: \'100.50\',\n billing_currency: \'EUR\',\n external_id: \'d4fb2a4e-3f74-4fc4-8fba-6fdaaaa3b08e\',\n contract: {\n $relation: [\n {\n entity_id: \'f589786b-3024-43cd-9cb3-5a3c953f2896\'\n }\n ]\n },\n _id: \'5da0a718-c822-403d-9f5d-20d4584e0528\',\n _title: \'string\',\n _org: \'string\',\n _schema: \'contact\',\n _tags: [\'string\'],\n _created_at: \'string\',\n _updated_at: \'string\',\n type: \'installment\',\n due_date: \'1970-01-01T00:00:00.000Z\',\n paid_date: \'1970-01-01T00:00:00.000Z\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "billing_amount": 10050,\n "billing_amount_decimal": "100.50",\n "billing_currency": "EUR",\n "external_id": "d4fb2a4e-3f74-4fc4-8fba-6fdaaaa3b08e",\n "contract": {\n "$relation": [\n {\n "entity_id": "f589786b-3024-43cd-9cb3-5a3c953f2896"\n }\n ]\n },\n "_id": "5da0a718-c822-403d-9f5d-20d4584e0528",\n "_title": "string",\n "_org": "string",\n "_schema": "contact",\n "_tags": ["string"],\n "_created_at": "string",\n "_updated_at": "string",\n "type": "installment",\n "due_date": "1970-01-01T00:00:00.000Z",\n "paid_date": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `getBillingEvent`\n\nGet a single billing event by ID.\n\n`GET /v1/billing/events/{id}`\n\n```ts\nconst { data } = await client.getBillingEvent({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "billing_amount": 10050,\n "billing_amount_decimal": "100.50",\n "billing_currency": "EUR",\n "external_id": "d4fb2a4e-3f74-4fc4-8fba-6fdaaaa3b08e",\n "contract": {\n "$relation": [\n {\n "entity_id": "f589786b-3024-43cd-9cb3-5a3c953f2896"\n }\n ]\n },\n "_id": "5da0a718-c822-403d-9f5d-20d4584e0528",\n "_title": "string",\n "_org": "string",\n "_schema": "contact",\n "_tags": ["string"],\n "_created_at": "string",\n "_updated_at": "string",\n "type": "installment",\n "due_date": "1970-01-01T00:00:00.000Z",\n "paid_date": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `updateBillingEvent`\n\nUpdate an existing billing event.\n\n`PATCH /v1/billing/events/{id}`\n\n```ts\nconst { data } = await client.updateBillingEvent(\n {\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n },\n {\n billing_amount: 10050,\n billing_amount_decimal: \'100.50\',\n billing_currency: \'EUR\',\n external_id: \'d4fb2a4e-3f74-4fc4-8fba-6fdaaaa3b08e\',\n contract: {\n $relation: [\n {\n entity_id: \'f589786b-3024-43cd-9cb3-5a3c953f2896\'\n }\n ]\n },\n _id: \'5da0a718-c822-403d-9f5d-20d4584e0528\',\n _title: \'string\',\n _org: \'string\',\n _schema: \'contact\',\n _tags: [\'string\'],\n _created_at: \'string\',\n _updated_at: \'string\',\n type: \'installment\',\n due_date: \'1970-01-01T00:00:00.000Z\',\n paid_date: \'1970-01-01T00:00:00.000Z\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "billing_amount": 10050,\n "billing_amount_decimal": "100.50",\n "billing_currency": "EUR",\n "external_id": "d4fb2a4e-3f74-4fc4-8fba-6fdaaaa3b08e",\n "contract": {\n "$relation": [\n {\n "entity_id": "f589786b-3024-43cd-9cb3-5a3c953f2896"\n }\n ]\n },\n "_id": "5da0a718-c822-403d-9f5d-20d4584e0528",\n "_title": "string",\n "_org": "string",\n "_schema": "contact",\n "_tags": ["string"],\n "_created_at": "string",\n "_updated_at": "string",\n "type": "installment",\n "due_date": "1970-01-01T00:00:00.000Z",\n "paid_date": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `deleteBillingEvent`\n\nDelete an existing billing event.\n\n`DELETE /v1/billing/events/{id}`\n\n```ts\nconst { data } = await client.deleteBillingEvent({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `getBillingEventByExternalId`\n\nGet a single billing event by External ID.\n\n`GET /v1/billing/external/{external_id}`\n\n```ts\nconst { data } = await client.getBillingEventByExternalId({\n external_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "billing_amount": 10050,\n "billing_amount_decimal": "100.50",\n "billing_currency": "EUR",\n "external_id": "d4fb2a4e-3f74-4fc4-8fba-6fdaaaa3b08e",\n "contract": {\n "$relation": [\n {\n "entity_id": "f589786b-3024-43cd-9cb3-5a3c953f2896"\n }\n ]\n },\n "_id": "5da0a718-c822-403d-9f5d-20d4584e0528",\n "_title": "string",\n "_org": "string",\n "_schema": "contact",\n "_tags": ["string"],\n "_created_at": "string",\n "_updated_at": "string",\n "type": "installment",\n "due_date": "1970-01-01T00:00:00.000Z",\n "paid_date": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `createContractEntity`\n\nCreate a new contract entity.\n\n`POST /v1/billing/contracts`\n\n```ts\nconst { data } = await client.createContractEntity(\n null,\n {\n _id: \'5da0a718-c822-403d-9f5d-20d4584e0528\',\n _title: \'string\',\n _org: \'string\',\n _schema: \'contact\',\n _tags: [\'string\'],\n _created_at: \'string\',\n _updated_at: \'string\',\n contract_name: \'Grid Contract\',\n contract_number: \'12345\',\n status: \'approved\',\n description: \'This contract is for the supply of widgets.\',\n account_number: \'67890\',\n branch: \'power\',\n billing_address: \'123 Main St, Anytown\',\n delivery_address: \'456 Elm St, Anytown\',\n additional_addresses: \'789 Oak St, Anytown\',\n termination_date: \'2022-01-01\',\n termination_reason: \'Non-payment\',\n billing_period: \'monthly\',\n billing_duration_amount: 30,\n renewal_duration_amount: 365,\n renewal_duration_unit: \'years\',\n notice_time_amount: 30,\n notice_time_unit: \'months\',\n start_date: \'2021-01-01\',\n billing_due_day: 2,\n installment_amount: 10050,\n balance: 8990,\n balance_currency: \'EUR\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "_id": "5da0a718-c822-403d-9f5d-20d4584e0528",\n "_title": "string",\n "_org": "string",\n "_schema": "contact",\n "_tags": ["string"],\n "_created_at": "string",\n "_updated_at": "string",\n "contract_name": "Grid Contract",\n "contract_number": "12345",\n "status": "approved",\n "description": "This contract is for the supply of widgets.",\n "account_number": "67890",\n "branch": "power",\n "billing_address": "123 Main St, Anytown",\n "delivery_address": "456 Elm St, Anytown",\n "additional_addresses": "789 Oak St, Anytown",\n "termination_date": "2022-01-01",\n "termination_reason": "Non-payment",\n "billing_period": "monthly",\n "billing_duration_amount": 30,\n "renewal_duration_amount": 365,\n "renewal_duration_unit": "years",\n "notice_time_amount": 30,\n "notice_time_unit": "months",\n "start_date": "2021-01-01",\n "billing_due_day": 2,\n "installment_amount": 10050,\n "balance": 8990,\n "balance_currency": "EUR"\n}\n```\n\n</details>\n\n---\n\n### `updateContractEntity`\n\nUpdate an existing contract entity.\n\n`PATCH /v1/billing/contracts/{id}`\n\n```ts\nconst { data } = await client.updateContractEntity(\n {\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n },\n {\n _id: \'5da0a718-c822-403d-9f5d-20d4584e0528\',\n _title: \'string\',\n _org: \'string\',\n _schema: \'contact\',\n _tags: [\'string\'],\n _created_at: \'string\',\n _updated_at: \'string\',\n contract_name: \'Grid Contract\',\n contract_number: \'12345\',\n status: \'approved\',\n description: \'This contract is for the supply of widgets.\',\n account_number: \'67890\',\n branch: \'power\',\n billing_address: \'123 Main St, Anytown\',\n delivery_address: \'456 Elm St, Anytown\',\n additional_addresses: \'789 Oak St, Anytown\',\n termination_date: \'2022-01-01\',\n termination_reason: \'Non-payment\',\n billing_period: \'monthly\',\n billing_duration_amount: 30,\n renewal_duration_amount: 365,\n renewal_duration_unit: \'years\',\n notice_time_amount: 30,\n notice_time_unit: \'months\',\n start_date: \'2021-01-01\',\n billing_due_day: 2,\n installment_amount: 10050,\n balance: 8990,\n balance_currency: \'EUR\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "_id": "5da0a718-c822-403d-9f5d-20d4584e0528",\n "_title": "string",\n "_org": "string",\n "_schema": "contact",\n "_tags": ["string"],\n "_created_at": "string",\n "_updated_at": "string",\n "contract_name": "Grid Contract",\n "contract_number": "12345",\n "status": "approved",\n "description": "This contract is for the supply of widgets.",\n "account_number": "67890",\n "branch": "power",\n "billing_address": "123 Main St, Anytown",\n "delivery_address": "456 Elm St, Anytown",\n "additional_addresses": "789 Oak St, Anytown",\n "termination_date": "2022-01-01",\n "termination_reason": "Non-payment",\n "billing_period": "monthly",\n "billing_duration_amount": 30,\n "renewal_duration_amount": 365,\n "renewal_duration_unit": "years",\n "notice_time_amount": 30,\n "notice_time_unit": "months",\n "start_date": "2021-01-01",\n "billing_due_day": 2,\n "installment_amount": 10050,\n "balance": 8990,\n "balance_currency": "EUR"\n}\n```\n\n</details>\n\n---\n\n### `deleteContractEntity`\n\nDelete an existing contract entity.\n\n`DELETE /v1/billing/contracts/{id}`\n\n```ts\nconst { data } = await client.deleteContractEntity({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `getCustomerBalance`\n\nGet total balance across all contracts and orders of a customer entity.\n\n`GET /v1/billing/customers/{id}/balance`\n\n```ts\nconst { data } = await client.getCustomerBalance({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "balance": 8990,\n "balance_decimal": "89.90",\n "balance_currency": "EUR"\n}\n```\n\n</details>\n\n---\n\n## Schemas\n\n### `BaseEntity`\n\n```ts\ntype BaseEntity = {\n _id?: string\n _title?: string\n _org?: string\n _schema?: "contact" | "contract" | "file" | "order" | "opportunity" | "product" | "price" | "meter" | "meter_counter" | "billing_event"\n _tags?: string[]\n _created_at?: string\n _updated_at?: string\n}\n```\n\n### `EntityId`\n\nEntity ID\n\n```ts\ntype EntityId = string\n```\n\n### `EntitySlug`\n\nURL-friendly identifier for the entity schema\n\n```ts\ntype EntitySlug = "contact" | "contract" | "file" | "order" | "opportunity" | "product" | "price" | "meter" | "meter_counter" | "billing_event"\n```\n\n### `EntityRelationItem`\n\n```ts\ntype EntityRelationItem = {\n entity_id?: string\n}\n```\n\n### `BaseBillingEvent`\n\nA base billing event to be inherited by all billing events.\n\n```ts\ntype BaseBillingEvent = {\n _id?: string\n _title?: string\n _org?: string\n _schema?: "contact" | "contract" | "file" | "order" | "opportunity" | "product" | "price" | "meter" | "meter_counter" | "billing_event"\n _tags?: string[]\n _created_at?: string\n _updated_at?: string\n}\n```\n\n### `InstallmentEvent`\n\nAn entity that describes an installment billing event.\n\n```ts\ntype InstallmentEvent = {\n billing_amount: number\n billing_amount_decimal: string\n billing_currency: string\n external_id?: string\n contract: {\n $relation?: Array<{\n entity_id?: { ... }\n }>\n }\n type: "installment"\n due_date: string // date-time\n paid_date?: string // date-time\n}\n```\n\n### `ReimbursementEvent`\n\nAn entity that describes a reimbursement billing event.\n\n```ts\ntype ReimbursementEvent = {\n billing_amount: number\n billing_amount_decimal: string\n billing_currency: string\n external_id?: string\n contract: {\n $relation?: Array<{\n entity_id?: { ... }\n }>\n }\n type: "reimbursement"\n paid_date?: string // date-time\n}\n```\n\n### `BillingEvent`\n\nAn entity that describes a billing event such as a future installment or a reimbursement back to the customer.\n\n```ts\ntype BillingEvent = {\n billing_amount: number\n billing_amount_decimal: string\n billing_currency: string\n external_id?: string\n contract: {\n $relation?: Array<{\n entity_id?: { ... }\n }>\n }\n type: "installment"\n due_date: string // date-time\n paid_date?: string // date-time\n} | {\n billing_amount: number\n billing_amount_decimal: string\n billing_currency: string\n external_id?: string\n contract: {\n $relation?: Array<{\n entity_id?: { ... }\n }>\n }\n type: "reimbursement"\n paid_date?: string // date-time\n}\n```\n\n### `Contract`\n\n```ts\ntype Contract = {\n _id?: string\n _title?: string\n _org?: string\n _schema?: "contact" | "contract" | "file" | "order" | "opportunity" | "product" | "price" | "meter" | "meter_counter" | "billing_event"\n _tags?: string[]\n _created_at?: string\n _updated_at?: string\n contract_name?: string\n contract_number?: string\n status?: "draft" | "in_approval_process" | "approved" | "active" | "deactivated" | "revoked" | "terminated" | "expired"\n description?: string\n account_number?: string\n branch?: "power" | "gas" | "water" | "waste_water" | "district_heating"\n billing_address?: string\n delivery_address?: string\n additional_addresses?: string\n termination_date?: string\n termination_reason?: string\n billing_period?: "weekly" | "monthly" | "every_quarter" | "every_6_months" | "yearly"\n billing_duration_amount?: number\n renewal_duration_amount?: number\n renewal_duration_unit?: "weeks" | "months" | "years"\n notice_time_amount?: number\n notice_time_unit?: "weeks" | "months" | "years"\n start_date?: string\n billing_due_day?: number\n installment_amount?: number\n balance?: number\n balance_currency?: string\n}\n```\n\n### `ContractItem`\n\n```ts\ntype ContractItem = {\n _id?: string\n _title?: string\n _org?: string\n _schema?: "contact" | "contract" | "file" | "order" | "opportunity" | "product" | "price" | "meter" | "meter_counter" | "billing_event"\n _tags?: string[]\n _created_at?: string\n _updated_at?: string\n contract_name?: string\n contract_number?: string\n status?: "draft" | "in_approval_process" | "approved" | "active" | "deactivated" | "revoked" | "terminated" | "expired"\n description?: string\n account_number?: string\n branch?: "power" | "gas" | "water" | "waste_water" | "district_heating"\n billing_address?: string\n delivery_address?: string\n additional_addresses?: string\n termination_date?: string\n termination_reason?: string\n billing_period?: "weekly" | "monthly" | "every_quarter" | "every_6_months" | "yearly"\n billing_duration_amount?: number\n renewal_duration_amount?: number\n renewal_duration_unit?: "weeks" | "months" | "years"\n notice_time_amount?: number\n notice_time_unit?: "weeks" | "months" | "years"\n start_date?: string\n billing_due_day?: number\n installment_amount?: number\n balance?: number\n balance_currency?: string\n}\n```\n\n### `Balance`\n\n```ts\ntype Balance = {\n balance?: number\n balance_decimal?: string\n balance_currency?: string\n}\n```\n\n### `Currency`\n\nCurrency code in ISO 4217 format\n\n```ts\ntype Currency = string\n```\n';
|
|
5
|
-
export {
|
|
6
|
-
billing_default as default
|
|
7
|
-
};
|