@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.
package/types.gen.ts CHANGED
@@ -100,6 +100,24 @@ export type AccountInfo = {
100
100
  provider_account_id: string;
101
101
  };
102
102
 
103
+ /**
104
+ * AddGraphMemberRequest
105
+ *
106
+ * Request to grant an org member access to a graph.
107
+ */
108
+ export type AddGraphMemberRequest = {
109
+ /**
110
+ * User Id
111
+ *
112
+ * User to grant access to (must belong to the graph's organization)
113
+ */
114
+ user_id: string;
115
+ /**
116
+ * Graph role: viewer (read-only), member (read/write), admin (full control)
117
+ */
118
+ role?: GraphRole;
119
+ };
120
+
103
121
  /**
104
122
  * AddPublishListMembersOperation
105
123
  *
@@ -198,6 +216,154 @@ export type ArtifactResponse = {
198
216
  } & ForecastMechanics);
199
217
  };
200
218
 
219
+ /**
220
+ * AssertMetricsRequest
221
+ *
222
+ * Request body for the ``assert-metrics`` operation.
223
+ *
224
+ * The observation sibling of ``compute-metrics``: writes externally-
225
+ * observed values (usage counts, marketing numbers, hand-carried
226
+ * figures) into the period's standing ``factset_type='metric'`` FactSet
227
+ * with ``AssertedProvenance``. Re-asserting a period replaces its facts
228
+ * — one standing FactSet per (structure, entity, period_end), the
229
+ * accumulating time series.
230
+ *
231
+ * Structures carrying ``Derive`` rules are compute-owned
232
+ * (``compute-metrics``) and rejected — asserted and derived metric
233
+ * series keep disjoint structures. Asserted series are actuals; there
234
+ * is no scenario axis.
235
+ */
236
+ export type AssertMetricsRequest = {
237
+ /**
238
+ * Structure Id
239
+ *
240
+ * Metric block structure (block_type='metric') to assert into.
241
+ */
242
+ structure_id: string;
243
+ /**
244
+ * Period End
245
+ *
246
+ * 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.
247
+ */
248
+ period_end: string;
249
+ /**
250
+ * Period Start
251
+ *
252
+ * Window start for duration concepts and the standing FactSet's period_start. Instant concepts ignore it.
253
+ */
254
+ period_start?: string | null;
255
+ /**
256
+ * Entity Id
257
+ *
258
+ * Entity to assert for. Defaults to the graph's earliest-created entity (the primary entity for single-entity graphs).
259
+ */
260
+ entity_id?: string | null;
261
+ /**
262
+ * Source System
263
+ *
264
+ * Identifier of the asserting system (e.g. 'content-machine') — recorded as the AssertedProvenance source_system.
265
+ */
266
+ source_system: string;
267
+ /**
268
+ * Basis Note
269
+ *
270
+ * Free-text basis / source reference for the observations.
271
+ */
272
+ basis_note?: string | null;
273
+ /**
274
+ * Observations
275
+ *
276
+ * Observed values, one per metric concept — duplicates rejected.
277
+ */
278
+ observations: Array<MetricObservation>;
279
+ };
280
+
281
+ /**
282
+ * AssertMetricsResponse
283
+ *
284
+ * Response for the ``assert-metrics`` operation.
285
+ */
286
+ export type AssertMetricsResponse = {
287
+ /**
288
+ * Structure Id
289
+ */
290
+ structure_id: string;
291
+ /**
292
+ * Entity Id
293
+ */
294
+ entity_id: string;
295
+ /**
296
+ * Period End
297
+ */
298
+ period_end: string;
299
+ /**
300
+ * Fact Set Id
301
+ *
302
+ * Standing metric FactSet the observations were written to.
303
+ */
304
+ fact_set_id: string;
305
+ /**
306
+ * Asserted
307
+ */
308
+ asserted?: Array<AssertedMetricLite>;
309
+ /**
310
+ * Replaced
311
+ *
312
+ * True when a prior standing set existed for the period and its facts were replaced.
313
+ */
314
+ replaced?: boolean;
315
+ };
316
+
317
+ /**
318
+ * AssertedMetricLite
319
+ *
320
+ * One metric written by an ``assert-metrics`` run.
321
+ */
322
+ export type AssertedMetricLite = {
323
+ /**
324
+ * Element Id
325
+ *
326
+ * Metric element the fact was written for.
327
+ */
328
+ element_id: string;
329
+ /**
330
+ * Element Qname
331
+ *
332
+ * Metric element qname.
333
+ */
334
+ element_qname: string;
335
+ /**
336
+ * Name
337
+ *
338
+ * Metric display name.
339
+ */
340
+ name: string;
341
+ /**
342
+ * Value
343
+ *
344
+ * Asserted value.
345
+ */
346
+ value: number;
347
+ /**
348
+ * Unit
349
+ *
350
+ * Fact unit — 'USD' for monetary, 'days' for days, else 'pure'.
351
+ */
352
+ unit: string;
353
+ /**
354
+ * Period Type
355
+ *
356
+ * 'instant' or 'duration'.
357
+ */
358
+ period_type: string;
359
+ /**
360
+ * Item Type
361
+ *
362
+ * Format family from the metric element (monetary | ratio | percent | multiple | days). None means untyped; fall back to unit.
363
+ */
364
+ item_type?: string | null;
365
+ };
366
+
201
367
  /**
202
368
  * AssociationResponse
203
369
  *
@@ -1039,6 +1205,12 @@ export type CancelSubscriptionRequest = {
1039
1205
  * Required when immediate=True. Must equal the subscription's resource_id (e.g. graph_id) to confirm intent.
1040
1206
  */
1041
1207
  confirm?: string | null;
1208
+ /**
1209
+ * User Id
1210
+ *
1211
+ * Organization member whose subscription to cancel. Defaults to the caller; canceling another member's requires org owner or admin.
1212
+ */
1213
+ user_id?: string | null;
1042
1214
  };
1043
1215
 
1044
1216
  /**
@@ -1721,7 +1893,7 @@ export type ConnectionProviderInfo = {
1721
1893
  *
1722
1894
  * Provider identifier
1723
1895
  */
1724
- provider: 'sec' | 'quickbooks';
1896
+ provider: 'sec' | 'quickbooks' | 'external';
1725
1897
  /**
1726
1898
  * Display Name
1727
1899
  *
@@ -1844,6 +2016,12 @@ export type ConnectionResponse = {
1844
2016
  * 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.
1845
2017
  */
1846
2018
  write_policy?: string | null;
2019
+ /**
2020
+ * Source Name
2021
+ *
2022
+ * External-provider registered source slug — the value the integration stamps on the events it emits. Null for platform providers.
2023
+ */
2024
+ source_name?: string | null;
1847
2025
  /**
1848
2026
  * Metadata
1849
2027
  *
@@ -2110,7 +2288,7 @@ export type CreateConnectionRequest = {
2110
2288
  *
2111
2289
  * Connection provider type
2112
2290
  */
