@robosystems/client 0.6.0 → 0.6.2

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.
@@ -94,6 +94,23 @@ export type AccountInfo = {
94
94
  */
95
95
  provider_account_id: string;
96
96
  };
97
+ /**
98
+ * AddGraphMemberRequest
99
+ *
100
+ * Request to grant an org member access to a graph.
101
+ */
102
+ export type AddGraphMemberRequest = {
103
+ /**
104
+ * User Id
105
+ *
106
+ * User to grant access to (must belong to the graph's organization)
107
+ */
108
+ user_id: string;
109
+ /**
110
+ * Graph role: viewer (read-only), member (read/write), admin (full control)
111
+ */
112
+ role?: GraphRole;
113
+ };
97
114
  /**
98
115
  * AddPublishListMembersOperation
99
116
  *
@@ -189,6 +206,151 @@ export type ArtifactResponse = {
189
206
  kind: 'forecast';
190
207
  } & ForecastMechanics);
191
208
  };
209
+ /**
210
+ * AssertMetricsRequest
211
+ *
212
+ * Request body for the ``assert-metrics`` operation.
213
+ *
214
+ * The observation sibling of ``compute-metrics``: writes externally-
215
+ * observed values (usage counts, marketing numbers, hand-carried
216
+ * figures) into the period's standing ``factset_type='metric'`` FactSet
217
+ * with ``AssertedProvenance``. Re-asserting a period replaces its facts
218
+ * — one standing FactSet per (structure, entity, period_end), the
219
+ * accumulating time series.
220
+ *
221
+ * Structures carrying ``Derive`` rules are compute-owned
222
+ * (``compute-metrics``) and rejected — asserted and derived metric
223
+ * series keep disjoint structures. Asserted series are actuals; there
224
+ * is no scenario axis.
225
+ */
226
+ export type AssertMetricsRequest = {
227
+ /**
228
+ * Structure Id
229
+ *
230
+ * Metric block structure (block_type='metric') to assert into.
231
+ */
232
+ structure_id: string;
233
+ /**
234
+ * Period End
235
+ *
236
+ * Period end the observations are for — instant concepts (a follower count at month end) land as of this date; duration concepts (monthly downloads) end on it.
237
+ */
238
+ period_end: string;
239
+ /**
240
+ * Period Start
241
+ *
242
+ * Window start for duration concepts and the standing FactSet's period_start. Instant concepts ignore it.
243
+ */
244
+ period_start?: string | null;
245
+ /**
246
+ * Entity Id
247
+ *
248
+ * Entity to assert for. Defaults to the graph's earliest-created entity (the primary entity for single-entity graphs).
249
+ */
250
+ entity_id?: string | null;
251
+ /**
252
+ * Source System
253
+ *
254
+ * Identifier of the asserting system (e.g. 'content-machine') — recorded as the AssertedProvenance source_system.
255
+ */
256
+ source_system: string;
257
+ /**
258
+ * Basis Note
259
+ *
260
+ * Free-text basis / source reference for the observations.
261
+ */
262
+ basis_note?: string | null;
263
+ /**
264
+ * Observations
265
+ *
266
+ * Observed values, one per metric concept — duplicates rejected.
267
+ */
268
+ observations: Array<MetricObservation>;
269
+ };
270
+ /**
271
+ * AssertMetricsResponse
272
+ *
273
+ * Response for the ``assert-metrics`` operation.
274
+ */
275
+ export type AssertMetricsResponse = {
276
+ /**
277
+ * Structure Id
278
+ */
279
+ structure_id: string;
280
+ /**
281
+ * Entity Id
282
+ */
283
+ entity_id: string;
284
+ /**
285
+ * Period End
286
+ */
287
+ period_end: string;
288
+ /**
289
+ * Fact Set Id
290
+ *
291
+ * Standing metric FactSet the observations were written to.
292
+ */
293
+ fact_set_id: string;
294
+ /**
295
+ * Asserted
296
+ */
297
+ asserted?: Array<AssertedMetricLite>;
298
+ /**
299
+ * Replaced
300
+ *
301
+ * True when a prior standing set existed for the period and its facts were replaced.
302
+ */
303
+ replaced?: boolean;
304
+ };
305
+ /**
306
+ * AssertedMetricLite
307
+ *
308
+ * One metric written by an ``assert-metrics`` run.
309
+ */
310
+ export type AssertedMetricLite = {
311
+ /**
312
+ * Element Id
313
+ *
314
+ * Metric element the fact was written for.
315
+ */
316
+ element_id: string;
317
+ /**
318
+ * Element Qname
319
+ *
320
+ * Metric element qname.
321
+ */
322
+ element_qname: string;
323
+ /**
324
+ * Name
325
+ *
326
+ * Metric display name.
327
+ */
328
+ name: string;
329
+ /**
330
+ * Value
331
+ *
332
+ * Asserted value.
333
+ */
334
+ value: number;
335
+ /**
336
+ * Unit
337
+ *
338
+ * Fact unit — 'USD' for monetary, 'days' for days, else 'pure'.
339
+ */
340
+ unit: string;
341
+ /**
342
+ * Period Type
343
+ *
344
+ * 'instant' or 'duration'.
345
+ */
346
+ period_type: string;
347
+ /**
348
+ * Item Type
349
+ *
350
+ * Format family from the metric element (monetary | ratio | percent | multiple | days). None means untyped; fall back to unit.
351
+ */
352
+ item_type?: string | null;
353
+ };
192
354
  /**
193
355
  * AssociationResponse
194
356
  *
@@ -1009,6 +1171,12 @@ export type CancelSubscriptionRequest = {
1009
1171
  * Required when immediate=True. Must equal the subscription's resource_id (e.g. graph_id) to confirm intent.
1010
1172
  */
1011
1173
  confirm?: string | null;
1174
+ /**
1175
+ * User Id
1176
+ *
1177
+ * Organization member whose subscription to cancel. Defaults to the caller; canceling another member's requires org owner or admin.
1178
+ */
1179
+ user_id?: string | null;
1012
1180
  };
1013
1181
  /**
1014
1182
  * ChangeReportingStyleRequest
@@ -1672,7 +1840,7 @@ export type ConnectionProviderInfo = {
1672
1840
  *
1673
1841
  * Provider identifier
1674
1842
  */
1675
- provider: 'sec' | 'quickbooks';
1843
+ provider: 'sec' | 'quickbooks' | 'external';
1676
1844
  /**
1677
1845
  * Display Name
1678
1846
  *
@@ -1794,6 +1962,12 @@ export type ConnectionResponse = {
1794
1962
  * Source-of-truth write policy: 'native' (RoboSystems is authoritative; no outbound write-back) or 'qb_authoritative' (QuickBooks is authoritative; RoboSystems-originated entries publish to QB). Set via the write-policy endpoint.
1795
1963
  */
1796
1964
  write_policy?: string | null;
