@vrplatform/api 1.3.1-6484 → 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.
@@ -4135,7 +4135,7 @@ export interface paths {
4135
4135
  cookie?: never;
4136
4136
  };
4137
4137
  /**
4138
- * @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.
4138
+ * @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.
4139
4139
  *
4140
4140
  * Required scope: operations:read
4141
4141
  */
@@ -5600,7 +5600,7 @@ export interface paths {
5600
5600
  get?: never;
5601
5601
  put?: never;
5602
5602
  /**
5603
- * @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.
5603
+ * @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.
5604
5604
  *
5605
5605
  * Required scope: reservations:post-journals
5606
5606
  */
@@ -6652,7 +6652,7 @@ export interface paths {
6652
6652
  };
6653
6653
  get?: never;
6654
6654
  /**
6655
- * @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.
6655
+ * @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.
6656
6656
  *
6657
6657
  * Required scope: team-member-roles:manage
6658
6658
  */
@@ -7251,7 +7251,7 @@ export interface paths {
7251
7251
  get?: never;
7252
7252
  put?: never;
7253
7253
  /**
7254
- * @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.
7254
+ * @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.
7255
7255
  *
7256
7256
  * Required scope: transactions:write, ach-payments:execute
7257
7257
  */
@@ -7272,7 +7272,7 @@ export interface paths {
7272
7272
  get?: never;
7273
7273
  put?: never;
7274
7274
  /**
7275
- * @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.
7275
+ * @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.
7276
7276
  *
7277
7277
  * Required scope: transactions:mark-paid, ach-payments:execute
7278
7278
  */
@@ -17632,9 +17632,13 @@ export interface operations {
17632
17632
  reconcileStatus?: "unpaid" | "underpaid" | "overpaid" | "paid";
17633
17633
  matchedByBankRule?: boolean;
17634
17634
  includeBalanceRecords?: boolean;
17635
- /** @description Include bank-rule suggestions; defaults to true when includeMatchingTransactions is set */
17635
+ /** @description Include bank-rule suggestions; defaults to true with the deprecated includeMatchingTransactions parameter */
17636
17636
  includeMatchingRules?: boolean;
17637
- /** @description Include matching transactions, optionally with max days offset */
17637
+ /** @description Include ordered exact matching transaction sets */
17638
+ includeMatchingTransaction?: boolean;
17639
+ /** @description Maximum date offset for exact transaction suggestions; defaults to seven days. Multi-transaction sets remain limited to seven days. */
17640
+ matchingTransactionDaysOffset?: number;
17641
+ /** @description Deprecated: use includeMatchingTransaction and matchingTransactionDaysOffset. */
17638
17642
  includeMatchingTransactions?: string;
17639
17643
  hasMatchingTransactions?: boolean;
17640
17644
  reservationLineFilter?: "all" | "reservationOnly" | "nonReservationOnly";
@@ -17780,6 +17784,104 @@ export interface operations {
17780
17784
  shortRef?: string | null;
17781
17785
  }[];
17782
17786
  }[] | null;
17787
+ /** @description Ordered exact transaction sets matching this bank record */
17788
+ matchingTransactionSets?: {
17789
+ /** @description Eligible transactions whose signed amounts form this set */
17790
+ transactions: {
17791
+ id: string;
17792
+ /** @enum {string} */
17793
+ status: "active" | "inactive";
17794
+ /** @description Value in cents (100 = 1€) */
17795
+ amount: number;
17796
+ account?: {
17797
+ id: string;
17798
+ name: string;
17799
+ uniqueRef?: string | null;
17800
+ /** @enum {string} */
17801
+ status: "active" | "inactive";
17802
+ } | null;
17803
+ date: string;
17804
+ description: string;
17805
+ /** @description Currency in ISO 4217 format, will be converted to lowercase */
17806
+ currency: string;
17807
+ /** @enum {string} */
17808
+ type: "deposit" | "expense" | "journalBatch" | "transfer" | "payout";
17809
+ isOpeningBalance: boolean;
17810
+ contact?: {
17811
+ /** Format: uuid */
17812
+ id: string;
17813
+ name?: string | null;
17814
+ firstName?: string | null;
17815
+ uniqueRef?: string | null;
17816
+ shortRef?: string | null;
17817
+ email?: string | null;
17818
+ /** @enum {string} */
17819
+ type: "owner" | "vendor";
17820
+ } | null;
17821
+ connection?: {
17822
+ /** Format: uuid */
17823
+ id: string;
17824
+ name: string;
17825
+ /** @enum {string} */
17826
+ status: "active" | "inactive";
17827
+ uniqueRef?: string | null;
17828
+ appId: string;
17829
+ } | null;
17830
+ uniqueRef?: string | null;
17831
+ shortRef?: string | null;
17832
+ recurringTemplate?: {
17833
+ id: string;
17834
+ } | null;
17835
+ /** @description Absolute difference in days from the bank record date */
17836
+ dateOffset: number;
17837
+ /** @description Structured explanation for the transaction suggestion */
17838
+ matchDetails: {
17839
+ /** @description Whether another candidate has the same date offset */
17840
+ ambiguous: boolean;
17841
+ /** @description Candidate amount minus bank record amount, in cents; exact matches return zero */
17842
+ amountDifference: number;
17843
+ /** @description Transaction date used to evaluate the bank-record date window */
17844
+ matchingDate: string;
17845
+ /** @description Maximum eligible difference in days */
17846
+ maxDateOffset: number;
17847
+ /** @description Typed criteria satisfied by this candidate */
17848
+ reasons: ("exactAmount" | "sameBankAccount" | "bankAccountAssignedOnMatch" | "dateWithinWindow")[];
17849
+ };
17850
+ /** @description Unique listings referenced by the transaction lines */
17851
+ listings: {
17852
+ /** Format: uuid */
17853
+ id: string;
17854
+ name: string;
17855
+ uniqueRef?: string | null;
17856
+ shortRef?: string | null;
17857
+ }[];
17858
+ /** @description Unique reservations referenced by the transaction lines */
17859
+ reservations: {
17860
+ /** Format: uuid */
17861
+ id: string;
17862
+ confirmationCode?: string | null;
17863
+ uniqueRef?: string | null;
17864
+ shortRef?: string | null;
17865
+ }[];
17866
+ }[];
17867
+ /** @description Combined signed transaction amount in cents */
17868
+ combinedAmount: number;
17869
+ /** @description Currency in ISO 4217 format, will be converted to lowercase */
17870
+ currency: string;
17871
+ dateEvidence: {
17872
+ /** @description Sum of member date offsets used for deterministic ranking */
17873
+ totalDateOffset: number;
17874
+ /** @description Largest member date offset in the group */
17875
+ maxDateOffset: number;
17876
+ };
17877
+ matchDetails: {
17878
+ /** @description Whether another transaction set has the same member count and total date offset */
17879
+ ambiguous: boolean;
17880
+ /** @description Combined set amount minus bank record amount, in cents; exact suggestions return zero */
17881
+ amountDifference: number;
17882
+ reasons: ("exactAmount" | "sameCurrency" | "allTransactionsEligible" | "dateWithinWindow")[];
17883
+ };
17884
+ }[] | null;
17783
17885
  matchingRules?: {
17784
17886
  rule: {
17785
17887
  /** Format: uuid */
@@ -18460,9 +18562,13 @@ export interface operations {
18460
18562
  reconcileStatus?: "unpaid" | "underpaid" | "overpaid" | "paid";
18461
18563
  matchedByBankRule?: boolean;
18462
18564
  includeBalanceRecords?: boolean;
18463
- /** @description Include bank-rule suggestions; defaults to true when includeMatchingTransactions is set */
18565
+ /** @description Include bank-rule suggestions; defaults to true with the deprecated includeMatchingTransactions parameter */
18464
18566
  includeMatchingRules?: boolean;
18465
- /** @description Include matching transactions, optionally with max days offset */
18567
+ /** @description Include ordered exact matching transaction sets */
18568
+ includeMatchingTransaction?: boolean;
18569
+ /** @description Maximum date offset for exact transaction suggestions; defaults to seven days. Multi-transaction sets remain limited to seven days. */
18570
+ matchingTransactionDaysOffset?: number;
18571
+ /** @description Deprecated: use includeMatchingTransaction and matchingTransactionDaysOffset. */
18466
18572
  includeMatchingTransactions?: string;
18467
18573
  hasMatchingTransactions?: boolean;
18468
18574
  reservationLineFilter?: "all" | "reservationOnly" | "nonReservationOnly";
@@ -18716,9 +18822,13 @@ export interface operations {
18716
18822
  getBankRecordsById: {
18717
18823
  parameters: {
18718
18824
  query?: {
18719
- /** @description Include bank-rule suggestions; defaults to true when includeMatchingTransactions is set */
18825
+ /** @description Include bank-rule suggestions; defaults to true with the deprecated includeMatchingTransactions parameter */
18720
18826
  includeMatchingRules?: boolean;
18721
- /** @description Include matching transactions, optionally with max days offset */
18827
+ /** @description Include ordered exact matching transaction sets */
18828
+ includeMatchingTransaction?: boolean;
18829
+ /** @description Maximum date offset for exact transaction suggestions; defaults to seven days. Multi-transaction sets remain limited to seven days. */
18830
+ matchingTransactionDaysOffset?: number;
18831
+ /** @description Deprecated: use includeMatchingTransaction and matchingTransactionDaysOffset. */
18722
18832
  includeMatchingTransactions?: string;
18723
18833
  };
18724
18834
  header?: never;
@@ -18858,6 +18968,104 @@ export interface operations {
18858
18968
  shortRef?: string | null;
18859
18969
  }[];
18860
18970
  }[] | null;
18971
+ /** @description Ordered exact transaction sets matching this bank record */
18972
+ matchingTransactionSets?: {
18973
+ /** @description Eligible transactions whose signed amounts form this set */
18974
+ transactions: {
18975
+ id: string;
18976
+ /** @enum {string} */
18977
+ status: "active" | "inactive";
18978
+ /** @description Value in cents (100 = 1€) */
18979
+ amount: number;
18980
+ account?: {
18981
+ id: string;
18982
+ name: string;
18983
+ uniqueRef?: string | null;
18984
+ /** @enum {string} */
18985
+ status: "active" | "inactive";
18986
+ } | null;
18987
+ date: string;
18988
+ description: string;
18989
+ /** @description Currency in ISO 4217 format, will be converted to lowercase */
18990
+ currency: string;
18991
+ /** @enum {string} */
18992
+ type: "deposit" | "expense" | "journalBatch" | "transfer" | "payout";
18993
+ isOpeningBalance: boolean;
18994
+ contact?: {
18995
+ /** Format: uuid */
18996
+ id: string;
18997
+ name?: string | null;
18998
+ firstName?: string | null;
18999
+ uniqueRef?: string | null;
19000
+ shortRef?: string | null;
19001
+ email?: string | null;
19002
+ /** @enum {string} */
19003
+ type: "owner" | "vendor";
19004
+ } | null;
19005
+ connection?: {
19006
+ /** Format: uuid */
19007
+ id: string;
19008
+ name: string;
19009
+ /** @enum {string} */
19010
+ status: "active" | "inactive";
19011
+ uniqueRef?: string | null;
19012
+ appId: string;
19013
+ } | null;
19014
+ uniqueRef?: string | null;
19015
+ shortRef?: string | null;
19016
+ recurringTemplate?: {
19017
+ id: string;
19018
+ } | null;
19019
+ /** @description Absolute difference in days from the bank record date */
19020
+ dateOffset: number;
19021
+ /** @description Structured explanation for the transaction suggestion */
19022
+ matchDetails: {
19023
+ /** @description Whether another candidate has the same date offset */
19024
+ ambiguous: boolean;
19025
+ /** @description Candidate amount minus bank record amount, in cents; exact matches return zero */
19026
+ amountDifference: number;
19027
+ /** @description Transaction date used to evaluate the bank-record date window */
19028
+ matchingDate: string;
19029
+ /** @description Maximum eligible difference in days */
19030
+ maxDateOffset: number;
19031
+ /** @description Typed criteria satisfied by this candidate */
19032
+ reasons: ("exactAmount" | "sameBankAccount" | "bankAccountAssignedOnMatch" | "dateWithinWindow")[];
19033
+ };
19034
+ /** @description Unique listings referenced by the transaction lines */
19035
+ listings: {
19036
+ /** Format: uuid */
19037
+ id: string;
19038
+ name: string;
19039
+ uniqueRef?: string | null;
19040
+ shortRef?: string | null;
19041
+ }[];
19042
+ /** @description Unique reservations referenced by the transaction lines */
19043
+ reservations: {
19044
+ /** Format: uuid */
19045
+ id: string;
19046
+ confirmationCode?: string | null;
19047
+ uniqueRef?: string | null;
19048
+ shortRef?: string | null;
19049
+ }[];
19050
+ }[];
19051
+ /** @description Combined signed transaction amount in cents */
19052
+ combinedAmount: number;
19053
+ /** @description Currency in ISO 4217 format, will be converted to lowercase */
19054
+ currency: string;
19055
+ dateEvidence: {
19056
+ /** @description Sum of member date offsets used for deterministic ranking */
19057
+ totalDateOffset: number;
19058
+ /** @description Largest member date offset in the group */
19059
+ maxDateOffset: number;
19060
+ };
19061
+ matchDetails: {
19062
+ /** @description Whether another transaction set has the same member count and total date offset */
19063
+ ambiguous: boolean;
19064
+ /** @description Combined set amount minus bank record amount, in cents; exact suggestions return zero */
19065
+ amountDifference: number;
19066
+ reasons: ("exactAmount" | "sameCurrency" | "allTransactionsEligible" | "dateWithinWindow")[];
19067
+ };
19068
+ }[] | null;
18861
19069
  matchingRules?: {
18862
19070
  rule: {
18863
19071
  /** Format: uuid */
@@ -35062,6 +35270,7 @@ export interface operations {
35062
35270
  };
35063
35271
  }[];
35064
35272
  transaction?: {
35273
+ /** @description Required for every transaction except transfers */
35065
35274
  description?: string;
35066
35275
  status?: ("active" | "inactive") | null;
35067
35276
  /** @description Root bank account; the source account for transfers */
@@ -35276,6 +35485,7 @@ export interface operations {
35276
35485
  };
35277
35486
  }[];
35278
35487
  transaction?: {
35488
+ /** @description Required for every transaction except transfers */
35279
35489
  description?: string;
35280
35490
  status?: ("active" | "inactive") | null;
35281
35491
  /** @description Root bank account; the source account for transfers */
@@ -87693,9 +87903,9 @@ export interface operations {
87693
87903
  /** Format: uuid */
87694
87904
  id: string;
87695
87905
  /** @enum {string} */
87696
- type: "vri-statement-import";
87906
+ type: "vri-statement-import" | "provider-payment-recovery";
87697
87907
  /** @enum {string} */
87698
- status: "queued" | "running" | "completed" | "failed";
87908
+ status: "queued" | "running" | "completed" | "failed" | "canceled";
87699
87909
  /**
87700
87910
  * Format: date-time
87701
87911
  * @description Timestamp string with date, time, milliseconds, and timezone.
@@ -149021,6 +149231,7 @@ export interface operations {
149021
149231
  requestBody?: {
149022
149232
  content: {
149023
149233
  "application/json": {
149234
+ /** @description Required for every transaction except transfers */
149024
149235
  description?: string;
149025
149236
  status?: ("active" | "inactive") | null;
149026
149237
  /** @description Root bank account; the source account for transfers */
@@ -150956,6 +151167,7 @@ export interface operations {
150956
151167
  connectionId: string;
150957
151168
  createOnly?: boolean;
150958
151169
  data: {
151170
+ /** @description Required for every transaction except transfers */
150959
151171
  description?: string;
150960
151172
  status?: ("active" | "inactive") | null;
150961
151173
  /** @description Root bank account; the source account for transfers */
@@ -157533,15 +157745,16 @@ export interface operations {
157533
157745
  };
157534
157746
  content: {
157535
157747
  "application/json": {
157536
- /** Format: uuid */
157537
- providerPaymentId: string;
157538
- /** Format: uuid */
157539
- syncId: string;
157540
- /** @enum {string} */
157541
- operation: "cancel" | "archive";
157542
- archivePayout: boolean;
157543
- /** @constant */
157544
- status: "requested";
157748
+ /**
157749
+ * Format: uuid
157750
+ * @description Public operation ID for GET /operations/{id} polling.
157751
+ */
157752
+ operationId: string;
157753
+ /**
157754
+ * @description Current asynchronous operation status.
157755
+ * @enum {string}
157756
+ */
157757
+ status: "queued" | "running";
157545
157758
  };
157546
157759
  };
157547
157760
  };
@@ -157797,15 +158010,16 @@ export interface operations {
157797
158010
  };
157798
158011
  content: {
157799
158012
  "application/json": {
157800
- /** Format: uuid */
157801
- providerPaymentId: string;
157802
- /** Format: uuid */
157803
- syncId: string;
157804
- /** @enum {string} */
157805
- operation: "cancel" | "archive";
157806
- archivePayout: boolean;
157807
- /** @constant */
157808
- status: "requested";
158013
+ /**
158014
+ * Format: uuid
158015
+ * @description Public operation ID for GET /operations/{id} polling.
158016
+ */
158017
+ operationId: string;
158018
+ /**
158019
+ * @description Current asynchronous operation status.
158020
+ * @enum {string}
158021
+ */
158022
+ status: "queued" | "running";
157809
158023
  };
157810
158024
  };
157811
158025
  };