2113
- provider: 'sec' | 'quickbooks';
2291
+ provider: 'sec' | 'quickbooks' | 'external';
2114
2292
  /**
2115
2293
  * Entity Id
2116
2294
  *
@@ -2119,6 +2297,7 @@ export type CreateConnectionRequest = {
2119
2297
  entity_id?: string | null;
2120
2298
  sec_config?: SecConnectionConfig | null;
2121
2299
  quickbooks_config?: QuickBooksConnectionConfig | null;
2300
+ external_config?: ExternalConnectionConfig | null;
2122
2301
  };
2123
2302
 
2124
2303
  /**
@@ -2184,7 +2363,7 @@ export type CreateEventBlockRequest = {
2184
2363
  /**
2185
2364
  * Source
2186
2365
  *
2187
- * 'manual' | 'system' | 'schedule' | 'quickbooks' | 'xero' | 'plaid'
2366
+ * '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.
2188
2367
  */
2189
2368
  source: string;
2190
2369
  /**
@@ -2474,6 +2653,19 @@ export type CreateInformationBlockRequest = ({
2474
2653
  block_type: 'balance_sheet' | 'cash_flow_statement' | 'comprehensive_income' | 'equity_statement' | 'income_statement' | 'metric' | 'regulatory_disclosure';
2475
2654
  } & CreateLegacyArm);
2476
2655
 
2656
+ /**
2657
+ * CreateInvitationRequest
2658
+ *
2659
+ * Request to invite a new user to an organization by email.
2660
+ */
2661
+ export type CreateInvitationRequest = {
2662
+ /**
2663
+ * Email
2664
+ */
2665
+ email: string;
2666
+ role?: OrgRole;
2667
+ };
2668
+
2477
2669
  /**
2478
2670
  * CreateMappingAssociationOperation
2479
2671
  *
@@ -3018,7 +3210,13 @@ export type CreateViewRequest = {
3018
3210
  */
3019
3211
  include_summary?: boolean;
3020
3212
  /**
3021
- * View/pivot configuration
3213
+ * Limit
3214
+ *
3215
+ * 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.
3216
+ */
3217
+ limit?: number;
3218
+ /**
3219
+ * Aspect scoping configuration
3022
3220
  */
3023
3221
  view_config?: ViewConfig;
3024
3222
  };
@@ -3901,6 +4099,33 @@ export type DetailedTransactionsResponse = {
3901
4099
  };
3902
4100
  };
3903
4101
 
4102
+ /**
4103
+ * Dimension
4104
+ */
4105
+ export type Dimension = {
4106
+ /**
4107
+ * Name
4108
+ *
4109
+ * Dimension name (e.g., 'Element', 'Period')
4110
+ */
4111
+ name: string;
4112
+ /**
4113
+ * Dimension type
4114
+ */
4115
+ type: DimensionType;
4116
+ /**
4117
+ * Members
4118
+ *
4119
+ * List of dimension members
4120
+ */
4121
+ members?: Array<string>;
4122
+ };
4123
+
4124
+ /**
4125
+ * DimensionType
4126
+ */
4127
+ export type DimensionType = 'element' | 'period' | 'entity';
4128
+
3904
4129
  /**
3905
4130
  * DocumentDetailResponse
3906
4131
  *
@@ -4208,6 +4433,42 @@ export type ElementLite = {
4208
4433
  documentation?: string | null;
4209
4434
  };
4210
4435
 
4436
+ /**
4437
+ * ElementSummary
4438
+ */
4439
+ export type ElementSummary = {
4440
+ /**
4441
+ * Count
4442
+ *
4443
+ * Number of facts for this element
4444
+ */
4445
+ count: number;
4446
+ /**
4447
+ * Total
4448
+ *
4449
+ * Sum of values across the returned facts
4450
+ */
4451
+ total: number;
4452
+ /**
4453
+ * Average
4454
+ *
4455
+ * Mean value across the returned facts
4456
+ */
4457
+ average: number;
4458
+ /**
4459
+ * Min
4460
+ *
4461
+ * Minimum value across the returned facts
4462
+ */
4463
+ min: number;
4464
+ /**
4465
+ * Max
4466
+ *
4467
+ * Maximum value across the returned facts
4468
+ */
4469
+ max: number;
4470
+ };
4471
+
4211
4472
  /**
4212
4473
  * ElementUpdatePatch
4213
4474
  *
@@ -4598,7 +4859,7 @@ export type EventBlockEnvelope = {
4598
4859
  /**
4599
4860
  * Source
4600
4861
  *
4601
- * Capture source (`manual`, `system`, `schedule`, `quickbooks`, `xero`, `plaid`). Used for adapter routing.
4862
+ * Capture source: `manual`, `system`, `schedule`, a connected provider name (e.g. `quickbooks`), or a registered external source_name. Used for adapter routing.
4602
4863
  */
4603
4864
  source: string;
4604
4865
  /**
@@ -4867,6 +5128,32 @@ export type ExecuteEventBlockResponse = {
4867
5128
  } | null;
4868
5129
  };
4869
5130
 
5131
+ /**
5132
+ * ExternalConnectionConfig
5133
+ *
5134
+ * External-integration connection configuration.
5135
+ *
5136
+ * Registers a source namespace for an integration the platform does not
5137
+ * run: the connection is registration + telemetry, not execution config.
5138
+ * The platform holds no credentials for the external source — the
5139
+ * integration authenticates to its own source and writes here through
5140
+ * the public API, stamping ``source_name`` on everything it emits.
5141
+ */
5142
+ export type ExternalConnectionConfig = {
5143
+ /**
5144
+ * Source Name
5145
+ *
5146
+ * Source slug the integration stamps on the events it emits (lowercase letters, digits, '-', '_'; must start with a letter). Unique per graph among live connections.
5147
+ */
5148
+ source_name: string;
5149
+ /**
5150
+ * Display Name
5151
+ *
5152
+ * Human-readable label for the connections UI.
5153
+ */
5154
+ display_name?: string | null;
5155
+ };
5156
+
4870
5157
  /**
4871
5158
  * FactLite
4872
5159
  *
@@ -4941,6 +5228,54 @@ export type FactLite = {
4941
5228
  fact_set_id?: string | null;
4942
5229
  };
4943
5230
 
5231
+ /**
5232
+ * FactRecord
5233
+ */
5234
+ export type FactRecord = {
5235
+ /**
5236
+ * Element Id
5237
+ *
5238
+ * Element qname (e.g., 'us-gaap:Assets')
5239
+ */
5240
+ element_id: string;
5241
+ /**
5242
+ * Element Name
5243
+ *
5244
+ * Element local name
5245
+ */
5246
+ element_name?: string | null;
5247
+ /**
5248
+ * Period End
5249
+ *
5250
+ * Period end date (YYYY-MM-DD)
5251
+ */
5252
+ period_end?: string | null;
5253
+ /**
5254
+ * Value
5255
+ *
5256
+ * Numeric fact value
5257
+ */
5258
+ value?: number | null;
5259
+ /**
5260
+ * Unit
5261
+ *
5262
+ * Unit of measure (e.g., 'USD')
5263
+ */
5264
+ unit?: string | null;
5265
+ /**
5266
+ * Entity Ticker
5267
+ *
5268
+ * Entity ticker; present only when an entity filter was applied
5269
+ */
5270
+ entity_ticker?: string | null;
5271
+ /**
5272
+ * Entity Name
5273
+ *
5274
+ * Entity name; present only when an entity filter was applied
5275
+ */
5276
+ entity_name?: string | null;
5277
+ };
5278
+
4944
5279
  /**
4945
5280
  * FactSetLite
4946
5281
  *
@@ -5745,33 +6080,86 @@ export type GraphLimitsResponse = {
5745
6080
  };
5746
6081
 
5747
6082
  /**
5748
- * GraphMetadata
6083
+ * GraphMemberListResponse
5749
6084
  *
5750
- * Metadata for graph creation.
6085
+ * All users with access to a graph.
5751
6086
  */
