@firela/api-types 0.0.0-canary.aba78d68 → 0.0.0-canary.ad70e5a

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/dist/index.js CHANGED
@@ -484,7 +484,7 @@ var BeanAccountsService = class {
484
484
  * @param data.type Filter by account type
485
485
  * @param data.status Filter by status
486
486
  * @param data.isCustom Filter by custom (user-created) accounts only
487
- * @param data.search Search term for path or i18nKey
487
+ * @param data.search Search term matched against account path and user-set display name (case-insensitive)
488
488
  * @param data.limit Maximum number of results
489
489
  * @param data.offset Number of results to skip
490
490
  * @returns AccountListResponseDto Accounts retrieved successfully
@@ -556,7 +556,7 @@ var BeanAccountsService = class {
556
556
  }
557
557
  /**
558
558
  * Delete account
559
- * Deletes an account (only if no transactions)
559
+ * Deletes an account (only if no active transactions; voided/superseded residual postings are cleaned up)
560
560
  * @param data The data for the request.
561
561
  * @param data.id Account UUID
562
562
  * @param data.region Region code for tenant context
@@ -573,7 +573,7 @@ var BeanAccountsService = class {
573
573
  },
574
574
  errors: {
575
575
  404: "Account not found",
576
- 409: "Account has transactions and cannot be deleted"
576
+ 409: "Account has active transactions and cannot be deleted"
577
577
  }
578
578
  });
579
579
  }
@@ -629,6 +629,32 @@ var BeanAccountsService = class {
629
629
  }
630
630
  });
631
631
  }
632
+ /**
633
+ * Post an opening-balance transaction
634
+ * Posts a double-entry opening-balance transaction against Equity:Opening-Balances for an existing Assets/Liabilities account. At most one active opening balance per account.
635
+ * @param data The data for the request.
636
+ * @param data.id Account UUID
637
+ * @param data.region Region code for tenant context
638
+ * @param data.requestBody
639
+ * @returns OpeningBalanceResultDto Opening-balance transaction created
640
+ * @throws ApiError
641
+ */
642
+ static accountControllerAddOpeningBalance(data) {
643
+ return request(OpenAPI, {
644
+ method: "POST",
645
+ url: "/api/v1/{region}/bean/accounts/{id}/opening-balance",
646
+ path: {
647
+ id: data.id,
648
+ region: data.region
649
+ },
650
+ body: data.requestBody,
651
+ mediaType: "application/json",
652
+ errors: {
653
+ 404: "Account not found",
654
+ 409: "An opening balance already exists for this account"
655
+ }
656
+ });
657
+ }
632
658
  };
633
659
  var BeanTransactionsService = class {
634
660
  /**
@@ -667,9 +693,11 @@ var BeanTransactionsService = class {
667
693
  * @param data.offset Number of items to skip (default: 0)
668
694
  * @param data.dateFrom Filter by start date (inclusive), format: YYYY-MM-DD
669
695
  * @param data.dateTo Filter by end date (inclusive), format: YYYY-MM-DD
670
- * @param data.status Filter by transaction status
696
+ * @param data.status Filter by transaction status: single value, comma-separated multi-value (e.g. VOIDED,SUPERSEDED), or ALL to include audit rows. Defaults to ACTIVE-only (ADR-0128; previously unfiltered — breaking change).
671
697
  * @param data.search Search in narration and payee fields (max 200 chars)
672
698
  * @param data.accountId Filter by account ID (transactions with postings to this account)
699
+ * @param data.category Filter by ADR-0075 functional category (Group segment); matches any posting to an account whose derived Group segment equals this value. Must be accompanied by flow (ADR-0126).
700
+ * @param data.flow Required when category is present (400 otherwise) and vice versa (ADR-0126). Restricts the category account set to the flow root (income → Income:, expense → Expenses:) and drives the per-leg sign normalization of row viewpointAmount and the summary. OpenAPI cannot express conditional requiredness — the pairing is enforced at runtime.
673
701
  * @returns TransactionListResponseDto Transaction list
674
702
  * @throws ApiError
675
703
  */
@@ -687,7 +715,9 @@ var BeanTransactionsService = class {
687
715
  dateTo: data.dateTo,
688
716
  status: data.status,
689
717
  search: data.search,
690
- accountId: data.accountId
718
+ accountId: data.accountId,
719
+ category: data.category,
720
+ flow: data.flow
691
721
  },
692
722
  errors: {
693
723
  400: "Validation failed",
@@ -720,6 +750,31 @@ var BeanTransactionsService = class {
720
750
  }
721
751
  });