1965
+ /**
1966
+ * Source Name
1967
+ *
1968
+ * External-provider registered source slug — the value the integration stamps on the events it emits. Null for platform providers.
1969
+ */
1970
+ source_name?: string | null;
1797
1971
  /**
1798
1972
  * Metadata
1799
1973
  *
@@ -2053,7 +2227,7 @@ export type CreateConnectionRequest = {
2053
2227
  *
2054
2228
  * Connection provider type
2055
2229
  */
2056
- provider: 'sec' | 'quickbooks';
2230
+ provider: 'sec' | 'quickbooks' | 'external';
2057
2231
  /**
2058
2232
  * Entity Id
2059
2233
  *
@@ -2062,6 +2236,7 @@ export type CreateConnectionRequest = {
2062
2236
  entity_id?: string | null;
2063
2237
  sec_config?: SecConnectionConfig | null;
2064
2238
  quickbooks_config?: QuickBooksConnectionConfig | null;
2239
+ external_config?: ExternalConnectionConfig | null;
2065
2240
  };
2066
2241
  /**
2067
2242
  * CreateEventBlockRequest
@@ -2126,7 +2301,7 @@ export type CreateEventBlockRequest = {
2126
2301
  /**
2127
2302
  * Source
2128
2303
  *
2129
- * 'manual' | 'system' | 'schedule' | 'quickbooks' | 'xero' | 'plaid'
2304
+ * 'manual' | 'system' | 'schedule', a connected provider name (e.g. 'quickbooks'), or a source_name registered via an 'external' connection. Validated against the graph's registered connections.
2130
2305
  */
2131
2306
  source: string;
2132
2307
  /**
@@ -2411,6 +2586,18 @@ export type CreateInformationBlockRequest = ({
2411
2586
  } & CreateForecastArm) | ({
2412
2587
  block_type: 'balance_sheet' | 'cash_flow_statement' | 'comprehensive_income' | 'equity_statement' | 'income_statement' | 'metric' | 'regulatory_disclosure';
2413
2588
  } & CreateLegacyArm);
2589
+ /**
2590
+ * CreateInvitationRequest
2591
+ *
2592
+ * Request to invite a new user to an organization by email.
2593
+ */
2594
+ export type CreateInvitationRequest = {
2595
+ /**
2596
+ * Email
2597
+ */
2598
+ email: string;
2599
+ role?: OrgRole;
2600
+ };
2414
2601
  /**
2415
2602
  * CreateMappingAssociationOperation
2416
2603
  *
@@ -2945,7 +3132,13 @@ export type CreateViewRequest = {
2945
3132
  */
2946
3133
  include_summary?: boolean;
2947
3134
  /**
2948
- * View/pivot configuration
3135
+ * Limit
3136
+ *
3137
+ * Maximum facts to return. Applied after deduplication and sorting, so truncation keeps the most recent periods. Check `metadata.truncated` to see whether more facts matched.
3138
+ */
3139
+ limit?: number;
3140
+ /**
3141
+ * Aspect scoping configuration
2949
3142
  */
2950
3143
  view_config?: ViewConfig;
2951
3144
  };
@@ -3799,6 +3992,31 @@ export type DetailedTransactionsResponse = {
3799
3992
  [key: string]: string;
3800
3993
  };
3801
3994
  };
3995
+ /**
3996
+ * Dimension
3997
+ */
3998
+ export type Dimension = {
3999
+ /**
4000
+ * Name
4001
+ *
4002
+ * Dimension name (e.g., 'Element', 'Period')
4003
+ */
4004
+ name: string;
4005
+ /**
4006
+ * Dimension type
4007
+ */
4008
+ type: DimensionType;
4009
+ /**
4010
+ * Members
4011
+ *
4012
+ * List of dimension members
4013
+ */
4014
+ members?: Array<string>;
4015
+ };
4016
+ /**
4017
+ * DimensionType
4018
+ */
4019
+ export type DimensionType = 'element' | 'period' | 'entity';
3802
4020
  /**
3803
4021
  * DocumentDetailResponse
3804
4022
  *
@@ -4100,6 +4318,41 @@ export type ElementLite = {
4100
4318
  */
4101
4319
  documentation?: string | null;
4102
4320
  };
4321
+ /**
4322
+ * ElementSummary
4323
+ */
4324
+ export type ElementSummary = {
4325
+ /**
4326
+ * Count
4327
+ *
4328
+ * Number of facts for this element
4329
+ */
4330
+ count: number;
4331
+ /**
4332
+ * Total
4333
+ *
4334
+ * Sum of values across the returned facts
4335
+ */
4336
+ total: number;
4337
+ /**
4338
+ * Average
4339
+ *
4340
+ * Mean value across the returned facts
4341
+ */
4342
+ average: number;
4343
+ /**
4344
+ * Min
4345
+ *
4346
+ * Minimum value across the returned facts
4347
+ */
4348
+ min: number;
4349
+ /**
4350
+ * Max
4351
+ *
4352
+ * Maximum value across the returned facts
4353
+ */
4354
+ max: number;
4355
+ };
4103
4356
  /**
4104
4357
  * ElementUpdatePatch
4105
4358
  *
@@ -4480,7 +4733,7 @@ export type EventBlockEnvelope = {
4480
4733
  /**
4481
4734
  * Source
4482
4735
  *
4483
- * Capture source (`manual`, `system`, `schedule`, `quickbooks`, `xero`, `plaid`). Used for adapter routing.
4736
+ * Capture source: `manual`, `system`, `schedule`, a connected provider name (e.g. `quickbooks`), or a registered external source_name. Used for adapter routing.
4484
4737
  */
4485
4738
  source: string;
4486
4739
  /**
@@ -4745,6 +4998,31 @@ export type ExecuteEventBlockResponse = {
4745
4998
  [key: string]: unknown;
4746
4999
  } | null;
4747
5000
  };
5001
+ /**
5002
+ * ExternalConnectionConfig
5003
+ *
5004
+ * External-integration connection configuration.
5005
+ *
5006
+ * Registers a source namespace for an integration the platform does not
5007
+ * run: the connection is registration + telemetry, not execution config.
5008
+ * The platform holds no credentials for the external source — the
5009
+ * integration authenticates to its own source and writes here through
5010
+ * the public API, stamping ``source_name`` on everything it emits.
5011
+ */
5012
+ export type ExternalConnectionConfig = {
5013
+ /**
5014
+ * Source Name
5015
+ *
5016
+ * Source slug the integration stamps on the events it emits (lowercase letters, digits, '-', '_'; must start with a letter). Unique per graph among live connections.
5017
+ */
5018
+ source_name: string;
5019
+ /**
5020
+ * Display Name
5021
+ *
5022
+ * Human-readable label for the connections UI.
5023
+ */
5024
+ display_name?: string | null;
5025
+ };
4748
5026
  /**
4749
5027
  * FactLite
4750
5028
  *
@@ -4818,6 +5096,53 @@ export type FactLite = {
4818
5096
  */
