@vrplatform/api 1.3.1-6488 → 1.3.1-6500

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/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "1.3.1-6488",
6
+ "version": "1.3.1-6500",
7
7
  "description": "",
8
8
  "main": "build/main/index.js",
9
9
  "module": "build/module/index.js",
@@ -4136,7 +4136,7 @@ export interface paths {
4136
4136
  cookie?: never;
4137
4137
  };
4138
4138
  /**
4139
- * @description Get the normalized lifecycle status of one asynchronous operation owned by the requesting tenant. Payloads, errors, effect details, and runtime identifiers remain private. See https://docs.vrplatform.app/api/operation-status.
4139
+ * @description Get the normalized lifecycle status of one public asynchronous operation owned by the requesting tenant, including provider-payment recovery. Payloads, errors, sync details, effect details, and runtime identifiers remain private. See https://docs.vrplatform.app/api/operation-status.
4140
4140
  *
4141
4141
  * Required scope: operations:read
4142
4142
  */
@@ -5601,7 +5601,7 @@ export interface paths {
5601
5601
  get?: never;
5602
5602
  put?: never;
5603
5603
  /**
5604
- * @description Regenerate reservation journal entries. Recomputes postings from the current reservation financials for the given ids (or the whole portfolio) and rewrites unlocked entries; lockPolicy controls how lock-flagged reservations are handled, while books-closed and owner-statement attachment locks always apply. If applying only unlocked changes would split an otherwise balanced journal group, the refresh returns a structured journalEntries lock and writes nothing. If active reservation lines have no account mapping, the response asks the caller to map or exclude them in Reservation Accounts and returns the affected line types in structured error context. bypassStatementPeriod is only supported for a single-reservation refresh. Generic dry run is unavailable because this operation needs a dedicated consequence preview for projected posting changes. See https://docs.vrplatform.app/guides/build/reservations.
5604
+ * @description Regenerate reservation journal entries. Recomputes postings from the current reservation financials for the given ids (or the whole portfolio) and rewrites unlocked entries; explicit ids complete inline and total counts refreshed reservations, while omitting ids queues portfolio work and total counts queued reservations. lockPolicy controls how lock-flagged reservations are handled, while books-closed and owner-statement attachment locks always apply. If applying only unlocked changes would split an otherwise balanced journal group, the refresh returns a structured journalEntries lock and writes nothing. If active reservation lines have no account mapping, the response asks the caller to map or exclude them in Reservation Accounts and returns the affected line types in structured error context. bypassStatementPeriod is only supported for a single-reservation refresh. Generic dry run is unavailable because this operation needs a dedicated consequence preview for projected posting changes. See https://docs.vrplatform.app/guides/build/reservations.
5605
5605
  *
5606
5606
  * Required scope: reservations:post-journals
5607
5607
  */
@@ -6653,7 +6653,7 @@ export interface paths {
6653
6653
  };
6654
6654
  get?: never;
6655
6655
  /**
6656
- * @description Replace the UI permission bundles assigned to a team member. Requires UI Permission Roles and the team-member-roles:manage permission, rejects self-updates, and keeps the legacy role field synchronized during migration.
6656
+ * @description Replace the UI permission bundles assigned to a team member. Self-updates are allowed, but the final direct access manager cannot remove that access.
6657
6657
  *
6658
6658
  * Required scope: team-member-roles:manage
6659
6659
  */
@@ -7252,7 +7252,7 @@ export interface paths {
7252
7252
  get?: never;
7253
7253
  put?: never;
7254
7254
  /**
7255
- * @description Archive a failed, returned, or canceled Ramp bill and then archive the payout accounting. Paid payouts cannot be archived. The provider mutation completes before journal entries are made inactive.
7255
+ * @description Archive a failed, returned, or canceled Ramp bill before archiving payout accounting. Poll the returned `operationId` through `GET /operations/{id}`; paid payouts cannot be archived.
7256
7256
  *
7257
7257
  * Required scope: transactions:write, ach-payments:execute
7258
7258
  */
@@ -7273,7 +7273,7 @@ export interface paths {
7273
7273
  get?: never;
7274
7274
  put?: never;
7275
7275
  /**
7276
- * @description Request cancellation of a requested or processing Ramp payment. Ramp is authoritative about cancellation eligibility. archivePayout=true first validates local accounting, then archives the payout only after the Ramp bill archive is durable. archivePayout=false stops money movement without changing payout accounting.
7276
+ * @description Request cancellation of a requested or processing Ramp payment, optionally followed by payout accounting archive. Poll the returned `operationId` through `GET /operations/{id}`; Ramp remains authoritative about cancellation eligibility.
7277
7277
  *
7278
7278
  * Required scope: transactions:mark-paid, ach-payments:execute
7279
7279
  */
@@ -17633,9 +17633,13 @@ export interface operations {
17633
17633
  reconcileStatus?: "unpaid" | "underpaid" | "overpaid" | "paid";
17634
17634
  matchedByBankRule?: boolean;
17635
17635
  includeBalanceRecords?: boolean;
17636
- /** @description Include bank-rule suggestions; defaults to true when includeMatchingTransactions is set */
17636
+ /** @description Include bank-rule suggestions; defaults to true with the deprecated includeMatchingTransactions parameter */
17637
17637
  includeMatchingRules?: boolean;
17638
- /** @description Include matching transactions, optionally with max days offset */
17638
+ /** @description Include ordered exact matching transaction sets */
17639
+ includeMatchingTransaction?: boolean;
17640
+ /** @description Maximum date offset for exact transaction suggestions; defaults to seven days. Multi-transaction sets remain limited to seven days. */
17641
+ matchingTransactionDaysOffset?: number;
17642
+ /** @description Deprecated: use includeMatchingTransaction and matchingTransactionDaysOffset. */
17639
17643
  includeMatchingTransactions?: string;
17640
17644
  hasMatchingTransactions?: boolean;
17641
17645
  reservationLineFilter?: "all" | "reservationOnly" | "nonReservationOnly";
@@ -17781,6 +17785,104 @@ export interface operations {
17781
17785
  shortRef?: string | null;
17782
17786
  }[];
17783
17787
  }[] | null;
17788
+ /** @description Ordered exact transaction sets matching this bank record */
17789
+ matchingTransactionSets?: {
17790
+ /** @description Eligible transactions whose signed amounts form this set */
17791
+ transactions: {
17792
+ id: string;
17793
+ /** @enum {string} */
17794
+ status: "active" | "inactive";
17795
+ /** @description Value in cents (100 = 1€) */
17796
+ amount: number;
17797
+ account?: {
17798
+ id: string;
17799
+ name: string;
17800
+ uniqueRef?: string | null;
17801
+ /** @enum {string} */
17802
+ status: "active" | "inactive";
17803
+ } | null;
17804
+ date: string;
17805
+ description: string;
17806
+ /** @description Currency in ISO 4217 format, will be converted to lowercase */
17807
+ currency: string;
17808
+ /** @enum {string} */
17809
+ type: "deposit" | "expense" | "journalBatch" | "transfer" | "payout";
17810
+ isOpeningBalance: boolean;
17811
+ contact?: {
17812
+ /** Format: uuid */
17813
+ id: string;
17814
+ name?: string | null;
17815
+ firstName?: string | null;
17816
+ uniqueRef?: string | null;
17817
+ shortRef?: string | null;
17818
+ email?: string | null;
17819
+ /** @enum {string} */
17820
+ type: "owner" | "vendor";
17821
+ } | null;
17822
+ connection?: {
17823
+ /** Format: uuid */
17824
+ id: string;
17825
+ name: string;
17826
+ /** @enum {string} */
17827
+ status: "active" | "inactive";
17828
+ uniqueRef?: string | null;
17829
+ appId: string;
17830
+ } | null;
17831
+ uniqueRef?: string | null;
17832
+ shortRef?: string | null;
17833
+ recurringTemplate?: {
17834
+ id: string;
17835
+ } | null;
17836
+ /** @description Absolute difference in days from the bank record date */
17837
+ dateOffset: number;
17838
+ /** @description Structured explanation for the transaction suggestion */
17839
+ matchDetails: {
17840
+ /** @description Whether another candidate has the same date offset */
17841
+ ambiguous: boolean;
17842
+ /** @description Candidate amount minus bank record amount, in cents; exact matches return zero */
17843
+ amountDifference: number;
17844
+ /** @description Transaction date used to evaluate the bank-record date window */
17845
+ matchingDate: string;
17846
+ /** @description Maximum eligible difference in days */
17847
+ maxDateOffset: number;
17848
+ /** @description Typed criteria satisfied by this candidate */
17849
+ reasons: ("exactAmount" | "sameBankAccount" | "bankAccountAssignedOnMatch" | "dateWithinWindow")[];
17850
+ };
17851
+ /** @description Unique listings referenced by the transaction lines */
17852
+ listings: {
17853
+ /** Format: uuid */
17854
+ id: string;
17855
+ name: string;
17856
+ uniqueRef?: string | null;
17857
+ shortRef?: string | null;
17858
+ }[];
17859
+ /** @description Unique reservations referenced by the transaction lines */
17860
+ reservations: {
17861
+ /** Format: uuid */
17862
+ id: string;
17863
+ confirmationCode?: string | null;
17864
+ uniqueRef?: string | null;
17865
+ shortRef?: string | null;
17866
+ }[];
17867
+ }[];
17868
+ /** @description Combined signed transaction amount in cents */
17869
+ combinedAmount: number;
17870
+ /** @description Currency in ISO 4217 format, will be converted to lowercase */
17871
+ currency: string;
17872
+ dateEvidence: {
17873
+ /** @description Sum of member date offsets used for deterministic ranking */
17874
+ totalDateOffset: number;
17875
+ /** @description Largest member date offset in the group */
17876
+ maxDateOffset: number;
17877
+ };
17878
+ matchDetails: {
17879
+ /** @description Whether another transaction set has the same member count and total date offset */
17880
+ ambiguous: boolean;
17881
+ /** @description Combined set amount minus bank record amount, in cents; exact suggestions return zero */
17882
+ amountDifference: number;
17883
+ reasons: ("exactAmount" | "sameCurrency" | "allTransactionsEligible" | "dateWithinWindow")[];
17884
+ };
17885
+ }[] | null;
17784
17886
  matchingRules?: {
17785
17887
  rule: {
17786
17888
  /** Format: uuid */
@@ -18461,9 +18563,13 @@ export interface operations {
18461
18563
  reconcileStatus?: "unpaid" | "underpaid" | "overpaid" | "paid";
18462
18564
  matchedByBankRule?: boolean;
18463
18565
  includeBalanceRecords?: boolean;
18464
- /** @description Include bank-rule suggestions; defaults to true when includeMatchingTransactions is set */
18566
+ /** @description Include bank-rule suggestions; defaults to true with the deprecated includeMatchingTransactions parameter */
18465
18567
  includeMatchingRules?: boolean;
18466
- /** @description Include matching transactions, optionally with max days offset */
18568
+ /** @description Include ordered exact matching transaction sets */
18569
+ includeMatchingTransaction?: boolean;
18570
+ /** @description Maximum date offset for exact transaction suggestions; defaults to seven days. Multi-transaction sets remain limited to seven days. */
18571
+ matchingTransactionDaysOffset?: number;
18572
+ /** @description Deprecated: use includeMatchingTransaction and matchingTransactionDaysOffset. */
18467
18573
  includeMatchingTransactions?: string;
18468
18574
  hasMatchingTransactions?: boolean;
18469
18575
  reservationLineFilter?: "all" | "reservationOnly" | "nonReservationOnly";
@@ -18717,9 +18823,13 @@ export interface operations {
18717
18823
  getBankRecordsById: {
18718
18824
  parameters: {
18719
18825
  query?: {
18720
- /** @description Include bank-rule suggestions; defaults to true when includeMatchingTransactions is set */
18826
+ /** @description Include bank-rule suggestions; defaults to true with the deprecated includeMatchingTransactions parameter */
18721
18827
  includeMatchingRules?: boolean;
18722
- /** @description Include matching transactions, optionally with max days offset */
18828
+ /** @description Include ordered exact matching transaction sets */
18829
+ includeMatchingTransaction?: boolean;
18830
+ /** @description Maximum date offset for exact transaction suggestions; defaults to seven days. Multi-transaction sets remain limited to seven days. */
18831
+ matchingTransactionDaysOffset?: number;
18832
+ /** @description Deprecated: use includeMatchingTransaction and matchingTransactionDaysOffset. */
18723
18833
  includeMatchingTransactions?: string;
18724
18834
  };
18725
18835
  header?: never;
@@ -18859,6 +18969,104 @@ export interface operations {
18859
18969
  shortRef?: string | null;
18860
18970
  }[];
18861
18971
  }[] | null;
18972
+ /** @description Ordered exact transaction sets matching this bank record */
18973
+ matchingTransactionSets?: {
18974
+ /** @description Eligible transactions whose signed amounts form this set */
18975
+ transactions: {
18976
+ id: string;
18977
+ /** @enum {string} */
18978
+ status: "active" | "inactive";
18979
+ /** @description Value in cents (100 = 1€) */
18980
+ amount: number;
18981
+ account?: {
18982
+ id: string;
18983
+ name: string;
18984
+ uniqueRef?: string | null;
18985
+ /** @enum {string} */
18986
+ status: "active" | "inactive";
18987
+ } | null;
18988
+ date: string;
18989
+ description: string;
18990
+ /** @description Currency in ISO 4217 format, will be converted to lowercase */
18991
+ currency: string;
18992
+ /** @enum {string} */
18993
+ type: "deposit" | "expense" | "journalBatch" | "transfer" | "payout";
18994
+ isOpeningBalance: boolean;
18995
+ contact?: {
18996
+ /** Format: uuid */
18997
+ id: string;
18998
+ name?: string | null;
18999
+ firstName?: string | null;
19000
+ uniqueRef?: string | null;
19001
+ shortRef?: string | null;
19002
+ email?: string | null;
19003
+ /** @enum {string} */
19004
+ type: "owner" | "vendor";
19005
+ } | null;
19006
+ connection?: {
19007
+ /** Format: uuid */
19008
+ id: string;
19009
+ name: string;
19010
+ /** @enum {string} */
19011
+ status: "active" | "inactive";
19012
+ uniqueRef?: string | null;
19013
+ appId: string;
19014
+ } | null;
19015
+ uniqueRef?: string | null;
19016
+ shortRef?: string | null;
19017
+ recurringTemplate?: {
19018
+ id: string;
19019
+ } | null;
19020
+ /** @description Absolute difference in days from the bank record date */
19021
+ dateOffset: number;
19022
+ /** @description Structured explanation for the transaction suggestion */
19023
+ matchDetails: {
19024
+ /** @description Whether another candidate has the same date offset */
19025
+ ambiguous: boolean;
19026
+ /** @description Candidate amount minus bank record amount, in cents; exact matches return zero */
19027
+ amountDifference: number;
19028
+ /** @description Transaction date used to evaluate the bank-record date window */
19029
+ matchingDate: string;
19030
+ /** @description Maximum eligible difference in days */
19031
+ maxDateOffset: number;
19032
+ /** @description Typed criteria satisfied by this candidate */
19033
+ reasons: ("exactAmount" | "sameBankAccount" | "bankAccountAssignedOnMatch" | "dateWithinWindow")[];
19034
+ };
19035
+ /** @description Unique listings referenced by the transaction lines */
19036
+ listings: {
19037
+ /** Format: uuid */
19038
+ id: string;
19039
+ name: string;
19040
+ uniqueRef?: string | null;
19041
+ shortRef?: string | null;
19042
+ }[];
19043
+ /** @description Unique reservations referenced by the transaction lines */
19044
+ reservations: {
19045
+ /** Format: uuid */
19046
+ id: string;
19047
+ confirmationCode?: string | null;
19048
+ uniqueRef?: string | null;
19049
+ shortRef?: string | null;
19050
+ }[];
19051
+ }[];
19052
+ /** @description Combined signed transaction amount in cents */
19053
+ combinedAmount: number;
19054
+ /** @description Currency in ISO 4217 format, will be converted to lowercase */
19055
+ currency: string;
19056
+ dateEvidence: {
19057
+ /** @description Sum of member date offsets used for deterministic ranking */
19058
+ totalDateOffset: number;
19059
+ /** @description Largest member date offset in the group */
19060
+ maxDateOffset: number;
19061
+ };
19062
+ matchDetails: {
19063
+ /** @description Whether another transaction set has the same member count and total date offset */
19064
+ ambiguous: boolean;
19065
+ /** @description Combined set amount minus bank record amount, in cents; exact suggestions return zero */
19066
+ amountDifference: number;
19067
+ reasons: ("exactAmount" | "sameCurrency" | "allTransactionsEligible" | "dateWithinWindow")[];
19068
+ };
19069
+ }[] | null;
18862
19070
  matchingRules?: {
18863
19071
  rule: {
18864
19072
  /** Format: uuid */
@@ -35063,6 +35271,7 @@ export interface operations {
35063
35271
  };
35064
35272
  }[];
35065
35273
  transaction?: {
35274
+ /** @description Required for every transaction except transfers */
35066
35275
  description?: string;
35067
35276
  status?: ("active" | "inactive") | null;
35068
35277
  /** @description Root bank account; the source account for transfers */
@@ -35277,6 +35486,7 @@ export interface operations {
35277
35486
  };
35278
35487
  }[];
35279
35488
  transaction?: {
35489
+ /** @description Required for every transaction except transfers */
35280
35490
  description?: string;
35281
35491
  status?: ("active" | "inactive") | null;
35282
35492
  /** @description Root bank account; the source account for transfers */
@@ -87694,9 +87904,9 @@ export interface operations {
87694
87904
  /** Format: uuid */
87695
87905
  id: string;
87696
87906
  /** @enum {string} */
87697
- type: "vri-statement-import";
87907
+ type: "vri-statement-import" | "provider-payment-recovery";
87698
87908
  /** @enum {string} */
87699
- status: "queued" | "running" | "completed" | "failed";
87909
+ status: "queued" | "running" | "completed" | "failed" | "canceled";
87700
87910
  /**
87701
87911
  * Format: date-time
87702
87912
  * @description Timestamp string with date, time, milliseconds, and timezone.
@@ -149022,6 +149232,7 @@ export interface operations {
149022
149232
  requestBody?: {
149023
149233
  content: {
149024
149234
  "application/json": {
149235
+ /** @description Required for every transaction except transfers */
149025
149236
  description?: string;
149026
149237
  status?: ("active" | "inactive") | null;
149027
149238
  /** @description Root bank account; the source account for transfers */
@@ -150957,6 +151168,7 @@ export interface operations {
150957
151168
  connectionId: string;
150958
151169
  createOnly?: boolean;
150959
151170
  data: {
151171
+ /** @description Required for every transaction except transfers */
150960
151172
  description?: string;
150961
151173
  status?: ("active" | "inactive") | null;
150962
151174
  /** @description Root bank account; the source account for transfers */
@@ -157534,15 +157746,16 @@ export interface operations {
157534
157746
  };
157535
157747
  content: {
157536
157748
  "application/json": {
157537
- /** Format: uuid */
157538
- providerPaymentId: string;
157539
- /** Format: uuid */
157540
- syncId: string;
157541
- /** @enum {string} */
157542
- operation: "cancel" | "archive";
157543
- archivePayout: boolean;
157544
- /** @constant */
157545
- status: "requested";
157749
+ /**
157750
+ * Format: uuid
157751
+ * @description Public operation ID for GET /operations/{id} polling.
157752
+ */
157753
+ operationId: string;
157754
+ /**
157755
+ * @description Current asynchronous operation status.
157756
+ * @enum {string}
157757
+ */
157758
+ status: "queued" | "running";
157546
157759
  };
157547
157760
  };
157548
157761
  };
@@ -157798,15 +158011,16 @@ export interface operations {
157798
158011
  };
157799
158012
  content: {
157800
158013
  "application/json": {
157801
- /** Format: uuid */
157802
- providerPaymentId: string;
157803
- /** Format: uuid */
157804
- syncId: string;
157805
- /** @enum {string} */
157806
- operation: "cancel" | "archive";
157807
- archivePayout: boolean;
157808
- /** @constant */
157809
- status: "requested";
158014
+ /**
158015
+ * Format: uuid
158016
+ * @description Public operation ID for GET /operations/{id} polling.
158017
+ */
158018
+ operationId: string;
158019
+ /**
158020
+ * @description Current asynchronous operation status.
158021
+ * @enum {string}
158022
+ */
158023
+ status: "queued" | "running";
157810
158024
  };
157811
158025
  };
157812
158026
  };