722
752
  }
753
+ /**
754
+ * Batch void transactions
755
+ * Soft-deletes (VOIDED) a batch of the caller's ACTIVE transactions in one DB transaction. Voiding releases each row's importId dedup slot, so re-importing the same file after an undo batch-void imports every row again instead of skipping them as duplicates.
756
+ * @param data The data for the request.
757
+ * @param data.region Region code for tenant context
758
+ * @param data.requestBody Batch void request (1-500 unique transaction IDs)
759
+ * @returns BatchVoidResultDto Batch void result: count of rows voided plus ids not found / no longer ACTIVE
760
+ * @throws ApiError
761
+ */
762
+ static transactionControllerBatchVoid(data) {
763
+ return request(OpenAPI, {
764
+ method: "POST",
765
+ url: "/api/v1/{region}/bean/transactions/batch-void",
766
+ path: {
767
+ region: data.region
768
+ },
769
+ body: data.requestBody,
770
+ mediaType: "application/json",
771
+ errors: {
772
+ 400: "Validation failed (empty, over 500, duplicate or non-string ids)",
773
+ 401: "Authentication required",
774
+ 403: "Batch contains ids owned by another user \u2014 whole request rejected, nothing committed"
775
+ }
776
+ });
777
+ }
723
778
  /**
724
779
  * Correct (supersede) a transaction
725
780
  * Atomically voids the original (SUPERSEDED) and creates a replacement through the full validation pipeline.
@@ -856,7 +911,7 @@ var BeanBalancesService = class {
856
911
  * Query account balance
857
912
  * Calculate account balance at a specific date for a single currency
858
913
  * @param data The data for the request.
859
- * @param data.account Account name (e.g., "Assets:Bank:Checking")
914
+ * @param data.account Account name (e.g., "Assets:Checking")
860
915
  * @param data.region Region code for tenant context
861
916
  * @param data.date Date to calculate balance at (ISO 8601 format)
862
917
  * @param data.currency Currency to query (e.g., "USD", "CNY")
package/dist/index.mjs CHANGED
@@ -452,7 +452,7 @@ var BeanAccountsService = class {
452
452
  * @param data.type Filter by account type
453
453
  * @param data.status Filter by status
454
454
  * @param data.isCustom Filter by custom (user-created) accounts only
455
- * @param data.search Search term for path or i18nKey
455
+ * @param data.search Search term matched against account path and user-set display name (case-insensitive)
456
456
  * @param data.limit Maximum number of results
457
457
  * @param data.offset Number of results to skip
458
458
  * @returns AccountListResponseDto Accounts retrieved successfully
@@ -524,7 +524,7 @@ var BeanAccountsService = class {
524
524
  }
525
525
  /**
526
526
  * Delete account
527
- * Deletes an account (only if no transactions)
527
+ * Deletes an account (only if no active transactions; voided/superseded residual postings are cleaned up)
528
528
  * @param data The data for the request.
529
529
  * @param data.id Account UUID
530
530
  * @param data.region Region code for tenant context
@@ -541,7 +541,7 @@ var BeanAccountsService = class {
541
541
  },
542
542
  errors: {
543
543
  404: "Account not found",
544
- 409: "Account has transactions and cannot be deleted"
544
+ 409: "Account has active transactions and cannot be deleted"
545
545
  }
546
546
  });
547
547
  }
@@ -597,6 +597,32 @@ var BeanAccountsService = class {
597
597
  }
598
598
  });
599
599
  }
600
+ /**
601
+ * Post an opening-balance transaction
602
+ * Posts a double-entry opening-balance transaction against Equity:Opening-Balances for an existing Assets/Liabilities account. At most one active opening balance per account.
603
+ * @param data The data for the request.
604
+ * @param data.id Account UUID
605
+ * @param data.region Region code for tenant context
606
+ * @param data.requestBody
607
+ * @returns OpeningBalanceResultDto Opening-balance transaction created
608
+ * @throws ApiError
609
+ */
610
+ static accountControllerAddOpeningBalance(data) {
611
+ return request(OpenAPI, {
612
+ method: "POST",
613
+ url: "/api/v1/{region}/bean/accounts/{id}/opening-balance",
614
+ path: {
615
+ id: data.id,
616
+ region: data.region
617
+ },
618
+ body: data.requestBody,
619
+ mediaType: "application/json",
620
+ errors: {
621
+ 404: "Account not found",
622
+ 409: "An opening balance already exists for this account"
623
+ }
624
+ });
625
+ }
600
626
  };
