@vrplatform/api 1.3.1-stage.6291 → 1.3.1-stage.6295

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.
@@ -1141,7 +1141,7 @@ export interface paths {
1141
1141
  cookie?: never;
1142
1142
  };
1143
1143
  /**
1144
- * @description List contacts, including linked owner secondary-email search and embedded report filter options. Owner access is limited to directly owned contacts.
1144
+ * @description List contacts with masked ACH state, including hasInFlightPayment for requested or processing Ramp payments, linked owner secondary-email search, and embedded report filter options. Owner access is limited to directly owned contacts.
1145
1145
  *
1146
1146
  * Required scope: contacts:read
1147
1147
  */
@@ -1201,6 +1201,27 @@ export interface paths {
1201
1201
  patch?: never;
1202
1202
  trace?: never;
1203
1203
  };
1204
+ "/contacts/{contactId}/payouts": {
1205
+ parameters: {
1206
+ query?: never;
1207
+ header?: never;
1208
+ path?: never;
1209
+ cookie?: never;
1210
+ };
1211
+ /**
1212
+ * @description List the selected contact's active payout transactions newest first. Authenticated owners may request only contact IDs in their server-derived owner access; unauthorized contacts return an opaque not-found response. Property managers and owner-preview sessions may request a selected team contact. The response is an owner-facing projection with the latest provider-payment state, including requested payments, and excludes bank, reconciliation, journal, connection, and internal provider fields.
1213
+ *
1214
+ * Required scope: transactions:read
1215
+ */
1216
+ get: operations["getContactsByContactIdPayouts"];
1217
+ put?: never;
1218
+ post?: never;
1219
+ delete?: never;
1220
+ options?: never;
1221
+ head?: never;
1222
+ patch?: never;
1223
+ trace?: never;
1224
+ };
1204
1225
  "/contacts/{id}": {
1205
1226
  parameters: {
1206
1227
  query?: never;
@@ -1209,7 +1230,7 @@ export interface paths {
1209
1230
  cookie?: never;
1210
1231
  };
1211
1232
  /**
1212
- * @description Get contact by ID
1233
+ * @description Get a contact by ID with masked ACH state. hasInFlightPayment identifies requested or processing Ramp payments so clients can warn that bank changes affect future payments only.
1213
1234
  *
1214
1235
  * Required scope: contacts:read
1215
1236
  */
@@ -1263,7 +1284,7 @@ export interface paths {
1263
1284
  get?: never;
1264
1285
  put?: never;
1265
1286
  /**
1266
- * @description Send owner ACH details to the single eligible Ramp push-vendor flow for verification. This action requires ach-payment-methods:write rather than general contact write access. The server resolves the connection; clients do not select one. First use activates a flow that has never been configured, while an explicitly inactive flow remains unavailable. Raw routing and account numbers are write-only and are never stored by VRPlatform. The contact becomes ready only after Ramp confirms the account.
1287
+ * @description Send owner ACH details to the single eligible Ramp push-vendor flow for verification. This action requires ach-payment-methods:write rather than general contact write access. The server resolves the connection; clients do not select one. First use activates a flow that has never been configured, while an explicitly inactive flow remains unavailable. Raw routing and account numbers are write-only and are never stored by VRPlatform. The contact becomes ready only after Ramp confirms the account. Requested and processing payments remain bound to their scheduled destination, so an update affects future payments only.
1267
1288
  *
1268
1289
  * Required scope: ach-payment-methods:write
1269
1290
  */
@@ -28027,6 +28048,8 @@ export interface operations {
28027
28048
  last4: string | null;
28028
28049
  /** @enum {string} */
28029
28050
  status: "notConfigured" | "pending" | "ready" | "failed";
28051
+ /** @description True when a Ramp payment is requested or processing. Bank changes remain allowed and affect future payments only. */
28052
+ hasInFlightPayment: boolean;
28030
28053
  };
28031
28054
  };
28032
28055
  }[];
@@ -29166,6 +29189,311 @@ export interface operations {
29166
29189
  };
29167
29190
  };
29168
29191
  };
