@vrplatform/api 1.3.1-4565 → 1.3.1-4578

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-4565",
6
+ "version": "1.3.1-4578",
7
7
  "description": "",
8
8
  "main": "build/main/index.js",
9
9
  "module": "build/module/index.js",
@@ -552,7 +552,7 @@ export interface paths {
552
552
  };
553
553
  get?: never;
554
554
  put?: never;
555
- /** @description Connect an app and create the connection. Provider integrations must return stable account identity. The built-in API app receives server-generated connection identity. */
555
+ /** @description Connect an app and create the connection. OAuth defaults to https://portal.vrplatform.app/callback/ when redirectTo is omitted. The legacy production /callback path is normalized to /callback/. Provider integrations must return stable account identity. The built-in API app receives server-generated connection identity. */
556
556
  post: operations["connectAppConnection"];
557
557
  delete?: never;
558
558
  options?: never;
@@ -586,7 +586,7 @@ export interface paths {
586
586
  };
587
587
  get?: never;
588
588
  put?: never;
589
- /** @description Get a redirect URL to connect an app through OAuth2.0 */
589
+ /** @description Get a redirect URL to connect an app through OAuth2.0. Defaults to https://portal.vrplatform.app/callback/ when redirectTo is omitted. Normalizes the legacy production /callback path to /callback/. */
590
590
  post: operations["connectConnection"];
591
591
  delete?: never;
592
592
  options?: never;
@@ -673,7 +673,7 @@ export interface paths {
673
673
  };
674
674
  get?: never;
675
675
  put?: never;
676
- /** @description Reconnect an existing app connection. The built-in API app preserves its existing server-generated identity. */
676
+ /** @description Reconnect an existing app connection. OAuth defaults to https://portal.vrplatform.app/callback/ when redirectTo is omitted. The legacy production /callback path is normalized to /callback/. The built-in API app preserves its existing server-generated identity. */
677
677
  post: operations["reconnectAppConnection"];
678
678
  delete?: never;
679
679
  options?: never;
@@ -1558,7 +1558,8 @@ export interface paths {
1558
1558
  path?: never;
1559
1559
  cookie?: never;
1560
1560
  };
1561
- get?: never;
1561
+ /** @description List users in one regional data partition with their team memberships and owner accesses. Select the partition with x-data-region. */
1562
+ get: operations["getInternalUsers"];
1562
1563
  put?: never;
1563
1564
  /** @description Create or update a platform user by email, optionally granting an initial team membership. Used by the identity provider signup hooks. A duplicate email belonging to another user is rejected as a user error. */
1564
1565
  post: operations["postInternalUsers"];
@@ -1840,7 +1841,7 @@ export interface paths {
1840
1841
  path?: never;
1841
1842
  cookie?: never;
1842
1843
  };
1843
- /** @description UI bootstrap call: the authenticated user plus the resolved team (embedded-session team, x-team-id header, or the oldest active membership), including membership, owner access, effective feature IDs, issue counts, and frontend setup context. Embedded identities use sub instead of email, so user.email is null for them. */
1844
+ /** @description UI bootstrap call: the authenticated user plus the resolved team (embedded-session team, x-team-id header, or the oldest active membership), including placement, partner managed-team region discovery, membership, owner access, effective feature IDs, issue counts, and frontend setup context. Embedded identities use sub instead of email, so user.email is null for them. */
1844
1845
  get: operations["getMe"];
1845
1846
  put?: never;
1846
1847
  post?: never;
@@ -2246,7 +2247,7 @@ export interface paths {
2246
2247
  path?: never;
2247
2248
  cookie?: never;
2248
2249
  };
2249
- /** @description List members of the partner itself with their child-team memberships */
2250
+ /** @description List members of the partner itself with their partner-team role, status, invitation timestamp, and child-team memberships */
2250
2251
  get: operations["getPartnerMembers"];
2251
2252
  put?: never;
2252
2253
  post?: never;