5752
- export type GraphMetadata = {
6087
+ export type GraphMemberListResponse = {
5753
6088
  /**
5754
- * Graph Name
5755
- *
5756
- * Display name for the graph
6089
+ * Members
5757
6090
  */
5758
- graph_name: string;
6091
+ members: Array<GraphMemberResponse>;
5759
6092
  /**
5760
- * Description
5761
- *
5762
- * Optional description
6093
+ * Total
5763
6094
  */
5764
- description?: string | null;
6095
+ total: number;
5765
6096
  /**
5766
- * Schema Extensions
5767
- *
5768
- * Schema extensions to enable
6097
+ * Graph Id
5769
6098
  */
5770
- schema_extensions?: Array<string>;
5771
- /**
5772
- * Tags
5773
- *
5774
- * Tags for organizing graphs
6099
+ graph_id: string;
6100
+ };
6101
+
6102
+ /**
6103
+ * GraphMemberResponse
6104
+ *
6105
+ * A user with access to a graph.
6106
+ */
6107
+ export type GraphMemberResponse = {
6108
+ /**
6109
+ * User Id
6110
+ */
6111
+ user_id: string;
6112
+ /**
6113
+ * Name
6114
+ */
6115
+ name: string;
6116
+ /**
6117
+ * Email
6118
+ */
6119
+ email: string;
6120
+ role: GraphRole;
6121
+ /**
6122
+ * Source
6123
+ *
6124
+ * 'explicit' for a direct grant; 'org_role' for implicit admin held by org owners/admins
6125
+ */
6126
+ source: 'explicit' | 'org_role';
6127
+ /**
6128
+ * Granted At
6129
+ *
6130
+ * When the explicit grant was created (null for implicit access)
6131
+ */
6132
+ granted_at?: string | null;
6133
+ };
6134
+
6135
+ /**
6136
+ * GraphMetadata
6137
+ *
6138
+ * Metadata for graph creation.
6139
+ */
6140
+ export type GraphMetadata = {
6141
+ /**
6142
+ * Graph Name
6143
+ *
6144
+ * Display name for the graph
6145
+ */
6146
+ graph_name: string;
6147
+ /**
6148
+ * Description
6149
+ *
6150
+ * Optional description
6151
+ */
6152
+ description?: string | null;
6153
+ /**
6154
+ * Schema Extensions
6155
+ *
6156
+ * Schema extensions to enable
6157
+ */
6158
+ schema_extensions?: Array<string>;
6159
+ /**
6160
+ * Tags
6161
+ *
6162
+ * Tags for organizing graphs
5775
6163
  */
5776
6164
  tags?: Array<string>;
5777
6165
  };
@@ -5852,6 +6240,13 @@ export type GraphMetricsResponse = {
5852
6240
  };
5853
6241
  };
5854
6242
 
6243
+ /**
6244
+ * GraphRole
6245
+ *
6246
+ * Ordered per-graph roles: viewer < member < admin.
6247
+ */
6248
+ export type GraphRole = 'viewer' | 'member' | 'admin';
6249
+
5855
6250
  /**
5856
6251
  * GraphSubscriptionResponse
5857
6252
  *
@@ -5876,6 +6271,12 @@ export type GraphSubscriptionResponse = {
5876
6271
  * Resource identifier
5877
6272
  */
5878
6273
  resource_id: string;
6274
+ /**
6275
+ * User Id
6276
+ *
6277
+ * Organization member the subscription belongs to. Set for repository subscriptions, which are billed to the org but granted per user.
6278
+ */
6279
+ user_id?: string | null;
5879
6280
  /**
5880
6281
  * Plan Name
5881
6282
  *
@@ -6761,16 +7162,24 @@ export type InstanceUsage = {
6761
7162
  };
6762
7163
 
6763
7164
  /**
6764
- * InviteMemberRequest
7165
+ * InvitationPreviewResponse
6765
7166
  *
6766
- * Request to invite a member to an organization.
7167
+ * Public preview of an invitation, looked up by its token.
6767
7168
  */
6768
- export type InviteMemberRequest = {
7169
+ export type InvitationPreviewResponse = {
7170
+ /**
7171
+ * Org Name
7172
+ */
7173
+ org_name: string;
6769
7174
  /**
6770
7175
  * Email
6771
7176
  */
6772
7177
  email: string;
6773
- role?: OrgRole | null;
7178
+ role: OrgRole;
7179
+ /**
7180
+ * Expires At
7181
+ */
7182
+ expires_at: string;
6774
7183
  };
6775
7184
 
6776
7185
  /**
@@ -7974,7 +8383,7 @@ export type MaterializeOp = {
7974
8383
  /**
7975
8384
  * Rebuild
7976
8385
  *
7977
- * Rebuild the graph from scratch, dropping existing data
8386
+ * 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).
7978
8387
  */
7979
8388
  rebuild?: boolean;
7980
8389
  /**
@@ -8148,6 +8557,26 @@ export type MetricMechanics = {
8148
8557
  unit?: string;
8149
8558
  };
8150
8559
 
8560
+ /**
8561
+ * MetricObservation
8562
+ *
8563
+ * One externally-observed value in an ``assert-metrics`` request.
8564
+ */
8565
+ export type MetricObservation = {
8566
+ /**
8567
+ * Qname
8568
+ *
8569
+ * Metric element qname (e.g. rsx:GithubStars). Must resolve to a concept on the structure's presentation catalog.
8570
+ */
8571
+ qname: string;
8572
+ /**
8573
+ * Value
8574
+ *
8575
+ * Observed value.
8576
+ */
8577
+ value: number;
8578
+ };
8579
+
8151
8580
  /**
8152
8581
  * OAuthCallbackRequest
8153
8582
  *
@@ -8447,6 +8876,52 @@ export type OperationEnvelope = {
8447
8876
  idempotentReplay?: boolean;
8448
8877
  };
8449
8878
 
8879
+ /**
8880
+ * OperationEnvelope[AssertMetricsResponse]
8881
+ */
8882
+ export type OperationEnvelopeAssertMetricsResponse = {
8883
+ /**
8884
+ * Operation
8885
+ *
8886
+ * Kebab-case operation name
8887
+ */
8888
+ operation: string;
8889
+ /**
8890
+ * Operationid
8891
+ *
8892
+ * op_-prefixed ULID for audit and SSE correlation
8893
+ */
8894
+ operationId: string;
8895
+ /**
8896
+ * Status
8897
+ *
8898
+ * Operation lifecycle state
8899
+ */
8900
+ status: 'completed' | 'pending' | 'failed';
8901
+ /**
8902
+ * Command-specific result payload
8903
+ */
8904
+ result?: AssertMetricsResponse | null;
8905
+ /**
8906
+ * At
8907
+ *
8908
+ * ISO-8601 UTC timestamp
8909
+ */
8910
+ at: string;
8911
+ /**
8912
+ * Createdby
8913
+ *
8914
+ * User ID that initiated the operation (null for legacy callers)
8915
+ */
8916
+ createdBy?: string | null;
8917
+ /**
8918
+ * Idempotentreplay
8919
+ *
8920
+ * True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions.
8921
+ */
8922
+ idempotentReplay?: boolean;
8923
+ };
8924
+
8450
8925
  /**
8451
8926
  * OperationEnvelope[AssociationResponse]
8452
8927
  */
@@ -10434,6 +10909,71 @@ export type OrgDetailResponse = {
10434
10909
  updated_at: string;
10435
10910
  };
10436
10911
 
10912
+ /**
10913
+ * OrgInvitationListResponse
10914
+ *
10915
+ * List of pending organization invitations response.
10916
+ */
10917
+ export type OrgInvitationListResponse = {
10918
+ /**
10919
+ * Invitations
10920
+ */
10921
+ invitations: Array<OrgInvitationResponse>;
10922
+ /**
10923
+ * Total
10924
+ */
10925
+ total: number;
10926
+ /**
10927
+ * Org Id
10928
+ */
10929
+ org_id: string;
10930
+ };
10931
+
10932
+ /**
10933
+ * OrgInvitationResponse
10934
+ *
10935
+ * Organization invitation response.
10936
+ */
10937
+ export type OrgInvitationResponse = {
10938
+ /**
10939
+ * Id
10940
+ */
10941
+ id: string;
10942
+ /**
10943
+ * Org Id
10944
+ */
10945
+ org_id: string;
10946
+ /**
10947
+ * Email
10948
+ */
10949
+ email: string;
10950
+ role: OrgRole;
10951
+ /**
10952
+ * Status
10953
+ */
10954
+ status: string;
10955
+ /**
10956
+ * Invited By User Id
10957
+ */
10958
+ invited_by_user_id: string;
10959
+ /**
10960
+ * Invited By Name
10961
+ */
10962
+ invited_by_name: string | null;
10963
+ /**
10964
+ * Created At
10965
+ */
10966
+ created_at: string;
10967
+ /**
10968
+ * Expires At
10969
+ */
10970
+ expires_at: string;
10971
+ /**
10972
+ * Is Expired
10973
+ */
10974
+ is_expired: boolean;
10975
+ };
10976
+
10437
10977
  /**
10438
10978
  * OrgLimitsResponse
10439
10979
  *
@@ -11703,6 +12243,12 @@ export type RegisterRequest = {
11703
12243
  * CAPTCHA verification token (required in production)
11704
12244
  */
11705
12245
  captcha_token?: string | null;
12246
+ /**
12247
+ * Invite Token
12248
+ *
12249
+ * 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.
12250
+ */
12251
+ invite_token?: string | null;
11706
12252
  };
11707
12253
 
11708
12254
  /**
@@ -15139,6 +15685,15 @@ export type UpdateForecastRequest = {
15139
15685
  line_growth?: Array<LineGrowthRequest> | null;
15140
15686
  };
15141
15687
 
15688
+ /**
15689
+ * UpdateGraphMemberRoleRequest
15690
+ *
15691
+ * Request to change a graph member's role.
15692
+ */
15693
+ export type UpdateGraphMemberRoleRequest = {
15694
+ role: GraphRole;
15695
+ };
15696
+
15142
15697
  /**
15143
15698
  * UpdateInformationBlockRequest
15144
15699
  *
@@ -15604,6 +16159,12 @@ export type UpgradeSubscriptionRequest = {
15604
16159
  * New plan name to change to
15605
16160
  */
15606
16161
  new_plan_name: string;
16162
+ /**
16163
+ * User Id
16164
+ *
16165
+ * Organization member whose subscription to change. Defaults to the caller; targeting another member requires org owner or admin.
16166
+ */
16167
+ user_id?: string | null;
15607
16168
  };