4819
5097
  fact_set_id?: string | null;
4820
5098
  };
5099
+ /**
5100
+ * FactRecord
5101
+ */
5102
+ export type FactRecord = {
5103
+ /**
5104
+ * Element Id
5105
+ *
5106
+ * Element qname (e.g., 'us-gaap:Assets')
5107
+ */
5108
+ element_id: string;
5109
+ /**
5110
+ * Element Name
5111
+ *
5112
+ * Element local name
5113
+ */
5114
+ element_name?: string | null;
5115
+ /**
5116
+ * Period End
5117
+ *
5118
+ * Period end date (YYYY-MM-DD)
5119
+ */
5120
+ period_end?: string | null;
5121
+ /**
5122
+ * Value
5123
+ *
5124
+ * Numeric fact value
5125
+ */
5126
+ value?: number | null;
5127
+ /**
5128
+ * Unit
5129
+ *
5130
+ * Unit of measure (e.g., 'USD')
5131
+ */
5132
+ unit?: string | null;
5133
+ /**
5134
+ * Entity Ticker
5135
+ *
5136
+ * Entity ticker; present only when an entity filter was applied
5137
+ */
5138
+ entity_ticker?: string | null;
5139
+ /**
5140
+ * Entity Name
5141
+ *
5142
+ * Entity name; present only when an entity filter was applied
5143
+ */
5144
+ entity_name?: string | null;
5145
+ };
4821
5146
  /**
4822
5147
  * FactSetLite
4823
5148
  *
@@ -5604,6 +5929,57 @@ export type GraphLimitsResponse = {
5604
5929
  */
5605
5930
  instance?: InstanceUsage | null;
5606
5931
  };
5932
+ /**
5933
+ * GraphMemberListResponse
5934
+ *
5935
+ * All users with access to a graph.
5936
+ */
5937
+ export type GraphMemberListResponse = {
5938
+ /**
5939
+ * Members
5940
+ */
5941
+ members: Array<GraphMemberResponse>;
5942
+ /**
5943
+ * Total
5944
+ */
5945
+ total: number;
5946
+ /**
5947
+ * Graph Id
5948
+ */
5949
+ graph_id: string;
5950
+ };
5951
+ /**
5952
+ * GraphMemberResponse
5953
+ *
5954
+ * A user with access to a graph.
5955
+ */
5956
+ export type GraphMemberResponse = {
5957
+ /**
5958
+ * User Id
5959
+ */
5960
+ user_id: string;
5961
+ /**
5962
+ * Name
5963
+ */
5964
+ name: string;
5965
+ /**
5966
+ * Email
5967
+ */
5968
+ email: string;
5969
+ role: GraphRole;
5970
+ /**
5971
+ * Source
5972
+ *
5973
+ * 'explicit' for a direct grant; 'org_role' for implicit admin held by org owners/admins
5974
+ */
5975
+ source: 'explicit' | 'org_role';
5976
+ /**
5977
+ * Granted At
5978
+ *
5979
+ * When the explicit grant was created (null for implicit access)
5980
+ */
5981
+ granted_at?: string | null;
5982
+ };
5607
5983
  /**
5608
5984
  * GraphMetadata
5609
5985
  *
@@ -5710,6 +6086,12 @@ export type GraphMetricsResponse = {
5710
6086
  [key: string]: unknown;
5711
6087
  };
5712
6088
  };
6089
+ /**
6090
+ * GraphRole
6091
+ *
6092
+ * Ordered per-graph roles: viewer < member < admin.
6093
+ */
6094
+ export type GraphRole = 'viewer' | 'member' | 'admin';
5713
6095
  /**
5714
6096
  * GraphSubscriptionResponse
5715
6097
  *
@@ -5734,6 +6116,12 @@ export type GraphSubscriptionResponse = {
5734
6116
  * Resource identifier
5735
6117
  */
5736
6118
  resource_id: string;
6119
+ /**
6120
+ * User Id
6121
+ *
6122
+ * Organization member the subscription belongs to. Set for repository subscriptions, which are billed to the org but granted per user.
6123
+ */
6124
+ user_id?: string | null;
5737
6125
  /**
5738
6126
  * Plan Name
5739
6127
  *
@@ -6600,16 +6988,24 @@ export type InstanceUsage = {
6600
6988
  items?: Array<StorageItem>;
6601
6989
  };
6602
6990
  /**
6603
- * InviteMemberRequest
6991
+ * InvitationPreviewResponse
6604
6992
  *
6605
- * Request to invite a member to an organization.
6993
+ * Public preview of an invitation, looked up by its token.
6606
6994
  */
6607
- export type InviteMemberRequest = {
6995
+ export type InvitationPreviewResponse = {
6996
+ /**
6997
+ * Org Name
6998
+ */
6999
+ org_name: string;
6608
7000
  /**
6609
7001
  * Email
6610
7002
  */
6611
7003
  email: string;
6612
- role?: OrgRole | null;
7004
+ role: OrgRole;
7005
+ /**
7006
+ * Expires At
7007
+ */
7008
+ expires_at: string;
6613
7009
  };
6614
7010
  /**
6615
7011
  * Invoice
@@ -7788,7 +8184,7 @@ export type MaterializeOp = {
7788
8184
  /**
7789
8185
  * Rebuild
7790
8186
  *
7791
- * Rebuild the graph from scratch, dropping existing data
8187
+ * Rebuild the graph from scratch, dropping existing data. Required (staged source) when materializing new uploads into a graph that already contains materialized data — staging replays all uploaded files, so a non-rebuild pass would re-copy ingested rows (409).
7792
8188
  */
7793
8189
  rebuild?: boolean;
7794
8190
  /**
@@ -7957,6 +8353,25 @@ export type MetricMechanics = {
7957
8353
  */
7958
8354
  unit?: string;
7959
8355
  };
8356
+ /**
8357
+ * MetricObservation
8358
+ *
8359
+ * One externally-observed value in an ``assert-metrics`` request.
8360
+ */
8361
+ export type MetricObservation = {
8362
+ /**
8363
+ * Qname
8364
+ *
8365
+ * Metric element qname (e.g. rsx:GithubStars). Must resolve to a concept on the structure's presentation catalog.
8366
+ */
8367
+ qname: string;
8368
+ /**
8369
+ * Value
8370
+ *
8371
+ * Observed value.
8372
+ */
8373
+ value: number;
8374
+ };
7960
8375
  /**
7961
8376
  * OAuthCallbackRequest
7962
8377
  *
@@ -8249,6 +8664,51 @@ export type OperationEnvelope = {
8249
8664
  */
8250
8665
  idempotentReplay?: boolean;
8251
8666
  };