@@ -2290,6 +2291,23 @@ export interface paths {
2290
2291
  patch?: never;
2291
2292
  trace?: never;
2292
2293
  };
2294
+ "/partner/owner-statements": {
2295
+ parameters: {
2296
+ query?: never;
2297
+ header?: never;
2298
+ path?: never;
2299
+ cookie?: never;
2300
+ };
2301
+ /** @description List VRT teams in one regional partition of the partner portfolio with owner statement counts by status. Supports team-name search, pagination, and ordering by each status count. Select the partition with x-data-region. */
2302
+ get: operations["getPartnerOwnerStatements"];
2303
+ put?: never;
2304
+ post?: never;
2305
+ delete?: never;
2306
+ options?: never;
2307
+ head?: never;
2308
+ patch?: never;
2309
+ trace?: never;
2310
+ };
2293
2311
  "/partner/users": {
2294
2312
  parameters: {
2295
2313
  query?: never;
@@ -2297,7 +2315,7 @@ export interface paths {
2297
2315
  path?: never;
2298
2316
  cookie?: never;
2299
2317
  };
2300
- /** @description List users across the partner portfolio (the partner and all of its teams) with their team memberships and owner accesses */
2318
+ /** @description List child-team users across one regional partition of the partner portfolio with their team memberships and owner accesses. Users who belong to the partner team itself are excluded. Select the partition with x-data-region. */
2301
2319
  get: operations["getPartnerUsers"];
2302
2320
  put?: never;
2303
2321
  post?: never;
@@ -2314,7 +2332,7 @@ export interface paths {
2314
2332
  path?: never;
2315
2333
  cookie?: never;
2316
2334
  };
2317
- /** @description Get a single portfolio user with their memberships across the partner and all of its teams, plus owner accesses */
2335
+ /** @description Get a single portfolio user with memberships and owner accesses from one regional partition. Select the partition with x-data-region. */
2318
2336
  get: operations["getPartnerUser"];
2319
2337
  put?: never;
2320
2338
  post?: never;
@@ -3871,7 +3889,7 @@ export interface paths {
3871
3889
  path?: never;
3872
3890
  cookie?: never;
3873
3891
  };
3874
- /** @description Get List of all Teams */
3892
+ /** @description List accessible teams in one regional data partition. Partner callers can select the partition with x-data-region. */
3875
3893
  get: operations["getTeams"];
3876
3894
  put?: never;
3877
3895
  /** @description Create team */
@@ -3889,7 +3907,7 @@ export interface paths {
3889
3907
  path?: never;
3890
3908
  cookie?: never;
3891
3909
  };
3892
- /** @description List cursor-paginated materialized issue summaries across accessible teams. */
3910
+ /** @description List cursor-paginated materialized issue summaries across accessible teams in one regional data partition. Partner callers can select the partition with x-data-region. */
3893
3911
  get: operations["getTeamsIssues"];
3894
3912
  put?: never;
3895
3913
  post?: never;
@@ -3906,7 +3924,7 @@ export interface paths {
3906
3924
  path?: never;
3907
3925
  cookie?: never;
3908
3926
  };
3909
- /** @description Look up teams by name */
3927
+ /** @description Look up accessible teams by name in one regional data partition. Partner callers can select the partition with x-data-region. */
3910
3928
  get: operations["getTeamsLookup"];
3911
3929
  put?: never;
3912
3930
  post?: never;
@@ -14900,10 +14918,7 @@ export interface operations {
14900
14918
  content: {
14901
14919
  "application/json": {
14902
14920
  appId: string;
14903
- /**
14904
- * Format: uri
14905
- * @default https://portal.vrplatform.app
14906
- */
14921
+ /** Format: uri */
14907
14922
  redirectTo?: string;
14908
14923
  };
14909
14924
  };
@@ -29567,6 +29582,207 @@ export interface operations {
29567
29582
  };
29568
29583
  };
29569
29584
  };
29585
+ getInternalUsers: {
29586
+ parameters: {
29587
+ query?: {
29588
+ /** @description Filter by email, secondary email, first name, last name, or full name */
29589
+ search?: string;
29590
+ limit?: number;
29591
+ page?: number;
29592
+ offset?: number;
29593
+ };
29594
+ header?: {
29595
+ /** @description Selects the regional data partition for this regional collection read. It does not change the authenticated team context. */
29596
+ "x-data-region"?: "ap" | "crunchy" | "eu" | "hostaway" | "us";
29597
+ };
29598
+ path?: never;
29599
+ cookie?: never;
29600
+ };
29601
+ requestBody?: never;
29602
+ responses: {
29603
+ /** @description Successful response */
29604
+ 200: {
29605
+ headers: {
29606
+ [name: string]: unknown;
29607
+ };
29608
+ content: {
29609
+ "application/json": {
29610
+ data: {
29611
+ /** Format: uuid */
29612
+ id: string;
29613
+ firstName: string | null;
29614
+ lastName: string | null;
29615
+ /** Format: email */
29616
+ email: string;
29617
+ secondaryEmails: string[];
29618
+ /** @description User kind (e.g. user, owner) */
29619
+ type?: string | null;
29620
+ lastSeen: string | null;
29621
+ createdAt: string | null;
29622
+ memberships: {
29623
+ /** Format: uuid */
29624
+ teamId: string;
29625
+ teamName: string;
29626
+ role?: string | null;
29627
+ status?: string | null;
29628
+ lastInvitedAt: string | null;
29629
+ }[];
29630
+ ownerAccesses: {
29631
+ /** Format: uuid */
29632
+ teamId: string;
29633
+ contactId: string | null;
29634
+ ownerId: string | null;
29635
+ role?: string | null;
29636
+ /** @description Owner contact name */
29637
+ name?: string | null;
29638
+ }[];
29639
+ }[];
29640
+ pagination: {
29641
+ /** @default 100 */
29642
+ limit: number;
29643
+ /** @default 1 */
29644
+ page: number;
29645
+ total: number;
29646
+ totalPage: number;
29647
+ nextPage?: number;
29648
+ };
29649
+ };
29650
+ };
29651
+ };
29652
+ /** @description Bad request */
29653
+ 400: {
29654
+ headers: {
29655
+ [name: string]: unknown;
29656
+ };
29657
+ content: {
29658
+ "application/json": {
29659
+ code: string;
29660
+ message: string;
29661
+ links?: {
29662
+ docs: string;
29663
+ schema: string;
29664
+ };
29665
+ issues?: {
29666
+ message: string;
29667
+ path?: (string | number)[];
29668
+ schema?: string;
29669
+ }[];
29670
+ context?: unknown;
29671
+ };
29672
+ };
29673
+ };
29674
+ /** @description Unauthorized */
29675
+ 401: {
29676
+ headers: {
29677
+ [name: string]: unknown;
29678
+ };
29679
+ content: {
29680
+ "application/json": {
29681
+ code: string;
29682
+ message: string;
29683
+ links?: {
29684
+ docs: string;
29685
+ schema: string;
29686
+ };
29687
+ issues?: {
29688
+ message: string;
29689
+ path?: (string | number)[];
29690
+ schema?: string;
29691
+ }[];
29692
+ context?: unknown;
29693
+ };
29694
+ };
29695
+ };
29696
+ /** @description Forbidden */
29697
+ 403: {
29698
+ headers: {
29699
+ [name: string]: unknown;
29700
+ };
29701
+ content: {
29702
+ "application/json": {
29703
+ code: string;
29704
+ message: string;
29705
+ links?: {
29706
+ docs: string;
29707
+ schema: string;
29708
+ };
29709
+ issues?: {
29710
+ message: string;
29711
+ path?: (string | number)[];
29712
+ schema?: string;
29713
+ }[];
29714
+ context?: unknown;
29715
+ };
29716
+ };
29717
+ };
29718
+ /** @description Not found */
29719
+ 404: {
29720
+ headers: {
29721
+ [name: string]: unknown;
29722
+ };
29723
+ content: {
29724
+ "application/json": {
29725
+ code: string;
29726
+ message: string;
29727
+ links?: {
29728
+ docs: string;
29729
+ schema: string;
29730
+ };
29731
+ issues?: {
29732
+ message: string;
29733
+ path?: (string | number)[];
29734
+ schema?: string;
29735
+ }[];
29736
+ context?: unknown;
29737
+ };
29738
+ };
29739
+ };
29740
+ /** @description Internal server error */
29741
+ 500: {
29742
+ headers: {
29743
+ [name: string]: unknown;
29744
+ };
29745
+ content: {
29746
+ "application/json": {
29747
+ code: string;
29748
+ message: string;
29749
+ links?: {
29750
+ docs: string;
29751
+ schema: string;
29752
+ };
29753
+ issues?: {
29754
+ message: string;
29755
+ path?: (string | number)[];
29756
+ schema?: string;
29757
+ }[];
29758
+ context?: unknown;
29759
+ };
29760
+ };
29761
+ };
29762
+ /** @description Service unavailable */
29763
+ 503: {
29764
+ headers: {
29765
+ [name: string]: unknown;
29766
+ };
29767
+ content: {
29768
+ "application/json": {
29769
+ code: string;
29770
+ message: string;
29771
+ links?: {
29772
+ docs: string;
29773
+ schema: string;
29774
+ };
29775
+ issues?: {
29776
+ message: string;
29777
+ path?: (string | number)[];
29778
+ schema?: string;
29779
+ }[];
29780
+ context?: unknown;
29781
+ };
29782
+ };
29783
+ };
29784
+ };
29785
+ };
29570
29786
  postInternalUsers: {
29571
29787
  parameters: {
29572
29788
  query?: never;
@@ -35302,6 +35518,10 @@ export interface operations {
35302
35518
  name: string | null;
35303
35519
  slug: string;
35304
35520
  /** @enum {string} */
35521
+ dataRegion: "ap" | "crunchy" | "eu" | "hostaway" | "us";
35522
+ /** Format: uri */
35523
+ apiBaseUrl: string;
35524
+ /** @enum {string} */
35305
35525
  type: "propertyManager" | "partner";
35306
35526
  partnerId: string | null;
35307
35527
  isGeneralLedger: boolean;
@@ -35375,6 +35595,18 @@ export interface operations {
35375
35595
  ownerNeedsReviewId: string | null;
35376
35596
  guideOnboardingStatus: ("skipped" | "completed") | null;
35377
35597
  } | null;
35598
+ partnerContext: {
35599
+ managedTeamRegions: {
35600
+ /** @enum {string} */
35601
+ dataRegion: "ap" | "crunchy" | "eu" | "hostaway" | "us";
35602
+ /** Format: uri */
35603
+ apiBaseUrl: string;
35604
+ counts: {
35605
+ active: number;
35606
+ inactive: number;
35607
+ };
35608
+ }[];
35609
+ } | null;
35378
35610
  };
35379
35611
  };
35380
35612
  };
@@ -39271,6 +39503,10 @@ export interface operations {
39271
39503
  /** Format: email */
39272
39504
  email: string;
39273
39505
  secondaryEmails: string[];
39506
+ /** @enum {string} */
39507
+ role: "admin" | "user";
39508
+ status: ("active" | "inactive" | "unconfirmed") | null;
39509
+ lastInvitedAt: string | null;
39274
39510
  partnerId: string | null;
39275
39511
  name: string | null;
39276
39512
  firstName: string | null;
@@ -39757,6 +39993,198 @@ export interface operations {
39757
39993
  };
39758
39994
  };
39759
39995
  };