15608
16169
 
15609
16170
  /**
@@ -15850,24 +16411,23 @@ export type VerificationSummary = {
15850
16411
 
15851
16412
  /**
15852
16413
  * ViewAxisConfig
16414
+ *
16415
+ * Scoping configuration for one aspect of the fact query.
16416
+ *
16417
+ * Filtering only. Ordering and labelling are presentation concerns and
16418
+ * belong to the consumer that arranges the facts into a table.
15853
16419
  */
15854
16420
  export type ViewAxisConfig = {
15855
16421
  /**
15856
16422
  * Type
15857
16423
  *
15858
- * Axis type: 'element', 'period', 'dimension', 'entity'
16424
+ * Axis type: 'element', 'period', 'entity'
15859
16425
  */
15860
16426
  type: string;
15861
- /**
15862
- * Dimension Axis
15863
- *
15864
- * Dimension axis name for dimension-type axes
15865
- */
15866
- dimension_axis?: string | null;
15867
16427
  /**
15868
16428
  * Include Null Dimension
15869
16429
  *
15870
- * Include facts where this dimension is NULL (default: false)
16430
+ * Include facts where this aspect is absent (default: false)
15871
16431
  */
15872
16432
  include_null_dimension?: boolean;
15873
16433
  /**
@@ -15876,34 +16436,6 @@ export type ViewAxisConfig = {
15876
16436
  * Specific members to include (e.g., ['2024-12-31', '2023-12-31'])
15877
16437
  */
15878
16438
  selected_members?: Array<string> | null;
15879
- /**
15880
- * Member Order
15881
- *
15882
- * Explicit ordering of members (overrides default sort)
15883
- */
15884
- member_order?: Array<string> | null;
15885
- /**
15886
- * Member Labels
15887
- *
15888
- * Custom labels for members (e.g., {'2024-12-31': 'Current Year'})
15889
- */
15890
- member_labels?: {
15891
- [key: string]: string;
15892
- } | null;
15893
- /**
15894
- * Element Order
15895
- *
15896
- * Element ordering for hierarchy display (e.g., ['us-gaap:Assets', 'us-gaap:Cash', ...])
15897
- */
15898
- element_order?: Array<string> | null;
15899
- /**
15900
- * Element Labels
15901
- *
15902
- * Custom labels for elements (e.g., {'us-gaap:Cash': 'Cash and Cash Equivalents'})
15903
- */
15904
- element_labels?: {
15905
- [key: string]: string;
15906
- } | null;
15907
16439
  };