29192
+ getContactsByContactIdPayouts: {
29193
+ parameters: {
29194
+ query?: {
29195
+ limit?: number;
29196
+ page?: number;
29197
+ offset?: number;
29198
+ };
29199
+ header?: never;
29200
+ path: {
29201
+ contactId: string;
29202
+ };
29203
+ cookie?: never;
29204
+ };
29205
+ requestBody?: never;
29206
+ responses: {
29207
+ /** @description Successful response */
29208
+ 200: {
29209
+ headers: {
29210
+ [name: string]: unknown;
29211
+ };
29212
+ content: {
29213
+ "application/json": {
29214
+ data: {
29215
+ /** Format: uuid */
29216
+ id: string;
29217
+ uniqueRef: string | null;
29218
+ shortRef: string | null;
29219
+ date: string;
29220
+ description: string;
29221
+ /** @description Value in cents (100 = 1€) */
29222
+ amount: number;
29223
+ /** @description Currency in ISO 4217 format, will be converted to lowercase */
29224
+ currency: string;
29225
+ ownerStatement: {
29226
+ /** Format: uuid */
29227
+ id: string;
29228
+ uniqueRef: string | null;
29229
+ /**
29230
+ * Format: vrp-month
29231
+ * @description Month string in format `YYYY-MM`.
29232
+ * @example 2024-01
29233
+ */
29234
+ month: string;
29235
+ } | null;
29236
+ providerPayment: {
29237
+ /** Format: uuid */
29238
+ id: string;
29239
+ /** @constant */
29240
+ provider: "ramp";
29241
+ /** @enum {string} */
29242
+ status: "requested" | "processing" | "paid" | "failed" | "returned" | "canceled";
29243
+ failureReason: string | null;
29244
+ /**
29245
+ * Format: date-time
29246
+ * @description Timestamp string with date, time, milliseconds, and timezone.
29247
+ * @example 2024-01-15T12:30:00.000+00:00
29248
+ */
29249
+ createdAt: string;
29250
+ /**
29251
+ * Format: date-time
29252
+ * @description Timestamp string with date, time, milliseconds, and timezone.
29253
+ * @example 2024-01-15T12:30:00.000+00:00
29254
+ */
29255
+ updatedAt: string;
29256
+ } | null;
29257
+ }[];
29258
+ pagination: {
29259
+ /** @default 100 */
29260
+ limit: number;
29261
+ /** @default 1 */
29262
+ page: number;
29263
+ total: number;
29264
+ totalPage: number;
29265
+ nextPage?: number;
29266
+ };
29267
+ };
29268
+ };
29269
+ };
29270
+ /** @description Bad request */
29271
+ 400: {
29272
+ headers: {
29273
+ /** @description Seconds to wait when retryable=true and the server supplies a delay. */
29274
+ "Retry-After"?: number;
29275
+ [name: string]: unknown;
29276
+ };
29277
+ content: {
29278
+ "application/json": {
29279
+ code: string;
29280
+ message: string;
29281
+ links?: {
29282
+ docs: string;
29283
+ schema: string;
29284
+ };
29285
+ issues?: {
29286
+ message: string;
29287
+ path?: (string | number)[];
29288
+ schema?: string;
29289
+ }[];
29290
+ retryable?: boolean;
29291
+ context?: unknown;
29292
+ };
29293
+ };
29294
+ };
29295
+ /** @description Unauthorized */
29296
+ 401: {
29297
+ headers: {
29298
+ /** @description Seconds to wait when retryable=true and the server supplies a delay. */
29299
+ "Retry-After"?: number;
29300
+ [name: string]: unknown;
29301
+ };
29302
+ content: {
29303
+ "application/json": {
29304
+ code: string;
29305
+ message: string;
29306
+ links?: {
29307
+ docs: string;
29308
+ schema: string;
29309
+ };
29310
+ issues?: {
29311
+ message: string;
29312
+ path?: (string | number)[];
29313
+ schema?: string;
29314
+ }[];
29315
+ retryable?: boolean;
29316
+ context?: unknown;
29317
+ };
29318
+ };
29319
+ };
29320
+ /** @description Forbidden */
29321
+ 403: {
29322
+ headers: {
29323
+ /** @description Seconds to wait when retryable=true and the server supplies a delay. */
29324
+ "Retry-After"?: number;
29325
+ [name: string]: unknown;
29326
+ };
29327
+ content: {
29328
+ "application/json": {
29329
+ code: string;
29330
+ message: string;
29331
+ links?: {
29332
+ docs: string;
29333
+ schema: string;
29334
+ };
29335
+ issues?: {
29336
+ message: string;
29337
+ path?: (string | number)[];
29338
+ schema?: string;
29339
+ }[];
29340
+ retryable?: boolean;
29341
+ context?: unknown;
29342
+ };
29343
+ };
29344
+ };
29345
+ /** @description Not found */
29346
+ 404: {
29347
+ headers: {
29348
+ /** @description Seconds to wait when retryable=true and the server supplies a delay. */
29349
+ "Retry-After"?: number;
29350
+ [name: string]: unknown;
29351
+ };
29352
+ content: {
29353
+ "application/json": {
29354
+ code: string;
29355
+ message: string;
29356
+ links?: {
29357
+ docs: string;
29358
+ schema: string;
29359
+ };
29360
+ issues?: {
29361
+ message: string;
29362
+ path?: (string | number)[];
29363
+ schema?: string;
29364
+ }[];
29365
+ retryable?: boolean;
29366
+ context?: unknown;
29367
+ };
29368
+ };
29369
+ };
29370
+ /** @description Conflict */
29371
+ 409: {
29372
+ headers: {
29373
+ /** @description Seconds to wait when retryable=true and the server supplies a delay. */
29374
+ "Retry-After"?: number;
29375
+ [name: string]: unknown;
29376
+ };
29377
+ content: {
29378
+ "application/json": {
29379
+ code: string;
29380
+ message: string;
29381
+ links?: {
29382
+ docs: string;
29383
+ schema: string;
29384
+ };
29385
+ issues?: {
29386
+ message: string;
29387
+ path?: (string | number)[];
29388
+ schema?: string;
29389
+ }[];
29390
+ retryable?: boolean;
29391
+ context?: unknown;
29392
+ };
29393
+ };
29394
+ };
29395
+ /** @description Gone */
29396
+ 410: {
29397
+ headers: {
29398
+ /** @description Seconds to wait when retryable=true and the server supplies a delay. */
29399
+ "Retry-After"?: number;
29400
+ [name: string]: unknown;
29401
+ };
29402
+ content: {
29403
+ "application/json": {
29404
+ code: string;
29405
+ message: string;
29406
+ links?: {
29407
+ docs: string;
29408
+ schema: string;
29409
+ };
29410
+ issues?: {
29411
+ message: string;
29412
+ path?: (string | number)[];
29413
+ schema?: string;
29414
+ }[];
29415
+ retryable?: boolean;
29416
+ context?: unknown;
29417
+ };
29418
+ };
29419
+ };
29420
+ /** @description Unprocessable content */
29421
+ 422: {
29422
+ headers: {
29423
+ /** @description Seconds to wait when retryable=true and the server supplies a delay. */
29424
+ "Retry-After"?: number;
29425
+ [name: string]: unknown;
29426
+ };
29427
+ content: {
29428
+ "application/json": {
29429
+ code: string;
29430
+ message: string;
29431
+ links?: {
29432
+ docs: string;
29433
+ schema: string;
29434
+ };
29435
+ issues?: {
29436
+ message: string;
29437
+ path?: (string | number)[];
29438
+ schema?: string;
29439
+ }[];
29440
+ retryable?: boolean;
29441
+ context?: unknown;
29442
+ };
29443
+ };
29444
+ };
29445
+ /** @description Internal server error */
29446
+ 500: {
29447
+ headers: {
29448
+ /** @description Seconds to wait when retryable=true and the server supplies a delay. */
29449
+ "Retry-After"?: number;
29450
+ [name: string]: unknown;
29451
+ };
29452
+ content: {
29453
+ "application/json": {
29454
+ code: string;
29455
+ message: string;
29456
+ links?: {
29457
+ docs: string;
29458
+ schema: string;
29459
+ };
29460
+ issues?: {
29461
+ message: string;
29462
+ path?: (string | number)[];
29463
+ schema?: string;
29464
+ }[];
29465
+ retryable?: boolean;
29466
+ context?: unknown;
29467
+ };
29468
+ };
29469
+ };
29470
+ /** @description Service unavailable */
29471
+ 503: {
29472
+ headers: {
29473
+ /** @description Seconds to wait when retryable=true and the server supplies a delay. */
29474
+ "Retry-After"?: number;
29475
+ [name: string]: unknown;
29476
+ };
29477
+ content: {
29478
+ "application/json": {
29479
+ code: string;
29480
+ message: string;
29481
+ links?: {
29482
+ docs: string;
29483
+ schema: string;
29484
+ };
29485
+ issues?: {
29486
+ message: string;
29487
+ path?: (string | number)[];
29488
+ schema?: string;
29489
+ }[];
29490
+ retryable?: boolean;
29491
+ context?: unknown;
29492
+ };
29493
+ };
29494
+ };
29495
+ };
29496
+ };
29169
29497
  getContactsById: {
29170
29498
  parameters: {
29171
29499
  query?: never;
@@ -29254,6 +29582,8 @@ export interface operations {
29254
29582
  last4: string | null;
29255
29583
  /** @enum {string} */
29256
29584
  status: "notConfigured" | "pending" | "ready" | "failed";
29585
+ /** @description True when a Ramp payment is requested or processing. Bank changes remain allowed and affect future payments only. */
29586
+ hasInFlightPayment: boolean;
29257
29587
  };
29258
29588
  };
29259
29589
  };