39996
+ getPartnerOwnerStatements: {
39997
+ parameters: {
39998
+ query?: {
39999
+ /** @description Filter by team name */
40000
+ search?: string;
40001
+ /** @description Owner statement status count to sort by */
40002
+ sortBy?: "draft" | "inReview" | "published";
40003
+ /** @description Sort direction, defaults to asc */
40004
+ sortDirection?: "asc" | "desc";
40005
+ limit?: number;
40006
+ page?: number;
40007
+ offset?: number;
40008
+ };
40009
+ header?: {
40010
+ /** @description Selects the regional data partition for this regional collection read. It does not change the authenticated team context. */
40011
+ "x-data-region"?: "ap" | "crunchy" | "eu" | "hostaway" | "us";
40012
+ };
40013
+ path?: never;
40014
+ cookie?: never;
40015
+ };
40016
+ requestBody?: never;
40017
+ responses: {
40018
+ /** @description Successful response */
40019
+ 200: {
40020
+ headers: {
40021
+ [name: string]: unknown;
40022
+ };
40023
+ content: {
40024
+ "application/json": {
40025
+ data: {
40026
+ /** Format: uuid */
40027
+ id: string;
40028
+ name: string;
40029
+ logo?: string;
40030
+ /**
40031
+ * Format: date-time
40032
+ * @description Timestamp string with date, time, milliseconds, and timezone.
40033
+ * @example 2024-01-15T12:30:00.000+00:00
40034
+ */
40035
+ createdAt: string;
40036
+ ownerStatements: {
40037
+ draft: number;
40038
+ inReview: number;
40039
+ published: number;
40040
+ };
40041
+ }[];
40042
+ pagination: {
40043
+ /** @default 100 */
40044
+ limit: number;
40045
+ /** @default 1 */
40046
+ page: number;
40047
+ total: number;
40048
+ totalPage: number;
40049
+ nextPage?: number;
40050
+ };
40051
+ };
40052
+ };
40053
+ };
40054
+ /** @description Bad request */
40055
+ 400: {
40056
+ headers: {
40057
+ [name: string]: unknown;
40058
+ };
40059
+ content: {
40060
+ "application/json": {
40061
+ code: string;
40062
+ message: string;
40063
+ links?: {
40064
+ docs: string;
40065
+ schema: string;
40066
+ };
40067
+ issues?: {
40068
+ message: string;
40069
+ path?: (string | number)[];
40070
+ schema?: string;
40071
+ }[];
40072
+ context?: unknown;
40073
+ };
40074
+ };
40075
+ };
40076
+ /** @description Unauthorized */
40077
+ 401: {
40078
+ headers: {
40079
+ [name: string]: unknown;
40080
+ };
40081
+ content: {
40082
+ "application/json": {
40083
+ code: string;
40084
+ message: string;
40085
+ links?: {
40086
+ docs: string;
40087
+ schema: string;
40088
+ };
40089
+ issues?: {
40090
+ message: string;
40091
+ path?: (string | number)[];
40092
+ schema?: string;
40093
+ }[];
40094
+ context?: unknown;
40095
+ };
40096
+ };
40097
+ };
40098
+ /** @description Forbidden */
40099
+ 403: {
40100
+ headers: {
40101
+ [name: string]: unknown;
40102
+ };
40103
+ content: {
40104
+ "application/json": {
40105
+ code: string;
40106
+ message: string;
40107
+ links?: {
40108
+ docs: string;
40109
+ schema: string;
40110
+ };
40111
+ issues?: {
40112
+ message: string;
40113
+ path?: (string | number)[];
40114
+ schema?: string;
40115
+ }[];
40116
+ context?: unknown;
40117
+ };
40118
+ };
40119
+ };
40120
+ /** @description Not found */
40121
+ 404: {
40122
+ headers: {
40123
+ [name: string]: unknown;
40124
+ };
40125
+ content: {
40126
+ "application/json": {
40127
+ code: string;
40128
+ message: string;
40129
+ links?: {
40130
+ docs: string;
40131
+ schema: string;
40132
+ };
40133
+ issues?: {
40134
+ message: string;
40135
+ path?: (string | number)[];
40136
+ schema?: string;
40137
+ }[];
40138
+ context?: unknown;
40139
+ };
40140
+ };
40141
+ };
40142
+ /** @description Internal server error */
40143
+ 500: {
40144
+ headers: {
40145
+ [name: string]: unknown;
40146
+ };
40147
+ content: {
40148
+ "application/json": {
40149
+ code: string;
40150
+ message: string;
40151
+ links?: {
40152
+ docs: string;
40153
+ schema: string;
40154
+ };
40155
+ issues?: {
40156
+ message: string;
40157
+ path?: (string | number)[];
40158
+ schema?: string;
40159
+ }[];
40160
+ context?: unknown;
40161
+ };
40162
+ };
40163
+ };
40164
+ /** @description Service unavailable */
40165
+ 503: {
40166
+ headers: {
40167
+ [name: string]: unknown;
40168
+ };
40169
+ content: {
40170
+ "application/json": {
40171
+ code: string;
40172
+ message: string;
40173
+ links?: {
40174
+ docs: string;
40175
+ schema: string;
40176
+ };
40177
+ issues?: {
40178
+ message: string;
40179
+ path?: (string | number)[];
40180
+ schema?: string;
40181
+ }[];
40182
+ context?: unknown;
40183
+ };
40184
+ };
40185
+ };
40186
+ };
40187
+ };
39760
40188
  getPartnerUsers: {
39761
40189
  parameters: {
39762
40190
  query?: {
@@ -39776,7 +40204,10 @@ export interface operations {
39776
40204
  page?: number;
39777
40205
  offset?: number;
39778
40206
  };
39779
- header?: never;
40207
+ header?: {
40208
+ /** @description Selects the regional data partition for this regional collection read. It does not change the authenticated team context. */
40209
+ "x-data-region"?: "ap" | "crunchy" | "eu" | "hostaway" | "us";
40210
+ };
39780
40211
  path?: never;
39781
40212
  cookie?: never;
39782
40213
  };
@@ -39968,7 +40399,10 @@ export interface operations {
39968
40399
  getPartnerUser: {
39969
40400
  parameters: {
39970
40401
  query?: never;
39971
- header?: never;
40402
+ header?: {
40403
+ /** @description Selects the regional data partition for this regional collection read. It does not change the authenticated team context. */
40404
+ "x-data-region"?: "ap" | "crunchy" | "eu" | "hostaway" | "us";
40405
+ };
39972
40406
  path: {
39973
40407
  id: string;
39974
40408
  };
@@ -77310,7 +77744,10 @@ export interface operations {
77310
77744
  page?: number;
77311
77745
  offset?: number;
77312
77746
  };
77313
- header?: never;
77747
+ header?: {
77748
+ /** @description Selects the regional data partition for this regional collection read. It does not change the authenticated team context. */
77749
+ "x-data-region"?: "ap" | "crunchy" | "eu" | "hostaway" | "us";
77750
+ };
77314
77751
  path?: never;
77315
77752
  cookie?: never;
77316
77753
  };
@@ -78012,7 +78449,10 @@ export interface operations {
78012
78449
  /** @description Opaque pagination cursor returned by a previous response. Pass it back unchanged. */
78013
78450
  cursor?: string;
78014
78451
  };
78015
- header?: never;
78452
+ header?: {
78453
+ /** @description Selects the regional data partition for this regional collection read. It does not change the authenticated team context. */
78454
+ "x-data-region"?: "ap" | "crunchy" | "eu" | "hostaway" | "us";
78455
+ };
78016
78456
  path?: never;
78017
78457
  cookie?: never;
78018
78458
  };
@@ -78864,7 +79304,10 @@ export interface operations {
78864
79304
  page?: number;
78865
79305
  offset?: number;
78866
79306
  };
78867
- header?: never;
79307
+ header?: {
79308
+ /** @description Selects the regional data partition for this regional collection read. It does not change the authenticated team context. */
79309
+ "x-data-region"?: "ap" | "crunchy" | "eu" | "hostaway" | "us";
79310
+ };
78868
79311
  path?: never;
78869
79312
  cookie?: never;
78870
79313
  };