8667
+ /**
8668
+ * OperationEnvelope[AssertMetricsResponse]
8669
+ */
8670
+ export type OperationEnvelopeAssertMetricsResponse = {
8671
+ /**
8672
+ * Operation
8673
+ *
8674
+ * Kebab-case operation name
8675
+ */
8676
+ operation: string;
8677
+ /**
8678
+ * Operationid
8679
+ *
8680
+ * op_-prefixed ULID for audit and SSE correlation
8681
+ */
8682
+ operationId: string;
8683
+ /**
8684
+ * Status
8685
+ *
8686
+ * Operation lifecycle state
8687
+ */
8688
+ status: 'completed' | 'pending' | 'failed';
8689
+ /**
8690
+ * Command-specific result payload
8691
+ */
8692
+ result?: AssertMetricsResponse | null;
8693
+ /**
8694
+ * At
8695
+ *
8696
+ * ISO-8601 UTC timestamp
8697
+ */
8698
+ at: string;
8699
+ /**
8700
+ * Createdby
8701
+ *
8702
+ * User ID that initiated the operation (null for legacy callers)
8703
+ */
8704
+ createdBy?: string | null;
8705
+ /**
8706
+ * Idempotentreplay
8707
+ *
8708
+ * True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions.
8709
+ */
8710
+ idempotentReplay?: boolean;
8711
+ };
8252
8712
  /**
8253
8713
  * OperationEnvelope[AssociationResponse]
8254
8714
  */
@@ -10171,25 +10631,88 @@ export type OrgDetailResponse = {
10171
10631
  [key: string]: unknown;
10172
10632
  }>;
10173
10633
  /**
10174
- * Graphs
10634
+ * Graphs
10635
+ */
10636
+ graphs: Array<{
10637
+ [key: string]: unknown;
10638
+ }>;
10639
+ /**
10640
+ * Limits
10641
+ */
10642
+ limits: {
10643
+ [key: string]: unknown;
10644
+ } | null;
10645
+ /**
10646
+ * Created At
10647
+ */
10648
+ created_at: string;
10649
+ /**
10650
+ * Updated At
10651
+ */
10652
+ updated_at: string;
10653
+ };
10654
+ /**
10655
+ * OrgInvitationListResponse
10656
+ *
10657
+ * List of pending organization invitations response.
10658
+ */
10659
+ export type OrgInvitationListResponse = {
10660
+ /**
10661
+ * Invitations
10662
+ */
10663
+ invitations: Array<OrgInvitationResponse>;
10664
+ /**
10665
+ * Total
10666
+ */
10667
+ total: number;
10668
+ /**
10669
+ * Org Id
10670
+ */
10671
+ org_id: string;
10672
+ };
10673
+ /**
10674
+ * OrgInvitationResponse
10675
+ *
10676
+ * Organization invitation response.
10677
+ */
10678
+ export type OrgInvitationResponse = {
10679
+ /**
10680
+ * Id
10681
+ */
10682
+ id: string;
10683
+ /**
10684
+ * Org Id
10685
+ */
10686
+ org_id: string;
10687
+ /**
10688
+ * Email
10689
+ */
10690
+ email: string;
10691
+ role: OrgRole;
10692
+ /**
10693
+ * Status
10694
+ */
10695
+ status: string;
10696
+ /**
10697
+ * Invited By User Id
10175
10698
  */
10176
- graphs: Array<{
10177
- [key: string]: unknown;
10178
- }>;
10699
+ invited_by_user_id: string;
10179
10700
  /**
10180
- * Limits
10701
+ * Invited By Name
10181
10702
  */
10182
- limits: {
10183
- [key: string]: unknown;
10184
- } | null;
10703
+ invited_by_name: string | null;
10185
10704
  /**
10186
10705
  * Created At
10187
10706
  */
10188
10707
  created_at: string;
10189
10708
  /**
10190
- * Updated At
10709
+ * Expires At
10191
10710
  */
10192
- updated_at: string;
10711
+ expires_at: string;
10712
+ /**
10713
+ * Is Expired
10714
+ */
10715
+ is_expired: boolean;
10193
10716
  };
10194
10717
  /**
10195
10718
  * OrgLimitsResponse
@@ -11425,6 +11948,12 @@ export type RegisterRequest = {
11425
11948
  * CAPTCHA verification token (required in production)
11426
11949
  */
11427
11950
  captcha_token?: string | null;
11951
+ /**
11952
+ * Invite Token
11953
+ *
11954
+ * Org invitation token from an invitation email. When present, the new user joins the inviting organization at the invited role instead of receiving a personal organization.
11955
+ */
11956
+ invite_token?: string | null;
11428
11957
  };
11429
11958
  /**
11430
11959
  * RememberOp
@@ -14774,6 +15303,14 @@ export type UpdateForecastRequest = {
14774
15303
  */
14775
15304
  line_growth?: Array<LineGrowthRequest> | null;
14776
15305
  };
15306
+ /**
15307
+ * UpdateGraphMemberRoleRequest
15308
+ *
15309
+ * Request to change a graph member's role.
15310
+ */
15311
+ export type UpdateGraphMemberRoleRequest = {
15312
+ role: GraphRole;
15313
+ };
14777
15314
  /**
14778
15315
  * UpdateInformationBlockRequest
14779
15316
  *
@@ -15226,6 +15763,12 @@ export type UpgradeSubscriptionRequest = {
15226
15763
  * New plan name to change to
15227
15764
  */
15228
15765
  new_plan_name: string;
15766
+ /**
15767
+ * User Id
15768
+ *
15769
+ * Organization member whose subscription to change. Defaults to the caller; targeting another member requires org owner or admin.
15770
+ */
15771
+ user_id?: string | null;
15229
15772
  };
15230
15773
  /**
15231
15774
  * UserGraphsResponse
@@ -15464,24 +16007,23 @@ export type VerificationSummary = {
15464
16007
  };
15465
16008
  /**
15466
16009
  * ViewAxisConfig
16010
+ *
16011
+ * Scoping configuration for one aspect of the fact query.
16012
+ *
16013
+ * Filtering only. Ordering and labelling are presentation concerns and
16014
+ * belong to the consumer that arranges the facts into a table.
15467
16015
  */