15908
16440
 
15909
16441
  /**
@@ -15922,24 +16454,6 @@ export type ViewConfig = {
15922
16454
  * Column axis configuration
15923
16455
  */
15924
16456
  columns?: Array<ViewAxisConfig>;
15925
- /**
15926
- * Values
15927
- *
15928
- * Field to use for values (default: numeric_value)
15929
- */
15930
- values?: string;
15931
- /**
15932
- * Aggregation Function
15933
- *
15934
- * Aggregation function: sum, average, count
15935
- */
15936
- aggregation_function?: string;
15937
- /**
15938
- * Fill Value
15939
- *
15940
- * Value to use for missing data
15941
- */
15942
- fill_value?: number;
15943
16457
  };
15944
16458
 
15945
16459
  /**
@@ -15982,6 +16496,12 @@ export type ViewMetadata = {
15982
16496
  * Period end date
15983
16497
  */
15984
16498
  period_end?: string | null;
16499
+ /**
16500
+ * Truncated
16501
+ *
16502
+ * 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.
16503
+ */
16504
+ truncated?: boolean;
15985
16505
  };
15986
16506
 
15987
16507
  /**
@@ -16011,6 +16531,13 @@ export type ViewProjections = {
16011
16531
 
16012
16532
  /**
16013
16533
  * ViewResponse
16534
+ *
16535
+ * Flat, deduplicated facts plus the aspects they span.
16536
+ *
16537
+ * No server-side pivot: each fact is returned as its own record so the
16538
+ * consumer can arrange cells on the full aspect signature. Summing across
16539
+ * entities, units, or elements that merely share a local name is a
16540
+ * presentation decision this endpoint refuses to make on the caller's behalf.
16014
16541
  */
16015
16542
  export type ViewResponse = {
16016
16543
  /**
@@ -16018,13 +16545,25 @@ export type ViewResponse = {
16018
16545
  */
16019
16546
  metadata: ViewMetadata;
16020
16547
  /**
16021
- * Presentations
16548
+ * Dimensions
16022
16549
  *
16023
- * Presentation formats (pivot_table, narrative, etc.)
16550
+ * Aspects spanned by the returned facts
16024
16551
  */
16025
- presentations: {
16026
- [key: string]: unknown;
16027
- };
16552
+ dimensions?: Array<Dimension>;
16553
+ /**
16554
+ * Facts
16555
+ *
16556
+ * Deduplicated fact records
16557
+ */
16558
+ facts?: Array<FactRecord>;
16559
+ /**
16560
+ * Summary
16561
+ *
16562
+ * 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.
16563
+ */
16564
+ summary?: {
16565
+ [key: string]: ElementSummary;
16566
+ } | null;
16028
16567
  };
16029
16568
 