601
627
  var BeanTransactionsService = class {
602
628
  /**
@@ -635,9 +661,11 @@ var BeanTransactionsService = class {
635
661
  * @param data.offset Number of items to skip (default: 0)
636
662
  * @param data.dateFrom Filter by start date (inclusive), format: YYYY-MM-DD
637
663
  * @param data.dateTo Filter by end date (inclusive), format: YYYY-MM-DD
638
- * @param data.status Filter by transaction status
664
+ * @param data.status Filter by transaction status: single value, comma-separated multi-value (e.g. VOIDED,SUPERSEDED), or ALL to include audit rows. Defaults to ACTIVE-only (ADR-0128; previously unfiltered — breaking change).
639
665
  * @param data.search Search in narration and payee fields (max 200 chars)
640
666
  * @param data.accountId Filter by account ID (transactions with postings to this account)
667
+ * @param data.category Filter by ADR-0075 functional category (Group segment); matches any posting to an account whose derived Group segment equals this value. Must be accompanied by flow (ADR-0126).
668
+ * @param data.flow Required when category is present (400 otherwise) and vice versa (ADR-0126). Restricts the category account set to the flow root (income → Income:, expense → Expenses:) and drives the per-leg sign normalization of row viewpointAmount and the summary. OpenAPI cannot express conditional requiredness — the pairing is enforced at runtime.
641
669
  * @returns TransactionListResponseDto Transaction list
642
670
  * @throws ApiError
643
671
  */
@@ -655,7 +683,9 @@ var BeanTransactionsService = class {
655
683
  dateTo: data.dateTo,
656
684
  status: data.status,
657
685
  search: data.search,
658
- accountId: data.accountId
686
+ accountId: data.accountId,
687
+ category: data.category,
688
+ flow: data.flow
659
689
  },
660
690
  errors: {
661
691
  400: "Validation failed",
@@ -688,6 +718,31 @@ var BeanTransactionsService = class {
688
718
  }
689
719
  });
690
720
  }
721
+ /**
722
+ * Batch void transactions
723
+ * Soft-deletes (VOIDED) a batch of the caller's ACTIVE transactions in one DB transaction. Voiding releases each row's importId dedup slot, so re-importing the same file after an undo batch-void imports every row again instead of skipping them as duplicates.
724
+ * @param data The data for the request.
725
+ * @param data.region Region code for tenant context
726
+ * @param data.requestBody Batch void request (1-500 unique transaction IDs)
727
+ * @returns BatchVoidResultDto Batch void result: count of rows voided plus ids not found / no longer ACTIVE
728
+ * @throws ApiError
729
+ */
730
+ static transactionControllerBatchVoid(data) {
731
+ return request(OpenAPI, {
732
+ method: "POST",
733
+ url: "/api/v1/{region}/bean/transactions/batch-void",
734
+ path: {
735
+ region: data.region
736
+ },
737
+ body: data.requestBody,
738
+ mediaType: "application/json",
739
+ errors: {
740
+ 400: "Validation failed (empty, over 500, duplicate or non-string ids)",
741
+ 401: "Authentication required",
742
+ 403: "Batch contains ids owned by another user \u2014 whole request rejected, nothing committed"
743
+ }
744
+ });
745
+ }
691
746
  /**
692
747
  * Correct (supersede) a transaction
693
748
  * Atomically voids the original (SUPERSEDED) and creates a replacement through the full validation pipeline.
@@ -824,7 +879,7 @@ var BeanBalancesService = class {
824
879
  * Query account balance
825
880
  * Calculate account balance at a specific date for a single currency
826
881
  * @param data The data for the request.
827
- * @param data.account Account name (e.g., "Assets:Bank:Checking")
882
+ * @param data.account Account name (e.g., "Assets:Checking")
828
883
  * @param data.region Region code for tenant context
829
884
  * @param data.date Date to calculate balance at (ISO 8601 format)
830
885
  * @param data.currency Currency to query (e.g., "USD", "CNY")
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@firela/api-types",
3
- "version": "0.0.0-canary.aba78d68",
3
+ "version": "0.0.0-canary.ad70e5a",
4
4
  "description": "TypeScript types generated from IGN OpenAPI specification",
5
5
  "license": "MIT",
6
6
  "author": "FireLa Team",