15468
16016
  export type ViewAxisConfig = {
15469
16017
  /**
15470
16018
  * Type
15471
16019
  *
15472
- * Axis type: 'element', 'period', 'dimension', 'entity'
16020
+ * Axis type: 'element', 'period', 'entity'
15473
16021
  */
15474
16022
  type: string;
15475
- /**
15476
- * Dimension Axis
15477
- *
15478
- * Dimension axis name for dimension-type axes
15479
- */
15480
- dimension_axis?: string | null;
15481
16023
  /**
15482
16024
  * Include Null Dimension
15483
16025
  *
15484
- * Include facts where this dimension is NULL (default: false)
16026
+ * Include facts where this aspect is absent (default: false)
15485
16027
  */
15486
16028
  include_null_dimension?: boolean;
15487
16029
  /**
@@ -15490,34 +16032,6 @@ export type ViewAxisConfig = {
15490
16032
  * Specific members to include (e.g., ['2024-12-31', '2023-12-31'])
15491
16033
  */
15492
16034
  selected_members?: Array<string> | null;
15493
- /**
15494
- * Member Order
15495
- *
15496
- * Explicit ordering of members (overrides default sort)
15497
- */
15498
- member_order?: Array<string> | null;
15499
- /**
15500
- * Member Labels
15501
- *
15502
- * Custom labels for members (e.g., {'2024-12-31': 'Current Year'})
15503
- */
15504
- member_labels?: {
15505
- [key: string]: string;
15506
- } | null;
15507
- /**
15508
- * Element Order
15509
- *
15510
- * Element ordering for hierarchy display (e.g., ['us-gaap:Assets', 'us-gaap:Cash', ...])
15511
- */
15512
- element_order?: Array<string> | null;
15513
- /**
15514
- * Element Labels
15515
- *
15516
- * Custom labels for elements (e.g., {'us-gaap:Cash': 'Cash and Cash Equivalents'})
15517
- */
15518
- element_labels?: {
15519
- [key: string]: string;
15520
- } | null;
15521
16035
  };
15522
16036
  /**
15523
16037
  * ViewConfig
@@ -15535,24 +16049,6 @@ export type ViewConfig = {
15535
16049
  * Column axis configuration
15536
16050
  */
15537
16051
  columns?: Array<ViewAxisConfig>;
15538
- /**
15539
- * Values
15540
- *
15541
- * Field to use for values (default: numeric_value)
15542
- */
15543
- values?: string;
15544
- /**
15545
- * Aggregation Function
15546
- *
15547
- * Aggregation function: sum, average, count
15548
- */
15549
- aggregation_function?: string;
15550
- /**
15551
- * Fill Value
15552
- *
15553
- * Value to use for missing data
15554
- */
15555
- fill_value?: number;
15556
16052
  };
15557
16053
  /**
15558
16054
  * ViewMetadata
@@ -15594,6 +16090,12 @@ export type ViewMetadata = {
15594
16090
  * Period end date
15595
16091
  */
15596
16092
  period_end?: string | null;
16093
+ /**
16094
+ * Truncated
16095
+ *
16096
+ * True when more facts matched than `limit` allowed. The returned facts are the most recent by period; narrow the filters or raise `limit` to see the rest.
16097
+ */
16098
+ truncated?: boolean;
15597
16099
  };
15598
16100
  /**
15599
16101
  * ViewProjections
@@ -15621,6 +16123,13 @@ export type ViewProjections = {
15621
16123
  };
15622
16124
  /**
15623
16125
  * ViewResponse
16126
+ *
16127
+ * Flat, deduplicated facts plus the aspects they span.
16128
+ *
16129
+ * No server-side pivot: each fact is returned as its own record so the
16130
+ * consumer can arrange cells on the full aspect signature. Summing across
16131
+ * entities, units, or elements that merely share a local name is a
16132
+ * presentation decision this endpoint refuses to make on the caller's behalf.
15624
16133
  */
15625
16134
  export type ViewResponse = {
15626
16135
  /**
@@ -15628,13 +16137,25 @@ export type ViewResponse = {
15628
16137
  */
15629
16138
  metadata: ViewMetadata;
15630
16139
  /**
15631
- * Presentations
16140
+ * Dimensions
15632
16141
  *
15633
- * Presentation formats (pivot_table, narrative, etc.)
16142
+ * Aspects spanned by the returned facts
15634
16143
  */
15635
- presentations: {
15636
- [key: string]: unknown;
15637
- };
16144
+ dimensions?: Array<Dimension>;
16145
+ /**
16146
+ * Facts
16147
+ *
16148
+ * Deduplicated fact records
16149
+ */
16150
+ facts?: Array<FactRecord>;
16151
+ /**
16152
+ * Summary
16153
+ *
16154
+ * Per-element aggregates, only when include_summary=true. Note that `total` sums across every returned period, which is meaningful for duration facts and not for instants.
16155
+ */
16156
+ summary?: {
16157
+ [key: string]: ElementSummary;
16158
+ } | null;
15638
16159
  };