16030
16569
  /**
@@ -16593,6 +17132,48 @@ export type VerifyEmailResponses = {
16593
17132
 
16594
17133
  export type VerifyEmailResponse = VerifyEmailResponses[keyof VerifyEmailResponses];
16595
17134
 
17135
+ export type GetInvitationPreviewData = {
17136
+ body?: never;
17137
+ path: {
17138
+ /**
17139
+ * Token
17140
+ */
17141
+ token: string;
17142
+ };
17143
+ query?: never;
17144
+ url: '/v1/auth/invitations/{token}';
17145
+ };
17146
+
17147
+ export type GetInvitationPreviewErrors = {
17148
+ /**
17149
+ * Invalid request
17150
+ */
17151
+ 400: ErrorResponse;
17152
+ /**
17153
+ * Validation Error
17154
+ */
17155
+ 422: HttpValidationError;
17156
+ /**
17157
+ * Rate limit exceeded
17158
+ */
17159
+ 429: ErrorResponse;
17160
+ /**
17161
+ * Internal server error
17162
+ */
17163
+ 500: ErrorResponse;
17164
+ };
17165
+
17166
+ export type GetInvitationPreviewError = GetInvitationPreviewErrors[keyof GetInvitationPreviewErrors];
17167
+
17168
+ export type GetInvitationPreviewResponses = {
17169
+ /**
17170
+ * Successful Response
17171
+ */
17172
+ 200: InvitationPreviewResponse;
17173
+ };
17174
+
17175
+ export type GetInvitationPreviewResponse = GetInvitationPreviewResponses[keyof GetInvitationPreviewResponses];
17176
+
16596
17177
  export type GetPasswordPolicyData = {
16597
17178
  body?: never;
16598
17179
  path?: never;
@@ -17533,19 +18114,135 @@ export type ListOrgMembersResponses = {
17533
18114
 
17534
18115
  export type ListOrgMembersResponse = ListOrgMembersResponses[keyof ListOrgMembersResponses];
17535
18116
 
17536
- export type InviteOrgMemberData = {
17537
- body: InviteMemberRequest;
18117
+ export type RemoveOrgMemberData = {
18118
+ body?: never;
17538
18119
  path: {
17539
18120
  /**
17540
18121
  * Org Id
17541
18122
  */
17542
18123
  org_id: string;
18124
+ /**
18125
+ * User Id
18126
+ */
18127
+ user_id: string;
17543
18128
  };
17544
18129
  query?: never;
17545
- url: '/v1/orgs/{org_id}/members';
18130
+ url: '/v1/orgs/{org_id}/members/{user_id}';
18131
+ };
18132
+
18133
+ export type RemoveOrgMemberErrors = {
18134
+ /**
18135
+ * Invalid request
18136
+ */
18137
+ 400: ErrorResponse;
18138
+ /**
18139
+ * Authentication required
18140
+ */
18141
+ 401: ErrorResponse;
18142
+ /**
18143
+ * Access denied
18144
+ */
18145
+ 403: ErrorResponse;
18146
+ /**
18147
+ * Resource not found
18148
+ */
18149
+ 404: ErrorResponse;
18150
+ /**
18151
+ * Validation Error
18152
+ */
18153
+ 422: HttpValidationError;
18154
+ /**
18155
+ * Rate limit exceeded
18156
+ */
18157
+ 429: ErrorResponse;
18158
+ /**
18159
+ * Internal server error
18160
+ */
18161
+ 500: ErrorResponse;
18162
+ };
18163
+
18164
+ export type RemoveOrgMemberError = RemoveOrgMemberErrors[keyof RemoveOrgMemberErrors];
18165
+
18166
+ export type RemoveOrgMemberResponses = {
18167
+ /**
18168
+ * Successful Response
18169
+ */
18170
+ 204: void;
18171
+ };
18172
+
18173
+ export type RemoveOrgMemberResponse = RemoveOrgMemberResponses[keyof RemoveOrgMemberResponses];
18174
+
18175
+ export type UpdateOrgMemberRoleData = {
18176
+ body: UpdateMemberRoleRequest;
18177
+ path: {
18178
+ /**
18179
+ * Org Id
18180
+ */
18181
+ org_id: string;
18182
+ /**
18183
+ * User Id
18184
+ */
18185
+ user_id: string;
18186
+ };
18187
+ query?: never;
18188
+ url: '/v1/orgs/{org_id}/members/{user_id}';
18189
+ };
18190
+
18191
+ export type UpdateOrgMemberRoleErrors = {
18192
+ /**
18193
+ * Invalid request
18194
+ */
18195
+ 400: ErrorResponse;
18196
+ /**
18197
+ * Authentication required
18198
+ */
18199
+ 401: ErrorResponse;
18200
+ /**
18201
+ * Access denied
18202
+ */
18203
+ 403: ErrorResponse;
18204
+ /**
18205
+ * Resource not found
18206
+ */
18207
+ 404: ErrorResponse;
18208
+ /**
18209
+ * Validation Error
18210
+ */
18211
+ 422: HttpValidationError;
18212
+ /**
18213
+ * Rate limit exceeded
18214
+ */
18215
+ 429: ErrorResponse;
18216
+ /**
18217
+ * Internal server error
18218
+ */
18219
+ 500: ErrorResponse;
17546
18220
  };
17547
18221
 
17548
- export type InviteOrgMemberErrors = {
18222
+ export type UpdateOrgMemberRoleError = UpdateOrgMemberRoleErrors[keyof UpdateOrgMemberRoleErrors];
18223
+
18224
+ export type UpdateOrgMemberRoleResponses = {
18225
+ /**
18226
+ * Successful Response
18227
+ */
18228
+ 200: OrgMemberResponse;
18229
+ };
18230
+
18231
+ export type UpdateOrgMemberRoleResponse = UpdateOrgMemberRoleResponses[keyof UpdateOrgMemberRoleResponses];
18232
+
18233
+ export type ListOrgInvitationsData = {
18234
+ body?: never;
18235
+ path: {
18236
+ /**
18237
+ * Org Id
18238
+ */
18239
+ org_id: string;
18240
+ };
18241
+ query?: never;
18242
+ url: '/v1/orgs/{org_id}/invitations';
18243
+ };
18244
+
18245
+ export type ListOrgInvitationsErrors = {
17549
18246
  /**
17550
18247
  * Invalid request
17551
18248
  */
@@ -17574,24 +18271,82 @@ export type InviteOrgMemberErrors = {
17574
18271
  * Internal server error
17575
18272
  */
17576
18273
  500: ErrorResponse;
18274
+ };
18275
+
18276
+ export type ListOrgInvitationsError = ListOrgInvitationsErrors[keyof ListOrgInvitationsErrors];
18277
+
18278
+ export type ListOrgInvitationsResponses = {
18279
+ /**
18280
+ * Successful Response
18281
+ */
18282
+ 200: OrgInvitationListResponse;
18283
+ };
18284
+
18285
+ export type ListOrgInvitationsResponse = ListOrgInvitationsResponses[keyof ListOrgInvitationsResponses];
18286
+
18287
+ export type CreateOrgInvitationData = {
18288
+ body: CreateInvitationRequest;
18289
+ path: {
18290
+ /**
18291
+ * Org Id
18292
+ */
18293
+ org_id: string;
18294
+ };
18295
+ query?: never;
18296
+ url: '/v1/orgs/{org_id}/invitations';
18297
+ };
18298
+
18299
+ export type CreateOrgInvitationErrors = {
18300
+ /**
18301
+ * Invalid request
18302
+ */
18303
+ 400: ErrorResponse;
18304
+ /**
18305
+ * Authentication required
18306
+ */
18307
+ 401: ErrorResponse;
18308
+ /**
18309
+ * Access denied
18310
+ */
18311
+ 403: ErrorResponse;
18312
+ /**
18313
+ * Resource not found
18314
+ */
18315
+ 404: ErrorResponse;
18316
+ /**
18317
+ * Email already registered or invited
18318
+ */
18319
+ 409: ErrorResponse;
18320
+ /**
18321
+ * Validation Error
18322
+ */
18323
+ 422: HttpValidationError;
18324
+ /**
18325
+ * Rate limit exceeded
18326
+ */
18327
+ 429: ErrorResponse;
18328
+ /**
18329
+ * Internal server error
18330
+ */
18331
+ 500: ErrorResponse;
17577
18332
  /**
17578
18333
  * Feature not enabled
17579
18334
  */
17580
18335
  501: ErrorResponse;
17581
18336
  };
17582
18337
 
17583
- export type InviteOrgMemberError = InviteOrgMemberErrors[keyof InviteOrgMemberErrors];
18338
+ export type CreateOrgInvitationError = CreateOrgInvitationErrors[keyof CreateOrgInvitationErrors];
17584
18339
 
17585
- export type InviteOrgMemberResponses = {
18340
+ export type CreateOrgInvitationResponses = {
17586
18341
  /**
17587
18342
  * Successful Response
17588
18343
  */
17589
- 201: OrgMemberResponse;
18344
+ 201: OrgInvitationResponse;
17590
18345
  };
17591
18346
 
17592
- export type InviteOrgMemberResponse = InviteOrgMemberResponses[keyof InviteOrgMemberResponses];
18347
+ export type CreateOrgInvitationResponse = CreateOrgInvitationResponses[keyof CreateOrgInvitationResponses];
17593
18348
 
17594
- export type RemoveOrgMemberData = {
18349
+ export type RevokeOrgInvitationData = {
17595
18350
  body?: never;
17596
18351
  path: {
17597
18352
  /**
@@ -17599,15 +18354,15 @@ export type RemoveOrgMemberData = {
17599
18354
  */
17600
18355
  org_id: string;
17601
18356
  /**
17602
- * User Id
18357
+ * Invitation Id
17603
18358
  */
17604
- user_id: string;
18359
+ invitation_id: string;
17605
18360
  };
17606
18361
  query?: never;
17607
- url: '/v1/orgs/{org_id}/members/{user_id}';
18362
+ url: '/v1/orgs/{org_id}/invitations/{invitation_id}';
17608
18363
  };
17609
18364
 
17610
- export type RemoveOrgMemberErrors = {
18365
+ export type RevokeOrgInvitationErrors = {
17611
18366
  /**
17612
18367
  * Invalid request
17613
18368
  */
@@ -17638,34 +18393,34 @@ export type RemoveOrgMemberErrors = {
17638
18393
  500: ErrorResponse;
17639
18394
  };
17640
18395
 
17641
- export type RemoveOrgMemberError = RemoveOrgMemberErrors[keyof RemoveOrgMemberErrors];
18396
+ export type RevokeOrgInvitationError = RevokeOrgInvitationErrors[keyof RevokeOrgInvitationErrors];
17642
18397
 
17643
- export type RemoveOrgMemberResponses = {
18398
+ export type RevokeOrgInvitationResponses = {
17644
18399
  /**
17645
18400
  * Successful Response
17646
18401
  */
17647
18402
  204: void;
17648
18403
  };
17649
18404
 
17650
- export type RemoveOrgMemberResponse = RemoveOrgMemberResponses[keyof RemoveOrgMemberResponses];
18405
+ export type RevokeOrgInvitationResponse = RevokeOrgInvitationResponses[keyof RevokeOrgInvitationResponses];
17651
18406
 
17652
- export type UpdateOrgMemberRoleData = {
17653
- body: UpdateMemberRoleRequest;
18407
+ export type ResendOrgInvitationData = {
18408
+ body?: never;
17654
18409
  path: {
17655
18410
  /**
17656
18411
  * Org Id
17657
18412
  */
17658
18413
  org_id: string;
17659
18414
  /**
17660
- * User Id
18415
+ * Invitation Id
17661
18416
  */
17662
- user_id: string;
18417
+ invitation_id: string;
17663
18418
  };
17664
18419
  query?: never;
17665
- url: '/v1/orgs/{org_id}/members/{user_id}';
18420
+ url: '/v1/orgs/{org_id}/invitations/{invitation_id}/resend';
17666
18421
  };
17667
18422
 
17668
- export type UpdateOrgMemberRoleErrors = {
18423
+ export type ResendOrgInvitationErrors = {
17669
18424
  /**
17670
18425
  * Invalid request
17671
18426
  */
@@ -17694,18 +18449,22 @@ export type UpdateOrgMemberRoleErrors = {
17694
18449
  * Internal server error
17695
18450
  */
17696
18451
  500: ErrorResponse;
18452
+ /**
18453
+ * Feature not enabled
18454
+ */
18455
+ 501: ErrorResponse;
17697
18456
  };
17698
18457
 
17699
- export type UpdateOrgMemberRoleError = UpdateOrgMemberRoleErrors[keyof UpdateOrgMemberRoleErrors];
18458
+ export type ResendOrgInvitationError = ResendOrgInvitationErrors[keyof ResendOrgInvitationErrors];
17700
18459
 
17701
- export type UpdateOrgMemberRoleResponses = {
18460
+ export type ResendOrgInvitationResponses = {
17702
18461
  /**
17703
18462
  * Successful Response
17704
18463
  */
17705
- 200: OrgMemberResponse;
18464
+ 200: OrgInvitationResponse;
17706
18465
  };
17707
18466
 
17708
- export type UpdateOrgMemberRoleResponse = UpdateOrgMemberRoleResponses[keyof UpdateOrgMemberRoleResponses];
18467
+ export type ResendOrgInvitationResponse = ResendOrgInvitationResponses[keyof ResendOrgInvitationResponses];
17709
18468
 
17710
18469
  export type GetOrgLimitsData = {
17711
18470
  body?: never;
@@ -18082,7 +18841,7 @@ export type ListConnectionsData = {
18082
18841
  *
18083
18842
  * Filter by provider type
18084
18843
  */
18085
- provider?: 'sec' | 'quickbooks' | null;
18844
+ provider?: 'sec' | 'quickbooks' | 'external' | null;
18086
18845
  };
18087
18846
  url: '/v1/graphs/{graph_id}/connections';
18088
18847
  };
@@ -19770,6 +20529,238 @@ export type GetGraphLimitsResponses = {
19770
20529
 
19771
20530
  export type GetGraphLimitsResponse = GetGraphLimitsResponses[keyof GetGraphLimitsResponses];
19772
20531
 
20532
+ export type ListGraphMembersData = {
20533
+ body?: never;
20534
+ path: {
20535
+ /**
20536
+ * Graph Id
20537
+ *
20538
+ * Graph identifier
20539
+ */
20540
+ graph_id: string;
20541
+ };
20542
+ query?: never;
20543
+ url: '/v1/graphs/{graph_id}/members';
20544
+ };
20545
+
20546
+ export type ListGraphMembersErrors = {
20547
+ /**
20548
+ * Invalid request
20549
+ */
20550
+ 400: ErrorResponse;
20551
+ /**
20552
+ * Authentication required
20553
+ */
20554
+ 401: ErrorResponse;
20555
+ /**
20556
+ * Access denied
20557
+ */
20558
+ 403: ErrorResponse;
20559
+ /**
20560
+ * Resource not found
20561
+ */
20562
+ 404: ErrorResponse;
20563
+ /**
20564
+ * Validation Error
20565
+ */
20566
+ 422: HttpValidationError;
20567
+ /**
20568
+ * Rate limit exceeded
20569
+ */
20570
+ 429: ErrorResponse;
20571
+ /**
20572
+ * Internal server error
20573
+ */
20574
+ 500: ErrorResponse;
20575
+ };
20576
+
20577
+ export type ListGraphMembersError = ListGraphMembersErrors[keyof ListGraphMembersErrors];
20578
+
20579
+ export type ListGraphMembersResponses = {
20580
+ /**
20581
+ * Successful Response
20582
+ */
20583
+ 200: GraphMemberListResponse;
20584
+ };
20585
+
20586
+ export type ListGraphMembersResponse = ListGraphMembersResponses[keyof ListGraphMembersResponses];
20587
+
20588
+ export type AddGraphMemberData = {
20589
+ body: AddGraphMemberRequest;
20590
+ path: {
20591
+ /**
20592
+ * Graph Id
20593
+ *
20594
+ * Graph identifier
20595
+ */
20596
+ graph_id: string;
20597
+ };
20598
+ query?: never;
20599
+ url: '/v1/graphs/{graph_id}/members';
20600
+ };
20601
+
20602
+ export type AddGraphMemberErrors = {
20603
+ /**
20604
+ * Invalid request
20605
+ */
20606
+ 400: ErrorResponse;
20607
+ /**
20608
+ * Authentication required
20609
+ */
20610
+ 401: ErrorResponse;
20611
+ /**
20612
+ * Access denied
20613
+ */
20614
+ 403: ErrorResponse;
20615
+ /**
20616
+ * Resource not found
20617
+ */
20618
+ 404: ErrorResponse;
20619
+ /**
20620
+ * Validation Error
20621
+ */
20622
+ 422: HttpValidationError;
20623
+ /**
20624
+ * Rate limit exceeded
20625
+ */
20626
+ 429: ErrorResponse;
20627
+ /**
20628
+ * Internal server error
20629
+ */
20630
+ 500: ErrorResponse;
20631
+ };
20632
+
20633
+ export type AddGraphMemberError = AddGraphMemberErrors[keyof AddGraphMemberErrors];
20634
+
20635
+ export type AddGraphMemberResponses = {
20636
+ /**
20637
+ * Successful Response
20638
+ */
20639
+ 201: GraphMemberResponse;
20640
+ };
20641
+
20642
+ export type AddGraphMemberResponse = AddGraphMemberResponses[keyof AddGraphMemberResponses];
20643
+
20644
+ export type RemoveGraphMemberData = {
20645
+ body?: never;
20646
+ path: {
20647
+ /**
20648
+ * User Id
20649
+ */
20650
+ user_id: string;
20651
+ /**
20652
+ * Graph Id
20653
+ *
20654
+ * Graph identifier
20655
+ */
20656
+ graph_id: string;
20657
+ };
20658
+ query?: never;
20659
+ url: '/v1/graphs/{graph_id}/members/{user_id}';
20660
+ };
20661
+
20662
+ export type RemoveGraphMemberErrors = {
20663
+ /**
20664
+ * Invalid request
20665
+ */
20666
+ 400: ErrorResponse;
20667
+ /**
20668
+ * Authentication required
20669
+ */
20670
+ 401: ErrorResponse;
20671
+ /**
20672
+ * Access denied
20673
+ */
20674
+ 403: ErrorResponse;
20675
+ /**
20676
+ * Resource not found
20677
+ */
20678
+ 404: ErrorResponse;
20679
+ /**
20680
+ * Validation Error
20681
+ */
20682
+ 422: HttpValidationError;
20683
+ /**
20684
+ * Rate limit exceeded
20685
+ */
20686
+ 429: ErrorResponse;
20687
+ /**
20688
+ * Internal server error
20689
+ */
20690
+ 500: ErrorResponse;
20691
+ };
20692
+
20693
+ export type RemoveGraphMemberError = RemoveGraphMemberErrors[keyof RemoveGraphMemberErrors];
20694
+
20695
+ export type RemoveGraphMemberResponses = {
20696
+ /**
20697
+ * Successful Response
20698
+ */
20699
+ 204: void;
20700
+ };
20701
+
20702
+ export type RemoveGraphMemberResponse = RemoveGraphMemberResponses[keyof RemoveGraphMemberResponses];
20703
+
20704
+ export type UpdateGraphMemberRoleData = {
20705
+ body: UpdateGraphMemberRoleRequest;
20706
+ path: {
20707
+ /**
20708
+ * User Id
20709
+ */
20710
+ user_id: string;
20711
+ /**
20712
+ * Graph Id
20713
+ *
20714
+ * Graph identifier
20715
+ */
20716
+ graph_id: string;
20717
+ };
20718
+ query?: never;
20719
+ url: '/v1/graphs/{graph_id}/members/{user_id}';
20720
+ };
20721
+
20722
+ export type UpdateGraphMemberRoleErrors = {
20723
+ /**
20724
+ * Invalid request
20725
+ */
20726
+ 400: ErrorResponse;
20727
+ /**
20728
+ * Authentication required
20729
+ */
20730
+ 401: ErrorResponse;
20731
+ /**
20732
+ * Access denied
20733
+ */
20734
+ 403: ErrorResponse;
20735
+ /**
20736
+ * Resource not found
20737
+ */
20738
+ 404: ErrorResponse;
20739
+ /**
20740
+ * Validation Error
20741
+ */
20742
+ 422: HttpValidationError;
20743
+ /**
20744
+ * Rate limit exceeded
20745
+ */
20746
+ 429: ErrorResponse;
20747
+ /**
20748
+ * Internal server error
20749
+ */
20750
+ 500: ErrorResponse;
20751
+ };
20752
+
20753
+ export type UpdateGraphMemberRoleError = UpdateGraphMemberRoleErrors[keyof UpdateGraphMemberRoleErrors];
20754
+
20755
+ export type UpdateGraphMemberRoleResponses = {
20756
+ /**
20757
+ * Successful Response
20758
+ */
20759
+ 200: GraphMemberResponse;
20760
+ };
20761
+
20762
+ export type UpdateGraphMemberRoleResponse = UpdateGraphMemberRoleResponses[keyof UpdateGraphMemberRoleResponses];
20763
+
19773
20764
  export type ListSubgraphsData = {
19774
20765
  body?: never;
19775
20766
  path: {
@@ -23859,6 +24850,70 @@ export type ComputeMetricsResponses = {
23859
24850
 
23860
24851
  export type ComputeMetricsResponse2 = ComputeMetricsResponses[keyof ComputeMetricsResponses];
23861
24852
 
24853
+ export type AssertMetricsData = {
24854
+ body: AssertMetricsRequest;
24855
+ headers?: {
24856
+ /**
24857
+ * Idempotency-Key
24858
+ */
24859
+ 'Idempotency-Key'?: string | null;
24860
+ };
24861
+ path: {
24862
+ /**
24863
+ * Graph Id
24864
+ */
24865
+ graph_id: string;
24866
+ };
24867
+ query?: never;
24868
+ url: '/extensions/roboledger/{graph_id}/operations/assert-metrics';
24869
+ };
24870
+
24871
+ export type AssertMetricsErrors = {
24872
+ /**
24873
+ * Invalid request
24874
+ */
24875
+ 400: ErrorResponse;
24876
+ /**
24877
+ * Authentication required
24878
+ */
24879
+ 401: ErrorResponse;
24880
+ /**
24881
+ * Access denied
24882
+ */
24883
+ 403: ErrorResponse;
24884
+ /**
24885
+ * Resource not found
24886
+ */
24887
+ 404: ErrorResponse;
24888
+ /**
24889
+ * Idempotency-Key conflict — key reused with different body
24890
+ */
24891
+ 409: ErrorResponse;
24892
+ /**
24893
+ * Validation error
24894
+ */
24895
+ 422: ErrorResponse;
24896
+ /**
24897
+ * Rate limit exceeded
24898
+ */
24899
+ 429: ErrorResponse;
24900
+ /**
24901
+ * Internal server error
24902
+ */
24903
+ 500: ErrorResponse;
24904
+ };
24905
+
24906
+ export type AssertMetricsError = AssertMetricsErrors[keyof AssertMetricsErrors];
24907
+
24908
+ export type AssertMetricsResponses = {
24909
+ /**
24910
+ * Successful Response
24911
+ */
24912
+ 200: OperationEnvelopeAssertMetricsResponse;
24913
+ };
24914
+
24915
+ export type AssertMetricsResponse2 = AssertMetricsResponses[keyof AssertMetricsResponses];
24916
+
23862
24917
  export type ComputeForecastData = {
23863
24918
  body: ComputeForecastRequest;
23864
24919
  headers?: {