15639
16160
  /**
15640
16161
  * _CreateForecastArm
@@ -16154,6 +16675,43 @@ export type VerifyEmailResponses = {
16154
16675
  200: AuthResponse;
16155
16676
  };
16156
16677
  export type VerifyEmailResponse = VerifyEmailResponses[keyof VerifyEmailResponses];
16678
+ export type GetInvitationPreviewData = {
16679
+ body?: never;
16680
+ path: {
16681
+ /**
16682
+ * Token
16683
+ */
16684
+ token: string;
16685
+ };
16686
+ query?: never;
16687
+ url: '/v1/auth/invitations/{token}';
16688
+ };
16689
+ export type GetInvitationPreviewErrors = {
16690
+ /**
16691
+ * Invalid request
16692
+ */
16693
+ 400: ErrorResponse;
16694
+ /**
16695
+ * Validation Error
16696
+ */
16697
+ 422: HttpValidationError;
16698
+ /**
16699
+ * Rate limit exceeded
16700
+ */
16701
+ 429: ErrorResponse;
16702
+ /**
16703
+ * Internal server error
16704
+ */
16705
+ 500: ErrorResponse;
16706
+ };
16707
+ export type GetInvitationPreviewError = GetInvitationPreviewErrors[keyof GetInvitationPreviewErrors];
16708
+ export type GetInvitationPreviewResponses = {
16709
+ /**
16710
+ * Successful Response
16711
+ */
16712
+ 200: InvitationPreviewResponse;
16713
+ };
16714
+ export type GetInvitationPreviewResponse = GetInvitationPreviewResponses[keyof GetInvitationPreviewResponses];
16157
16715
  export type GetPasswordPolicyData = {
16158
16716
  body?: never;
16159
16717
  path?: never;
@@ -16987,18 +17545,173 @@ export type ListOrgMembersResponses = {
16987
17545
  200: OrgMemberListResponse;
16988
17546
  };
16989
17547
  export type ListOrgMembersResponse = ListOrgMembersResponses[keyof ListOrgMembersResponses];
16990
- export type InviteOrgMemberData = {
16991
- body: InviteMemberRequest;
17548
+ export type RemoveOrgMemberData = {
17549
+ body?: never;
16992
17550
  path: {
16993
17551
  /**
16994
17552
  * Org Id
16995
17553
  */
16996
17554
  org_id: string;
17555
+ /**
17556
+ * User Id
17557
+ */
17558
+ user_id: string;
16997
17559
  };
16998
17560
  query?: never;
16999
- url: '/v1/orgs/{org_id}/members';
17561
+ url: '/v1/orgs/{org_id}/members/{user_id}';
17562
+ };
17563
+ export type RemoveOrgMemberErrors = {
17564
+ /**
17565
+ * Invalid request
17566
+ */
17567
+ 400: ErrorResponse;
17568
+ /**
17569
+ * Authentication required
17570
+ */
17571
+ 401: ErrorResponse;
17572
+ /**
17573
+ * Access denied
17574
+ */
17575
+ 403: ErrorResponse;
17576
+ /**
17577
+ * Resource not found
17578
+ */
17579
+ 404: ErrorResponse;
17580
+ /**
17581
+ * Validation Error
17582
+ */
17583
+ 422: HttpValidationError;
17584
+ /**
17585
+ * Rate limit exceeded
17586
+ */
17587
+ 429: ErrorResponse;
17588
+ /**
17589
+ * Internal server error
17590
+ */
17591
+ 500: ErrorResponse;
17592
+ };
17593
+ export type RemoveOrgMemberError = RemoveOrgMemberErrors[keyof RemoveOrgMemberErrors];
17594
+ export type RemoveOrgMemberResponses = {
17595
+ /**
17596
+ * Successful Response
17597
+ */
17598
+ 204: void;
17599
+ };
17600
+ export type RemoveOrgMemberResponse = RemoveOrgMemberResponses[keyof RemoveOrgMemberResponses];
17601
+ export type UpdateOrgMemberRoleData = {
17602
+ body: UpdateMemberRoleRequest;
17603
+ path: {
17604
+ /**
17605
+ * Org Id
17606
+ */
17607
+ org_id: string;
17608
+ /**
17609
+ * User Id
17610
+ */
17611
+ user_id: string;
17612
+ };
17613
+ query?: never;
17614
+ url: '/v1/orgs/{org_id}/members/{user_id}';
17615
+ };
17616
+ export type UpdateOrgMemberRoleErrors = {
17617
+ /**
17618
+ * Invalid request
17619
+ */
17620
+ 400: ErrorResponse;
17621
+ /**
17622
+ * Authentication required
17623
+ */
17624
+ 401: ErrorResponse;
17625
+ /**
17626
+ * Access denied
17627
+ */
17628
+ 403: ErrorResponse;
17629
+ /**
17630
+ * Resource not found
17631
+ */
17632
+ 404: ErrorResponse;
17633
+ /**
17634
+ * Validation Error
17635
+ */
17636
+ 422: HttpValidationError;
17637
+ /**
17638
+ * Rate limit exceeded
17639
+ */
17640
+ 429: ErrorResponse;
17641
+ /**
17642
+ * Internal server error
17643
+ */
17644
+ 500: ErrorResponse;
17645
+ };
17646
+ export type UpdateOrgMemberRoleError = UpdateOrgMemberRoleErrors[keyof UpdateOrgMemberRoleErrors];
17647
+ export type UpdateOrgMemberRoleResponses = {
17648
+ /**
17649
+ * Successful Response
17650
+ */
17651
+ 200: OrgMemberResponse;
17652
+ };
17653
+ export type UpdateOrgMemberRoleResponse = UpdateOrgMemberRoleResponses[keyof UpdateOrgMemberRoleResponses];
17654
+ export type ListOrgInvitationsData = {
17655
+ body?: never;
17656
+ path: {
17657
+ /**
17658
+ * Org Id
17659
+ */
17660
+ org_id: string;
17661
+ };
17662
+ query?: never;
17663
+ url: '/v1/orgs/{org_id}/invitations';
17664
+ };
17665
+ export type ListOrgInvitationsErrors = {
17666
+ /**
17667
+ * Invalid request
17668
+ */
17669
+ 400: ErrorResponse;
17670
+ /**
17671
+ * Authentication required
17672
+ */
17673
+ 401: ErrorResponse;
17674
+ /**
17675
+ * Access denied
17676
+ */
17677
+ 403: ErrorResponse;
17678
+ /**
17679
+ * Resource not found
17680
+ */
17681
+ 404: ErrorResponse;
17682
+ /**
17683
+ * Validation Error
17684
+ */
17685
+ 422: HttpValidationError;
17686
+ /**
17687
+ * Rate limit exceeded
17688
+ */
17689
+ 429: ErrorResponse;
17690
+ /**
17691
+ * Internal server error
17692
+ */
17693
+ 500: ErrorResponse;
17694
+ };
17695
+ export type ListOrgInvitationsError = ListOrgInvitationsErrors[keyof ListOrgInvitationsErrors];
17696
+ export type ListOrgInvitationsResponses = {
17697
+ /**
17698
+ * Successful Response
17699
+ */
17700
+ 200: OrgInvitationListResponse;
17701
+ };
17702
+ export type ListOrgInvitationsResponse = ListOrgInvitationsResponses[keyof ListOrgInvitationsResponses];
17703
+ export type CreateOrgInvitationData = {
17704
+ body: CreateInvitationRequest;
17705
+ path: {
17706
+ /**
17707
+ * Org Id
17708
+ */
17709
+ org_id: string;
17710
+ };
17711
+ query?: never;
17712
+ url: '/v1/orgs/{org_id}/invitations';
17000
17713
  };
17001
- export type InviteOrgMemberErrors = {
17714
+ export type CreateOrgInvitationErrors = {
17002
17715
  /**
17003
17716
  * Invalid request
17004
17717
  */
@@ -17015,6 +17728,10 @@ export type InviteOrgMemberErrors = {
17015
17728
  * Resource not found
17016
17729
  */
17017
17730
  404: ErrorResponse;
17731
+ /**
17732
+ * Email already registered or invited
17733
+ */
17734
+ 409: ErrorResponse;
17018
17735
  /**
17019
17736
  * Validation Error
17020
17737
  */
@@ -17032,15 +17749,15 @@ export type InviteOrgMemberErrors = {
17032
17749
  */
17033
17750
  501: ErrorResponse;
17034
17751
  };
17035
- export type InviteOrgMemberError = InviteOrgMemberErrors[keyof InviteOrgMemberErrors];
17036
- export type InviteOrgMemberResponses = {
17752
+ export type CreateOrgInvitationError = CreateOrgInvitationErrors[keyof CreateOrgInvitationErrors];
17753
+ export type CreateOrgInvitationResponses = {
17037
17754
  /**
17038
17755
  * Successful Response
17039
17756
  */
17040
- 201: OrgMemberResponse;
17757
+ 201: OrgInvitationResponse;
17041
17758
  };
17042
- export type InviteOrgMemberResponse = InviteOrgMemberResponses[keyof InviteOrgMemberResponses];
17043
- export type RemoveOrgMemberData = {
17759
+ export type CreateOrgInvitationResponse = CreateOrgInvitationResponses[keyof CreateOrgInvitationResponses];
17760
+ export type RevokeOrgInvitationData = {
17044
17761
  body?: never;
17045
17762
  path: {
17046
17763
  /**
@@ -17048,14 +17765,14 @@ export type RemoveOrgMemberData = {
17048
17765
  */
17049
17766
  org_id: string;
17050
17767
  /**
17051
- * User Id
17768
+ * Invitation Id
17052
17769
  */
17053
- user_id: string;
17770
+ invitation_id: string;
17054
17771
  };
17055
17772
  query?: never;
17056
- url: '/v1/orgs/{org_id}/members/{user_id}';
17773
+ url: '/v1/orgs/{org_id}/invitations/{invitation_id}';
17057
17774
  };
17058
- export type RemoveOrgMemberErrors = {
17775
+ export type RevokeOrgInvitationErrors = {
17059
17776
  /**
17060
17777
  * Invalid request
17061
17778
  */
@@ -17085,30 +17802,30 @@ export type RemoveOrgMemberErrors = {
17085
17802
  */
17086
17803
  500: ErrorResponse;
17087
17804
  };
17088
- export type RemoveOrgMemberError = RemoveOrgMemberErrors[keyof RemoveOrgMemberErrors];
17089
- export type RemoveOrgMemberResponses = {
17805
+ export type RevokeOrgInvitationError = RevokeOrgInvitationErrors[keyof RevokeOrgInvitationErrors];
17806
+ export type RevokeOrgInvitationResponses = {
17090
17807
  /**
17091
17808
  * Successful Response
17092
17809
  */
17093
17810
  204: void;
17094
17811
  };
17095
- export type RemoveOrgMemberResponse = RemoveOrgMemberResponses[keyof RemoveOrgMemberResponses];
17096
- export type UpdateOrgMemberRoleData = {
17097
- body: UpdateMemberRoleRequest;
17812
+ export type RevokeOrgInvitationResponse = RevokeOrgInvitationResponses[keyof RevokeOrgInvitationResponses];
17813
+ export type ResendOrgInvitationData = {
17814
+ body?: never;
17098
17815
  path: {
17099
17816
  /**
17100
17817
  * Org Id
17101
17818
  */
17102
17819
  org_id: string;
17103
17820
  /**
17104
- * User Id
17821
+ * Invitation Id
17105
17822
  */
17106
- user_id: string;
17823
+ invitation_id: string;
17107
17824
  };
17108
17825
  query?: never;
17109
- url: '/v1/orgs/{org_id}/members/{user_id}';
17826
+ url: '/v1/orgs/{org_id}/invitations/{invitation_id}/resend';
17110
17827
  };
17111
- export type UpdateOrgMemberRoleErrors = {
17828
+ export type ResendOrgInvitationErrors = {
17112
17829
  /**
17113
17830
  * Invalid request
17114
17831
  */
@@ -17137,15 +17854,19 @@ export type UpdateOrgMemberRoleErrors = {
17137
17854
  * Internal server error
17138
17855
  */
17139
17856
  500: ErrorResponse;
17857
+ /**
17858
+ * Feature not enabled
17859
+ */
17860
+ 501: ErrorResponse;
17140
17861
  };
17141
- export type UpdateOrgMemberRoleError = UpdateOrgMemberRoleErrors[keyof UpdateOrgMemberRoleErrors];
17142
- export type UpdateOrgMemberRoleResponses = {
17862
+ export type ResendOrgInvitationError = ResendOrgInvitationErrors[keyof ResendOrgInvitationErrors];
17863
+ export type ResendOrgInvitationResponses = {
17143
17864
  /**
17144
17865
  * Successful Response
17145
17866
  */
17146
- 200: OrgMemberResponse;
17867
+ 200: OrgInvitationResponse;
17147
17868
  };
17148
- export type UpdateOrgMemberRoleResponse = UpdateOrgMemberRoleResponses[keyof UpdateOrgMemberRoleResponses];
17869
+ export type ResendOrgInvitationResponse = ResendOrgInvitationResponses[keyof ResendOrgInvitationResponses];
17149
17870
  export type GetOrgLimitsData = {
17150
17871
  body?: never;
17151
17872
  path: {
@@ -17491,7 +18212,7 @@ export type ListConnectionsData = {
17491
18212
  *
17492
18213
  * Filter by provider type
17493
18214
  */
17494
- provider?: 'sec' | 'quickbooks' | null;
18215
+ provider?: 'sec' | 'quickbooks' | 'external' | null;
17495
18216
  };
17496
18217
  url: '/v1/graphs/{graph_id}/connections';
17497
18218
  };
@@ -19046,6 +19767,218 @@ export type GetGraphLimitsResponses = {
19046
19767
  200: GraphLimitsResponse;
19047
19768
  };
19048
19769
  export type GetGraphLimitsResponse = GetGraphLimitsResponses[keyof GetGraphLimitsResponses];
19770
+ export type ListGraphMembersData = {
19771
+ body?: never;
19772
+ path: {
19773
+ /**
19774
+ * Graph Id
19775
+ *
19776
+ * Graph identifier
19777
+ */
19778
+ graph_id: string;
19779
+ };
19780
+ query?: never;
19781
+ url: '/v1/graphs/{graph_id}/members';
19782
+ };
19783
+ export type ListGraphMembersErrors = {
19784
+ /**
19785
+ * Invalid request
19786
+ */
19787
+ 400: ErrorResponse;
19788
+ /**
19789
+ * Authentication required
19790
+ */
19791
+ 401: ErrorResponse;
19792
+ /**
19793
+ * Access denied
19794
+ */
19795
+ 403: ErrorResponse;
19796
+ /**
19797
+ * Resource not found
19798
+ */
19799
+ 404: ErrorResponse;
19800
+ /**
19801
+ * Validation Error
19802
+ */
19803
+ 422: HttpValidationError;
19804
+ /**
19805
+ * Rate limit exceeded
19806
+ */
19807
+ 429: ErrorResponse;
19808
+ /**
19809
+ * Internal server error
19810
+ */
19811
+ 500: ErrorResponse;
19812
+ };
19813
+ export type ListGraphMembersError = ListGraphMembersErrors[keyof ListGraphMembersErrors];
19814
+ export type ListGraphMembersResponses = {
19815
+ /**
19816
+ * Successful Response
19817
+ */
19818
+ 200: GraphMemberListResponse;
19819
+ };
19820
+ export type ListGraphMembersResponse = ListGraphMembersResponses[keyof ListGraphMembersResponses];
19821
+ export type AddGraphMemberData = {
19822
+ body: AddGraphMemberRequest;
19823
+ path: {
19824
+ /**
19825
+ * Graph Id
19826
+ *
19827
+ * Graph identifier
19828
+ */
19829
+ graph_id: string;
19830
+ };
19831
+ query?: never;
19832
+ url: '/v1/graphs/{graph_id}/members';
19833
+ };
19834
+ export type AddGraphMemberErrors = {
19835
+ /**
19836
+ * Invalid request
19837
+ */
19838
+ 400: ErrorResponse;
19839
+ /**
19840
+ * Authentication required
19841
+ */
19842
+ 401: ErrorResponse;
19843
+ /**
19844
+ * Access denied
19845
+ */
19846
+ 403: ErrorResponse;
19847
+ /**
19848
+ * Resource not found
19849
+ */
19850
+ 404: ErrorResponse;
19851
+ /**
19852
+ * Validation Error
19853
+ */
19854
+ 422: HttpValidationError;
19855
+ /**
19856
+ * Rate limit exceeded
19857
+ */
19858
+ 429: ErrorResponse;
19859
+ /**
19860
+ * Internal server error
19861
+ */
19862
+ 500: ErrorResponse;
19863
+ };
19864
+ export type AddGraphMemberError = AddGraphMemberErrors[keyof AddGraphMemberErrors];
19865
+ export type AddGraphMemberResponses = {
19866
+ /**
19867
+ * Successful Response
19868
+ */
19869
+ 201: GraphMemberResponse;
19870
+ };
19871
+ export type AddGraphMemberResponse = AddGraphMemberResponses[keyof AddGraphMemberResponses];
19872
+ export type RemoveGraphMemberData = {
19873
+ body?: never;
19874
+ path: {
19875
+ /**
19876
+ * User Id
19877
+ */
19878
+ user_id: string;
19879
+ /**
19880
+ * Graph Id
19881
+ *
19882
+ * Graph identifier
19883
+ */
19884
+ graph_id: string;
19885
+ };
19886
+ query?: never;
19887
+ url: '/v1/graphs/{graph_id}/members/{user_id}';
19888
+ };
19889
+ export type RemoveGraphMemberErrors = {
19890
+ /**
19891
+ * Invalid request
19892
+ */
19893
+ 400: ErrorResponse;
19894
+ /**
19895
+ * Authentication required
19896
+ */
19897
+ 401: ErrorResponse;
19898
+ /**
19899
+ * Access denied
19900
+ */
19901
+ 403: ErrorResponse;
19902
+ /**
19903
+ * Resource not found
19904
+ */
19905
+ 404: ErrorResponse;
19906
+ /**
19907
+ * Validation Error
19908
+ */
19909
+ 422: HttpValidationError;
19910
+ /**
19911
+ * Rate limit exceeded
19912
+ */
19913
+ 429: ErrorResponse;
19914
+ /**
19915
+ * Internal server error
19916
+ */
19917
+ 500: ErrorResponse;
19918
+ };
19919
+ export type RemoveGraphMemberError = RemoveGraphMemberErrors[keyof RemoveGraphMemberErrors];
19920
+ export type RemoveGraphMemberResponses = {
19921
+ /**
19922
+ * Successful Response
19923
+ */
19924
+ 204: void;
19925
+ };
19926
+ export type RemoveGraphMemberResponse = RemoveGraphMemberResponses[keyof RemoveGraphMemberResponses];
19927
+ export type UpdateGraphMemberRoleData = {
19928
+ body: UpdateGraphMemberRoleRequest;
19929
+ path: {
19930
+ /**
19931
+ * User Id
19932
+ */
19933
+ user_id: string;
19934
+ /**
19935
+ * Graph Id
19936
+ *
19937
+ * Graph identifier
19938
+ */
19939
+ graph_id: string;
19940
+ };
19941
+ query?: never;
19942
+ url: '/v1/graphs/{graph_id}/members/{user_id}';
19943
+ };
19944
+ export type UpdateGraphMemberRoleErrors = {
19945
+ /**
19946
+ * Invalid request
19947
+ */
19948
+ 400: ErrorResponse;
19949
+ /**
19950
+ * Authentication required
19951
+ */
19952
+ 401: ErrorResponse;
19953
+ /**
19954
+ * Access denied
19955
+ */
19956
+ 403: ErrorResponse;
19957
+ /**
19958
+ * Resource not found
19959
+ */
19960
+ 404: ErrorResponse;
19961
+ /**
19962
+ * Validation Error
19963
+ */
19964
+ 422: HttpValidationError;
19965
+ /**
19966
+ * Rate limit exceeded
19967
+ */
19968
+ 429: ErrorResponse;
19969
+ /**
19970
+ * Internal server error
19971
+ */
19972
+ 500: ErrorResponse;
19973
+ };
19974
+ export type UpdateGraphMemberRoleError = UpdateGraphMemberRoleErrors[keyof UpdateGraphMemberRoleErrors];
19975
+ export type UpdateGraphMemberRoleResponses = {
19976
+ /**
19977
+ * Successful Response
19978
+ */
19979
+ 200: GraphMemberResponse;
19980
+ };
19981
+ export type UpdateGraphMemberRoleResponse = UpdateGraphMemberRoleResponses[keyof UpdateGraphMemberRoleResponses];
19049
19982
  export type ListSubgraphsData = {
19050
19983
  body?: never;
19051
19984
  path: {
@@ -22793,6 +23726,65 @@ export type ComputeMetricsResponses = {
22793
23726
  200: OperationEnvelopeComputeMetricsResponse;
22794
23727
  };
22795
23728
  export type ComputeMetricsResponse2 = ComputeMetricsResponses[keyof ComputeMetricsResponses];
23729
+ export type AssertMetricsData = {
23730
+ body: AssertMetricsRequest;
23731
+ headers?: {
23732
+ /**
23733
+ * Idempotency-Key
23734
+ */
23735
+ 'Idempotency-Key'?: string | null;
23736
+ };
23737
+ path: {
23738
+ /**
23739
+ * Graph Id
23740
+ */
23741
+ graph_id: string;
23742
+ };
23743
+ query?: never;
23744
+ url: '/extensions/roboledger/{graph_id}/operations/assert-metrics';
23745
+ };
23746
+ export type AssertMetricsErrors = {
23747
+ /**
23748
+ * Invalid request
23749
+ */
23750
+ 400: ErrorResponse;
23751
+ /**
23752
+ * Authentication required
23753
+ */
23754
+ 401: ErrorResponse;
23755
+ /**
23756
+ * Access denied
23757
+ */
23758
+ 403: ErrorResponse;
23759
+ /**
23760
+ * Resource not found
23761
+ */
23762
+ 404: ErrorResponse;
23763
+ /**
23764
+ * Idempotency-Key conflict — key reused with different body
23765
+ */
23766
+ 409: ErrorResponse;
23767
+ /**
23768
+ * Validation error
23769
+ */
23770
+ 422: ErrorResponse;
23771
+ /**
23772
+ * Rate limit exceeded
23773
+ */
23774
+ 429: ErrorResponse;
23775
+ /**
23776
+ * Internal server error
23777
+ */
23778
+ 500: ErrorResponse;
23779
+ };
23780
+ export type AssertMetricsError = AssertMetricsErrors[keyof AssertMetricsErrors];
23781
+ export type AssertMetricsResponses = {
23782
+ /**
23783
+ * Successful Response
23784
+ */
23785
+ 200: OperationEnvelopeAssertMetricsResponse;
23786
+ };
23787
+ export type AssertMetricsResponse2 = AssertMetricsResponses[keyof AssertMetricsResponses];
22796
23788
  export type ComputeForecastData = {
22797
23789
  body: ComputeForecastRequest;
22798
23790
  headers?: {