@burdenoff/microfe-billing 2026.512.1 → 2026.513.1
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.
|
@@ -85,6 +85,13 @@ export type ApiKey = {
|
|
|
85
85
|
prefix: Scalars['String']['output'];
|
|
86
86
|
scopes: Array<Scalars['String']['output']>;
|
|
87
87
|
};
|
|
88
|
+
/** Paginated list of API keys */
|
|
89
|
+
export type ApiKeyConnection = {
|
|
90
|
+
__typename?: 'APIKeyConnection';
|
|
91
|
+
apiKeys: Array<ApiKey>;
|
|
92
|
+
hasMore: Scalars['Boolean']['output'];
|
|
93
|
+
totalCount: Scalars['Int']['output'];
|
|
94
|
+
};
|
|
88
95
|
export type ApiKeyInput = {
|
|
89
96
|
apiKey: Scalars['String']['input'];
|
|
90
97
|
apiSecret: Scalars['String']['input'];
|
|
@@ -242,7 +249,22 @@ export declare enum ActorType {
|
|
|
242
249
|
/** Human user */
|
|
243
250
|
User = "USER"
|
|
244
251
|
}
|
|
245
|
-
/**
|
|
252
|
+
/**
|
|
253
|
+
* Specific adapter/provider type for each ChannelPlatform.
|
|
254
|
+
* ChannelPlatform = High-level category (EMAIL, SMS, PUSH, etc.)
|
|
255
|
+
* AdapterType = Specific provider implementation
|
|
256
|
+
*
|
|
257
|
+
* Currently supported adapters (must match Prisma schema):
|
|
258
|
+
* EMAIL: AWS_SES, AZURE_ACS
|
|
259
|
+
* SMS: AWS_SNS, TWILIO_SMS
|
|
260
|
+
* WHATSAPP: WHATSAPP_CLOUD, WHATSAPP_TWILIO
|
|
261
|
+
* SLACK: SLACK_BOT
|
|
262
|
+
* TEAMS: TEAMS_BOT
|
|
263
|
+
* DISCORD: DISCORD_BOT
|
|
264
|
+
* PUSH: FCM
|
|
265
|
+
* INAPP: INAPP_NATIVE
|
|
266
|
+
* WEBHOOK: WEBHOOK_HTTP
|
|
267
|
+
*/
|
|
246
268
|
export declare enum AdapterType {
|
|
247
269
|
/** Amazon Simple Email Service */
|
|
248
270
|
AwsSes = "AWS_SES",
|
|
@@ -367,13 +389,19 @@ export type Addon = {
|
|
|
367
389
|
createdAt?: Maybe<Scalars['DateTime']['output']>;
|
|
368
390
|
/** The currency in which the addon is priced. Defaults to 'USD'. */
|
|
369
391
|
currency?: Maybe<Scalars['String']['output']>;
|
|
370
|
-
/**
|
|
392
|
+
/**
|
|
393
|
+
* Prices for all supported currencies with beautiful rounding.
|
|
394
|
+
* Example: { "USD": 2.00, "INR": 199, "EUR": 1.99, "GBP": 1.79 }
|
|
395
|
+
*/
|
|
371
396
|
currencyPrices?: Maybe<Scalars['JSON']['output']>;
|
|
372
397
|
/** The duration for which the addon is valid (e.g., monthly, yearly). Defaults to 'monthly'. */
|
|
373
398
|
duration?: Maybe<PlanDuration>;
|
|
374
399
|
/** A list of features provided by this addon, such as extra quotas or special services. */
|
|
375
400
|
features?: Maybe<Array<Maybe<SubscriptionFeatures>>>;
|
|
376
|
-
/**
|
|
401
|
+
/**
|
|
402
|
+
* Geography-specific price overrides. The billing account's country/state/region plus
|
|
403
|
+
* currency decide whether one of these overrides applies.
|
|
404
|
+
*/
|
|
377
405
|
geoPricingOverrides: Array<GeoPricingOverride>;
|
|
378
406
|
/** The unique identifier for the Addon, automatically generated as a UUID. */
|
|
379
407
|
id?: Maybe<Scalars['ID']['output']>;
|
|
@@ -390,7 +418,10 @@ export type Addon = {
|
|
|
390
418
|
/** The timestamp when the addon was last updated. */
|
|
391
419
|
updatedAt?: Maybe<Scalars['DateTime']['output']>;
|
|
392
420
|
};
|
|
393
|
-
/**
|
|
421
|
+
/**
|
|
422
|
+
* Tracks historical price changes for an Addon.
|
|
423
|
+
* A new record is created whenever an addon's price is updated.
|
|
424
|
+
*/
|
|
394
425
|
export type AddonPriceHistory = {
|
|
395
426
|
__typename?: 'AddonPriceHistory';
|
|
396
427
|
/** The addon this price change belongs to */
|
|
@@ -436,7 +467,11 @@ export type AddonSubscription = {
|
|
|
436
467
|
updatedAt?: Maybe<Scalars['DateTime']['output']>;
|
|
437
468
|
};
|
|
438
469
|
export type AddonsFilter = {
|
|
439
|
-
/**
|
|
470
|
+
/**
|
|
471
|
+
* Include free addons (price = 0) in the response.
|
|
472
|
+
* Defaults to true. Set to false on user-facing browse pages
|
|
473
|
+
* since free addons are auto-assigned and cannot be purchased.
|
|
474
|
+
*/
|
|
440
475
|
includeFree?: InputMaybe<Scalars['Boolean']['input']>;
|
|
441
476
|
/** Filter addons by product ID. When set, only addons with this productID are returned. */
|
|
442
477
|
productId?: InputMaybe<Scalars['String']['input']>;
|
|
@@ -655,7 +690,11 @@ export type AgentProfile = {
|
|
|
655
690
|
createdAt: Scalars['DateTime']['output'];
|
|
656
691
|
currentChats: Scalars['Int']['output'];
|
|
657
692
|
currentTickets: Scalars['Int']['output'];
|
|
658
|
-
/**
|
|
693
|
+
/**
|
|
694
|
+
* Anonymized display alias surfaced to end-users in support conversations.
|
|
695
|
+
* Stable per agent (deterministic-on-first-use) so the same agent always shows
|
|
696
|
+
* the same alias to a given user. Real userId / user are admin-only.
|
|
697
|
+
*/
|
|
659
698
|
displayAlias?: Maybe<Scalars['String']['output']>;
|
|
660
699
|
id: Scalars['ID']['output'];
|
|
661
700
|
isAvailable: Scalars['Boolean']['output'];
|
|
@@ -793,6 +832,12 @@ export type AppCollectionEdge = {
|
|
|
793
832
|
cursor: Scalars['String']['output'];
|
|
794
833
|
node: AppCollection;
|
|
795
834
|
};
|
|
835
|
+
export type AppConnection = {
|
|
836
|
+
__typename?: 'AppConnection';
|
|
837
|
+
apps: Array<App>;
|
|
838
|
+
hasMore: Scalars['Boolean']['output'];
|
|
839
|
+
totalCount: Scalars['Int']['output'];
|
|
840
|
+
};
|
|
796
841
|
export type AppCreateResponse = {
|
|
797
842
|
__typename?: 'AppCreateResponse';
|
|
798
843
|
app: App;
|
|
@@ -1016,6 +1061,12 @@ export type AppUserDelegation = {
|
|
|
1016
1061
|
userId: Scalars['String']['output'];
|
|
1017
1062
|
workspaceIds: Array<Scalars['String']['output']>;
|
|
1018
1063
|
};
|
|
1064
|
+
export type AppUserDelegationConnection = {
|
|
1065
|
+
__typename?: 'AppUserDelegationConnection';
|
|
1066
|
+
delegations: Array<AppUserDelegation>;
|
|
1067
|
+
hasMore: Scalars['Boolean']['output'];
|
|
1068
|
+
totalCount: Scalars['Int']['output'];
|
|
1069
|
+
};
|
|
1019
1070
|
export declare enum AppVisibility {
|
|
1020
1071
|
Internal = "INTERNAL",
|
|
1021
1072
|
Private = "PRIVATE",
|
|
@@ -1093,7 +1144,10 @@ export type Application = {
|
|
|
1093
1144
|
/** Structured tag assignments via wspace-tags-svc. Resource type: APPLICATION. */
|
|
1094
1145
|
tagAssignments: Array<ApplicationTagAssignment>;
|
|
1095
1146
|
/**
|
|
1096
|
-
* Legacy free-text tag list. Maintained for backwards compatibility while
|
|
1147
|
+
* Legacy free-text tag list. Maintained for backwards compatibility while
|
|
1148
|
+
* consumers migrate to `tagAssignments`. New writes should use the
|
|
1149
|
+
* `addTagToApplication` / `removeTagFromApplication` mutations and consume
|
|
1150
|
+
* `tagAssignments` (resolved via wspace-tags-svc).
|
|
1097
1151
|
* @deprecated Use tagAssignments for structured tag data via wspace-tags-svc
|
|
1098
1152
|
*/
|
|
1099
1153
|
tags: Array<Scalars['String']['output']>;
|
|
@@ -1154,7 +1208,10 @@ export type ApplicationScope = {
|
|
|
1154
1208
|
metadata?: Maybe<Scalars['JSON']['output']>;
|
|
1155
1209
|
scope: Scalars['String']['output'];
|
|
1156
1210
|
};
|
|
1157
|
-
/**
|
|
1211
|
+
/**
|
|
1212
|
+
* Tag assignment binding a UniversalTag to an Application. Mirrors the universal
|
|
1213
|
+
* tag-assignment shape from wspace-tags-svc.UniversalTagAssignment.
|
|
1214
|
+
*/
|
|
1158
1215
|
export type ApplicationTagAssignment = {
|
|
1159
1216
|
__typename?: 'ApplicationTagAssignment';
|
|
1160
1217
|
assignedAt?: Maybe<Scalars['DateTime']['output']>;
|
|
@@ -1311,6 +1368,13 @@ export type AuthAuditLog = {
|
|
|
1311
1368
|
resourceType?: Maybe<Scalars['String']['output']>;
|
|
1312
1369
|
userAgent?: Maybe<Scalars['String']['output']>;
|
|
1313
1370
|
};
|
|
1371
|
+
/** Paginated list of auth audit logs */
|
|
1372
|
+
export type AuthAuditLogConnection = {
|
|
1373
|
+
__typename?: 'AuthAuditLogConnection';
|
|
1374
|
+
auditLogs: Array<AuthAuditLog>;
|
|
1375
|
+
hasMore: Scalars['Boolean']['output'];
|
|
1376
|
+
totalCount: Scalars['Int']['output'];
|
|
1377
|
+
};
|
|
1314
1378
|
export type AuthContext = {
|
|
1315
1379
|
deviceId?: InputMaybe<Scalars['String']['input']>;
|
|
1316
1380
|
ipAddress?: InputMaybe<Scalars['String']['input']>;
|
|
@@ -1352,7 +1416,10 @@ export type AuthMethodConfigInput = {
|
|
|
1352
1416
|
samlEntityId?: InputMaybe<Scalars['String']['input']>;
|
|
1353
1417
|
samlSsoUrl?: InputMaybe<Scalars['String']['input']>;
|
|
1354
1418
|
};
|
|
1355
|
-
/**
|
|
1419
|
+
/**
|
|
1420
|
+
* Authentication response with optional MFA challenge support
|
|
1421
|
+
* When requiresMFA is true, user/tokens will be null until MFA verification
|
|
1422
|
+
*/
|
|
1356
1423
|
export type AuthPayload = {
|
|
1357
1424
|
__typename?: 'AuthPayload';
|
|
1358
1425
|
accessToken?: Maybe<Scalars['String']['output']>;
|
|
@@ -1454,7 +1521,10 @@ export type BatchOperationResult = {
|
|
|
1454
1521
|
failedIds?: Maybe<Array<Scalars['ID']['output']>>;
|
|
1455
1522
|
success: Scalars['Boolean']['output'];
|
|
1456
1523
|
};
|
|
1457
|
-
/**
|
|
1524
|
+
/**
|
|
1525
|
+
* BillingAccount entity - resolvable via Federation Gateway.
|
|
1526
|
+
* Other services (e.g., store-svc) can reference BillingAccount by id.
|
|
1527
|
+
*/
|
|
1458
1528
|
export type BillingAccount = {
|
|
1459
1529
|
__typename?: 'BillingAccount';
|
|
1460
1530
|
/** The billing addresses associated with this billing account */
|
|
@@ -1585,7 +1655,10 @@ export type BillingOrder = {
|
|
|
1585
1655
|
/** External order ID from the service (e.g., "store-order-12345") */
|
|
1586
1656
|
id: Scalars['ID']['output'];
|
|
1587
1657
|
items: Scalars['JSON']['output'];
|
|
1588
|
-
/**
|
|
1658
|
+
/**
|
|
1659
|
+
* Tax is calculated at payment time and stored in Transaction/Payment, not BillingOrder.
|
|
1660
|
+
* Tax info can be found in metadata.paymentTaxAmount, metadata.paymentTaxRate, metadata.paymentTotal
|
|
1661
|
+
*/
|
|
1589
1662
|
metadata?: Maybe<Scalars['JSON']['output']>;
|
|
1590
1663
|
orgId: Scalars['String']['output'];
|
|
1591
1664
|
status: BillingOrderStatus;
|
|
@@ -1975,15 +2048,28 @@ export type ChangePasswordInput = {
|
|
|
1975
2048
|
/** Channel represents a configured connection to a communication platform */
|
|
1976
2049
|
export type Channel = {
|
|
1977
2050
|
__typename?: 'Channel';
|
|
1978
|
-
/**
|
|
2051
|
+
/**
|
|
2052
|
+
* Specific adapter type (SENDGRID, AWS_SES, TWILIO, etc.)
|
|
2053
|
+
* Used for priority-based fallback delivery.
|
|
2054
|
+
*/
|
|
1979
2055
|
adapterType?: Maybe<AdapterType>;
|
|
1980
|
-
/**
|
|
2056
|
+
/**
|
|
2057
|
+
* Channel type discriminator — determines delivery behaviour.
|
|
2058
|
+
* NOTIFICATION (EMAIL, SMS): outbound-only, adapter failover supported.
|
|
2059
|
+
* COMMUNICATION (SLACK, TEAMS, DISCORD, WHATSAPP, WEBCHAT, INAPP, WEBHOOK): bi-directional.
|
|
2060
|
+
*/
|
|
1981
2061
|
channelType: ChannelType;
|
|
1982
|
-
/**
|
|
2062
|
+
/**
|
|
2063
|
+
* Typed channel configuration.
|
|
2064
|
+
* Returns structured configuration with defaults applied.
|
|
2065
|
+
*/
|
|
1983
2066
|
config: ChannelConfig;
|
|
1984
2067
|
/** Channel connection (authenticated credentials) */
|
|
1985
2068
|
connection?: Maybe<ChannelConnection>;
|
|
1986
|
-
/**
|
|
2069
|
+
/**
|
|
2070
|
+
* Real-time connection health (system-monitored: HEALTHY, DEGRADED, UNHEALTHY).
|
|
2071
|
+
* Updated automatically based on API calls and health checks.
|
|
2072
|
+
*/
|
|
1987
2073
|
connectionHealth: ConnectionHealth;
|
|
1988
2074
|
/** Number of consecutive API failures (resets to 0 on success) */
|
|
1989
2075
|
consecutiveFailures: Scalars['Int']['output'];
|
|
@@ -2015,9 +2101,16 @@ export type Channel = {
|
|
|
2015
2101
|
organizationId: Scalars['ID']['output'];
|
|
2016
2102
|
/** Communication platform (Slack, Teams, Discord, etc.) */
|
|
2017
2103
|
platform: ChannelPlatform;
|
|
2018
|
-
/**
|
|
2104
|
+
/**
|
|
2105
|
+
* Platform-specific configuration (webhook URLs, channel IDs, etc.)
|
|
2106
|
+
* Raw JSON for backward compatibility.
|
|
2107
|
+
*/
|
|
2019
2108
|
platformConfig?: Maybe<Scalars['JSON']['output']>;
|
|
2020
|
-
/**
|
|
2109
|
+
/**
|
|
2110
|
+
* Priority for fallback ordering (lower = higher priority, tried first).
|
|
2111
|
+
* Example: SendGrid(1) → AWS SES(2) → Azure ACS(3)
|
|
2112
|
+
* All ACTIVE channels are included in the failover chain.
|
|
2113
|
+
*/
|
|
2021
2114
|
priority: Scalars['Int']['output'];
|
|
2022
2115
|
/** Current channel status (admin-controlled: ACTIVE, INACTIVE, etc.) */
|
|
2023
2116
|
status: ChannelStatus;
|
|
@@ -2043,7 +2136,10 @@ export declare enum ChannelAuthType {
|
|
|
2043
2136
|
/** Webhook-only (no authentication) */
|
|
2044
2137
|
Webhook = "WEBHOOK"
|
|
2045
2138
|
}
|
|
2046
|
-
/**
|
|
2139
|
+
/**
|
|
2140
|
+
* Channel configuration settings.
|
|
2141
|
+
* Strongly-typed configuration instead of generic JSON.
|
|
2142
|
+
*/
|
|
2047
2143
|
export type ChannelConfig = {
|
|
2048
2144
|
__typename?: 'ChannelConfig';
|
|
2049
2145
|
/** Default workflow ID to execute for incoming messages (if any) */
|
|
@@ -2060,7 +2156,10 @@ export type ChannelConfig = {
|
|
|
2060
2156
|
platformSettings?: Maybe<Scalars['JSON']['output']>;
|
|
2061
2157
|
/** Rate limit: maximum messages per hour for this channel. */
|
|
2062
2158
|
rateLimitPerHour?: Maybe<Scalars['Int']['output']>;
|
|
2063
|
-
/**
|
|
2159
|
+
/**
|
|
2160
|
+
* Rate limit: maximum messages per minute for this channel.
|
|
2161
|
+
* Platform-specific limits apply (e.g., Slack: 60/min, WhatsApp: varies).
|
|
2162
|
+
*/
|
|
2064
2163
|
rateLimitPerMinute?: Maybe<Scalars['Int']['output']>;
|
|
2065
2164
|
/** Webhook URL for receiving platform events */
|
|
2066
2165
|
webhookUrl?: Maybe<Scalars['String']['output']>;
|
|
@@ -2086,7 +2185,10 @@ export type ChannelConfigInput = {
|
|
|
2086
2185
|
/** Webhook URL */
|
|
2087
2186
|
webhookUrl?: InputMaybe<Scalars['String']['input']>;
|
|
2088
2187
|
};
|
|
2089
|
-
/**
|
|
2188
|
+
/**
|
|
2189
|
+
* ChannelConnection represents an authenticated connection to a platform
|
|
2190
|
+
* All credentials are encrypted with AES-256-GCM
|
|
2191
|
+
*/
|
|
2090
2192
|
export type ChannelConnection = {
|
|
2091
2193
|
__typename?: 'ChannelConnection';
|
|
2092
2194
|
/** Authentication type used */
|
|
@@ -2113,7 +2215,10 @@ export type ChannelConnection = {
|
|
|
2113
2215
|
lastTestedAt?: Maybe<Scalars['DateTime']['output']>;
|
|
2114
2216
|
/** Whether OAuth tokens need refresh (within 24h of expiry) */
|
|
2115
2217
|
needsTokenRefresh: Scalars['Boolean']['output'];
|
|
2116
|
-
/**
|
|
2218
|
+
/**
|
|
2219
|
+
* Platform-specific metadata (channel IDs, team info, etc.)
|
|
2220
|
+
* NOTE: Non-sensitive data only
|
|
2221
|
+
*/
|
|
2117
2222
|
platformMetadata?: Maybe<Scalars['JSON']['output']>;
|
|
2118
2223
|
/** Tag assignments for this connection (stub — returns empty until wspace-tags-svc supports org-scoped assignments) */
|
|
2119
2224
|
tagAssignments: Array<ChannelConnectionTagAssignment>;
|
|
@@ -2124,7 +2229,10 @@ export type ChannelConnection = {
|
|
|
2124
2229
|
/** Last update timestamp */
|
|
2125
2230
|
updatedAt: Scalars['DateTime']['output'];
|
|
2126
2231
|
};
|
|
2127
|
-
/**
|
|
2232
|
+
/**
|
|
2233
|
+
* Paginated list of channel connections with cursor support.
|
|
2234
|
+
* Pass `nextCursor` from a previous response as `cursor` in the next call.
|
|
2235
|
+
*/
|
|
2128
2236
|
export type ChannelConnectionList = {
|
|
2129
2237
|
__typename?: 'ChannelConnectionList';
|
|
2130
2238
|
hasMore: Scalars['Boolean']['output'];
|
|
@@ -2208,7 +2316,14 @@ export type ChannelDeliveryInput = {
|
|
|
2208
2316
|
connectionId?: InputMaybe<Scalars['ID']['input']>;
|
|
2209
2317
|
/** Notification content */
|
|
2210
2318
|
content: ChannelDeliveryContentInput;
|
|
2211
|
-
/**
|
|
2319
|
+
/**
|
|
2320
|
+
* Internal Botlit user ID. When provided, the service automatically resolves
|
|
2321
|
+
* the user's DM conversation ID from their UserPlatformConnection record and
|
|
2322
|
+
* uses it as the delivery recipient. Requires the user to have connected via
|
|
2323
|
+
* OAuth (dmAllowed=true) with notificationsEnabled=true.
|
|
2324
|
+
*
|
|
2325
|
+
* Either `recipient` or `internalUserId` must be provided.
|
|
2326
|
+
*/
|
|
2212
2327
|
internalUserId?: InputMaybe<Scalars['ID']['input']>;
|
|
2213
2328
|
/** Optional reference to originating notification in notification-svc */
|
|
2214
2329
|
notificationId?: InputMaybe<Scalars['ID']['input']>;
|
|
@@ -2218,7 +2333,18 @@ export type ChannelDeliveryInput = {
|
|
|
2218
2333
|
organizationId: Scalars['ID']['input'];
|
|
2219
2334
|
/** Target delivery platform (EMAIL, SMS, PUSH, SLACK, TEAMS, etc.) */
|
|
2220
2335
|
platform: ChannelPlatform;
|
|
2221
|
-
/**
|
|
2336
|
+
/**
|
|
2337
|
+
* Recipient identifier based on platform:
|
|
2338
|
+
* - EMAIL: email address
|
|
2339
|
+
* - SMS: phone number (E.164 format)
|
|
2340
|
+
* - PUSH: device token
|
|
2341
|
+
* - SLACK/TEAMS/DISCORD: user ID or channel ID
|
|
2342
|
+
* - WHATSAPP: phone number
|
|
2343
|
+
* - WEBHOOK: webhook URL
|
|
2344
|
+
* - INAPP: user ID
|
|
2345
|
+
*
|
|
2346
|
+
* Either `recipient` or `internalUserId` must be provided.
|
|
2347
|
+
*/
|
|
2222
2348
|
recipient?: InputMaybe<Scalars['String']['input']>;
|
|
2223
2349
|
};
|
|
2224
2350
|
/** Delivery options for channel delivery */
|
|
@@ -2289,7 +2415,10 @@ export declare enum ChannelExportFormat {
|
|
|
2289
2415
|
/** JSON-Lines; one row per line (streaming-friendly). */
|
|
2290
2416
|
Jsonl = "JSONL"
|
|
2291
2417
|
}
|
|
2292
|
-
/**
|
|
2418
|
+
/**
|
|
2419
|
+
* Export job descriptor returned by channel export mutations.
|
|
2420
|
+
* Poll `channelExportJob(id:)` until status=COMPLETED, then GET downloadUrl.
|
|
2421
|
+
*/
|
|
2293
2422
|
export type ChannelExportJob = {
|
|
2294
2423
|
__typename?: 'ChannelExportJob';
|
|
2295
2424
|
byteSize?: Maybe<Scalars['Int']['output']>;
|
|
@@ -2378,11 +2507,54 @@ export type ChannelList = {
|
|
|
2378
2507
|
hasMore: Scalars['Boolean']['output'];
|
|
2379
2508
|
/** List of channels */
|
|
2380
2509
|
items: Array<Channel>;
|
|
2381
|
-
/**
|
|
2510
|
+
/**
|
|
2511
|
+
* Opaque cursor for fetching the next page (base64 last-id with stable id-tiebreaker).
|
|
2512
|
+
* Pass via `pagination.cursor` on the next call. Null when no more results.
|
|
2513
|
+
* Non-breaking: offset pagination still works for existing clients.
|
|
2514
|
+
*/
|
|
2382
2515
|
nextCursor?: Maybe<Scalars['String']['output']>;
|
|
2383
2516
|
/** Total count (for pagination) */
|
|
2384
2517
|
total: Scalars['Int']['output'];
|
|
2385
2518
|
};
|
|
2519
|
+
/** Organization-level channel settings */
|
|
2520
|
+
export type ChannelOrgSettings = {
|
|
2521
|
+
__typename?: 'ChannelOrgSettings';
|
|
2522
|
+
/** Default priority for new channels (0=lowest … 4=highest) */
|
|
2523
|
+
defaultPriority: Scalars['Int']['output'];
|
|
2524
|
+
/** Persist an audit log entry for every channel operation */
|
|
2525
|
+
enableAuditLogging: Scalars['Boolean']['output'];
|
|
2526
|
+
/** Verify HMAC signatures on all incoming webhooks */
|
|
2527
|
+
enableWebhookVerification: Scalars['Boolean']['output'];
|
|
2528
|
+
/** How often to run scheduled connection health checks (minutes) */
|
|
2529
|
+
healthCheckIntervalMinutes: Scalars['Int']['output'];
|
|
2530
|
+
/** Organization ID these settings belong to */
|
|
2531
|
+
organizationId: Scalars['ID']['output'];
|
|
2532
|
+
/** Global rate limit: maximum messages per hour across all channels */
|
|
2533
|
+
rateLimitPerHour: Scalars['Int']['output'];
|
|
2534
|
+
/** Global rate limit: maximum messages per minute across all channels */
|
|
2535
|
+
rateLimitPerMinute: Scalars['Int']['output'];
|
|
2536
|
+
/** Idle session timeout for the channel UI (minutes) */
|
|
2537
|
+
sessionTimeoutMinutes: Scalars['Int']['output'];
|
|
2538
|
+
/** Last updated timestamp */
|
|
2539
|
+
updatedAt: Scalars['DateTime']['output'];
|
|
2540
|
+
};
|
|
2541
|
+
/** Input for updating organization-level channel settings */
|
|
2542
|
+
export type ChannelOrgSettingsInput = {
|
|
2543
|
+
/** Default priority for new channels (0–4) */
|
|
2544
|
+
defaultPriority?: InputMaybe<Scalars['Int']['input']>;
|
|
2545
|
+
/** Enable audit logging */
|
|
2546
|
+
enableAuditLogging?: InputMaybe<Scalars['Boolean']['input']>;
|
|
2547
|
+
/** Enable webhook signature verification */
|
|
2548
|
+
enableWebhookVerification?: InputMaybe<Scalars['Boolean']['input']>;
|
|
2549
|
+
/** Health check interval in minutes */
|
|
2550
|
+
healthCheckIntervalMinutes?: InputMaybe<Scalars['Int']['input']>;
|
|
2551
|
+
/** Rate limit per hour */
|
|
2552
|
+
rateLimitPerHour?: InputMaybe<Scalars['Int']['input']>;
|
|
2553
|
+
/** Rate limit per minute */
|
|
2554
|
+
rateLimitPerMinute?: InputMaybe<Scalars['Int']['input']>;
|
|
2555
|
+
/** Session timeout in minutes */
|
|
2556
|
+
sessionTimeoutMinutes?: InputMaybe<Scalars['Int']['input']>;
|
|
2557
|
+
};
|
|
2386
2558
|
export type ChannelPaginationInput = {
|
|
2387
2559
|
cursor?: InputMaybe<Scalars['String']['input']>;
|
|
2388
2560
|
limit?: InputMaybe<Scalars['Int']['input']>;
|
|
@@ -2483,11 +2655,32 @@ export type ChannelTagAssignment = {
|
|
|
2483
2655
|
tag?: Maybe<UniversalTag>;
|
|
2484
2656
|
tagId: Scalars['ID']['output'];
|
|
2485
2657
|
};
|
|
2486
|
-
/**
|
|
2658
|
+
/**
|
|
2659
|
+
* Channel type discriminator — determines delivery behaviour and webhook handling.
|
|
2660
|
+
*
|
|
2661
|
+
* NOTIFICATION channels (EMAIL, SMS) are outbound-only:
|
|
2662
|
+
* - Support priority-based failover across adapters.
|
|
2663
|
+
* - No inbound webhook processing.
|
|
2664
|
+
* - No DM conversations.
|
|
2665
|
+
* - Recipient resolved via externalEmail (email) or externalUserId (phone).
|
|
2666
|
+
*
|
|
2667
|
+
* COMMUNICATION channels (SLACK, TEAMS, DISCORD, WHATSAPP, WEBCHAT, INAPP, WEBHOOK)
|
|
2668
|
+
* are bi-directional:
|
|
2669
|
+
* - Inbound webhooks processed and forwarded to conversations-svc.
|
|
2670
|
+
* - DM conversations tracked via dmConversationId.
|
|
2671
|
+
* - Recipient resolved via dmConversationId set during OAuth / pairing.
|
|
2672
|
+
*/
|
|
2487
2673
|
export declare enum ChannelType {
|
|
2488
|
-
/**
|
|
2674
|
+
/**
|
|
2675
|
+
* Bi-directional platform channels: SLACK, TEAMS, DISCORD,
|
|
2676
|
+
* WHATSAPP, WEBCHAT, INAPP, WEBHOOK.
|
|
2677
|
+
* Processes inbound webhooks and supports DM conversations.
|
|
2678
|
+
*/
|
|
2489
2679
|
Communication = "COMMUNICATION",
|
|
2490
|
-
/**
|
|
2680
|
+
/**
|
|
2681
|
+
* Outbound-only delivery channels: EMAIL, SMS.
|
|
2682
|
+
* Supports adapter-level failover (e.g. AWS SES → Azure ACS).
|
|
2683
|
+
*/
|
|
2491
2684
|
Notification = "NOTIFICATION"
|
|
2492
2685
|
}
|
|
2493
2686
|
export type Charge = {
|
|
@@ -2607,7 +2800,16 @@ export type ConfigureWorkspaceInput = {
|
|
|
2607
2800
|
endpoint?: InputMaybe<Scalars['String']['input']>;
|
|
2608
2801
|
region?: InputMaybe<Scalars['String']['input']>;
|
|
2609
2802
|
};
|
|
2610
|
-
/**
|
|
2803
|
+
/**
|
|
2804
|
+
* Real-time health status of a channel's connection.
|
|
2805
|
+
* Monitored by the system based on API calls and health checks.
|
|
2806
|
+
*
|
|
2807
|
+
* - `status` = Admin-controlled (ACTIVE, INACTIVE, ARCHIVED)
|
|
2808
|
+
* - `connectionHealth` = System-monitored (HEALTHY, DEGRADED, UNHEALTHY)
|
|
2809
|
+
*
|
|
2810
|
+
* Example: Channel status = ACTIVE but connectionHealth = UNHEALTHY
|
|
2811
|
+
* means admin enabled the channel but the API is down.
|
|
2812
|
+
*/
|
|
2611
2813
|
export declare enum ConnectionHealth {
|
|
2612
2814
|
/** Partial failures, high latency, or rate limiting */
|
|
2613
2815
|
Degraded = "DEGRADED",
|
|
@@ -2769,7 +2971,10 @@ export declare enum ContentVisibility {
|
|
|
2769
2971
|
Internal = "INTERNAL",
|
|
2770
2972
|
Public = "PUBLIC"
|
|
2771
2973
|
}
|
|
2772
|
-
/**
|
|
2974
|
+
/**
|
|
2975
|
+
* Context filter input for querying records by context.
|
|
2976
|
+
* Supports exact match filtering on context fields.
|
|
2977
|
+
*/
|
|
2773
2978
|
export type ContextFilterInput = {
|
|
2774
2979
|
/** Filter by organization ID */
|
|
2775
2980
|
organizationId?: InputMaybe<Scalars['ID']['input']>;
|
|
@@ -2780,7 +2985,10 @@ export type ContextFilterInput = {
|
|
|
2780
2985
|
/** Filter by workspace ID */
|
|
2781
2986
|
workspaceId?: InputMaybe<Scalars['ID']['input']>;
|
|
2782
2987
|
};
|
|
2783
|
-
/**
|
|
2988
|
+
/**
|
|
2989
|
+
* Operation context for filtering and scoping data.
|
|
2990
|
+
* All fields are optional and can be extended as needed.
|
|
2991
|
+
*/
|
|
2784
2992
|
export type ContextInput = {
|
|
2785
2993
|
/** Additional custom context as JSON */
|
|
2786
2994
|
custom?: InputMaybe<Scalars['JSON']['input']>;
|
|
@@ -3054,7 +3262,12 @@ export type CreateCategoryInput = {
|
|
|
3054
3262
|
export type CreateChannelInput = {
|
|
3055
3263
|
/** Specific adapter type (SENDGRID, AWS_SES, TWILIO, etc.) */
|
|
3056
3264
|
adapterType?: InputMaybe<AdapterType>;
|
|
3057
|
-
/**
|
|
3265
|
+
/**
|
|
3266
|
+
* Channel type: NOTIFICATION (EMAIL/SMS) or COMMUNICATION (SLACK/TEAMS/etc).
|
|
3267
|
+
* If omitted, defaults based on platform:
|
|
3268
|
+
* EMAIL, SMS → NOTIFICATION
|
|
3269
|
+
* All others → COMMUNICATION
|
|
3270
|
+
*/
|
|
3058
3271
|
channelType?: InputMaybe<ChannelType>;
|
|
3059
3272
|
/** Operation context for scoping */
|
|
3060
3273
|
context?: InputMaybe<ContextInput>;
|
|
@@ -3068,7 +3281,11 @@ export type CreateChannelInput = {
|
|
|
3068
3281
|
platform: ChannelPlatform;
|
|
3069
3282
|
/** Platform-specific configuration (webhook URLs, etc.) */
|
|
3070
3283
|
platformConfig?: InputMaybe<Scalars['JSON']['input']>;
|
|
3071
|
-
/**
|
|
3284
|
+
/**
|
|
3285
|
+
* Priority for fallback ordering (lower = higher priority).
|
|
3286
|
+
* Default is 100. Use 1 for highest priority.
|
|
3287
|
+
* All ACTIVE channels are included in the failover chain.
|
|
3288
|
+
*/
|
|
3072
3289
|
priority?: InputMaybe<Scalars['Int']['input']>;
|
|
3073
3290
|
/** Channel status (default: ACTIVE) */
|
|
3074
3291
|
status?: InputMaybe<ChannelStatus>;
|
|
@@ -3367,6 +3584,8 @@ export type CreateOrganizationInput = {
|
|
|
3367
3584
|
logo?: InputMaybe<Scalars['String']['input']>;
|
|
3368
3585
|
metadata?: InputMaybe<Scalars['JSON']['input']>;
|
|
3369
3586
|
name: Scalars['String']['input'];
|
|
3587
|
+
/** reCAPTCHA token required when CAPTCHA_ENABLED=true. */
|
|
3588
|
+
recaptchaToken?: InputMaybe<Scalars['String']['input']>;
|
|
3370
3589
|
settings?: InputMaybe<Scalars['JSON']['input']>;
|
|
3371
3590
|
slug: Scalars['String']['input'];
|
|
3372
3591
|
status?: InputMaybe<Scalars['String']['input']>;
|
|
@@ -3557,6 +3776,8 @@ export type CreatePublicSupportTicketInput = {
|
|
|
3557
3776
|
customFields?: InputMaybe<Scalars['JSON']['input']>;
|
|
3558
3777
|
description: Scalars['String']['input'];
|
|
3559
3778
|
metadata?: InputMaybe<Scalars['JSON']['input']>;
|
|
3779
|
+
/** reCAPTCHA token required when CAPTCHA_ENABLED=true. */
|
|
3780
|
+
recaptchaToken?: InputMaybe<Scalars['String']['input']>;
|
|
3560
3781
|
source?: InputMaybe<TicketSource>;
|
|
3561
3782
|
subject: Scalars['String']['input'];
|
|
3562
3783
|
};
|
|
@@ -3772,7 +3993,10 @@ export type CreateStoreOrderInput = {
|
|
|
3772
3993
|
lineItems: Array<StoreLineItemInput>;
|
|
3773
3994
|
/** Additional metadata */
|
|
3774
3995
|
metadata?: InputMaybe<Scalars['JSON']['input']>;
|
|
3775
|
-
/**
|
|
3996
|
+
/**
|
|
3997
|
+
* Total product cost (sum of all line items)
|
|
3998
|
+
* Note: Currency, tax, and final billing amount calculated by billing service
|
|
3999
|
+
*/
|
|
3776
4000
|
total: Scalars['Float']['input'];
|
|
3777
4001
|
};
|
|
3778
4002
|
export type CreateSubscriptionInput = {
|
|
@@ -3835,6 +4059,8 @@ export type CreateTenantInput = {
|
|
|
3835
4059
|
customDomain?: InputMaybe<Scalars['String']['input']>;
|
|
3836
4060
|
metadata?: InputMaybe<Scalars['JSON']['input']>;
|
|
3837
4061
|
name: Scalars['String']['input'];
|
|
4062
|
+
/** reCAPTCHA token required when CAPTCHA_ENABLED=true. */
|
|
4063
|
+
recaptchaToken?: InputMaybe<Scalars['String']['input']>;
|
|
3838
4064
|
slug: Scalars['String']['input'];
|
|
3839
4065
|
type?: InputMaybe<TenantType>;
|
|
3840
4066
|
};
|
|
@@ -4058,7 +4284,10 @@ export type CreditRate = {
|
|
|
4058
4284
|
rateUSD: Scalars['Float']['output'];
|
|
4059
4285
|
updatedAt: Scalars['DateTime']['output'];
|
|
4060
4286
|
};
|
|
4061
|
-
/**
|
|
4287
|
+
/**
|
|
4288
|
+
* CreditTransaction entity - resolvable via Federation Gateway.
|
|
4289
|
+
* Other services (e.g., store-svc) can reference CreditTransaction by id.
|
|
4290
|
+
*/
|
|
4062
4291
|
export type CreditTransaction = {
|
|
4063
4292
|
__typename?: 'CreditTransaction';
|
|
4064
4293
|
amount: Scalars['Float']['output'];
|
|
@@ -4265,7 +4494,10 @@ export type DeleteUserResult = {
|
|
|
4265
4494
|
message: Scalars['String']['output'];
|
|
4266
4495
|
success: Scalars['Boolean']['output'];
|
|
4267
4496
|
};
|
|
4268
|
-
/**
|
|
4497
|
+
/**
|
|
4498
|
+
* Paginated list of delivery attempts with cursor support.
|
|
4499
|
+
* Pass `nextCursor` from a previous response as `cursor` in the next call.
|
|
4500
|
+
*/
|
|
4269
4501
|
export type DeliveryAttemptList = {
|
|
4270
4502
|
__typename?: 'DeliveryAttemptList';
|
|
4271
4503
|
hasMore: Scalars['Boolean']['output'];
|
|
@@ -4784,13 +5016,22 @@ export declare enum DevportalExportFormat {
|
|
|
4784
5016
|
/** JSON-Lines; one row per line (good for streaming consumers). */
|
|
4785
5017
|
Jsonl = "JSONL"
|
|
4786
5018
|
}
|
|
4787
|
-
/**
|
|
5019
|
+
/**
|
|
5020
|
+
* Export job descriptor returned from any of the entity-specific export
|
|
5021
|
+
* mutations. For small exports the job typically transitions to COMPLETED
|
|
5022
|
+
* synchronously (within the request); larger exports may return CREATED and
|
|
5023
|
+
* require the caller to poll `devportalExportJob(id:)`.
|
|
5024
|
+
*/
|
|
4788
5025
|
export type DevportalExportJob = {
|
|
4789
5026
|
__typename?: 'DevportalExportJob';
|
|
4790
5027
|
byteSize?: Maybe<Scalars['Int']['output']>;
|
|
4791
5028
|
completedAt?: Maybe<Scalars['DateTime']['output']>;
|
|
4792
5029
|
createdAt: Scalars['DateTime']['output'];
|
|
4793
|
-
/**
|
|
5030
|
+
/**
|
|
5031
|
+
* Stable URL the caller can GET to retrieve the full payload. Today this is
|
|
5032
|
+
* a presigned-style URL hosted by devportal-svc itself; once the platform
|
|
5033
|
+
* S3 wiring lands it will be a true presigned S3 URL with TTL.
|
|
5034
|
+
*/
|
|
4794
5035
|
downloadUrl?: Maybe<Scalars['String']['output']>;
|
|
4795
5036
|
/** ISO timestamp when downloadUrl expires (24h default). */
|
|
4796
5037
|
downloadUrlExpiresAt?: Maybe<Scalars['DateTime']['output']>;
|
|
@@ -4920,9 +5161,16 @@ export type EffectivePermissions = {
|
|
|
4920
5161
|
actorId: Scalars['String']['output'];
|
|
4921
5162
|
/** Cache key for debugging and invalidation */
|
|
4922
5163
|
cacheKey?: Maybe<Scalars['String']['output']>;
|
|
4923
|
-
/**
|
|
5164
|
+
/**
|
|
5165
|
+
* When this permission set should be considered stale.
|
|
5166
|
+
* Frontend should refresh after this time.
|
|
5167
|
+
*/
|
|
4924
5168
|
expiresAt: Scalars['DateTime']['output'];
|
|
4925
|
-
/**
|
|
5169
|
+
/**
|
|
5170
|
+
* Flat permission strings for easy frontend matching.
|
|
5171
|
+
* Format: "{resourceType}:{action}" e.g., ["project:read", "project:write", "task:*"]
|
|
5172
|
+
* Includes wildcards for ADMIN level (e.g., "project:*")
|
|
5173
|
+
*/
|
|
4926
5174
|
permissionStrings: Array<Scalars['String']['output']>;
|
|
4927
5175
|
/** Resource types and their effective levels */
|
|
4928
5176
|
permissions: Array<EffectiveResourcePermission>;
|
|
@@ -5227,7 +5475,10 @@ export type FailedBillingOrderCallbacksResponse = {
|
|
|
5227
5475
|
orders: Array<BillingOrder>;
|
|
5228
5476
|
totalCount: Scalars['Int']['output'];
|
|
5229
5477
|
};
|
|
5230
|
-
/**
|
|
5478
|
+
/**
|
|
5479
|
+
* Platform-wide feature flag definition.
|
|
5480
|
+
* Managed by super admins. Can be scoped to a product and category.
|
|
5481
|
+
*/
|
|
5231
5482
|
export type FeatureFlag = {
|
|
5232
5483
|
__typename?: 'FeatureFlag';
|
|
5233
5484
|
category?: Maybe<Scalars['String']['output']>;
|
|
@@ -5255,7 +5506,10 @@ export type FeatureFlagBulkEvaluation = {
|
|
|
5255
5506
|
__typename?: 'FeatureFlagBulkEvaluation';
|
|
5256
5507
|
evaluations: Array<FeatureFlagEvaluation>;
|
|
5257
5508
|
};
|
|
5258
|
-
/**
|
|
5509
|
+
/**
|
|
5510
|
+
* Result of evaluating a single feature flag for a specific context.
|
|
5511
|
+
* Compatible with OpenFeature ResolutionDetails.
|
|
5512
|
+
*/
|
|
5259
5513
|
export type FeatureFlagEvaluation = {
|
|
5260
5514
|
__typename?: 'FeatureFlagEvaluation';
|
|
5261
5515
|
errorCode?: Maybe<Scalars['String']['output']>;
|
|
@@ -5358,6 +5612,7 @@ export type GenerateApiKeyInput = {
|
|
|
5358
5612
|
appId: Scalars['String']['input'];
|
|
5359
5613
|
expiresAt?: InputMaybe<Scalars['String']['input']>;
|
|
5360
5614
|
name: Scalars['String']['input'];
|
|
5615
|
+
recaptchaToken?: InputMaybe<Scalars['String']['input']>;
|
|
5361
5616
|
scope: Array<Scalars['String']['input']>;
|
|
5362
5617
|
};
|
|
5363
5618
|
export type GenerateAppAsUserTokenInput = {
|
|
@@ -5400,7 +5655,10 @@ export type GetStoreProductTagsInput = {
|
|
|
5400
5655
|
};
|
|
5401
5656
|
export type GrantAppWorkspaceAccessInput = {
|
|
5402
5657
|
appId: Scalars['ID']['input'];
|
|
5403
|
-
/**
|
|
5658
|
+
/**
|
|
5659
|
+
* Optional subset of the app's global scopes. Empty array means the
|
|
5660
|
+
* authorization inherits the app's full scope list.
|
|
5661
|
+
*/
|
|
5404
5662
|
scopes?: InputMaybe<Array<Scalars['String']['input']>>;
|
|
5405
5663
|
tenantId: Scalars['ID']['input'];
|
|
5406
5664
|
workspaceId: Scalars['ID']['input'];
|
|
@@ -5431,13 +5689,31 @@ export type GrantDelegationInput = {
|
|
|
5431
5689
|
userId?: InputMaybe<Scalars['String']['input']>;
|
|
5432
5690
|
workspaceIds?: InputMaybe<Array<Scalars['String']['input']>>;
|
|
5433
5691
|
};
|
|
5434
|
-
/**
|
|
5692
|
+
/**
|
|
5693
|
+
* GraphQL callback configuration for external service notifications
|
|
5694
|
+
* Supports two authentication methods (controlled by CALLBACK_AUTH_METHOD env var):
|
|
5695
|
+
* 1. token (default): Direct HTTP with authToken
|
|
5696
|
+
* 2. internal-gateway: Service credentials via internal gateway
|
|
5697
|
+
*/
|
|
5435
5698
|
export type GraphQlCallbackInput = {
|
|
5436
|
-
/**
|
|
5699
|
+
/**
|
|
5700
|
+
* Authentication token for callback (optional)
|
|
5701
|
+
* Required only when CALLBACK_AUTH_METHOD=token (default)
|
|
5702
|
+
* Not needed when CALLBACK_AUTH_METHOD=internal-gateway
|
|
5703
|
+
* Example: Bearer store-service-webhook-secret-xyz
|
|
5704
|
+
*/
|
|
5437
5705
|
authToken?: InputMaybe<Scalars['String']['input']>;
|
|
5438
|
-
/**
|
|
5706
|
+
/**
|
|
5707
|
+
* GraphQL endpoint URL of the external service
|
|
5708
|
+
* Must be HTTPS and match BILLING_CALLBACK_ALLOWED_ENDPOINTS/HOSTS/SUFFIXES.
|
|
5709
|
+
* Localhost is allowed only outside production for local development.
|
|
5710
|
+
* Example: https://graphqlworkspaces.burdenoff.com/workspaces/graphql
|
|
5711
|
+
*/
|
|
5439
5712
|
endpoint: Scalars['String']['input'];
|
|
5440
|
-
/**
|
|
5713
|
+
/**
|
|
5714
|
+
* Name of the GraphQL mutation to call on payment completion
|
|
5715
|
+
* Example: updateOrderPaymentStatus
|
|
5716
|
+
*/
|
|
5441
5717
|
mutationName: Scalars['String']['input'];
|
|
5442
5718
|
};
|
|
5443
5719
|
export type Group = {
|
|
@@ -5687,7 +5963,10 @@ export type InitiatePaymentInput = {
|
|
|
5687
5963
|
amount: Scalars['Float']['input'];
|
|
5688
5964
|
/** For PLAN purchase: enable automatic renewal when subscription expires */
|
|
5689
5965
|
autoRenew?: InputMaybe<Scalars['Boolean']['input']>;
|
|
5690
|
-
/**
|
|
5966
|
+
/**
|
|
5967
|
+
* For PLAN purchase with autoRenew: payment method ID to use for auto-renewal
|
|
5968
|
+
* Must be a verified saved payment method. Required if autoRenew is true.
|
|
5969
|
+
*/
|
|
5691
5970
|
autoRenewPaymentMethodId?: InputMaybe<Scalars['ID']['input']>;
|
|
5692
5971
|
/** Billing account ID (required for tax calculation) */
|
|
5693
5972
|
billingAccountId: Scalars['ID']['input'];
|
|
@@ -5695,7 +5974,11 @@ export type InitiatePaymentInput = {
|
|
|
5695
5974
|
creditAmount?: InputMaybe<Scalars['Int']['input']>;
|
|
5696
5975
|
/** Currency code (e.g., INR, USD) */
|
|
5697
5976
|
currency: Scalars['String']['input'];
|
|
5698
|
-
/**
|
|
5977
|
+
/**
|
|
5978
|
+
* For PLAN downgrade: the active higher-tier subscription ID being replaced.
|
|
5979
|
+
* Old subscription is left active until natural expiry — no cancellation, no refund.
|
|
5980
|
+
* User retains old plan quotas during overlap; continues on new plan after expiry.
|
|
5981
|
+
*/
|
|
5699
5982
|
downgradeFromSubscriptionId?: InputMaybe<Scalars['ID']['input']>;
|
|
5700
5983
|
/** For PLAN purchase: whether this is an annual subscription (12 months with discount) */
|
|
5701
5984
|
isAnnual?: InputMaybe<Scalars['Boolean']['input']>;
|
|
@@ -5721,9 +6004,16 @@ export type InitiatePaymentInput = {
|
|
|
5721
6004
|
quantity?: InputMaybe<Scalars['Int']['input']>;
|
|
5722
6005
|
/** Whether to save the card for future purchases (only for new card payments) */
|
|
5723
6006
|
saveCard?: InputMaybe<Scalars['Boolean']['input']>;
|
|
5724
|
-
/**
|
|
6007
|
+
/**
|
|
6008
|
+
* For ADDON purchase: subscription ID to attach addon to.
|
|
6009
|
+
* Required if billing account has multiple active subscriptions.
|
|
6010
|
+
* If only one active subscription exists, it will be auto-selected.
|
|
6011
|
+
*/
|
|
5725
6012
|
subscriptionId?: InputMaybe<Scalars['ID']['input']>;
|
|
5726
|
-
/**
|
|
6013
|
+
/**
|
|
6014
|
+
* For PLAN upgrade: the subscription ID being upgraded from.
|
|
6015
|
+
* If provided, this is an upgrade - old quotas will be moved to new subscription.
|
|
6016
|
+
*/
|
|
5727
6017
|
upgradeFromSubscriptionId?: InputMaybe<Scalars['ID']['input']>;
|
|
5728
6018
|
};
|
|
5729
6019
|
/** Response from initiatePayment mutation */
|
|
@@ -6102,7 +6392,10 @@ export type KerberosConfigInput = {
|
|
|
6102
6392
|
realm: Scalars['String']['input'];
|
|
6103
6393
|
servicePrincipal: Scalars['String']['input'];
|
|
6104
6394
|
};
|
|
6105
|
-
/**
|
|
6395
|
+
/**
|
|
6396
|
+
* KeyboardShortcut entity - defines a keyboard shortcut action.
|
|
6397
|
+
* Shortcuts can be global (all products) or product-specific.
|
|
6398
|
+
*/
|
|
6106
6399
|
export type KeyboardShortcut = {
|
|
6107
6400
|
__typename?: 'KeyboardShortcut';
|
|
6108
6401
|
/** Category for grouping (e.g., "Navigation", "Actions", "UI", "Help") */
|
|
@@ -6403,6 +6696,13 @@ export type MfaMethodStatus = {
|
|
|
6403
6696
|
status: Scalars['String']['output'];
|
|
6404
6697
|
updatedAt: Scalars['DateTime']['output'];
|
|
6405
6698
|
};
|
|
6699
|
+
/** Paginated list of MFA method statuses */
|
|
6700
|
+
export type MfaMethodStatusConnection = {
|
|
6701
|
+
__typename?: 'MFAMethodStatusConnection';
|
|
6702
|
+
hasMore: Scalars['Boolean']['output'];
|
|
6703
|
+
methods: Array<MfaMethodStatus>;
|
|
6704
|
+
totalCount: Scalars['Int']['output'];
|
|
6705
|
+
};
|
|
6406
6706
|
export type MfaSetupResult = {
|
|
6407
6707
|
__typename?: 'MFASetupResult';
|
|
6408
6708
|
backupCodes?: Maybe<Array<Scalars['String']['output']>>;
|
|
@@ -6445,7 +6745,10 @@ export type MessageAttachmentInput = {
|
|
|
6445
6745
|
/** Attachment URL */
|
|
6446
6746
|
url: Scalars['String']['input'];
|
|
6447
6747
|
};
|
|
6448
|
-
/**
|
|
6748
|
+
/**
|
|
6749
|
+
* MessageDeliveryAttempt represents a single delivery attempt (transient, 7-day TTL)
|
|
6750
|
+
* Used for debugging and monitoring only
|
|
6751
|
+
*/
|
|
6449
6752
|
export type MessageDeliveryAttempt = {
|
|
6450
6753
|
__typename?: 'MessageDeliveryAttempt';
|
|
6451
6754
|
/** Associated channel */
|
|
@@ -6519,7 +6822,10 @@ export type MonthlyEarning = {
|
|
|
6519
6822
|
orders: Scalars['Int']['output'];
|
|
6520
6823
|
year: Scalars['Int']['output'];
|
|
6521
6824
|
};
|
|
6522
|
-
/**
|
|
6825
|
+
/**
|
|
6826
|
+
* Input for delivering a notification across multiple platforms and recipients simultaneously.
|
|
6827
|
+
* The service fans out per-platform in parallel with independent failover per platform.
|
|
6828
|
+
*/
|
|
6523
6829
|
export type MultiPlatformDeliveryInput = {
|
|
6524
6830
|
/** Notification content (same content sent to all platforms/recipients) */
|
|
6525
6831
|
content: ChannelDeliveryContentInput;
|
|
@@ -6548,7 +6854,10 @@ export type MultiPlatformDeliveryResult = {
|
|
|
6548
6854
|
/** Total number of recipients across all platforms */
|
|
6549
6855
|
totalRecipients: Scalars['Int']['output'];
|
|
6550
6856
|
};
|
|
6551
|
-
/**
|
|
6857
|
+
/**
|
|
6858
|
+
* Per-recipient addresses for multi-platform delivery.
|
|
6859
|
+
* Populate the field that matches each target platform.
|
|
6860
|
+
*/
|
|
6552
6861
|
export type MultiPlatformRecipientInput = {
|
|
6553
6862
|
/** Email address (for EMAIL platform) */
|
|
6554
6863
|
email?: InputMaybe<Scalars['String']['input']>;
|
|
@@ -6570,9 +6879,15 @@ export type MultiPlatformRecipientInput = {
|
|
|
6570
6879
|
/** Root mutation type */
|
|
6571
6880
|
export type Mutation = {
|
|
6572
6881
|
__typename?: 'Mutation';
|
|
6573
|
-
/**
|
|
6882
|
+
/**
|
|
6883
|
+
* Placeholder field to allow empty Mutation type extension.
|
|
6884
|
+
* Must be @shareable since it exists in multiple subgraphs.
|
|
6885
|
+
*/
|
|
6574
6886
|
_empty?: Maybe<Scalars['String']['output']>;
|
|
6575
|
-
/**
|
|
6887
|
+
/**
|
|
6888
|
+
* Placeholder mutation (extended by modules)
|
|
6889
|
+
* @rbac(public: true, scopeType: "global")
|
|
6890
|
+
*/
|
|
6576
6891
|
_placeholder?: Maybe<Scalars['String']['output']>;
|
|
6577
6892
|
_privacyEcho?: Maybe<Scalars['String']['output']>;
|
|
6578
6893
|
/** Accept an organization invitation */
|
|
@@ -6608,7 +6923,11 @@ export type Mutation = {
|
|
|
6608
6923
|
addReleaseTesters: Array<ReleaseTrackUser>;
|
|
6609
6924
|
addSubscribersToList: NewsletterList;
|
|
6610
6925
|
addSuppression: NewsletterSuppression;
|
|
6611
|
-
/**
|
|
6926
|
+
/**
|
|
6927
|
+
* Bind a tag to an Application. The tag must already exist in wspace-tags-svc.
|
|
6928
|
+
* Currently a stub-adapter no-op until the global-layer integration with
|
|
6929
|
+
* wspace-tags-svc lands (see tracker).
|
|
6930
|
+
*/
|
|
6612
6931
|
addTagToApplication: ApplicationTagAssignment;
|
|
6613
6932
|
addTicketTags: SupportTicket;
|
|
6614
6933
|
/** Add an item to the cart (creates cart if needed) */
|
|
@@ -6636,7 +6955,10 @@ export type Mutation = {
|
|
|
6636
6955
|
approveReview: ProductReview;
|
|
6637
6956
|
approveTranslation: Translation;
|
|
6638
6957
|
approveWaitlist: NewsletterWaitlist;
|
|
6639
|
-
/**
|
|
6958
|
+
/**
|
|
6959
|
+
* Soft archive a billing account. Financial history is preserved and the account is removed
|
|
6960
|
+
* from active billing operations.
|
|
6961
|
+
*/
|
|
6640
6962
|
archiveBillingAccount: BillingAccount;
|
|
6641
6963
|
/** Archive a channel */
|
|
6642
6964
|
archiveChannel: Channel;
|
|
@@ -6651,18 +6973,36 @@ export type Mutation = {
|
|
|
6651
6973
|
archiveTour: Tour;
|
|
6652
6974
|
/** Archive a workspace */
|
|
6653
6975
|
archiveWorkspace: Workspace;
|
|
6654
|
-
/**
|
|
6976
|
+
/**
|
|
6977
|
+
* Assign the "Authenticated User" role to a user at the global scope.
|
|
6978
|
+
* This should be called when a new user signs up to give them basic platform access.
|
|
6979
|
+
* This mutation is idempotent - calling it multiple times for the same user is safe.
|
|
6980
|
+
*
|
|
6981
|
+
* SECURITY: This mutation is restricted to service and super_admin actors only.
|
|
6982
|
+
* It should be called by global-auth-svc when a user signs up, not directly by users.
|
|
6983
|
+
*/
|
|
6655
6984
|
assignAuthenticatedUserRole: AssignAuthenticatedUserRoleResult;
|
|
6656
6985
|
assignEntitlementSeat: ProductEntitlement;
|
|
6657
6986
|
/** Assign a role to an actor */
|
|
6658
6987
|
assignRoleToActor: ActorRoleAssignment;
|
|
6659
6988
|
assignSeat: LicenseSeat;
|
|
6660
6989
|
assignSupportTicket: SupportTicket;
|
|
6990
|
+
/** Assign a tag to a user */
|
|
6991
|
+
assignTagToUser: UserTagAssignment;
|
|
6661
6992
|
/** Attach media to a tour step */
|
|
6662
6993
|
attachMediaToStep: TourStepMedia;
|
|
6663
|
-
/**
|
|
6994
|
+
/**
|
|
6995
|
+
* Erase the subject's auth-layer data. With dryRun=true, returns counts
|
|
6996
|
+
* without mutating. Sessions and refresh tokens are always purged; the
|
|
6997
|
+
* User row is anonymised (email/name nulled, status=DEACTIVATED) rather
|
|
6998
|
+
* than deleted to preserve referential integrity for audit logs.
|
|
6999
|
+
*/
|
|
6664
7000
|
authEraseSubject: AuthEraseResult;
|
|
6665
|
-
/**
|
|
7001
|
+
/**
|
|
7002
|
+
* Export the subject's auth-layer data (account, sessions, MFA settings,
|
|
7003
|
+
* OAuth accounts, app delegations, audit log entries owned by the user).
|
|
7004
|
+
* Idempotent — repeated calls return identical bundles.
|
|
7005
|
+
*/
|
|
6666
7006
|
authExportSubject: Scalars['JSON']['output'];
|
|
6667
7007
|
authenticate: AuthResult;
|
|
6668
7008
|
authenticateAPIKey: AuthResult;
|
|
@@ -6697,7 +7037,10 @@ export type Mutation = {
|
|
|
6697
7037
|
bulkDeleteActivityLogs: Scalars['Int']['output'];
|
|
6698
7038
|
bulkPauseSchedules: SchedulerBulkOperationResult;
|
|
6699
7039
|
bulkResumeSchedules: SchedulerBulkOperationResult;
|
|
6700
|
-
/**
|
|
7040
|
+
/**
|
|
7041
|
+
* Bulk set user's opt-in/out preference for multiple feature flags.
|
|
7042
|
+
* RBAC is scoped to the target workspace via `input.workspaceId`.
|
|
7043
|
+
*/
|
|
6701
7044
|
bulkSetUserFeatureFlagPreferences: Array<UserFeatureFlagPreference>;
|
|
6702
7045
|
bulkUpdateSchedules: SchedulerBulkOperationResult;
|
|
6703
7046
|
bulkUpdateTranslations: BulkOperationResult;
|
|
@@ -6716,12 +7059,24 @@ export type Mutation = {
|
|
|
6716
7059
|
cancelPayout: DeveloperOrgPayout;
|
|
6717
7060
|
/** Cancel a scheduled notification */
|
|
6718
7061
|
cancelScheduledNotification: Scalars['Boolean']['output'];
|
|
6719
|
-
/**
|
|
7062
|
+
/**
|
|
7063
|
+
* Cancel a subscription - disables auto-renewal but keeps subscription active until endDate.
|
|
7064
|
+
* The subscription will not renew when it expires.
|
|
7065
|
+
*/
|
|
6720
7066
|
cancelSubscription: BillingSubscription;
|
|
6721
7067
|
changePassword: Scalars['Boolean']['output'];
|
|
6722
|
-
/**
|
|
7068
|
+
/**
|
|
7069
|
+
* Erase channel-layer subject data. With dryRun=true returns counts.
|
|
7070
|
+
* Per-user platform connections are PURGED (OAuth tokens etc).
|
|
7071
|
+
* Delivery / webhook / suppression rows are anonymised but retained for
|
|
7072
|
+
* spam-complaint / abuse forensics (`retainedForLegalReason: "abuse-2yr"`).
|
|
7073
|
+
*/
|
|
6723
7074
|
channelEraseSubject: ChannelEraseResult;
|
|
6724
|
-
/**
|
|
7075
|
+
/**
|
|
7076
|
+
* Export the subject's channel-layer data: per-user platform connections,
|
|
7077
|
+
* delivery attempts addressed to the subject, webhook events, and any
|
|
7078
|
+
* channel rows the subject created.
|
|
7079
|
+
*/
|
|
6725
7080
|
channelExportSubject: Scalars['JSON']['output'];
|
|
6726
7081
|
/** Check push MFA challenge status (polling) */
|
|
6727
7082
|
checkPushMFAStatus: PushMfaStatus;
|
|
@@ -6762,7 +7117,10 @@ export type Mutation = {
|
|
|
6762
7117
|
createAutomationStep: AutomationStep;
|
|
6763
7118
|
/** Create a new billing account for the current org (from context) */
|
|
6764
7119
|
createBillingAccount: BillingAccount;
|
|
6765
|
-
/**
|
|
7120
|
+
/**
|
|
7121
|
+
* Create a billing order for external service (e.g., store)
|
|
7122
|
+
* Stores order details + GraphQL callback endpoint for payment notifications
|
|
7123
|
+
*/
|
|
6766
7124
|
createBillingOrder: CreateBillingOrderResponse;
|
|
6767
7125
|
createCampaign: NewsletterCampaign;
|
|
6768
7126
|
createCannedResponse: CannedResponse;
|
|
@@ -6828,7 +7186,10 @@ export type Mutation = {
|
|
|
6828
7186
|
createProduct: StoreProduct;
|
|
6829
7187
|
createProductEntitlement: ProductEntitlement;
|
|
6830
7188
|
createPromoCode: PromoCode;
|
|
6831
|
-
/**
|
|
7189
|
+
/**
|
|
7190
|
+
* Create a support ticket from a public/unauthenticated source (e.g. website contact form).
|
|
7191
|
+
* Does not require authentication.
|
|
7192
|
+
*/
|
|
6832
7193
|
createPublicSupportTicket: SupportTicket;
|
|
6833
7194
|
createQuota: Scalars['Boolean']['output'];
|
|
6834
7195
|
createRecurringBillingPlan: RecurringBillingPlan;
|
|
@@ -6879,9 +7240,15 @@ export type Mutation = {
|
|
|
6879
7240
|
createTourTemplate: TourTemplate;
|
|
6880
7241
|
createTranslation: Translation;
|
|
6881
7242
|
createTranslationKey: TranslationKey;
|
|
6882
|
-
/**
|
|
7243
|
+
/**
|
|
7244
|
+
* Create complete tenant structure for a new user (tenant, org, workspace)
|
|
7245
|
+
* This is typically called after user email verification
|
|
7246
|
+
*/
|
|
6883
7247
|
createUserTenantStructure: CreateUserTenantStructureResponse;
|
|
6884
|
-
/**
|
|
7248
|
+
/**
|
|
7249
|
+
* Create a visibility rule for a resource.
|
|
7250
|
+
* Auto-registers the resource if not already registered.
|
|
7251
|
+
*/
|
|
6885
7252
|
createVisibilityRule: VisibilityRule;
|
|
6886
7253
|
createWebhook: Webhook;
|
|
6887
7254
|
/** Create a new workspace */
|
|
@@ -6903,13 +7270,21 @@ export type Mutation = {
|
|
|
6903
7270
|
deactivateResource: Scalars['Boolean']['output'];
|
|
6904
7271
|
/** Deactivate a tour schedule */
|
|
6905
7272
|
deactivateTourSchedule: TourSchedule;
|
|
6906
|
-
/**
|
|
7273
|
+
/**
|
|
7274
|
+
* Pure quota decrement — called by wspace-activity-svc after writing a UsageRecord.
|
|
7275
|
+
* Only decrements QuotaAssignment.limits.value. Does NOT write back to activity-svc.
|
|
7276
|
+
* Requires the quotaAssignmentId already resolved by checkQuotaExhausted.
|
|
7277
|
+
*/
|
|
6907
7278
|
decrementQuota: Scalars['Boolean']['output'];
|
|
6908
|
-
/**
|
|
7279
|
+
/**
|
|
7280
|
+
* Delete current user's account permanently
|
|
7281
|
+
* Requires password confirmation
|
|
7282
|
+
*/
|
|
6909
7283
|
deleteAccount: AccountActionResult;
|
|
6910
7284
|
deleteActivityLog: Scalars['Boolean']['output'];
|
|
6911
7285
|
deleteAffiliateCode: Scalars['Boolean']['output'];
|
|
6912
7286
|
deleteAgentProfile: Scalars['Boolean']['output'];
|
|
7287
|
+
deleteApp: AccountActionResult;
|
|
6913
7288
|
/** Delete an app collection */
|
|
6914
7289
|
deleteAppCollection: Scalars['Boolean']['output'];
|
|
6915
7290
|
/** Delete a review */
|
|
@@ -6932,7 +7307,10 @@ export type Mutation = {
|
|
|
6932
7307
|
deleteDiscount: Scalars['Boolean']['output'];
|
|
6933
7308
|
/** Delete an entitlement */
|
|
6934
7309
|
deleteEntitlement: Scalars['Boolean']['output'];
|
|
6935
|
-
/**
|
|
7310
|
+
/**
|
|
7311
|
+
* Delete external OIDC configuration
|
|
7312
|
+
* Admin only
|
|
7313
|
+
*/
|
|
6936
7314
|
deleteExternalOIDCConfig: AccountActionResult;
|
|
6937
7315
|
deleteFAQ: Scalars['Boolean']['output'];
|
|
6938
7316
|
/** Delete a feature flag (super admin only) */
|
|
@@ -7023,11 +7401,21 @@ export type Mutation = {
|
|
|
7023
7401
|
/** Soft-delete a user platform connection */
|
|
7024
7402
|
deleteUserPlatformConnection: Scalars['Boolean']['output'];
|
|
7025
7403
|
deleteWebhook: Scalars['Boolean']['output'];
|
|
7026
|
-
/**
|
|
7404
|
+
/**
|
|
7405
|
+
* Deliver the same notification to multiple recipients in bulk.
|
|
7406
|
+
* More efficient than multiple single calls for broadcast scenarios.
|
|
7407
|
+
*/
|
|
7027
7408
|
deliverBulkNotification: BulkChannelDeliveryResult;
|
|
7028
|
-
/**
|
|
7409
|
+
/**
|
|
7410
|
+
* Deliver a notification across multiple platforms and multiple recipients in one call.
|
|
7411
|
+
* Fans out per-platform in parallel (Promise.allSettled) with independent failover per platform.
|
|
7412
|
+
* Adapters that natively support multi-recipient (SES, ACS) send one API call; others loop concurrently.
|
|
7413
|
+
*/
|
|
7029
7414
|
deliverMultiPlatformNotification: MultiPlatformDeliveryResult;
|
|
7030
|
-
/**
|
|
7415
|
+
/**
|
|
7416
|
+
* Deliver a notification to a single recipient via Channel service.
|
|
7417
|
+
* Called by global-notification-svc to deliver through platform adapters.
|
|
7418
|
+
*/
|
|
7031
7419
|
deliverNotification: ChannelDeliveryResult;
|
|
7032
7420
|
deprecateApplicationVersion: ApplicationVersion;
|
|
7033
7421
|
deprecateProduct: StoreProduct;
|
|
@@ -7049,7 +7437,11 @@ export type Mutation = {
|
|
|
7049
7437
|
enableMFA: Scalars['Boolean']['output'];
|
|
7050
7438
|
enableMaintenanceMode: MaintenanceModeStatus;
|
|
7051
7439
|
enrollSubscriberInAutomation: AutomationSubscriber;
|
|
7052
|
-
/**
|
|
7440
|
+
/**
|
|
7441
|
+
* Anonymise the subject on the billing layer. With dryRun=true, returns
|
|
7442
|
+
* what would change without mutating. Financial records (Transaction,
|
|
7443
|
+
* Invoice, Payment) are RETAINED for the statutory 7-year window.
|
|
7444
|
+
*/
|
|
7053
7445
|
eraseSubject: EraseResult;
|
|
7054
7446
|
escalateSupportTicket: SupportTicket;
|
|
7055
7447
|
/** Exchange app token for app-as-user token (Token Exchange flow) */
|
|
@@ -7069,7 +7461,11 @@ export type Mutation = {
|
|
|
7069
7461
|
exportDeveloperOrganizations: DevportalExportJob;
|
|
7070
7462
|
/** Export per-organization revenue rows matching the optional filter. */
|
|
7071
7463
|
exportRevenue: DevportalExportJob;
|
|
7072
|
-
/**
|
|
7464
|
+
/**
|
|
7465
|
+
* Export the subject's billing-layer data (billing accounts, subscriptions,
|
|
7466
|
+
* invoices, payment methods on file, transaction history, credits, usage).
|
|
7467
|
+
* Idempotent.
|
|
7468
|
+
*/
|
|
7073
7469
|
exportSubject: Scalars['JSON']['output'];
|
|
7074
7470
|
/** Export webhook event records matching the filter. */
|
|
7075
7471
|
exportWebhookEvents: ChannelExportJob;
|
|
@@ -7086,7 +7482,10 @@ export type Mutation = {
|
|
|
7086
7482
|
generateHMACSecret: HmacCredentialResult;
|
|
7087
7483
|
/** Generate an invoice for a subscription */
|
|
7088
7484
|
generateInvoice: Invoice;
|
|
7089
|
-
/**
|
|
7485
|
+
/**
|
|
7486
|
+
* Generate OIDC authorization URL for SSO login
|
|
7487
|
+
* Returns URL to redirect user to the IdP
|
|
7488
|
+
*/
|
|
7090
7489
|
generateOIDCAuthUrl: OidcAuthUrlResult;
|
|
7091
7490
|
/** Generate passkey authentication options (for login) */
|
|
7092
7491
|
generatePasskeyAuthenticationOptions: PasskeyAuthenticationOptions;
|
|
@@ -7101,7 +7500,11 @@ export type Mutation = {
|
|
|
7101
7500
|
/** Generate challenge message for wallet signature */
|
|
7102
7501
|
generateWalletChallenge: WalletChallengeResult;
|
|
7103
7502
|
getSupportAttachmentPartUploadUrls: Array<SupportAttachmentPresignedPart>;
|
|
7104
|
-
/**
|
|
7503
|
+
/**
|
|
7504
|
+
* Grant an app access to act on a specific workspace. Idempotent: re-granting
|
|
7505
|
+
* an ACTIVE authorization updates its scopes; re-granting a REVOKED one flips
|
|
7506
|
+
* it back to ACTIVE and clears the revoke fields.
|
|
7507
|
+
*/
|
|
7105
7508
|
grantAppWorkspaceAccess: AppWorkspaceAuthorization;
|
|
7106
7509
|
grantConsent: ConsentRecord;
|
|
7107
7510
|
grantCredits: CreditTransaction;
|
|
@@ -7115,29 +7518,63 @@ export type Mutation = {
|
|
|
7115
7518
|
/** Mark webhook as ignored */
|
|
7116
7519
|
ignoreWebhook: Scalars['Boolean']['output'];
|
|
7117
7520
|
importSubscribers: ImportSubscribersResult;
|
|
7118
|
-
/**
|
|
7521
|
+
/**
|
|
7522
|
+
* Initialize billing roles for a billing account by cloning billing role templates.
|
|
7523
|
+
* Use this when a new billing account is created.
|
|
7524
|
+
*
|
|
7525
|
+
* Returns the number of roles created (0 if roles already exist).
|
|
7526
|
+
*/
|
|
7119
7527
|
initializeBillingRoles: InitializeBillingRolesResult;
|
|
7120
|
-
/**
|
|
7528
|
+
/**
|
|
7529
|
+
* Initialize organization roles by cloning organization role templates.
|
|
7530
|
+
* Use this when a new organization is created. The creator will be assigned the Owner role.
|
|
7531
|
+
*
|
|
7532
|
+
* Returns the number of roles created (0 if roles already exist).
|
|
7533
|
+
*
|
|
7534
|
+
* SECURITY: This mutation is restricted to service and super_admin actors only.
|
|
7535
|
+
* It should be called by global-tenant-svc when an organization is created, not directly by users.
|
|
7536
|
+
*/
|
|
7121
7537
|
initializeOrganizationRoles: InitializeOrganizationRolesResult;
|
|
7122
7538
|
/** Initiate Kerberos SPNEGO authentication */
|
|
7123
7539
|
initiateKerberosAuth: KerberosChallengeResult;
|
|
7124
7540
|
/** Initiate NTLM authentication (returns Type 2 challenge) */
|
|
7125
7541
|
initiateNTLMChallenge: NtlmChallengeResult;
|
|
7126
|
-
/**
|
|
7542
|
+
/**
|
|
7543
|
+
* Initiate a payment for credits, plans, or addons
|
|
7544
|
+
* This creates a Stripe PaymentIntent or Razorpay Order with tax included
|
|
7545
|
+
* Returns client secret (Stripe) or order ID (Razorpay) for frontend to complete payment
|
|
7546
|
+
*/
|
|
7127
7547
|
initiatePayment: InitiatePaymentResponse;
|
|
7128
7548
|
/** Install an application */
|
|
7129
7549
|
installApp: AppInstallation;
|
|
7130
|
-
/**
|
|
7550
|
+
/**
|
|
7551
|
+
* Install a purchased app to a workspace.
|
|
7552
|
+
* Validates that the product was purchased before allowing installation.
|
|
7553
|
+
* If orderId is not provided, will find the most recent processed order for this product.
|
|
7554
|
+
*/
|
|
7131
7555
|
installPurchasedApp: InstallPurchasedAppResult;
|
|
7132
7556
|
/** Invite a user to join an organization */
|
|
7133
7557
|
inviteDeveloperOrgMember: DeveloperOrgInvitation;
|
|
7134
7558
|
/** Invite a user to an organization by email */
|
|
7135
7559
|
inviteOrganizationMember: OrganizationInvite;
|
|
7136
|
-
/**
|
|
7560
|
+
/**
|
|
7561
|
+
* Public endpoint — no authentication required. Email is normalized (trimmed, lowercased).
|
|
7562
|
+
* Must be protected by API gateway rate limiting (recommended: 5 req/min per IP).
|
|
7563
|
+
*/
|
|
7137
7564
|
joinWaitlist: NewsletterWaitlist;
|
|
7138
7565
|
/** Leave an organization */
|
|
7139
7566
|
leaveDeveloperOrganization: Scalars['Boolean']['output'];
|
|
7140
|
-
/**
|
|
7567
|
+
/**
|
|
7568
|
+
* Link a personal integration connection (from wspace-integrations-svc) to a bot channel.
|
|
7569
|
+
* Called by microfe-botlit after the user completes OAuth in microfe-integrations.
|
|
7570
|
+
*
|
|
7571
|
+
* Steps performed internally:
|
|
7572
|
+
* 1. Fetch IntegrationConnection data from wspace-integrations-svc via internal GQL
|
|
7573
|
+
* 2. Extract platform identity (slackUserId / msUserId / discordUserId / phone) from metadata
|
|
7574
|
+
* 3. Open a DM conversation using the bot token from ChannelConnection
|
|
7575
|
+
* 4. Upsert UserPlatformConnection (source=OAUTH, dmAllowed=true, dmConversationId set)
|
|
7576
|
+
* 5. Send welcome DM (Slack / Teams / Discord where supported)
|
|
7577
|
+
*/
|
|
7141
7578
|
linkIntegrationConnection: UserPlatformConnection;
|
|
7142
7579
|
linkTickets: TicketLink;
|
|
7143
7580
|
/** Link wallet to existing user account */
|
|
@@ -7160,9 +7597,18 @@ export type Mutation = {
|
|
|
7160
7597
|
mergeTickets: SupportTicket;
|
|
7161
7598
|
/** Moderate a review (admin) */
|
|
7162
7599
|
moderateAppReview: AppReview;
|
|
7163
|
-
/**
|
|
7600
|
+
/**
|
|
7601
|
+
* Erase newsletter subscriber data. With dryRun=true returns counts.
|
|
7602
|
+
* Subscriber + per-list rows + automation enrolments PURGED.
|
|
7603
|
+
* Suppression entry ANONYMISED (email hashed) — kept to honour CAN-SPAM
|
|
7604
|
+
* unsubscribe permanence. Bounce/complaint/consent-audit rows anonymised
|
|
7605
|
+
* but retained for deliverability forensics.
|
|
7606
|
+
*/
|
|
7164
7607
|
newsletterEraseSubject: NewsletterEraseResult;
|
|
7165
|
-
/**
|
|
7608
|
+
/**
|
|
7609
|
+
* Export the subject's newsletter data: subscriber rows, per-list memberships,
|
|
7610
|
+
* consent ledger entries, automation enrolments, waitlist entries.
|
|
7611
|
+
*/
|
|
7166
7612
|
newsletterExportSubject: Scalars['JSON']['output'];
|
|
7167
7613
|
openCircuitBreaker: CircuitBreakerState;
|
|
7168
7614
|
/** Pause a subscription */
|
|
@@ -7182,7 +7628,11 @@ export type Mutation = {
|
|
|
7182
7628
|
processScheduledNotifications: Scalars['Int']['output'];
|
|
7183
7629
|
/** Process a webhook manually (for retry) */
|
|
7184
7630
|
processWebhook: WebhookProcessingResult;
|
|
7185
|
-
/**
|
|
7631
|
+
/**
|
|
7632
|
+
* Switch a tenant to DEDICATED mode and begin provisioning.
|
|
7633
|
+
* Sets status to PROVISIONING until endpoint is set.
|
|
7634
|
+
* If endpoint is provided, sets status directly to ACTIVE.
|
|
7635
|
+
*/
|
|
7186
7636
|
provisionDedicatedTenant: Tenant;
|
|
7187
7637
|
/** Public unsubscribe via HMAC-signed token from email link. No authentication required. */
|
|
7188
7638
|
publicUnsubscribeByToken: Scalars['Boolean']['output'];
|
|
@@ -7242,7 +7692,10 @@ export type Mutation = {
|
|
|
7242
7692
|
/** Reject an organization invite (must be logged in as the invited user) */
|
|
7243
7693
|
rejectOrganizationInvite: OrganizationInvite;
|
|
7244
7694
|
rejectPayoutRequest: PayoutRequest;
|
|
7245
|
-
/**
|
|
7695
|
+
/**
|
|
7696
|
+
* Admin rejects a submitted product with a mandatory reason. Publisher can
|
|
7697
|
+
* edit and resubmit afterwards.
|
|
7698
|
+
*/
|
|
7246
7699
|
rejectProduct: StoreProduct;
|
|
7247
7700
|
rejectPublisher: Publisher;
|
|
7248
7701
|
rejectReview: ProductReview;
|
|
@@ -7276,16 +7729,27 @@ export type Mutation = {
|
|
|
7276
7729
|
removeSuppression: Scalars['Boolean']['output'];
|
|
7277
7730
|
/** Remove a single tag binding from an Application. */
|
|
7278
7731
|
removeTagFromApplication: Scalars['Boolean']['output'];
|
|
7732
|
+
/** Remove a tag from a user */
|
|
7733
|
+
removeTagFromUser: AccountActionResult;
|
|
7279
7734
|
removeTicketTags: SupportTicket;
|
|
7280
|
-
/**
|
|
7735
|
+
/**
|
|
7736
|
+
* Remove user's preference for a feature flag (reverts to default).
|
|
7737
|
+
* RBAC is scoped to the target workspace.
|
|
7738
|
+
*/
|
|
7281
7739
|
removeUserFeatureFlagPreference: Scalars['Boolean']['output'];
|
|
7282
7740
|
/** Remove a visibility rule */
|
|
7283
7741
|
removeVisibilityRule: Scalars['Boolean']['output'];
|
|
7284
|
-
/**
|
|
7742
|
+
/**
|
|
7743
|
+
* Remove a workspace override, reverting to the platform default.
|
|
7744
|
+
* RBAC is scoped to the target workspace.
|
|
7745
|
+
*/
|
|
7285
7746
|
removeWorkspaceFeatureFlagOverride: Scalars['Boolean']['output'];
|
|
7286
7747
|
/** Remove a member from a workspace */
|
|
7287
7748
|
removeWorkspaceMember: Scalars['Boolean']['output'];
|
|
7288
|
-
/**
|
|
7749
|
+
/**
|
|
7750
|
+
* Remove workspace metadata (membership and routing)
|
|
7751
|
+
* Note: This only removes metadata. Use workspaces service to delete actual workspace content.
|
|
7752
|
+
*/
|
|
7289
7753
|
removeWorkspaceMetadata: Scalars['Boolean']['output'];
|
|
7290
7754
|
/** Rename a passkey */
|
|
7291
7755
|
renamePasskey: PasskeyInfo;
|
|
@@ -7303,7 +7767,10 @@ export type Mutation = {
|
|
|
7303
7767
|
replaceChannelTags: Array<ChannelTagAssignment>;
|
|
7304
7768
|
/** Replace all tags on a store product */
|
|
7305
7769
|
replaceStoreProductTags: Array<StoreProductTagAssignment>;
|
|
7306
|
-
/**
|
|
7770
|
+
/**
|
|
7771
|
+
* Send an email reply to a contact inquiry. The reply is sent via the notification
|
|
7772
|
+
* pipeline (notification-svc → channel-svc → email provider). Auto-updates status to REVIEWED.
|
|
7773
|
+
*/
|
|
7307
7774
|
replyToContactInquiry: ContactInquiryReplyResult;
|
|
7308
7775
|
replyToReview: ProductReviewReply;
|
|
7309
7776
|
/** Report a review */
|
|
@@ -7311,7 +7778,10 @@ export type Mutation = {
|
|
|
7311
7778
|
/** Reprocess a failed webhook event */
|
|
7312
7779
|
reprocessWebhook: WebhookProcessingResult;
|
|
7313
7780
|
requestBillingPayout: PayoutRequest;
|
|
7314
|
-
/**
|
|
7781
|
+
/**
|
|
7782
|
+
* Request a credit withdrawal. Converts purchased + earned credits to a PayoutRequest
|
|
7783
|
+
* denominated in USD at the current credit rate. Uses the specified payout account for payment.
|
|
7784
|
+
*/
|
|
7315
7785
|
requestCreditWithdrawal: PayoutRequest;
|
|
7316
7786
|
/** Request a manual payout (devportal legacy alias) */
|
|
7317
7787
|
requestDeveloperOrgPayout: DeveloperOrgPayout;
|
|
@@ -7355,7 +7825,10 @@ export type Mutation = {
|
|
|
7355
7825
|
resumeSLA: SupportTicket;
|
|
7356
7826
|
resumeScheduledJob: ScheduledJob;
|
|
7357
7827
|
retireSubprocessor: Subprocessor;
|
|
7358
|
-
/**
|
|
7828
|
+
/**
|
|
7829
|
+
* Manually retry GraphQL callback for a failed billing order (admin only)
|
|
7830
|
+
* Useful for retrying after fixing issues in external service
|
|
7831
|
+
*/
|
|
7359
7832
|
retryBillingOrderCallback: RetryBillingOrderCallbackResponse;
|
|
7360
7833
|
/** Retry a failed delivery attempt */
|
|
7361
7834
|
retryDelivery: MessageDeliveryResult;
|
|
@@ -7368,9 +7841,15 @@ export type Mutation = {
|
|
|
7368
7841
|
revertTranslation: Translation;
|
|
7369
7842
|
reviewTranslation: Translation;
|
|
7370
7843
|
revokeAPIKey: Scalars['Boolean']['output'];
|
|
7371
|
-
/**
|
|
7844
|
+
/**
|
|
7845
|
+
* Revoke all sessions except the current one.
|
|
7846
|
+
* Returns the number of sessions that were revoked.
|
|
7847
|
+
*/
|
|
7372
7848
|
revokeAllSessions: RevokeAllSessionsResult;
|
|
7373
|
-
/**
|
|
7849
|
+
/**
|
|
7850
|
+
* Revoke an app's access to a workspace. Returns false if the row was already
|
|
7851
|
+
* REVOKED or never existed.
|
|
7852
|
+
*/
|
|
7374
7853
|
revokeAppWorkspaceAccess: Scalars['Boolean']['output'];
|
|
7375
7854
|
revokeConsent: NewsletterConsent;
|
|
7376
7855
|
revokeDelegation: Scalars['Boolean']['output'];
|
|
@@ -7379,11 +7858,17 @@ export type Mutation = {
|
|
|
7379
7858
|
revokeHMACCredential: Scalars['Boolean']['output'];
|
|
7380
7859
|
revokeLicense: ProductEntitlement;
|
|
7381
7860
|
revokeSeat: LicenseSeat;
|
|
7382
|
-
/**
|
|
7861
|
+
/**
|
|
7862
|
+
* Revoke (log out) a specific session by ID.
|
|
7863
|
+
* Returns true if the session was successfully revoked.
|
|
7864
|
+
*/
|
|
7383
7865
|
revokeSession: Scalars['Boolean']['output'];
|
|
7384
7866
|
/** Revoke a signed cookie session */
|
|
7385
7867
|
revokeSignedCookieSession: Scalars['Boolean']['output'];
|
|
7386
|
-
/**
|
|
7868
|
+
/**
|
|
7869
|
+
* Revoke a user's platform connection (sets dmAllowed = false, clears tokens).
|
|
7870
|
+
* Does NOT delete the record — keeps presence history intact.
|
|
7871
|
+
*/
|
|
7387
7872
|
revokeUserPlatformConnection: UserPlatformConnection;
|
|
7388
7873
|
rollbackRelease: ProductRelease;
|
|
7389
7874
|
rotateAPIKey: ApiKeyRotateResult;
|
|
@@ -7400,7 +7885,11 @@ export type Mutation = {
|
|
|
7400
7885
|
scheduleNewsletter: Newsletter;
|
|
7401
7886
|
/** Schedule a notification for future delivery */
|
|
7402
7887
|
scheduleNotification: ScheduledNotification;
|
|
7403
|
-
/**
|
|
7888
|
+
/**
|
|
7889
|
+
* Seed default feature flags across all products.
|
|
7890
|
+
* Creates all default flags if they don't already exist. Returns the count of newly created flags.
|
|
7891
|
+
* Skips flags that already exist (by key uniqueness).
|
|
7892
|
+
*/
|
|
7404
7893
|
seedDefaultFeatureFlags: Scalars['Int']['output'];
|
|
7405
7894
|
/** Bulk create default shortcuts for a product */
|
|
7406
7895
|
seedDefaultShortcuts: Scalars['Int']['output'];
|
|
@@ -7419,7 +7908,11 @@ export type Mutation = {
|
|
|
7419
7908
|
setAgentOnline: AgentProfile;
|
|
7420
7909
|
/** Set or update billing address for a billing account */
|
|
7421
7910
|
setBillingAddress: BillingAddress;
|
|
7422
|
-
/**
|
|
7911
|
+
/**
|
|
7912
|
+
* Set a billing account as the default for an org.
|
|
7913
|
+
* Only one billing account can be default per org.
|
|
7914
|
+
* If another account is currently default, it will be unset.
|
|
7915
|
+
*/
|
|
7423
7916
|
setDefaultBillingAccount: BillingAccount;
|
|
7424
7917
|
setDefaultLanguage: Language;
|
|
7425
7918
|
/** Set a payment method as default */
|
|
@@ -7430,12 +7923,21 @@ export type Mutation = {
|
|
|
7430
7923
|
setNotificationTopicSubscription: NotificationTopicSubscription;
|
|
7431
7924
|
/** Set default permission level for a role on a resource type */
|
|
7432
7925
|
setRoleDefaultPermission: Role;
|
|
7433
|
-
/**
|
|
7926
|
+
/**
|
|
7927
|
+
* Set or update the endpoint URL for a DEDICATED tenant.
|
|
7928
|
+
* Transitions PROVISIONING → ACTIVE when endpoint is set.
|
|
7929
|
+
*/
|
|
7434
7930
|
setTenantEndpoint: Tenant;
|
|
7435
|
-
/**
|
|
7931
|
+
/**
|
|
7932
|
+
* Set user's opt-in/out preference for a previewable feature flag.
|
|
7933
|
+
* RBAC is scoped to the target workspace via `input.workspaceId`.
|
|
7934
|
+
*/
|
|
7436
7935
|
setUserFeatureFlagPreference: UserFeatureFlagPreference;
|
|
7437
7936
|
setUserLanguagePreference: UserLanguagePreference;
|
|
7438
|
-
/**
|
|
7937
|
+
/**
|
|
7938
|
+
* Set workspace-level override for a feature flag (super admin or workspace admin).
|
|
7939
|
+
* RBAC is scoped to the target workspace via `input.workspaceId`.
|
|
7940
|
+
*/
|
|
7439
7941
|
setWorkspaceFeatureFlagOverride: WorkspaceFeatureFlagOverride;
|
|
7440
7942
|
setupMFA: MfaSetupResult;
|
|
7441
7943
|
sideloadApp: StoreAppInstallation;
|
|
@@ -7456,19 +7958,42 @@ export type Mutation = {
|
|
|
7456
7958
|
/** Mark a tour as started for a user */
|
|
7457
7959
|
startTour: TourUserProgress;
|
|
7458
7960
|
submitApplication: Application;
|
|
7459
|
-
/**
|
|
7961
|
+
/**
|
|
7962
|
+
* Submit an application to the store for review. Awaits the store-svc
|
|
7963
|
+
* submit call and returns the application with the resulting store
|
|
7964
|
+
* submission metadata attached to `metadata.storeSubmissionStatus`.
|
|
7965
|
+
*
|
|
7966
|
+
* The target store's requiresApproval flag decides whether the submission
|
|
7967
|
+
* lands in PENDING_REVIEW (public default) or is auto-published (private
|
|
7968
|
+
* registries that trust their publishers).
|
|
7969
|
+
*/
|
|
7460
7970
|
submitApplicationForReview: Application;
|
|
7461
|
-
/**
|
|
7971
|
+
/**
|
|
7972
|
+
* Submit a contact inquiry from a public website (no authentication required).
|
|
7973
|
+
* Validates reCAPTCHA token server-side using the product's secret key
|
|
7974
|
+
* fetched from the tenant service via internal gateway.
|
|
7975
|
+
*/
|
|
7462
7976
|
submitContactInquiry: SubmitContactInquiryResult;
|
|
7463
|
-
/**
|
|
7977
|
+
/**
|
|
7978
|
+
* Submit a product to its target store for review. The store's
|
|
7979
|
+
* requiresApproval flag decides whether the product goes to PENDING_REVIEW
|
|
7980
|
+
* or is auto-published.
|
|
7981
|
+
*/
|
|
7464
7982
|
submitProduct: StoreProduct;
|
|
7465
7983
|
submitPublisherVerification: Publisher;
|
|
7466
7984
|
submitSatisfactionSurvey: CustomerSatisfactionSurvey;
|
|
7467
7985
|
subscribe: NewsletterSubscriber;
|
|
7468
7986
|
subscribeToStore: UserStoreSubscription;
|
|
7469
|
-
/**
|
|
7987
|
+
/**
|
|
7988
|
+
* Anonymise the subject across support records. With dryRun=true returns
|
|
7989
|
+
* counts without mutating. Ticket bodies and agent resolution history are
|
|
7990
|
+
* retained for legal-claims defence (`retainedForLegalReason: "claims-3yr"`).
|
|
7991
|
+
*/
|
|
7470
7992
|
supportEraseSubject: SupportEraseResult;
|
|
7471
|
-
/**
|
|
7993
|
+
/**
|
|
7994
|
+
* Export the subject's support data: tickets they raised, messages they
|
|
7995
|
+
* authored, contact inquiries, CSAT surveys submitted.
|
|
7996
|
+
*/
|
|
7472
7997
|
supportExportSubject: Scalars['JSON']['output'];
|
|
7473
7998
|
suppressIdentifier: SuppressionEntry;
|
|
7474
7999
|
/** Suspend an installation (admin) */
|
|
@@ -7481,9 +8006,17 @@ export type Mutation = {
|
|
|
7481
8006
|
suspendTenant: Tenant;
|
|
7482
8007
|
/** Suspend a workspace */
|
|
7483
8008
|
suspendWorkspace: Workspace;
|
|
7484
|
-
/**
|
|
8009
|
+
/**
|
|
8010
|
+
* Sync tour steps (smart update in ONE call)
|
|
8011
|
+
* Send all desired steps, backend handles: update existing, create new, delete removed
|
|
8012
|
+
*/
|
|
7485
8013
|
syncTourSteps: Array<TourStep>;
|
|
7486
|
-
/**
|
|
8014
|
+
/**
|
|
8015
|
+
* Sync workspace metadata from workspace layer to global layer.
|
|
8016
|
+
* Called by wspace-workspace-svc when a workspace is created directly via workspace layer.
|
|
8017
|
+
* This is the reverse of syncFromGlobal - it syncs global ← wspace.
|
|
8018
|
+
* Creates workspace metadata + owner membership in global-tenant-svc.
|
|
8019
|
+
*/
|
|
7487
8020
|
syncWorkspaceFromWspace: SyncWorkspaceFromWspaceResponse;
|
|
7488
8021
|
tagChannel: ChannelTagAssignment;
|
|
7489
8022
|
tagChannelConnection: ChannelConnectionTagAssignment;
|
|
@@ -7561,6 +8094,8 @@ export type Mutation = {
|
|
|
7561
8094
|
updateCategory: ProductCategory;
|
|
7562
8095
|
/** Update an existing channel */
|
|
7563
8096
|
updateChannel: Channel;
|
|
8097
|
+
/** Save (upsert) organization-level channel settings. */
|
|
8098
|
+
updateChannelOrgSettings: ChannelOrgSettings;
|
|
7564
8099
|
/** Update connection metadata (not credentials) */
|
|
7565
8100
|
updateConnection: ChannelConnection;
|
|
7566
8101
|
/** Update the status of a contact inquiry (authenticated, for superadmins) */
|
|
@@ -7597,9 +8132,15 @@ export type Mutation = {
|
|
|
7597
8132
|
updateKeyboardShortcut: KeyboardShortcut;
|
|
7598
8133
|
updateKnowledgeBaseArticle: KnowledgeBaseArticle;
|
|
7599
8134
|
updateLanguage: Language;
|
|
7600
|
-
/**
|
|
8135
|
+
/**
|
|
8136
|
+
* Update the current user's dashboard widget layout preferences.
|
|
8137
|
+
* Replaces the dashboard.widgets array within preferences.
|
|
8138
|
+
*/
|
|
7601
8139
|
updateMyDashboardPreferences: Scalars['JSON']['output'];
|
|
7602
|
-
/**
|
|
8140
|
+
/**
|
|
8141
|
+
* Update the current user's general preferences.
|
|
8142
|
+
* Merges the provided JSON into the existing preferences field.
|
|
8143
|
+
*/
|
|
7603
8144
|
updateMyPreferences: UserPreference;
|
|
7604
8145
|
updateNewsletter: Newsletter;
|
|
7605
8146
|
updateNewsletterAutomation: NewsletterAutomation;
|
|
@@ -7648,11 +8189,18 @@ export type Mutation = {
|
|
|
7648
8189
|
updateScheduleTemplate: ScheduleTemplate;
|
|
7649
8190
|
updateScheduledJob: ScheduledJob;
|
|
7650
8191
|
updateStore: Store;
|
|
7651
|
-
/**
|
|
8192
|
+
/**
|
|
8193
|
+
* Update order payment status (called by billing service callback)
|
|
8194
|
+
*
|
|
8195
|
+
* This is a PUBLIC mutation called by the billing service after payment completion
|
|
8196
|
+
*/
|
|
7652
8197
|
updateStoreOrderPaymentStatus: UpdateStoreOrderPaymentStatusResponse;
|
|
7653
8198
|
updateSubprocessor: Subprocessor;
|
|
7654
8199
|
updateSubscriber: NewsletterSubscriber;
|
|
7655
|
-
/**
|
|
8200
|
+
/**
|
|
8201
|
+
* Update the seat count on an active PER_SEAT subscription.
|
|
8202
|
+
* Syncs quantity to the payment gateway and updates the seat quota ceiling.
|
|
8203
|
+
*/
|
|
7656
8204
|
updateSubscriptionSeats: BillingSubscription;
|
|
7657
8205
|
updateSupportMessage: SupportMessage;
|
|
7658
8206
|
updateSupportTicket: SupportTicket;
|
|
@@ -7694,11 +8242,17 @@ export type Mutation = {
|
|
|
7694
8242
|
/** Upload tour media */
|
|
7695
8243
|
uploadTourMedia: TourMedia;
|
|
7696
8244
|
upsertComplianceSettings: NewsletterComplianceSettings;
|
|
7697
|
-
/**
|
|
8245
|
+
/**
|
|
8246
|
+
* Create or update external OIDC configuration (Google, Microsoft, etc.)
|
|
8247
|
+
* Admin only
|
|
8248
|
+
*/
|
|
7698
8249
|
upsertExternalOIDCConfig: ExternalOidcConfiguration;
|
|
7699
8250
|
/** Create or update fulfillment details for an order (admin) */
|
|
7700
8251
|
upsertOrderFulfillment: OrderFulfillment;
|
|
7701
|
-
/**
|
|
8252
|
+
/**
|
|
8253
|
+
* Upsert a platform connection from a passively-observed webhook event (source = SEEN).
|
|
8254
|
+
* Used by WebhookProcessor to track users without granting DM access.
|
|
8255
|
+
*/
|
|
7702
8256
|
upsertSeenUser: UserPlatformConnection;
|
|
7703
8257
|
useCannedResponse: CannedResponse;
|
|
7704
8258
|
validateApiKey: TokenValidationResponse;
|
|
@@ -7719,7 +8273,17 @@ export type Mutation = {
|
|
|
7719
8273
|
/** Verify a payment method (micro-deposits) */
|
|
7720
8274
|
verifyPaymentMethod: DeveloperOrgPaymentMethod;
|
|
7721
8275
|
verifyPublisherPayoutMethod: PublisherPayoutMethod;
|
|
7722
|
-
/**
|
|
8276
|
+
/**
|
|
8277
|
+
* Verify a WhatsApp pairing code entered by the user in the dashboard.
|
|
8278
|
+
* Called by wspace-integrations-svc during its CUSTOM auth step.
|
|
8279
|
+
*
|
|
8280
|
+
* Looks up the UserPlatformConnection (source=SEEN) for the channel + phone number,
|
|
8281
|
+
* checks the pairing code matches and has not expired, then:
|
|
8282
|
+
* - Sets pairingStatus = APPROVED
|
|
8283
|
+
* - Sets dmAllowed = true
|
|
8284
|
+
* - Sets dmConversationId to the WhatsApp JID format
|
|
8285
|
+
* Returns true on success, throws on failure.
|
|
8286
|
+
*/
|
|
7723
8287
|
verifyWhatsAppPairingCode: Scalars['Boolean']['output'];
|
|
7724
8288
|
/** Void an invoice */
|
|
7725
8289
|
voidInvoice: Invoice;
|
|
@@ -7738,6 +8302,7 @@ export type MutationAcceptDeveloperOrgInvitationArgs = {
|
|
|
7738
8302
|
/** Root mutation type */
|
|
7739
8303
|
export type MutationAcceptOrganizationInviteArgs = {
|
|
7740
8304
|
inviteId: Scalars['ID']['input'];
|
|
8305
|
+
recaptchaToken?: InputMaybe<Scalars['String']['input']>;
|
|
7741
8306
|
};
|
|
7742
8307
|
/** Root mutation type */
|
|
7743
8308
|
export type MutationActivateChannelArgs = {
|
|
@@ -7978,6 +8543,11 @@ export type MutationAssignSupportTicketArgs = {
|
|
|
7978
8543
|
id: Scalars['ID']['input'];
|
|
7979
8544
|
};
|
|
7980
8545
|
/** Root mutation type */
|
|
8546
|
+
export type MutationAssignTagToUserArgs = {
|
|
8547
|
+
tagId: Scalars['ID']['input'];
|
|
8548
|
+
userId: Scalars['ID']['input'];
|
|
8549
|
+
};
|
|
8550
|
+
/** Root mutation type */
|
|
7981
8551
|
export type MutationAttachMediaToStepArgs = {
|
|
7982
8552
|
input: AttachMediaToStepInput;
|
|
7983
8553
|
};
|
|
@@ -8712,6 +9282,10 @@ export type MutationDeleteAgentProfileArgs = {
|
|
|
8712
9282
|
id: Scalars['ID']['input'];
|
|
8713
9283
|
};
|
|
8714
9284
|
/** Root mutation type */
|
|
9285
|
+
export type MutationDeleteAppArgs = {
|
|
9286
|
+
id: Scalars['ID']['input'];
|
|
9287
|
+
};
|
|
9288
|
+
/** Root mutation type */
|
|
8715
9289
|
export type MutationDeleteAppCollectionArgs = {
|
|
8716
9290
|
id: Scalars['ID']['input'];
|
|
8717
9291
|
};
|
|
@@ -9730,6 +10304,11 @@ export type MutationRemoveTagFromApplicationArgs = {
|
|
|
9730
10304
|
input: RemoveTagFromApplicationInput;
|
|
9731
10305
|
};
|
|
9732
10306
|
/** Root mutation type */
|
|
10307
|
+
export type MutationRemoveTagFromUserArgs = {
|
|
10308
|
+
tagId: Scalars['ID']['input'];
|
|
10309
|
+
userId: Scalars['ID']['input'];
|
|
10310
|
+
};
|
|
10311
|
+
/** Root mutation type */
|
|
9733
10312
|
export type MutationRemoveTicketTagsArgs = {
|
|
9734
10313
|
id: Scalars['ID']['input'];
|
|
9735
10314
|
tags: Array<Scalars['String']['input']>;
|
|
@@ -10550,6 +11129,11 @@ export type MutationUpdateChannelArgs = {
|
|
|
10550
11129
|
input: UpdateChannelInput;
|
|
10551
11130
|
};
|
|
10552
11131
|
/** Root mutation type */
|
|
11132
|
+
export type MutationUpdateChannelOrgSettingsArgs = {
|
|
11133
|
+
input: ChannelOrgSettingsInput;
|
|
11134
|
+
organizationId: Scalars['ID']['input'];
|
|
11135
|
+
};
|
|
11136
|
+
/** Root mutation type */
|
|
10553
11137
|
export type MutationUpdateConnectionArgs = {
|
|
10554
11138
|
id: Scalars['ID']['input'];
|
|
10555
11139
|
input: UpdateConnectionInput;
|
|
@@ -11091,7 +11675,12 @@ export type MutationVoteOnAppReviewArgs = {
|
|
|
11091
11675
|
export type MutationWithdrawConsentArgs = {
|
|
11092
11676
|
input: WithdrawConsentInput;
|
|
11093
11677
|
};
|
|
11094
|
-
/**
|
|
11678
|
+
/**
|
|
11679
|
+
* Filter inputs for `myContactInquiries`.
|
|
11680
|
+
* Search and email-filter are deliberately not exposed — the query is already
|
|
11681
|
+
* scoped to the caller's email, so a full-text search across `name`/`subject`
|
|
11682
|
+
* would only surface inquiries the caller already owns.
|
|
11683
|
+
*/
|
|
11095
11684
|
export type MyContactInquiryFilterInput = {
|
|
11096
11685
|
/** Filter by product ID */
|
|
11097
11686
|
productId?: InputMaybe<Scalars['String']['input']>;
|
|
@@ -11212,7 +11801,11 @@ export type NewsletterConsent = {
|
|
|
11212
11801
|
subscriberId: Scalars['String']['output'];
|
|
11213
11802
|
userAgent?: Maybe<Scalars['String']['output']>;
|
|
11214
11803
|
};
|
|
11215
|
-
/**
|
|
11804
|
+
/**
|
|
11805
|
+
* Newsletter-specific context output type.
|
|
11806
|
+
* Returns the stored context for each record.
|
|
11807
|
+
* Module-specific to avoid federation conflicts with OperationContext in other subgraphs.
|
|
11808
|
+
*/
|
|
11216
11809
|
export type NewsletterContext = {
|
|
11217
11810
|
__typename?: 'NewsletterContext';
|
|
11218
11811
|
/** Additional custom context as JSON */
|
|
@@ -11230,7 +11823,10 @@ export type NewsletterContext = {
|
|
|
11230
11823
|
/** Workspace ID for workspace-level scoping */
|
|
11231
11824
|
workspaceId?: Maybe<Scalars['ID']['output']>;
|
|
11232
11825
|
};
|
|
11233
|
-
/**
|
|
11826
|
+
/**
|
|
11827
|
+
* Newsletter context filter input for querying records by context.
|
|
11828
|
+
* Supports exact match filtering on context fields.
|
|
11829
|
+
*/
|
|
11234
11830
|
export type NewsletterContextFilterInput = {
|
|
11235
11831
|
/** Filter by organization ID */
|
|
11236
11832
|
organizationId?: InputMaybe<Scalars['ID']['input']>;
|
|
@@ -11245,7 +11841,10 @@ export type NewsletterContextFilterInput = {
|
|
|
11245
11841
|
/** Filter by workspace ID */
|
|
11246
11842
|
workspaceId?: InputMaybe<Scalars['ID']['input']>;
|
|
11247
11843
|
};
|
|
11248
|
-
/**
|
|
11844
|
+
/**
|
|
11845
|
+
* Newsletter context input for filtering and scoping data.
|
|
11846
|
+
* All fields are optional and can be extended as needed.
|
|
11847
|
+
*/
|
|
11249
11848
|
export type NewsletterContextInput = {
|
|
11250
11849
|
/** Additional custom context as JSON */
|
|
11251
11850
|
custom?: InputMaybe<Scalars['JSON']['input']>;
|
|
@@ -11892,7 +12491,10 @@ export type OidcHybridConfig = {
|
|
|
11892
12491
|
supportedGrantTypes: Array<Scalars['String']['output']>;
|
|
11893
12492
|
supportedResponseTypes: Array<Scalars['String']['output']>;
|
|
11894
12493
|
};
|
|
11895
|
-
/**
|
|
12494
|
+
/**
|
|
12495
|
+
* Operation context output type.
|
|
12496
|
+
* Returns the stored context for each record.
|
|
12497
|
+
*/
|
|
11896
12498
|
export type OperationContext = {
|
|
11897
12499
|
__typename?: 'OperationContext';
|
|
11898
12500
|
/** App ID for app-level scoping */
|
|
@@ -12042,7 +12644,10 @@ export type OrderStatusUpdatedEvent = {
|
|
|
12042
12644
|
updatedAt: Scalars['String']['output'];
|
|
12043
12645
|
workspaceId?: Maybe<Scalars['ID']['output']>;
|
|
12044
12646
|
};
|
|
12045
|
-
/**
|
|
12647
|
+
/**
|
|
12648
|
+
* Organization type stub - represents an organization entity from another service
|
|
12649
|
+
* This service doesn't own the Organization model, but references it
|
|
12650
|
+
*/
|
|
12046
12651
|
export type Organization = {
|
|
12047
12652
|
__typename?: 'Organization';
|
|
12048
12653
|
createdAt: Scalars['DateTime']['output'];
|
|
@@ -12072,6 +12677,51 @@ export type Organization = {
|
|
|
12072
12677
|
/** Workspaces belonging to this organization */
|
|
12073
12678
|
workspaces: Array<Workspace>;
|
|
12074
12679
|
};
|
|
12680
|
+
/** A single persistent organization audit log entry. */
|
|
12681
|
+
export type OrganizationAuditLog = {
|
|
12682
|
+
__typename?: 'OrganizationAuditLog';
|
|
12683
|
+
action: Scalars['String']['output'];
|
|
12684
|
+
actorId: Scalars['ID']['output'];
|
|
12685
|
+
actorType: Scalars['String']['output'];
|
|
12686
|
+
createdAt: Scalars['DateTime']['output'];
|
|
12687
|
+
id: Scalars['ID']['output'];
|
|
12688
|
+
metadata?: Maybe<Scalars['JSON']['output']>;
|
|
12689
|
+
organizationId: Scalars['ID']['output'];
|
|
12690
|
+
targetId?: Maybe<Scalars['ID']['output']>;
|
|
12691
|
+
targetType: Scalars['String']['output'];
|
|
12692
|
+
};
|
|
12693
|
+
/** Paginated connection of OrganizationAuditLog entries. */
|
|
12694
|
+
export type OrganizationAuditLogConnection = {
|
|
12695
|
+
__typename?: 'OrganizationAuditLogConnection';
|
|
12696
|
+
edges: Array<OrganizationAuditLogEdge>;
|
|
12697
|
+
pageInfo: OrganizationAuditLogPageInfo;
|
|
12698
|
+
totalCount: Scalars['Int']['output'];
|
|
12699
|
+
};
|
|
12700
|
+
/** Edge wrapper for keyset pagination over OrganizationAuditLog. */
|
|
12701
|
+
export type OrganizationAuditLogEdge = {
|
|
12702
|
+
__typename?: 'OrganizationAuditLogEdge';
|
|
12703
|
+
cursor: Scalars['String']['output'];
|
|
12704
|
+
node: OrganizationAuditLog;
|
|
12705
|
+
};
|
|
12706
|
+
/** Page info for relay-style cursor pagination. */
|
|
12707
|
+
export type OrganizationAuditLogPageInfo = {
|
|
12708
|
+
__typename?: 'OrganizationAuditLogPageInfo';
|
|
12709
|
+
endCursor?: Maybe<Scalars['String']['output']>;
|
|
12710
|
+
hasNextPage: Scalars['Boolean']['output'];
|
|
12711
|
+
};
|
|
12712
|
+
/**
|
|
12713
|
+
* Inline export payload for `exportOrganizationsCsv`. Returns CSV text along
|
|
12714
|
+
* with a count of rows and a flag if the result was capped at the requested
|
|
12715
|
+
* limit. Pattern mirrors `TenantExport` from the tenant module.
|
|
12716
|
+
*/
|
|
12717
|
+
export type OrganizationCsvExport = {
|
|
12718
|
+
__typename?: 'OrganizationCsvExport';
|
|
12719
|
+
csv: Scalars['String']['output'];
|
|
12720
|
+
format: Scalars['String']['output'];
|
|
12721
|
+
generatedAt: Scalars['DateTime']['output'];
|
|
12722
|
+
rowCount: Scalars['Int']['output'];
|
|
12723
|
+
truncated: Scalars['Boolean']['output'];
|
|
12724
|
+
};
|
|
12075
12725
|
/** Filter input for querying organizations */
|
|
12076
12726
|
export type OrganizationFilterInput = {
|
|
12077
12727
|
search?: InputMaybe<Scalars['String']['input']>;
|
|
@@ -12159,7 +12809,10 @@ export type PageInfo = {
|
|
|
12159
12809
|
hasPreviousPage: Scalars['Boolean']['output'];
|
|
12160
12810
|
startCursor?: Maybe<Scalars['String']['output']>;
|
|
12161
12811
|
};
|
|
12162
|
-
/**
|
|
12812
|
+
/**
|
|
12813
|
+
* Response type for getTransactionsByBillingAccount query
|
|
12814
|
+
* Contains basic billing account info and paginated transactions
|
|
12815
|
+
*/
|
|
12163
12816
|
export type PaginatedBillingAccountTransactions = {
|
|
12164
12817
|
__typename?: 'PaginatedBillingAccountTransactions';
|
|
12165
12818
|
/** Billing-specific email (for invoices) */
|
|
@@ -12398,7 +13051,10 @@ export declare enum PaymentMethodType {
|
|
|
12398
13051
|
Paypal = "PAYPAL",
|
|
12399
13052
|
Wallet = "WALLET"
|
|
12400
13053
|
}
|
|
12401
|
-
/**
|
|
13054
|
+
/**
|
|
13055
|
+
* Payment provider configuration for frontend integration
|
|
13056
|
+
* Contains only public keys safe to expose to the client
|
|
13057
|
+
*/
|
|
12402
13058
|
export type PaymentProviderConfig = {
|
|
12403
13059
|
__typename?: 'PaymentProviderConfig';
|
|
12404
13060
|
/** Whether Razorpay is configured and available */
|
|
@@ -12412,7 +13068,9 @@ export type PaymentProviderConfig = {
|
|
|
12412
13068
|
};
|
|
12413
13069
|
/** Preferred payment provider */
|
|
12414
13070
|
export declare enum PaymentProviderPreference {
|
|
13071
|
+
AppleIap = "APPLE_IAP",
|
|
12415
13072
|
Auto = "AUTO",
|
|
13073
|
+
GooglePlay = "GOOGLE_PLAY",
|
|
12416
13074
|
Razorpay = "RAZORPAY",
|
|
12417
13075
|
Stripe = "STRIPE"
|
|
12418
13076
|
}
|
|
@@ -12646,13 +13304,19 @@ export type Plan = {
|
|
|
12646
13304
|
createdAt?: Maybe<Scalars['DateTime']['output']>;
|
|
12647
13305
|
/** The currency in which the plan is priced. Defaults to 'USD'. */
|
|
12648
13306
|
currency?: Maybe<Scalars['String']['output']>;
|
|
12649
|
-
/**
|
|
13307
|
+
/**
|
|
13308
|
+
* Prices for all supported currencies with beautiful rounding.
|
|
13309
|
+
* Example: { "USD": 2.00, "INR": 199, "EUR": 1.99, "GBP": 1.79 }
|
|
13310
|
+
*/
|
|
12650
13311
|
currencyPrices?: Maybe<Scalars['JSON']['output']>;
|
|
12651
13312
|
/** The duration for which the plan is valid (e.g., monthly, yearly). Defaults to 'monthly'. */
|
|
12652
13313
|
duration?: Maybe<PlanDuration>;
|
|
12653
13314
|
/** A list of features provided by this plan, such as quotas or special services. */
|
|
12654
13315
|
features?: Maybe<Array<Maybe<SubscriptionFeatures>>>;
|
|
12655
|
-
/**
|
|
13316
|
+
/**
|
|
13317
|
+
* Geography-specific price overrides. The billing account's country/state/region plus
|
|
13318
|
+
* currency decide whether one of these overrides applies.
|
|
13319
|
+
*/
|
|
12656
13320
|
geoPricingOverrides: Array<GeoPricingOverride>;
|
|
12657
13321
|
/** The unique identifier for the Plan, automatically generated as a UUID. */
|
|
12658
13322
|
id?: Maybe<Scalars['ID']['output']>;
|
|
@@ -12670,10 +13334,16 @@ export type Plan = {
|
|
|
12670
13334
|
price?: Maybe<Scalars['Float']['output']>;
|
|
12671
13335
|
/** Historical record of price changes for this plan */
|
|
12672
13336
|
priceHistory: Array<PlanPriceHistory>;
|
|
12673
|
-
/**
|
|
13337
|
+
/**
|
|
13338
|
+
* Per-seat rate used when pricingModel is PER_SEAT.
|
|
13339
|
+
* Total charge = pricePerSeat × seatCount.
|
|
13340
|
+
*/
|
|
12674
13341
|
pricePerSeat?: Maybe<Scalars['Float']['output']>;
|
|
12675
|
-
/**
|
|
12676
|
-
|
|
13342
|
+
/**
|
|
13343
|
+
* Whether this plan bills at a flat rate or per seat.
|
|
13344
|
+
* PER_SEAT plans pass seatCount as quantity to Stripe/Razorpay.
|
|
13345
|
+
*/
|
|
13346
|
+
pricingModel?: Maybe<PlanPricingModel>;
|
|
12677
13347
|
/** Which product the plan belongs to (reference to product microservice) */
|
|
12678
13348
|
productID?: Maybe<Scalars['String']['output']>;
|
|
12679
13349
|
/** The list of subscriptions associated with this plan. */
|
|
@@ -12685,7 +13355,10 @@ export declare enum PlanDuration {
|
|
|
12685
13355
|
Monthly = "monthly",
|
|
12686
13356
|
Yearly = "yearly"
|
|
12687
13357
|
}
|
|
12688
|
-
/**
|
|
13358
|
+
/**
|
|
13359
|
+
* Tracks historical price changes for a Plan.
|
|
13360
|
+
* A new record is created whenever a plan's price is updated.
|
|
13361
|
+
*/
|
|
12689
13362
|
export type PlanPriceHistory = {
|
|
12690
13363
|
__typename?: 'PlanPriceHistory';
|
|
12691
13364
|
/** Who made the price change (actor ID) */
|
|
@@ -12717,7 +13390,11 @@ export type PlanQuotaInput = {
|
|
|
12717
13390
|
quotaId: Scalars['ID']['input'];
|
|
12718
13391
|
};
|
|
12719
13392
|
export type PlansFilter = {
|
|
12720
|
-
/**
|
|
13393
|
+
/**
|
|
13394
|
+
* Include free plans (price = 0) in the response.
|
|
13395
|
+
* Defaults to true. Set to false on user-facing browse pages
|
|
13396
|
+
* since free plans are auto-assigned and cannot be purchased.
|
|
13397
|
+
*/
|
|
12721
13398
|
includeFree?: InputMaybe<Scalars['Boolean']['input']>;
|
|
12722
13399
|
/** Filter plans by product ID. When set, only plans with this productID are returned. */
|
|
12723
13400
|
productId?: InputMaybe<Scalars['String']['input']>;
|
|
@@ -12734,7 +13411,10 @@ export type PlatformDeliveryResult = {
|
|
|
12734
13411
|
/** Whether at least one recipient was delivered successfully */
|
|
12735
13412
|
success: Scalars['Boolean']['output'];
|
|
12736
13413
|
};
|
|
12737
|
-
/**
|
|
13414
|
+
/**
|
|
13415
|
+
* PlatformProduct entity - resolvable via Federation Gateway.
|
|
13416
|
+
* Other services can reference PlatformProduct by id or slug.
|
|
13417
|
+
*/
|
|
12738
13418
|
export type PlatformProduct = {
|
|
12739
13419
|
__typename?: 'PlatformProduct';
|
|
12740
13420
|
/** Number of active users */
|
|
@@ -12775,7 +13455,11 @@ export type PlatformProduct = {
|
|
|
12775
13455
|
ogImage?: Maybe<Scalars['String']['output']>;
|
|
12776
13456
|
/** Google Play Store URL */
|
|
12777
13457
|
playStoreUrl?: Maybe<Scalars['String']['output']>;
|
|
12778
|
-
/**
|
|
13458
|
+
/**
|
|
13459
|
+
* reCAPTCHA secret key (server-side) for backend verification.
|
|
13460
|
+
* Only accessible via internal gateway (platformProduct query requires auth).
|
|
13461
|
+
* The publicProduct query does NOT resolve this field.
|
|
13462
|
+
*/
|
|
12779
13463
|
recaptchaSecretKey?: Maybe<Scalars['String']['output']>;
|
|
12780
13464
|
/** reCAPTCHA site key (public) for frontend verification */
|
|
12781
13465
|
recaptchaSiteKey?: Maybe<Scalars['String']['output']>;
|
|
@@ -12978,7 +13662,10 @@ export type ProductChartSnapshot = {
|
|
|
12978
13662
|
storeId?: Maybe<Scalars['ID']['output']>;
|
|
12979
13663
|
window: Scalars['String']['output'];
|
|
12980
13664
|
};
|
|
12981
|
-
/**
|
|
13665
|
+
/**
|
|
13666
|
+
* A content page (privacy policy, terms of service, etc.) stored in markdown format.
|
|
13667
|
+
* Supports global defaults (productId = null) and per-product overrides.
|
|
13668
|
+
*/
|
|
12982
13669
|
export type ProductContentPage = {
|
|
12983
13670
|
__typename?: 'ProductContentPage';
|
|
12984
13671
|
content: Scalars['String']['output'];
|
|
@@ -13371,9 +14058,15 @@ export type PushMfaStatus = {
|
|
|
13371
14058
|
/** Root query type */
|
|
13372
14059
|
export type Query = {
|
|
13373
14060
|
__typename?: 'Query';
|
|
13374
|
-
/**
|
|
14061
|
+
/**
|
|
14062
|
+
* Placeholder field to allow empty Query type extension.
|
|
14063
|
+
* Must be @shareable since it exists in multiple subgraphs.
|
|
14064
|
+
*/
|
|
13375
14065
|
_empty?: Maybe<Scalars['String']['output']>;
|
|
13376
|
-
/**
|
|
14066
|
+
/**
|
|
14067
|
+
* Health check for the service
|
|
14068
|
+
* @rbac(public: true, scopeType: "global")
|
|
14069
|
+
*/
|
|
13377
14070
|
_health: Scalars['String']['output'];
|
|
13378
14071
|
_newsletterSubscriptionsPlaceholder?: Maybe<Scalars['String']['output']>;
|
|
13379
14072
|
_privacyHealth?: Maybe<Scalars['String']['output']>;
|
|
@@ -13381,8 +14074,11 @@ export type Query = {
|
|
|
13381
14074
|
actionDefinitions: Array<ActionDefinition>;
|
|
13382
14075
|
/** Get all active schedules (for background processing) */
|
|
13383
14076
|
activeSchedules: Array<TourSchedule>;
|
|
13384
|
-
/**
|
|
13385
|
-
|
|
14077
|
+
/**
|
|
14078
|
+
* Get all active sessions for the current user.
|
|
14079
|
+
* The `isCurrent` field indicates which session belongs to this request.
|
|
14080
|
+
*/
|
|
14081
|
+
activeSessions: SessionConnection;
|
|
13386
14082
|
activityLog?: Maybe<ActivityLog>;
|
|
13387
14083
|
activityLogs: ActivityLogConnection;
|
|
13388
14084
|
/** Get permission overrides for an actor in a scope */
|
|
@@ -13408,7 +14104,7 @@ export type Query = {
|
|
|
13408
14104
|
agentProfiles: AgentProfileConnection;
|
|
13409
14105
|
app?: Maybe<App>;
|
|
13410
14106
|
/** List API keys for a specific app */
|
|
13411
|
-
appApiKeys:
|
|
14107
|
+
appApiKeys: ApiKeyConnection;
|
|
13412
14108
|
/** Get a collection by ID */
|
|
13413
14109
|
appCollection?: Maybe<AppCollection>;
|
|
13414
14110
|
/** Get a collection by slug */
|
|
@@ -13430,24 +14126,59 @@ export type Query = {
|
|
|
13430
14126
|
application?: Maybe<Application>;
|
|
13431
14127
|
applicationAnalytics: Array<ApplicationAnalytics>;
|
|
13432
14128
|
applications: ApplicationConnection;
|
|
13433
|
-
/**
|
|
14129
|
+
/**
|
|
14130
|
+
* Internal: get all approved waitlist entries for an email.
|
|
14131
|
+
* Used by tenant-svc for product access checks.
|
|
14132
|
+
*/
|
|
13434
14133
|
approvedWaitlistProducts: Array<NewsletterWaitlist>;
|
|
13435
|
-
appsActingAsCurrentUser:
|
|
14134
|
+
appsActingAsCurrentUser: AppConnection;
|
|
13436
14135
|
auditLogs: AuditLogConnection;
|
|
13437
14136
|
/** List auth audit events visible to the current user. */
|
|
13438
|
-
authAuditLogs:
|
|
14137
|
+
authAuditLogs: AuthAuditLogConnection;
|
|
13439
14138
|
authMethodConfig?: Maybe<AuthMethodConfig>;
|
|
13440
14139
|
authStrategiesHealth: Array<AuthStrategyHealth>;
|
|
13441
14140
|
automationSteps: Array<AutomationStep>;
|
|
13442
14141
|
automationSubscribers: Array<AutomationSubscriber>;
|
|
13443
14142
|
availableAgents: Array<AgentProfile>;
|
|
13444
14143
|
availableAuthMethods: Array<AuthMethod>;
|
|
13445
|
-
/**
|
|
14144
|
+
/**
|
|
14145
|
+
* Get available preview features the user can opt-in to within a workspace.
|
|
14146
|
+
* Returns only flags that are previewable, active, and allowed by workspace admin.
|
|
14147
|
+
* Bounded by limit/offset to avoid unbounded fetches.
|
|
14148
|
+
*/
|
|
13446
14149
|
availableFeaturePreviews: Array<FeatureFlag>;
|
|
13447
14150
|
bounceStats: BounceStats;
|
|
13448
|
-
/**
|
|
14151
|
+
/**
|
|
14152
|
+
* Browse store products with unified filtering, sorting, and pagination.
|
|
14153
|
+
* Search is treated as a filter - all filters combine with AND logic.
|
|
14154
|
+
*
|
|
14155
|
+
* Example usage:
|
|
14156
|
+
* ```graphql
|
|
14157
|
+
* query {
|
|
14158
|
+
* browseStore(input: {
|
|
14159
|
+
* filter: {
|
|
14160
|
+
* search: "ai notification"
|
|
14161
|
+
* type: NODE
|
|
14162
|
+
* pricingModel: FREE
|
|
14163
|
+
* minRating: 4.0
|
|
14164
|
+
* compatibleWith: "workspaces"
|
|
14165
|
+
* }
|
|
14166
|
+
* sortBy: RELEVANCE
|
|
14167
|
+
* pagination: { limit: 20, offset: 0 }
|
|
14168
|
+
* }) {
|
|
14169
|
+
* products { id name rating downloads }
|
|
14170
|
+
* totalCount
|
|
14171
|
+
* hasMore
|
|
14172
|
+
* facets { categories { value count } }
|
|
14173
|
+
* }
|
|
14174
|
+
* }
|
|
14175
|
+
* ```
|
|
14176
|
+
*/
|
|
13449
14177
|
browseStore: BrowseStoreResult;
|
|
13450
|
-
/**
|
|
14178
|
+
/**
|
|
14179
|
+
* Calculate tax for a purchase (preview without creating payment)
|
|
14180
|
+
* Used by checkout to show tax breakdown before payment
|
|
14181
|
+
*/
|
|
13451
14182
|
calculateTax: TaxCalculationResult;
|
|
13452
14183
|
campaign?: Maybe<NewsletterCampaign>;
|
|
13453
14184
|
campaignBounces: Array<NewsletterBounce>;
|
|
@@ -13474,7 +14205,10 @@ export type Query = {
|
|
|
13474
14205
|
checkPermissions: Array<PermissionCheckResult>;
|
|
13475
14206
|
/** Check if a plan has an entitlement for a specific store item */
|
|
13476
14207
|
checkPlanEntitlement?: Maybe<SubscriptionEntitlement>;
|
|
13477
|
-
/**
|
|
14208
|
+
/**
|
|
14209
|
+
* Check if the current user can access a specific product.
|
|
14210
|
+
* Returns access status and reason.
|
|
14211
|
+
*/
|
|
13478
14212
|
checkProductAccess: ProductAccessResult;
|
|
13479
14213
|
checkQuotaExhausted: QuotaCheckResult;
|
|
13480
14214
|
/** Check if an actor can see a resource */
|
|
@@ -13484,7 +14218,10 @@ export type Query = {
|
|
|
13484
14218
|
circuitBreakerStatus?: Maybe<CircuitBreakerState>;
|
|
13485
14219
|
compareVariants: VariantComparisonResult;
|
|
13486
14220
|
complaintStats: ComplaintStats;
|
|
13487
|
-
/**
|
|
14221
|
+
/**
|
|
14222
|
+
* Returns compliance-related audit events (consent changes, suppressions, bounces, complaints)
|
|
14223
|
+
* for a given platform product, sorted by most recent first.
|
|
14224
|
+
*/
|
|
13488
14225
|
complianceAuditLog: Array<ComplianceAuditLogEntry>;
|
|
13489
14226
|
complianceSettings?: Maybe<NewsletterComplianceSettings>;
|
|
13490
14227
|
consentLedger: ConsentRecordConnection;
|
|
@@ -13495,19 +14232,25 @@ export type Query = {
|
|
|
13495
14232
|
contactInquiry?: Maybe<ContactInquiry>;
|
|
13496
14233
|
/** Get a single content page by ID */
|
|
13497
14234
|
contentPage?: Maybe<ProductContentPage>;
|
|
13498
|
-
/**
|
|
14235
|
+
/**
|
|
14236
|
+
* Get a content page by slug and optional product ID.
|
|
14237
|
+
* If productId is null, returns the global default page.
|
|
14238
|
+
*/
|
|
13499
14239
|
contentPageBySlug?: Maybe<ProductContentPage>;
|
|
13500
14240
|
/** List content pages with optional filtering by product */
|
|
13501
14241
|
contentPages: ProductContentPageList;
|
|
13502
|
-
/**
|
|
14242
|
+
/**
|
|
14243
|
+
* Convert an amount from one currency to another (uses live exchange rates)
|
|
14244
|
+
* Default fromCurrency is USD
|
|
14245
|
+
*/
|
|
13503
14246
|
convertCurrency: CurrencyConversion;
|
|
13504
14247
|
currentUser?: Maybe<User>;
|
|
13505
|
-
currentUserApps:
|
|
13506
|
-
currentUserDelegations:
|
|
14248
|
+
currentUserApps: AppConnection;
|
|
14249
|
+
currentUserDelegations: AppUserDelegationConnection;
|
|
13507
14250
|
/** List delegations where current user granted access to apps */
|
|
13508
|
-
currentUserGrantedDelegations:
|
|
14251
|
+
currentUserGrantedDelegations: AppUserDelegationConnection;
|
|
13509
14252
|
/** List MFA methods configured for the current user. */
|
|
13510
|
-
currentUserMFAMethods:
|
|
14253
|
+
currentUserMFAMethods: MfaMethodStatusConnection;
|
|
13511
14254
|
customerSatisfactionSurvey?: Maybe<CustomerSatisfactionSurvey>;
|
|
13512
14255
|
customerSatisfactionSurveys: CustomerSatisfactionSurveyConnection;
|
|
13513
14256
|
deadLetterQueueEntries: DeadLetterQueueConnection;
|
|
@@ -13572,9 +14315,27 @@ export type Query = {
|
|
|
13572
14315
|
estimateNewsletterRecipients: NewsletterRecipientEstimate;
|
|
13573
14316
|
/** Estimate shipping for an order with a specific method */
|
|
13574
14317
|
estimateOrderShipping: OrderShippingEstimate;
|
|
13575
|
-
/**
|
|
14318
|
+
/**
|
|
14319
|
+
* Evaluate feature flags for the current actor in a workspace context.
|
|
14320
|
+
* Used by frontend providers for bulk flag evaluation.
|
|
14321
|
+
* Returns OpenFeature-compatible ResolutionDetails for each flag.
|
|
14322
|
+
* RBAC is scoped to the target workspace via `input.workspaceId`.
|
|
14323
|
+
*/
|
|
13576
14324
|
evaluateFeatureFlags: FeatureFlagBulkEvaluation;
|
|
14325
|
+
/**
|
|
14326
|
+
* Synchronous super_admin export of organizations as a CSV string. Returns
|
|
14327
|
+
* inline CSV (RFC-4180 with CWE-1236 protection) plus row count and a
|
|
14328
|
+
* truncated flag indicating the result was capped at the requested limit.
|
|
14329
|
+
*/
|
|
14330
|
+
exportOrganizationsCsv: OrganizationCsvExport;
|
|
13577
14331
|
exportSubscribers: Array<ExportSubscriber>;
|
|
14332
|
+
/**
|
|
14333
|
+
* Synchronous superadmin export of tenants as a CSV string. The wspace-export-svc
|
|
14334
|
+
* pipeline is workspace-scoped (every entity needs `workspace_id`) and therefore
|
|
14335
|
+
* cannot host a global tenant export. Returning the data inline keeps the surface
|
|
14336
|
+
* small; switch to a global-export-svc when the row volume warrants async jobs.
|
|
14337
|
+
*/
|
|
14338
|
+
exportTenantsCsv: TenantExport;
|
|
13578
14339
|
exportTranslations: TranslationsExport;
|
|
13579
14340
|
faq?: Maybe<Faq>;
|
|
13580
14341
|
faqs: FaqConnection;
|
|
@@ -13586,9 +14347,15 @@ export type Query = {
|
|
|
13586
14347
|
/** List feature flags with optional filtering (super admin only) */
|
|
13587
14348
|
featureFlags: FeatureFlagList;
|
|
13588
14349
|
featuredProducts: Array<StoreProduct>;
|
|
13589
|
-
/**
|
|
14350
|
+
/**
|
|
14351
|
+
* Get available filter options for a given context.
|
|
14352
|
+
* Useful for populating filter dropdowns in UI.
|
|
14353
|
+
*/
|
|
13590
14354
|
filterOptions: FilterOptionsResult;
|
|
13591
|
-
/**
|
|
14355
|
+
/**
|
|
14356
|
+
* Get active subscriptions for a billing account (optimized for dashboard)
|
|
14357
|
+
* Only returns subscriptions with status = 'active'
|
|
14358
|
+
*/
|
|
13592
14359
|
getActiveSubscriptions: Array<BillingSubscription>;
|
|
13593
14360
|
/** Get the price change history for a specific addon */
|
|
13594
14361
|
getAddonPriceHistory: Array<AddonPriceHistory>;
|
|
@@ -13606,7 +14373,11 @@ export type Query = {
|
|
|
13606
14373
|
/** Get a billing account by ID */
|
|
13607
14374
|
getBillingAccount?: Maybe<BillingAccount>;
|
|
13608
14375
|
getBillingAccountCreditTransactions: PaginatedCreditTransactions;
|
|
13609
|
-
/**
|
|
14376
|
+
/**
|
|
14377
|
+
* Get usage summary for all quotas of a billing account.
|
|
14378
|
+
* Returns both subscription (PRODUCT_SPECIFIC) and pooled quotas.
|
|
14379
|
+
* If productId is provided, filters subscription quotas by that product.
|
|
14380
|
+
*/
|
|
13610
14381
|
getBillingAccountQuotasSummary: BillingAccountQuotasSummary;
|
|
13611
14382
|
/** Get all billing accounts for the current org (from context) */
|
|
13612
14383
|
getBillingAccountsByOrg: Array<BillingAccount>;
|
|
@@ -13619,12 +14390,24 @@ export type Query = {
|
|
|
13619
14390
|
/** Get a channel by ID */
|
|
13620
14391
|
getChannel?: Maybe<Channel>;
|
|
13621
14392
|
getChannelConnectionTags: Array<ChannelConnectionTagAssignment>;
|
|
13622
|
-
/**
|
|
14393
|
+
/**
|
|
14394
|
+
* Get recent delivery attempts for a channel.
|
|
14395
|
+
* Supports cursor pagination — pass `cursor` from the previous page's `nextCursor`.
|
|
14396
|
+
* Falls back to offset when `cursor` is absent.
|
|
14397
|
+
*/
|
|
13623
14398
|
getChannelDeliveryAttempts: DeliveryAttemptList;
|
|
14399
|
+
/**
|
|
14400
|
+
* Get organization-level channel settings.
|
|
14401
|
+
* Returns defaults when no settings have been saved yet.
|
|
14402
|
+
*/
|
|
14403
|
+
getChannelOrgSettings: ChannelOrgSettings;
|
|
13624
14404
|
/** Get channel statistics */
|
|
13625
14405
|
getChannelStats: ChannelStats;
|
|
13626
14406
|
getChannelTags: Array<ChannelTagAssignment>;
|
|
13627
|
-
/**
|
|
14407
|
+
/**
|
|
14408
|
+
* Get recent webhook events for a channel.
|
|
14409
|
+
* Supports cursor pagination — pass `cursor` from the previous page's `nextCursor`.
|
|
14410
|
+
*/
|
|
13628
14411
|
getChannelWebhookEvents: WebhookEventList;
|
|
13629
14412
|
/** Get all channels with optional filtering */
|
|
13630
14413
|
getChannels: ChannelList;
|
|
@@ -13632,19 +14415,29 @@ export type Query = {
|
|
|
13632
14415
|
getChannelsByOrganization: ChannelList;
|
|
13633
14416
|
/** Get channels by platform */
|
|
13634
14417
|
getChannelsByPlatform: ChannelList;
|
|
13635
|
-
/**
|
|
14418
|
+
/**
|
|
14419
|
+
* Get channels for failover (sorted by priority, ascending).
|
|
14420
|
+
* Returns channels for a platform that are enabled for failover.
|
|
14421
|
+
* Used by delivery logic for priority-based fallback.
|
|
14422
|
+
*/
|
|
13636
14423
|
getChannelsForFailover: Array<Channel>;
|
|
13637
14424
|
/** Get a charge by ID */
|
|
13638
14425
|
getCharge?: Maybe<Charge>;
|
|
13639
14426
|
/** Get all charges for the current org (from context), optionally filtered by status */
|
|
13640
14427
|
getCharges: Array<Charge>;
|
|
13641
|
-
/**
|
|
14428
|
+
/**
|
|
14429
|
+
* Get a connection by ID
|
|
14430
|
+
* NOTE: Credentials are never returned in queries
|
|
14431
|
+
*/
|
|
13642
14432
|
getConnection?: Maybe<ChannelConnection>;
|
|
13643
14433
|
/** Get connection by channel ID */
|
|
13644
14434
|
getConnectionByChannel?: Maybe<ChannelConnection>;
|
|
13645
14435
|
/** Get connection status summary */
|
|
13646
14436
|
getConnectionStatus: ConnectionStatus;
|
|
13647
|
-
/**
|
|
14437
|
+
/**
|
|
14438
|
+
* Get all connections for an organization.
|
|
14439
|
+
* Supports cursor pagination — pass `cursor` from the previous page's `nextCursor`.
|
|
14440
|
+
*/
|
|
13648
14441
|
getConnectionsByOrganization: ChannelConnectionList;
|
|
13649
14442
|
getCostOfCredits: CreditCost;
|
|
13650
14443
|
/** Get a coupon by ID */
|
|
@@ -13653,14 +14446,22 @@ export type Query = {
|
|
|
13653
14446
|
getCouponByCode?: Maybe<Coupon>;
|
|
13654
14447
|
/** Get coupon usage history */
|
|
13655
14448
|
getCouponUsageHistory: CouponUsageListResponse;
|
|
13656
|
-
/**
|
|
14449
|
+
/**
|
|
14450
|
+
* Get credit balance broken down by type (purchased, earned, granted, withdrawable).
|
|
14451
|
+
* Computed from the transaction ledger — use this for withdrawal eligibility checks.
|
|
14452
|
+
*/
|
|
13657
14453
|
getCreditBalanceByType: CreditBalanceByType;
|
|
13658
14454
|
/** Get credit notes for the current org (from context) */
|
|
13659
14455
|
getCreditNotes: Array<CreditNote>;
|
|
13660
14456
|
getCreditTransactionDetails: CreditTransaction;
|
|
13661
14457
|
/** Get the default/first billing account for the current org (from context) */
|
|
13662
14458
|
getDefaultBillingAccount?: Maybe<BillingAccount>;
|
|
13663
|
-
/**
|
|
14459
|
+
/**
|
|
14460
|
+
* Get the default billing account for a specific organization by orgId.
|
|
14461
|
+
* Returns the billing account where isDefault = true for the given orgId.
|
|
14462
|
+
* If no default is set, returns the first active billing account.
|
|
14463
|
+
* Used by gateway for automatic billing account resolution in usage tracking.
|
|
14464
|
+
*/
|
|
13664
14465
|
getDefaultBillingAccountByOrgId?: Maybe<BillingAccount>;
|
|
13665
14466
|
/** Get the default payment method for a billing account */
|
|
13666
14467
|
getDefaultPaymentMethod?: Maybe<PaymentMethod>;
|
|
@@ -13678,11 +14479,20 @@ export type Query = {
|
|
|
13678
14479
|
getEntitlement?: Maybe<SubscriptionEntitlement>;
|
|
13679
14480
|
/** Get external OIDC configuration for a tenant (Google, Microsoft, etc.) */
|
|
13680
14481
|
getExternalOIDCConfig?: Maybe<ExternalOidcConfiguration>;
|
|
13681
|
-
/**
|
|
14482
|
+
/**
|
|
14483
|
+
* Get billing orders with failed callbacks (admin only)
|
|
14484
|
+
* Useful for monitoring and manual retry
|
|
14485
|
+
*/
|
|
13682
14486
|
getFailedBillingOrderCallbacks: FailedBillingOrderCallbacksResponse;
|
|
13683
|
-
/**
|
|
14487
|
+
/**
|
|
14488
|
+
* Get failed delivery attempts for retry.
|
|
14489
|
+
* Supports cursor pagination — pass `cursor` from the previous page's `nextCursor`.
|
|
14490
|
+
*/
|
|
13684
14491
|
getFailedDeliveryAttempts: DeliveryAttemptList;
|
|
13685
|
-
/**
|
|
14492
|
+
/**
|
|
14493
|
+
* Get failed webhook events for retry.
|
|
14494
|
+
* Supports cursor pagination — pass `cursor` from the previous page's `nextCursor`.
|
|
14495
|
+
*/
|
|
13686
14496
|
getFailedWebhookEvents: WebhookEventList;
|
|
13687
14497
|
/** Get an invoice by ID */
|
|
13688
14498
|
getInvoice?: Maybe<Invoice>;
|
|
@@ -13708,7 +14518,10 @@ export type Query = {
|
|
|
13708
14518
|
getPaymentFailures: Array<PaymentFailure>;
|
|
13709
14519
|
/** Get payment methods for a billing account */
|
|
13710
14520
|
getPaymentMethods: Array<PaymentMethod>;
|
|
13711
|
-
/**
|
|
14521
|
+
/**
|
|
14522
|
+
* Get payment provider configuration for frontend integration
|
|
14523
|
+
* Returns public keys only (safe to expose to client)
|
|
14524
|
+
*/
|
|
13712
14525
|
getPaymentProviderConfig: PaymentProviderConfig;
|
|
13713
14526
|
/** Get all payments for the current org (from context), optionally filtered by status */
|
|
13714
14527
|
getPayments: Array<Payment>;
|
|
@@ -13731,7 +14544,10 @@ export type Query = {
|
|
|
13731
14544
|
getReferralCodeByCode?: Maybe<ReferralCode>;
|
|
13732
14545
|
/** Get a single refund record by ID */
|
|
13733
14546
|
getRefundRecord?: Maybe<RefundRecord>;
|
|
13734
|
-
/**
|
|
14547
|
+
/**
|
|
14548
|
+
* Get refund records with filters and pagination (for admin dashboard).
|
|
14549
|
+
* Uses orgId from context by default. Super admins can override with orgIdFilter.
|
|
14550
|
+
*/
|
|
13735
14551
|
getRefundRecords: PaginatedRefundRecords;
|
|
13736
14552
|
/** Get refund statistics (counts and amounts) */
|
|
13737
14553
|
getRefundStats: RefundStats;
|
|
@@ -13748,7 +14564,12 @@ export type Query = {
|
|
|
13748
14564
|
getStoreProductTags: Array<StoreProductTagAssignment>;
|
|
13749
14565
|
/** Get a subscription by ID */
|
|
13750
14566
|
getSubscription?: Maybe<BillingSubscription>;
|
|
13751
|
-
/**
|
|
14567
|
+
/**
|
|
14568
|
+
* Enhanced subscription overview with better pagination and filtering
|
|
14569
|
+
* @param includeExpired - Include past/canceled/expired subscriptions (default: false)
|
|
14570
|
+
* @param onlyExpired - Only fetch past subscriptions for lazy loading (default: false)
|
|
14571
|
+
* @param searchQuery - Search quotas by name in database (case-insensitive)
|
|
14572
|
+
*/
|
|
13752
14573
|
getSubscriptionUsageOverview?: Maybe<Array<SubscriptionWithQuotas>>;
|
|
13753
14574
|
getSubscriptionUsages: SubscriptionQuotaUsageWithFilter;
|
|
13754
14575
|
/** Get tax rates */
|
|
@@ -13771,7 +14592,10 @@ export type Query = {
|
|
|
13771
14592
|
getWebhookStats: WebhookStats;
|
|
13772
14593
|
/** Health check endpoint */
|
|
13773
14594
|
health: HealthStatus;
|
|
13774
|
-
/**
|
|
14595
|
+
/**
|
|
14596
|
+
* Get grouped products for homepage.
|
|
14597
|
+
* Optionally filter by compatible product (e.g., "bigconsole", "fluidgrids").
|
|
14598
|
+
*/
|
|
13775
14599
|
homeGroupedProducts: GroupedStoreProducts;
|
|
13776
14600
|
homepageSections: Array<HomepageSection>;
|
|
13777
14601
|
i18nModule?: Maybe<I18nModule>;
|
|
@@ -13786,7 +14610,12 @@ export type Query = {
|
|
|
13786
14610
|
/** Initiate HTTP Digest auth challenge */
|
|
13787
14611
|
initiateDigestChallenge: DigestChallengeResult;
|
|
13788
14612
|
inventoryAdjustments: Array<InventoryAdjustment>;
|
|
13789
|
-
/**
|
|
14613
|
+
/**
|
|
14614
|
+
* Fast check for a single (app, workspace) pair. Used by wspace-auth-svc via
|
|
14615
|
+
* the internal global gateway before issuing a workspace token to an app
|
|
14616
|
+
* actor. Public (no actor RBAC) because the internal gateway is the only
|
|
14617
|
+
* caller and it trusts the x-actor-* headers it injects.
|
|
14618
|
+
*/
|
|
13790
14619
|
isAppAuthorizedForWorkspace: Scalars['Boolean']['output'];
|
|
13791
14620
|
isAppInstalled?: Maybe<StoreAppInstallation>;
|
|
13792
14621
|
isEmailSuppressed: Scalars['Boolean']['output'];
|
|
@@ -13807,32 +14636,59 @@ export type Query = {
|
|
|
13807
14636
|
listCoupons: CouponsListResponse;
|
|
13808
14637
|
/** List all referral codes (admin) */
|
|
13809
14638
|
listReferralCodes: ReferralCodesListResponse;
|
|
13810
|
-
/**
|
|
14639
|
+
/**
|
|
14640
|
+
* List all platform connections for a channel.
|
|
14641
|
+
* Supports cursor pagination — pass `cursor` from the previous page's `nextCursor`.
|
|
14642
|
+
*/
|
|
13811
14643
|
listUserPlatformConnectionsByChannel: UserPlatformConnectionList;
|
|
13812
|
-
/**
|
|
14644
|
+
/**
|
|
14645
|
+
* List all platform connections for an organization.
|
|
14646
|
+
* Supports cursor pagination — pass `cursor` from the previous page's `nextCursor`.
|
|
14647
|
+
*/
|
|
13813
14648
|
listUserPlatformConnectionsByOrganization: UserPlatformConnectionList;
|
|
13814
|
-
/**
|
|
14649
|
+
/**
|
|
14650
|
+
* List all platform connections for a given internal user.
|
|
14651
|
+
* Supports cursor pagination — pass `cursor` from the previous page's `nextCursor`.
|
|
14652
|
+
*/
|
|
13815
14653
|
listUserPlatformConnectionsByUser: UserPlatformConnectionList;
|
|
13816
14654
|
lookupAffiliateCode?: Maybe<AffiliateCode>;
|
|
13817
14655
|
lowStockProducts: Array<LowStockProduct>;
|
|
13818
|
-
/**
|
|
14656
|
+
/**
|
|
14657
|
+
* Returns products the current user can access based on their actor type,
|
|
14658
|
+
* email domain, and waitlist approval status. Used by app shells for nav.
|
|
14659
|
+
*/
|
|
13819
14660
|
myAccessibleProducts: PlatformProductList;
|
|
13820
14661
|
myActivityLogs: ActivityLogConnection;
|
|
13821
14662
|
myAffiliateCodes: AffiliateCodeConnection;
|
|
13822
14663
|
myAgentProfile?: Maybe<AgentProfile>;
|
|
13823
14664
|
/** List API keys for current user's apps */
|
|
13824
|
-
myApiKeys:
|
|
14665
|
+
myApiKeys: ApiKeyConnection;
|
|
13825
14666
|
/** Get my installations */
|
|
13826
14667
|
myAppInstallations: AppInstallationConnection;
|
|
13827
14668
|
/** Get my review for an application */
|
|
13828
14669
|
myAppReview?: Maybe<AppReview>;
|
|
13829
|
-
/**
|
|
14670
|
+
/**
|
|
14671
|
+
* Get all workspaces the actor is authorized to access
|
|
14672
|
+
* Returns list with basic routing details (name, workspaceId, publicUrl)
|
|
14673
|
+
*/
|
|
13830
14674
|
myAuthorizedWorkspaces: WorkspaceRoutingList;
|
|
13831
14675
|
/** Get the current user's active cart */
|
|
13832
14676
|
myCart?: Maybe<Cart>;
|
|
13833
|
-
/**
|
|
14677
|
+
/**
|
|
14678
|
+
* Get the authenticated caller's own contact inquiries.
|
|
14679
|
+
*
|
|
14680
|
+
* Matches by email (case-insensitive). The public `submitContactInquiry`
|
|
14681
|
+
* mutation stores submissions with `createdBy = "anonymous"`, so there is no
|
|
14682
|
+
* userId to filter on; scoping by the gateway-forwarded email is the only
|
|
14683
|
+
* reliable way to link a signed-in user back to their earlier anonymous
|
|
14684
|
+
* submissions.
|
|
14685
|
+
*/
|
|
13834
14686
|
myContactInquiries: ContactInquiryList;
|
|
13835
|
-
/**
|
|
14687
|
+
/**
|
|
14688
|
+
* Get the current user's dashboard widget layout preferences.
|
|
14689
|
+
* Returns the dashboard configuration JSON from preferences,
|
|
14690
|
+
* or null if no customization has been saved (frontend uses defaults).
|
|
14691
|
+
*/
|
|
13836
14692
|
myDashboardPreferences?: Maybe<Scalars['JSON']['output']>;
|
|
13837
14693
|
/** Get my developer organizations (where I'm a member) */
|
|
13838
14694
|
myDeveloperOrganizations: Array<DeveloperOrganization>;
|
|
@@ -13857,16 +14713,25 @@ export type Query = {
|
|
|
13857
14713
|
myPayoutRequests: PayoutRequestConnection;
|
|
13858
14714
|
/** Get my pending invitations */
|
|
13859
14715
|
myPendingInvitations: Array<DeveloperOrgInvitation>;
|
|
13860
|
-
/**
|
|
14716
|
+
/**
|
|
14717
|
+
* Get current user's permissions in a scope (self-service).
|
|
14718
|
+
* Returns full permission details including roles, permission strings, and cache TTL.
|
|
14719
|
+
*/
|
|
13861
14720
|
myPermissions: EffectivePermissions;
|
|
13862
|
-
/**
|
|
14721
|
+
/**
|
|
14722
|
+
* Get the current user's full preferences record.
|
|
14723
|
+
* Creates a default record if none exists.
|
|
14724
|
+
*/
|
|
13863
14725
|
myPreferences?: Maybe<UserPreference>;
|
|
13864
14726
|
/** List user's registered public keys */
|
|
13865
14727
|
myPublicKeys: Array<PublicKeyInfo>;
|
|
13866
14728
|
/** Get the current user's publisher profile, or null if none exists yet. */
|
|
13867
14729
|
myPublisher?: Maybe<Publisher>;
|
|
13868
14730
|
myReviews: Array<ProductReview>;
|
|
13869
|
-
/**
|
|
14731
|
+
/**
|
|
14732
|
+
* Get current user's roles in a scope (lightweight, self-service).
|
|
14733
|
+
* Use this for quick role checks without fetching full permissions.
|
|
14734
|
+
*/
|
|
13870
14735
|
myRoles: MyRolesResult;
|
|
13871
14736
|
myStoreAppInstallations: StoreAppInstallationConnection;
|
|
13872
14737
|
/** Stores the current user is subscribed to (auto-includes public stores). */
|
|
@@ -13877,14 +14742,24 @@ export type Query = {
|
|
|
13877
14742
|
myTenants: TenantList;
|
|
13878
14743
|
/** Get unread notification count for authenticated user */
|
|
13879
14744
|
myUnreadNotificationCount: Scalars['Int']['output'];
|
|
13880
|
-
/**
|
|
14745
|
+
/**
|
|
14746
|
+
* Get the current authenticated user's platform connection for a given channel.
|
|
14747
|
+
* Uses the actor's internal user ID from request context — no internalUserId
|
|
14748
|
+
* argument needed. Returns null if the user has not connected this channel.
|
|
14749
|
+
*/
|
|
13881
14750
|
myUserPlatformConnection?: Maybe<UserPlatformConnection>;
|
|
13882
|
-
/**
|
|
14751
|
+
/**
|
|
14752
|
+
* Public: check waitlist status by email + product. Returns null if not on waitlist.
|
|
14753
|
+
* Rate-limited at API gateway level.
|
|
14754
|
+
*/
|
|
13883
14755
|
myWaitlistStatus?: Maybe<NewsletterWaitlist>;
|
|
13884
14756
|
/** List user's linked wallets */
|
|
13885
14757
|
myWallets: Array<WalletInfo>;
|
|
13886
14758
|
myWishlist: Array<UserWishlist>;
|
|
13887
|
-
/**
|
|
14759
|
+
/**
|
|
14760
|
+
* Get workspaces where the current user is a member
|
|
14761
|
+
* Self-service query - returns only the authenticated user's workspaces
|
|
14762
|
+
*/
|
|
13888
14763
|
myWorkspaces: WorkspaceList;
|
|
13889
14764
|
newsletter?: Maybe<Newsletter>;
|
|
13890
14765
|
newsletterAutomation?: Maybe<NewsletterAutomation>;
|
|
@@ -13934,6 +14809,12 @@ export type Query = {
|
|
|
13934
14809
|
orderFulfillment?: Maybe<OrderFulfillment>;
|
|
13935
14810
|
/** Get a single organization by ID */
|
|
13936
14811
|
organization?: Maybe<Organization>;
|
|
14812
|
+
/**
|
|
14813
|
+
* Paginated keyset connection over the persistent OrganizationAuditLog table.
|
|
14814
|
+
* Returns audit events for a single organization, newest first. Supports
|
|
14815
|
+
* optional filtering by `action` (event name) and `actorId`.
|
|
14816
|
+
*/
|
|
14817
|
+
organizationAuditLogsConnection: OrganizationAuditLogConnection;
|
|
13937
14818
|
/** Get an organization by slug within a tenant */
|
|
13938
14819
|
organizationBySlug?: Maybe<Organization>;
|
|
13939
14820
|
/** Get pending invites for an organization (admin view) */
|
|
@@ -13979,25 +14860,52 @@ export type Query = {
|
|
|
13979
14860
|
productOrders: ItemOrdersList;
|
|
13980
14861
|
productReleases: Array<ProductRelease>;
|
|
13981
14862
|
productReviews: Array<ProductReview>;
|
|
13982
|
-
/**
|
|
14863
|
+
/**
|
|
14864
|
+
* Get shortcuts for a specific product (includes global shortcuts).
|
|
14865
|
+
* Bounded by limit/offset to avoid unbounded fetches.
|
|
14866
|
+
*/
|
|
13983
14867
|
productShortcuts: Array<KeyboardShortcut>;
|
|
13984
14868
|
/** Get product-level tour statistics */
|
|
13985
14869
|
productTourStatistics: ProductTourStatistics;
|
|
13986
14870
|
products: Array<StoreProduct>;
|
|
13987
14871
|
pseudoLocaleStats: PseudoLocaleStats;
|
|
13988
|
-
/**
|
|
14872
|
+
/**
|
|
14873
|
+
* Get all active addons for a specific product (public, no authentication required).
|
|
14874
|
+
* Used by product website pricing pages.
|
|
14875
|
+
* Only returns active addons.
|
|
14876
|
+
*/
|
|
13989
14877
|
publicAddons: Array<Addon>;
|
|
13990
|
-
/**
|
|
14878
|
+
/**
|
|
14879
|
+
* Get a public content page by slug and optional product ID.
|
|
14880
|
+
* Only returns pages with visibility=PUBLIC and isPublished=true.
|
|
14881
|
+
*/
|
|
13991
14882
|
publicContentPage?: Maybe<ProductContentPage>;
|
|
13992
|
-
/**
|
|
14883
|
+
/**
|
|
14884
|
+
* List public content pages for a product.
|
|
14885
|
+
* Only returns pages with visibility=PUBLIC and isPublished=true.
|
|
14886
|
+
*/
|
|
13993
14887
|
publicContentPages: ProductContentPageList;
|
|
13994
|
-
/**
|
|
14888
|
+
/**
|
|
14889
|
+
* Get all active plans for a specific product (public, no authentication required).
|
|
14890
|
+
* Used by product website pricing pages.
|
|
14891
|
+
* Only returns active plans with their features.
|
|
14892
|
+
*/
|
|
13995
14893
|
publicPlans: Array<Plan>;
|
|
13996
|
-
/**
|
|
14894
|
+
/**
|
|
14895
|
+
* Get a platform product by slug (public, no auth required).
|
|
14896
|
+
* Returns only ACTIVE or WAITLIST products.
|
|
14897
|
+
* Does NOT expose sensitive fields like recaptchaSecretKey.
|
|
14898
|
+
*/
|
|
13997
14899
|
publicProduct?: Maybe<PlatformProduct>;
|
|
13998
|
-
/**
|
|
14900
|
+
/**
|
|
14901
|
+
* Get all platform products (public, no auth required).
|
|
14902
|
+
* Returns only ACTIVE or WAITLIST products (WAITLIST products are visible for waitlist signup).
|
|
14903
|
+
*/
|
|
13999
14904
|
publicProducts: PlatformProductList;
|
|
14000
|
-
/**
|
|
14905
|
+
/**
|
|
14906
|
+
* Resolve a public content page for a product with template variable replacement.
|
|
14907
|
+
* Only returns pages with visibility=PUBLIC and isPublished=true.
|
|
14908
|
+
*/
|
|
14001
14909
|
publicResolvedContentPage?: Maybe<ProductContentPage>;
|
|
14002
14910
|
publicScheduleTemplates: ScheduleTemplateConnection;
|
|
14003
14911
|
publishedProducts: Array<StoreProduct>;
|
|
@@ -14012,7 +14920,11 @@ export type Query = {
|
|
|
14012
14920
|
recentArticles: Array<KnowledgeBaseArticle>;
|
|
14013
14921
|
releaseAuditEvents: Array<ProductReleaseAuditEvent>;
|
|
14014
14922
|
releaseTracks: Array<ReleaseTrack>;
|
|
14015
|
-
/**
|
|
14923
|
+
/**
|
|
14924
|
+
* Resolve the effective content page for a product.
|
|
14925
|
+
* Returns the product-specific page if it exists, otherwise the global default.
|
|
14926
|
+
* Template variables in content (e.g. {{productName}}) are replaced with product data.
|
|
14927
|
+
*/
|
|
14016
14928
|
resolvedContentPage?: Maybe<ProductContentPage>;
|
|
14017
14929
|
/** Get a specific registered resource by ID */
|
|
14018
14930
|
resource?: Maybe<Resource>;
|
|
@@ -14048,7 +14960,11 @@ export type Query = {
|
|
|
14048
14960
|
searchFAQs: Array<Faq>;
|
|
14049
14961
|
searchKnowledgeBase: Array<KnowledgeBaseArticle>;
|
|
14050
14962
|
searchProducts: Array<StoreProduct>;
|
|
14051
|
-
/**
|
|
14963
|
+
/**
|
|
14964
|
+
* Get search suggestions for autocomplete.
|
|
14965
|
+
* Returns suggestions from product names, tags, categories, and authors.
|
|
14966
|
+
* Uses trigram matching for fuzzy search.
|
|
14967
|
+
*/
|
|
14052
14968
|
searchSuggestions: Array<SearchSuggestion>;
|
|
14053
14969
|
searchTicketTemplates: Array<TicketTemplate>;
|
|
14054
14970
|
searchTickets: Array<SupportTicket>;
|
|
@@ -14060,7 +14976,26 @@ export type Query = {
|
|
|
14060
14976
|
/** Fetch a store by id or slug. */
|
|
14061
14977
|
store?: Maybe<Store>;
|
|
14062
14978
|
storeAppInstallation?: Maybe<StoreAppInstallation>;
|
|
14063
|
-
/**
|
|
14979
|
+
/**
|
|
14980
|
+
* Get detailed product information for the app details page.
|
|
14981
|
+
* Includes product data, reviews, related products, publisher info, and version history.
|
|
14982
|
+
* Automatically increments view count.
|
|
14983
|
+
*
|
|
14984
|
+
* Example usage:
|
|
14985
|
+
* ```graphql
|
|
14986
|
+
* query {
|
|
14987
|
+
* storeProductDetails(input: { id: "product-123" }) {
|
|
14988
|
+
* product { id name description manifest rating downloads }
|
|
14989
|
+
* reviews { id rating comment }
|
|
14990
|
+
* relatedProducts { id name icon }
|
|
14991
|
+
* publisher { id name isVerified }
|
|
14992
|
+
* versions { id version status }
|
|
14993
|
+
* userReview { id rating }
|
|
14994
|
+
* isPurchased
|
|
14995
|
+
* }
|
|
14996
|
+
* }
|
|
14997
|
+
* ```
|
|
14998
|
+
*/
|
|
14064
14999
|
storeProductDetails: StoreProductDetailsResult;
|
|
14065
15000
|
/** List all stores the caller can see. */
|
|
14066
15001
|
stores: Array<Store>;
|
|
@@ -14090,7 +15025,11 @@ export type Query = {
|
|
|
14090
15025
|
tenant?: Maybe<Tenant>;
|
|
14091
15026
|
/** Get a tenant by slug */
|
|
14092
15027
|
tenantBySlug?: Maybe<Tenant>;
|
|
14093
|
-
/**
|
|
15028
|
+
/**
|
|
15029
|
+
* Get tenant routing info by ID.
|
|
15030
|
+
* Lightweight query for gateway routing decisions.
|
|
15031
|
+
* Returns type (SHARED/DEDICATED), endpoint, and status.
|
|
15032
|
+
*/
|
|
14094
15033
|
tenantRoutingInfo?: Maybe<TenantRoutingInfo>;
|
|
14095
15034
|
/** List all tenants with optional filtering and pagination */
|
|
14096
15035
|
tenants: TenantList;
|
|
@@ -14130,7 +15069,12 @@ export type Query = {
|
|
|
14130
15069
|
tourUserProgressList: Array<TourUserProgress>;
|
|
14131
15070
|
/** Get tours with optional filtering and pagination */
|
|
14132
15071
|
tours: ToursResponse;
|
|
14133
|
-
/**
|
|
15072
|
+
/**
|
|
15073
|
+
* Get tours for a specific context (product/module/page).
|
|
15074
|
+
* Public endpoint consumed by frontend SDKs without authentication
|
|
15075
|
+
* (the resolver returns published, active, in-window tours and uses an
|
|
15076
|
+
* anonymous actor id). See spec global-specs/modules/tours/RBAC.md:34.
|
|
15077
|
+
*/
|
|
14134
15078
|
toursForContext: Array<Tour>;
|
|
14135
15079
|
translation?: Maybe<Translation>;
|
|
14136
15080
|
translationAudit: TranslationAuditList;
|
|
@@ -14141,24 +15085,35 @@ export type Query = {
|
|
|
14141
15085
|
translationKeys: TranslationKeyList;
|
|
14142
15086
|
translationStats: Scalars['JSON']['output'];
|
|
14143
15087
|
translations: TranslationList;
|
|
14144
|
-
/**
|
|
15088
|
+
/**
|
|
15089
|
+
* Get popular/trending search terms.
|
|
15090
|
+
* Useful for showing suggestions when search input is empty.
|
|
15091
|
+
*/
|
|
14145
15092
|
trendingSearches: Array<Scalars['String']['output']>;
|
|
14146
15093
|
/** Get a user by ID (admin only) */
|
|
14147
15094
|
user?: Maybe<User>;
|
|
14148
15095
|
/** Get total count of users (for analytics) */
|
|
14149
15096
|
userCount: Scalars['Int']['output'];
|
|
14150
|
-
/**
|
|
15097
|
+
/**
|
|
15098
|
+
* Get a user's feature flag preferences in a workspace.
|
|
15099
|
+
* Bounded by limit/offset to avoid unbounded fetches.
|
|
15100
|
+
*/
|
|
14151
15101
|
userFeatureFlagPreferences: Array<UserFeatureFlagPreference>;
|
|
14152
15102
|
userLanguagePreference?: Maybe<UserLanguagePreference>;
|
|
14153
15103
|
/** Check if the current user has reviewed a specific product */
|
|
14154
15104
|
userReviewForProduct?: Maybe<ProductReview>;
|
|
15105
|
+
/** Get tags assigned to a user */
|
|
15106
|
+
userTags: Array<UserTagAssignment>;
|
|
14155
15107
|
/** Get all of a user's progress across tours */
|
|
14156
15108
|
userTourProgresses: Array<TourUserProgress>;
|
|
14157
15109
|
/** List users with filtering and pagination (admin only) */
|
|
14158
15110
|
users: UserConnection;
|
|
14159
15111
|
/** Validate a coupon code for a specific order */
|
|
14160
15112
|
validateCoupon: ValidateCouponResponse;
|
|
14161
|
-
/**
|
|
15113
|
+
/**
|
|
15114
|
+
* Validate a license key without modifying state. Used by vibecontrols
|
|
15115
|
+
* agents + wspace services to check license validity before plugin load.
|
|
15116
|
+
*/
|
|
14162
15117
|
validateLicense: LicenseValidationResult;
|
|
14163
15118
|
validatePromoCode: PromoCodeValidationResult;
|
|
14164
15119
|
/** Get visibility rules for a resource */
|
|
@@ -14176,13 +15131,23 @@ export type Query = {
|
|
|
14176
15131
|
workspaceAnalyticsSummary: WorkspaceTourAnalyticsSummary;
|
|
14177
15132
|
/** Get a workspace by slug within a tenant */
|
|
14178
15133
|
workspaceBySlug?: Maybe<Workspace>;
|
|
14179
|
-
/**
|
|
15134
|
+
/**
|
|
15135
|
+
* Get workspace overrides for a specific workspace.
|
|
15136
|
+
* Bounded by limit/offset to avoid unbounded fetches.
|
|
15137
|
+
*/
|
|
14180
15138
|
workspaceFeatureFlagOverrides: Array<WorkspaceFeatureFlagOverride>;
|
|
14181
15139
|
/** Get members of a workspace */
|
|
14182
15140
|
workspaceMembers: WorkspaceMemberList;
|
|
14183
|
-
/**
|
|
15141
|
+
/**
|
|
15142
|
+
* Get public details of a workspace by ID
|
|
15143
|
+
* Returns public info if actor is authorized
|
|
15144
|
+
*/
|
|
14184
15145
|
workspacePublicDetails?: Maybe<WorkspacePublicDetails>;
|
|
14185
|
-
/**
|
|
15146
|
+
/**
|
|
15147
|
+
* Get workspace routing info by ID
|
|
15148
|
+
* Returns workspace name, endpoint (publicUrl), region for routing purposes
|
|
15149
|
+
* Requires actor to be a member of the workspace
|
|
15150
|
+
*/
|
|
14186
15151
|
workspaceRouting?: Maybe<WorkspaceRouting>;
|
|
14187
15152
|
/** Get workspace store orders with pagination */
|
|
14188
15153
|
workspaceStoreOrders: StoreOrdersResult;
|
|
@@ -14818,11 +15783,21 @@ export type QueryEvaluateFeatureFlagsArgs = {
|
|
|
14818
15783
|
input: EvaluateFeatureFlagsInput;
|
|
14819
15784
|
};
|
|
14820
15785
|
/** Root query type */
|
|
15786
|
+
export type QueryExportOrganizationsCsvArgs = {
|
|
15787
|
+
filter?: InputMaybe<OrganizationFilterInput>;
|
|
15788
|
+
limit?: InputMaybe<Scalars['Int']['input']>;
|
|
15789
|
+
};
|
|
15790
|
+
/** Root query type */
|
|
14821
15791
|
export type QueryExportSubscribersArgs = {
|
|
14822
15792
|
platformProductId?: InputMaybe<Scalars['String']['input']>;
|
|
14823
15793
|
subscribed?: InputMaybe<Scalars['Boolean']['input']>;
|
|
14824
15794
|
};
|
|
14825
15795
|
/** Root query type */
|
|
15796
|
+
export type QueryExportTenantsCsvArgs = {
|
|
15797
|
+
filter?: InputMaybe<TenantFilterInput>;
|
|
15798
|
+
limit?: InputMaybe<Scalars['Int']['input']>;
|
|
15799
|
+
};
|
|
15800
|
+
/** Root query type */
|
|
14826
15801
|
export type QueryExportTranslationsArgs = {
|
|
14827
15802
|
format: ImportJobFormat;
|
|
14828
15803
|
languageCode?: InputMaybe<Scalars['String']['input']>;
|
|
@@ -14955,6 +15930,10 @@ export type QueryGetChannelDeliveryAttemptsArgs = {
|
|
|
14955
15930
|
limit?: InputMaybe<Scalars['Int']['input']>;
|
|
14956
15931
|
};
|
|
14957
15932
|
/** Root query type */
|
|
15933
|
+
export type QueryGetChannelOrgSettingsArgs = {
|
|
15934
|
+
organizationId: Scalars['ID']['input'];
|
|
15935
|
+
};
|
|
15936
|
+
/** Root query type */
|
|
14958
15937
|
export type QueryGetChannelStatsArgs = {
|
|
14959
15938
|
id: Scalars['ID']['input'];
|
|
14960
15939
|
};
|
|
@@ -15793,6 +16772,14 @@ export type QueryOrganizationArgs = {
|
|
|
15793
16772
|
id: Scalars['ID']['input'];
|
|
15794
16773
|
};
|
|
15795
16774
|
/** Root query type */
|
|
16775
|
+
export type QueryOrganizationAuditLogsConnectionArgs = {
|
|
16776
|
+
action?: InputMaybe<Scalars['String']['input']>;
|
|
16777
|
+
actorId?: InputMaybe<Scalars['ID']['input']>;
|
|
16778
|
+
after?: InputMaybe<Scalars['String']['input']>;
|
|
16779
|
+
first?: InputMaybe<Scalars['Int']['input']>;
|
|
16780
|
+
organizationId: Scalars['ID']['input'];
|
|
16781
|
+
};
|
|
16782
|
+
/** Root query type */
|
|
15796
16783
|
export type QueryOrganizationBySlugArgs = {
|
|
15797
16784
|
slug: Scalars['String']['input'];
|
|
15798
16785
|
tenantId: Scalars['String']['input'];
|
|
@@ -16473,6 +17460,10 @@ export type QueryUserReviewForProductArgs = {
|
|
|
16473
17460
|
productId: Scalars['String']['input'];
|
|
16474
17461
|
};
|
|
16475
17462
|
/** Root query type */
|
|
17463
|
+
export type QueryUserTagsArgs = {
|
|
17464
|
+
userId: Scalars['ID']['input'];
|
|
17465
|
+
};
|
|
17466
|
+
/** Root query type */
|
|
16476
17467
|
export type QueryUserTourProgressesArgs = {
|
|
16477
17468
|
pagination?: InputMaybe<TourPagination>;
|
|
16478
17469
|
userId?: InputMaybe<Scalars['ID']['input']>;
|
|
@@ -16593,7 +17584,12 @@ export type Quota = {
|
|
|
16593
17584
|
name?: Maybe<Scalars['String']['output']>;
|
|
16594
17585
|
/** Defines whether this quota template is pooled (shared across products) or product-specific. */
|
|
16595
17586
|
quotaType?: Maybe<QuotaType>;
|
|
16596
|
-
/**
|
|
17587
|
+
/**
|
|
17588
|
+
* When does usage reset for assignments of this quota?
|
|
17589
|
+
* NEVER = static limit (seats, agents, storage cap)
|
|
17590
|
+
* DAILY = resets each day at midnight UTC (API requests/day, AI sessions/day)
|
|
17591
|
+
* MONTHLY = resets at the start of each billing cycle
|
|
17592
|
+
*/
|
|
16597
17593
|
resetPeriod?: Maybe<QuotaResetPeriod>;
|
|
16598
17594
|
/** A Quota is reusable or not (e.g., bot,seats). */
|
|
16599
17595
|
reusable?: Maybe<Scalars['Boolean']['output']>;
|
|
@@ -16618,7 +17614,11 @@ export type QuotaAssignment = {
|
|
|
16618
17614
|
endtime?: Maybe<Scalars['DateTime']['output']>;
|
|
16619
17615
|
/** The unique identifier for the QuotaAssignment, automatically generated as a UUID. */
|
|
16620
17616
|
id?: Maybe<Scalars['ID']['output']>;
|
|
16621
|
-
/**
|
|
17617
|
+
/**
|
|
17618
|
+
* When limits were last restored to their original value by the reset job.
|
|
17619
|
+
* Null means this assignment has never been reset in-place.
|
|
17620
|
+
* The daily QuotaResetWorkflow uses this to find assignments that need resetting.
|
|
17621
|
+
*/
|
|
16622
17622
|
lastResetAt?: Maybe<Scalars['DateTime']['output']>;
|
|
16623
17623
|
/** A JSON object defining the limits associated with the assigned quota (e.g., data caps, usage limits). */
|
|
16624
17624
|
limits?: Maybe<Scalars['JSON']['output']>;
|
|
@@ -16626,7 +17626,10 @@ export type QuotaAssignment = {
|
|
|
16626
17626
|
name?: Maybe<Scalars['String']['output']>;
|
|
16627
17627
|
/** The type of quota - POOLED (billing account level) or PRODUCT_SPECIFIC (subscription level). */
|
|
16628
17628
|
quotaType?: Maybe<QuotaType>;
|
|
16629
|
-
/**
|
|
17629
|
+
/**
|
|
17630
|
+
* Copied from parent Quota.resetPeriod at creation. Tells the reset job how often
|
|
17631
|
+
* limits.value should be restored. DAILY = restore every midnight UTC.
|
|
17632
|
+
*/
|
|
16630
17633
|
resetPeriod?: Maybe<QuotaResetPeriod>;
|
|
16631
17634
|
/** A Quota is reusable or not (e.g., bot,seats). */
|
|
16632
17635
|
reusable?: Maybe<Scalars['Boolean']['output']>;
|
|
@@ -17191,10 +18194,18 @@ export type RegisterProductAssetInput = {
|
|
|
17191
18194
|
caption?: InputMaybe<Scalars['String']['input']>;
|
|
17192
18195
|
fileName?: InputMaybe<Scalars['String']['input']>;
|
|
17193
18196
|
fileType: ProductAssetType;
|
|
17194
|
-
/**
|
|
18197
|
+
/**
|
|
18198
|
+
* File ID returned from wspace-files-svc's completeUpload mutation.
|
|
18199
|
+
* The browser uploads the file directly to files-svc, then calls this
|
|
18200
|
+
* mutation to link it to the product.
|
|
18201
|
+
*/
|
|
17195
18202
|
filesSvcId: Scalars['ID']['input'];
|
|
17196
18203
|
locale?: InputMaybe<Scalars['String']['input']>;
|
|
17197
|
-
/**
|
|
18204
|
+
/**
|
|
18205
|
+
* If true (default), marks previous assets of the same fileType+locale as
|
|
18206
|
+
* no longer current. Set to false to keep multiple live copies (e.g. when
|
|
18207
|
+
* building a screenshot gallery).
|
|
18208
|
+
*/
|
|
17198
18209
|
makeCurrent?: InputMaybe<Scalars['Boolean']['input']>;
|
|
17199
18210
|
mimeType?: InputMaybe<Scalars['String']['input']>;
|
|
17200
18211
|
orderIndex?: InputMaybe<Scalars['Int']['input']>;
|
|
@@ -17328,7 +18339,11 @@ export type ResolveContextWidgetConversationInput = {
|
|
|
17328
18339
|
title?: InputMaybe<Scalars['String']['input']>;
|
|
17329
18340
|
workspaceId: Scalars['ID']['input'];
|
|
17330
18341
|
};
|
|
17331
|
-
/**
|
|
18342
|
+
/**
|
|
18343
|
+
* Registered resource with custom permission configurations.
|
|
18344
|
+
* Resources are only registered when they have non-default permissions
|
|
18345
|
+
* (overrides, visibility rules, or scoped assignments).
|
|
18346
|
+
*/
|
|
17332
18347
|
export type Resource = {
|
|
17333
18348
|
__typename?: 'Resource';
|
|
17334
18349
|
children: Array<Resource>;
|
|
@@ -17953,6 +18968,13 @@ export type Session = {
|
|
|
17953
18968
|
status: SessionStatus;
|
|
17954
18969
|
userAgent?: Maybe<Scalars['String']['output']>;
|
|
17955
18970
|
};
|
|
18971
|
+
/** Paginated list of sessions */
|
|
18972
|
+
export type SessionConnection = {
|
|
18973
|
+
__typename?: 'SessionConnection';
|
|
18974
|
+
hasMore: Scalars['Boolean']['output'];
|
|
18975
|
+
sessions: Array<Session>;
|
|
18976
|
+
totalCount: Scalars['Int']['output'];
|
|
18977
|
+
};
|
|
17956
18978
|
export declare enum SessionStatus {
|
|
17957
18979
|
Active = "ACTIVE",
|
|
17958
18980
|
Expired = "EXPIRED",
|
|
@@ -18207,17 +19229,32 @@ export type SpendCreditResponse = {
|
|
|
18207
19229
|
export type SpendCreditsInput = {
|
|
18208
19230
|
addOnIds?: InputMaybe<Array<InputMaybe<AddOnInputPayment>>>;
|
|
18209
19231
|
billingAccountId: Scalars['String']['input'];
|
|
18210
|
-
/**
|
|
19232
|
+
/**
|
|
19233
|
+
* For plan downgrades — the active higher-tier subscription ID.
|
|
19234
|
+
* Old subscription's auto-renewal is cancelled so it won't charge again;
|
|
19235
|
+
* it stays active until natural expiry and then the new plan continues.
|
|
19236
|
+
*/
|
|
18211
19237
|
downgradeFromSubscriptionId?: InputMaybe<Scalars['String']['input']>;
|
|
18212
19238
|
isAnnual?: InputMaybe<Scalars['Boolean']['input']>;
|
|
18213
19239
|
/** Order ID to purchase using credits (for store orders, etc.) */
|
|
18214
19240
|
orderId?: InputMaybe<Scalars['String']['input']>;
|
|
18215
19241
|
planId?: InputMaybe<Scalars['String']['input']>;
|
|
18216
|
-
/**
|
|
19242
|
+
/**
|
|
19243
|
+
* Number of seats for PER_SEAT plans. Stored on the created subscription.
|
|
19244
|
+
* Credits required = pricePerSeat × seatCount × creditsPerUSD (instead of plan.price).
|
|
19245
|
+
* Ignored for FLAT_RATE plans.
|
|
19246
|
+
*/
|
|
18217
19247
|
seatCount?: InputMaybe<Scalars['Int']['input']>;
|
|
18218
|
-
/**
|
|
19248
|
+
/**
|
|
19249
|
+
* For addon purchases - the subscription ID to attach addons to.
|
|
19250
|
+
* Required if billing account has multiple active subscriptions.
|
|
19251
|
+
* If only one active subscription exists, it will be auto-selected.
|
|
19252
|
+
*/
|
|
18219
19253
|
subscriptionId?: InputMaybe<Scalars['String']['input']>;
|
|
18220
|
-
/**
|
|
19254
|
+
/**
|
|
19255
|
+
* For plan upgrades - the subscription ID to upgrade from.
|
|
19256
|
+
* Old quotas will be moved to the new subscription.
|
|
19257
|
+
*/
|
|
18221
19258
|
upgradeFromSubscriptionId?: InputMaybe<Scalars['String']['input']>;
|
|
18222
19259
|
};
|
|
18223
19260
|
export type Store = {
|
|
@@ -18281,7 +19318,10 @@ export type StoreFacets = {
|
|
|
18281
19318
|
/** Available types with counts */
|
|
18282
19319
|
types: Array<FacetCount>;
|
|
18283
19320
|
};
|
|
18284
|
-
/**
|
|
19321
|
+
/**
|
|
19322
|
+
* Unified filter input for browsing/searching store products.
|
|
19323
|
+
* All filters combine with AND logic - search is treated as a filter.
|
|
19324
|
+
*/
|
|
18285
19325
|
export type StoreFilterInput = {
|
|
18286
19326
|
/** Filter by author name (partial match) */
|
|
18287
19327
|
authorName?: InputMaybe<Scalars['String']['input']>;
|
|
@@ -18291,7 +19331,10 @@ export type StoreFilterInput = {
|
|
|
18291
19331
|
categories?: InputMaybe<Array<Scalars['String']['input']>>;
|
|
18292
19332
|
/** Filter by exact category match (e.g., "Customer Support", "Notification") */
|
|
18293
19333
|
category?: InputMaybe<Scalars['String']['input']>;
|
|
18294
|
-
/**
|
|
19334
|
+
/**
|
|
19335
|
+
* Filter by compatible product (e.g., "workspaces", "fluidgrids", "bigconsole")
|
|
19336
|
+
* Products must be compatible with this product.
|
|
19337
|
+
*/
|
|
18295
19338
|
compatibleWith?: InputMaybe<Scalars['String']['input']>;
|
|
18296
19339
|
/** Filter only featured products */
|
|
18297
19340
|
featured?: InputMaybe<Scalars['Boolean']['input']>;
|
|
@@ -18321,11 +19364,24 @@ export type StoreFilterInput = {
|
|
|
18321
19364
|
publisherId?: InputMaybe<Scalars['String']['input']>;
|
|
18322
19365
|
/** Filter products that require shipping */
|
|
18323
19366
|
requiresShipping?: InputMaybe<Scalars['Boolean']['input']>;
|
|
18324
|
-
/**
|
|
19367
|
+
/**
|
|
19368
|
+
* Full-text search query. Searches across:
|
|
19369
|
+
* - name (highest priority)
|
|
19370
|
+
* - description
|
|
19371
|
+
* - tags
|
|
19372
|
+
* - authorName, category (lowest priority)
|
|
19373
|
+
* Uses PostgreSQL tsvector with weighted ranking.
|
|
19374
|
+
*/
|
|
18325
19375
|
search?: InputMaybe<Scalars['String']['input']>;
|
|
18326
19376
|
/** Filter by product status (defaults to PUBLISHED for consumer queries) */
|
|
18327
19377
|
status?: InputMaybe<ProductStatus>;
|
|
18328
|
-
/**
|
|
19378
|
+
/**
|
|
19379
|
+
* Filter by type-specific subtype.
|
|
19380
|
+
* Examples:
|
|
19381
|
+
* - For AGENT: "task_automation", "conversational", "research"
|
|
19382
|
+
* - For NODE: "action", "trigger", "integration", "ai"
|
|
19383
|
+
* - For WIDGET: "chart", "metric", "table", "map"
|
|
19384
|
+
*/
|
|
18329
19385
|
subType?: InputMaybe<Scalars['String']['input']>;
|
|
18330
19386
|
/** Filter by multiple subtypes (OR within this filter) */
|
|
18331
19387
|
subTypes?: InputMaybe<Array<Scalars['String']['input']>>;
|
|
@@ -18350,7 +19406,12 @@ export declare enum StoreInstallationStatus {
|
|
|
18350
19406
|
Pending = "PENDING",
|
|
18351
19407
|
Uninstalled = "UNINSTALLED"
|
|
18352
19408
|
}
|
|
18353
|
-
/**
|
|
19409
|
+
/**
|
|
19410
|
+
* StoreItem entity reference.
|
|
19411
|
+
* The actual StoreItem is defined in the Store service.
|
|
19412
|
+
* In Federation 2 setup, this will be marked with @key directive.
|
|
19413
|
+
* For now, this is a reference type that returns the itemId for the Gateway to resolve.
|
|
19414
|
+
*/
|
|
18354
19415
|
export type StoreItem = {
|
|
18355
19416
|
__typename?: 'StoreItem';
|
|
18356
19417
|
/** The unique identifier for the store item */
|
|
@@ -18377,7 +19438,11 @@ export type StoreLineItemInput = {
|
|
|
18377
19438
|
/** Product version at time of purchase */
|
|
18378
19439
|
version?: InputMaybe<Scalars['String']['input']>;
|
|
18379
19440
|
};
|
|
18380
|
-
/**
|
|
19441
|
+
/**
|
|
19442
|
+
* External entity stub for StoreOrder from store-svc.
|
|
19443
|
+
* Federation gateway will resolve full StoreOrder data from store-svc.
|
|
19444
|
+
* Used by: BillingAccount.storeOrders (if extended), Transaction.storeOrder
|
|
19445
|
+
*/
|
|
18381
19446
|
export type StoreOrder = {
|
|
18382
19447
|
__typename?: 'StoreOrder';
|
|
18383
19448
|
appliedEntitlementId?: Maybe<Scalars['String']['output']>;
|
|
@@ -18388,7 +19453,11 @@ export type StoreOrder = {
|
|
|
18388
19453
|
/** Context JSON (must include workspace_id) */
|
|
18389
19454
|
context: Scalars['JSON']['output'];
|
|
18390
19455
|
createdAt: Scalars['DateTime']['output'];
|
|
18391
|
-
/**
|
|
19456
|
+
/**
|
|
19457
|
+
* Currency captured when the store order was created.
|
|
19458
|
+
* Billing may still convert at payment time, but this is the canonical
|
|
19459
|
+
* order currency for checkout display and reconciliation.
|
|
19460
|
+
*/
|
|
18392
19461
|
currency: Scalars['String']['output'];
|
|
18393
19462
|
/** Fulfillment tracking for physical orders */
|
|
18394
19463
|
fulfillment?: Maybe<OrderFulfillment>;
|
|
@@ -18401,7 +19470,10 @@ export type StoreOrder = {
|
|
|
18401
19470
|
/** When payment was completed (null if still pending) */
|
|
18402
19471
|
purchasedAt?: Maybe<Scalars['DateTime']['output']>;
|
|
18403
19472
|
status: OrderStatus;
|
|
18404
|
-
/**
|
|
19473
|
+
/**
|
|
19474
|
+
* Total product cost (sum of line items)
|
|
19475
|
+
* Note: Currency, tax, and final billing amount handled by billing service
|
|
19476
|
+
*/
|
|
18405
19477
|
total: Scalars['Float']['output'];
|
|
18406
19478
|
transaction?: Maybe<Transaction>;
|
|
18407
19479
|
/** Transaction ID from billing service (set after payment) */
|
|
@@ -18425,7 +19497,11 @@ export type StorePaginationInput = {
|
|
|
18425
19497
|
/** Number of items to skip (for offset pagination) */
|
|
18426
19498
|
offset?: InputMaybe<Scalars['Int']['input']>;
|
|
18427
19499
|
};
|
|
18428
|
-
/**
|
|
19500
|
+
/**
|
|
19501
|
+
* External entity stub for StoreProduct from store-svc.
|
|
19502
|
+
* Federation gateway will resolve full StoreProduct data from store-svc.
|
|
19503
|
+
* Used by: SubscriptionEntitlement.storeProduct
|
|
19504
|
+
*/
|
|
18429
19505
|
export type StoreProduct = {
|
|
18430
19506
|
__typename?: 'StoreProduct';
|
|
18431
19507
|
/** Allow orders when out of stock (physical products) */
|
|
@@ -18435,7 +19511,10 @@ export type StoreProduct = {
|
|
|
18435
19511
|
/** Brand name (physical products) */
|
|
18436
19512
|
brand?: Maybe<Scalars['String']['output']>;
|
|
18437
19513
|
category?: Maybe<Scalars['String']['output']>;
|
|
18438
|
-
/**
|
|
19514
|
+
/**
|
|
19515
|
+
* Compatible products (from manifest.compatibility.products)
|
|
19516
|
+
* Examples: ["fluidgrids", "workspaces", "bigconsole", "botlit"]
|
|
19517
|
+
*/
|
|
18439
19518
|
compatibleProducts: Array<Scalars['String']['output']>;
|
|
18440
19519
|
content?: Maybe<Scalars['JSON']['output']>;
|
|
18441
19520
|
context?: Maybe<Scalars['JSON']['output']>;
|
|
@@ -18454,9 +19533,15 @@ export type StoreProduct = {
|
|
|
18454
19533
|
height?: Maybe<Scalars['Float']['output']>;
|
|
18455
19534
|
icon?: Maybe<Scalars['String']['output']>;
|
|
18456
19535
|
id: Scalars['ID']['output'];
|
|
18457
|
-
/**
|
|
19536
|
+
/**
|
|
19537
|
+
* Integration dependencies (from manifest.dependencies.integrations)
|
|
19538
|
+
* Examples: ["slack", "sendgrid", "zendesk", "salesforce"]
|
|
19539
|
+
*/
|
|
18458
19540
|
integrationDeps: Array<Scalars['String']['output']>;
|
|
18459
|
-
/**
|
|
19541
|
+
/**
|
|
19542
|
+
* Whether this product is already purchased by the current billing account.
|
|
19543
|
+
* Computed field based on billingAccountId context.
|
|
19544
|
+
*/
|
|
18460
19545
|
isPurchased?: Maybe<Scalars['Boolean']['output']>;
|
|
18461
19546
|
/** Product length (physical products) */
|
|
18462
19547
|
length?: Maybe<Scalars['Float']['output']>;
|
|
@@ -18487,7 +19572,10 @@ export type StoreProduct = {
|
|
|
18487
19572
|
rating?: Maybe<Scalars['Float']['output']>;
|
|
18488
19573
|
rejectedReason?: Maybe<Scalars['String']['output']>;
|
|
18489
19574
|
repositoryUrl?: Maybe<Scalars['String']['output']>;
|
|
18490
|
-
/**
|
|
19575
|
+
/**
|
|
19576
|
+
* Required permissions (from manifest.permissions)
|
|
19577
|
+
* Examples: ["network.outbound", "database.write", "notification.email"]
|
|
19578
|
+
*/
|
|
18491
19579
|
requiredPermissions: Array<Scalars['String']['output']>;
|
|
18492
19580
|
/** Whether this product requires shipping (physical products) */
|
|
18493
19581
|
requiresShipping?: Maybe<Scalars['Boolean']['output']>;
|
|
@@ -18506,7 +19594,13 @@ export type StoreProduct = {
|
|
|
18506
19594
|
/** Current stock quantity (physical products) */
|
|
18507
19595
|
stockQuantity?: Maybe<Scalars['Int']['output']>;
|
|
18508
19596
|
storeId?: Maybe<Scalars['ID']['output']>;
|
|
18509
|
-
/**
|
|
19597
|
+
/**
|
|
19598
|
+
* Type-specific subtype from manifest.json.
|
|
19599
|
+
* Examples:
|
|
19600
|
+
* - Agent: task_automation, conversational, research, code_assistant
|
|
19601
|
+
* - Node: action, transform, trigger, logic, integration, data, notification, ai
|
|
19602
|
+
* - Widget: chart, metric, table, map, form, text, custom
|
|
19603
|
+
*/
|
|
18510
19604
|
subType?: Maybe<Scalars['String']['output']>;
|
|
18511
19605
|
submittedAt?: Maybe<Scalars['DateTime']['output']>;
|
|
18512
19606
|
submittedBy?: Maybe<Scalars['String']['output']>;
|
|
@@ -18632,7 +19726,10 @@ export type SubmissionStatusUpdatedEvent = {
|
|
|
18632
19726
|
submissionId: Scalars['ID']['output'];
|
|
18633
19727
|
updatedAt: Scalars['String']['output'];
|
|
18634
19728
|
};
|
|
18635
|
-
/**
|
|
19729
|
+
/**
|
|
19730
|
+
* Input for submitting a contact inquiry from a public website.
|
|
19731
|
+
* reCAPTCHA token is required only when CAPTCHA_ENABLED=true.
|
|
19732
|
+
*/
|
|
18636
19733
|
export type SubmitContactInquiryInput = {
|
|
18637
19734
|
/** Company name (optional) */
|
|
18638
19735
|
company?: InputMaybe<Scalars['String']['input']>;
|
|
@@ -18646,8 +19743,8 @@ export type SubmitContactInquiryInput = {
|
|
|
18646
19743
|
name: Scalars['String']['input'];
|
|
18647
19744
|
/** Platform product ID (identifies which product website the form was submitted from) */
|
|
18648
19745
|
productId?: InputMaybe<Scalars['String']['input']>;
|
|
18649
|
-
/** reCAPTCHA token for bot protection (verified server-side
|
|
18650
|
-
recaptchaToken
|
|
19746
|
+
/** reCAPTCHA token for bot protection (verified server-side when CAPTCHA_ENABLED=true) */
|
|
19747
|
+
recaptchaToken?: InputMaybe<Scalars['String']['input']>;
|
|
18651
19748
|
/** Subject of the inquiry */
|
|
18652
19749
|
subject: Scalars['String']['input'];
|
|
18653
19750
|
};
|
|
@@ -18777,20 +19874,43 @@ export type Subscription = {
|
|
|
18777
19874
|
_emptyBilling?: Maybe<Scalars['String']['output']>;
|
|
18778
19875
|
_emptyDevportal?: Maybe<Scalars['String']['output']>;
|
|
18779
19876
|
_emptyI18n?: Maybe<Scalars['String']['output']>;
|
|
18780
|
-
/**
|
|
19877
|
+
/**
|
|
19878
|
+
* Placeholder field to allow empty Subscription type extension.
|
|
19879
|
+
* Each module has a unique placeholder to avoid naming conflicts across subgraphs.
|
|
19880
|
+
*/
|
|
18781
19881
|
_emptyNewsletter?: Maybe<Scalars['String']['output']>;
|
|
18782
19882
|
_emptyNotification?: Maybe<Scalars['String']['output']>;
|
|
18783
|
-
/**
|
|
19883
|
+
/**
|
|
19884
|
+
* Placeholder field to allow empty Subscription type extension.
|
|
19885
|
+
* Each module has a unique placeholder to avoid naming conflicts across subgraphs.
|
|
19886
|
+
*/
|
|
18784
19887
|
_emptySupport?: Maybe<Scalars['String']['output']>;
|
|
18785
19888
|
_emptyTours?: Maybe<Scalars['String']['output']>;
|
|
18786
|
-
/**
|
|
19889
|
+
/**
|
|
19890
|
+
* Placeholder subscription (extended by modules)
|
|
19891
|
+
* @rbac(public: true, scopeType: "global")
|
|
19892
|
+
*/
|
|
18787
19893
|
_placeholder?: Maybe<Scalars['String']['output']>;
|
|
18788
19894
|
agentStatusChanged: AgentProfile;
|
|
18789
|
-
/**
|
|
19895
|
+
/**
|
|
19896
|
+
* Fires whenever the AppReview lifecycle changes for a given application
|
|
19897
|
+
* (submission -> moderation -> publish/reject).
|
|
19898
|
+
*/
|
|
18790
19899
|
appReviewStatusChanged: AppReview;
|
|
18791
|
-
/**
|
|
19900
|
+
/**
|
|
19901
|
+
* Subscribe to channel health changes.
|
|
19902
|
+
* Emits when a channel's connectionHealth status changes (HEALTHY → DEGRADED, etc.)
|
|
19903
|
+
*
|
|
19904
|
+
* Use cases:
|
|
19905
|
+
* - Real-time dashboard updates showing channel health
|
|
19906
|
+
* - Alerting systems monitoring channel availability
|
|
19907
|
+
* - Auto-failover logic reacting to health degradation
|
|
19908
|
+
*/
|
|
18792
19909
|
channelHealthChanged: ChannelHealthUpdate;
|
|
18793
|
-
/**
|
|
19910
|
+
/**
|
|
19911
|
+
* Subscribe to connection-status changes for a channel.
|
|
19912
|
+
* Emits when isActive or isHealthy flips on the channel's connection.
|
|
19913
|
+
*/
|
|
18794
19914
|
connectionStatusChanged: ConnectionStatusChangedEvent;
|
|
18795
19915
|
/** Emits the deleted content-page id. */
|
|
18796
19916
|
contentPageDeleted: Scalars['ID']['output'];
|
|
@@ -18799,7 +19919,10 @@ export type Subscription = {
|
|
|
18799
19919
|
coverageChanged: CoverageChangeEvent;
|
|
18800
19920
|
dependencyTriggered: DependencyTriggeredUpdate;
|
|
18801
19921
|
executionUpdated: ExecutionUpdate;
|
|
18802
|
-
/**
|
|
19922
|
+
/**
|
|
19923
|
+
* Notifies clients when a feature flag definition is created or updated.
|
|
19924
|
+
* Subscribers can pass `flagKey` to receive only matching events.
|
|
19925
|
+
*/
|
|
18803
19926
|
featureFlagChanged: FeatureFlag;
|
|
18804
19927
|
/** Emits the deleted feature-flag id so clients can drop it from their cache. */
|
|
18805
19928
|
featureFlagDeleted: Scalars['ID']['output'];
|
|
@@ -18807,39 +19930,71 @@ export type Subscription = {
|
|
|
18807
19930
|
/** Subscribe to app installation status changes for a workspace. */
|
|
18808
19931
|
installationStatusUpdated?: Maybe<InstallationStatusUpdatedEvent>;
|
|
18809
19932
|
jobStatusUpdated: JobStatusUpdate;
|
|
18810
|
-
/**
|
|
19933
|
+
/**
|
|
19934
|
+
* Notifies clients when a keyboard shortcut is created, updated, or toggled.
|
|
19935
|
+
* Subscribers can pass `productId` to scope the stream to a single product.
|
|
19936
|
+
*/
|
|
18811
19937
|
keyboardShortcutChanged: KeyboardShortcut;
|
|
18812
19938
|
/** Emits the deleted shortcut id so clients can drop it from their cache. */
|
|
18813
19939
|
keyboardShortcutDeleted: Scalars['ID']['output'];
|
|
18814
19940
|
/** Subscribe to license entitlement status changes. */
|
|
18815
19941
|
licenseStatusUpdated?: Maybe<LicenseStatusUpdatedEvent>;
|
|
18816
19942
|
metricsUpdated: SchedulerMetricsUpdate;
|
|
18817
|
-
/**
|
|
19943
|
+
/**
|
|
19944
|
+
* Live stream of the authenticated caller's unread notification count.
|
|
19945
|
+
* Mirrors the result of `myUnreadNotificationCount` and replaces 30s
|
|
19946
|
+
* polling on the FE NotificationCenter — backend publishes on every
|
|
19947
|
+
* notification create / read / archive / delete.
|
|
19948
|
+
*/
|
|
18818
19949
|
myUnreadNotificationCountStream: Scalars['Int']['output'];
|
|
18819
19950
|
newTicketInQueue: SupportTicket;
|
|
18820
19951
|
/** Subscribe to new notifications for the authenticated user */
|
|
18821
19952
|
notificationReceived?: Maybe<Notification>;
|
|
18822
|
-
/**
|
|
19953
|
+
/**
|
|
19954
|
+
* Subscribe to delivery status updates for a notification.
|
|
19955
|
+
* Useful for real-time tracking of delivery progress.
|
|
19956
|
+
*/
|
|
18823
19957
|
onDeliveryStatusUpdate: ChannelDeliveryStatusUpdate;
|
|
18824
19958
|
/** Subscribe to order status changes for a specific order or workspace. */
|
|
18825
19959
|
orderStatusUpdated?: Maybe<OrderStatusUpdatedEvent>;
|
|
18826
19960
|
/** Emits the deleted product id so clients can drop it from their cache. */
|
|
18827
19961
|
productDeleted: Scalars['ID']['output'];
|
|
18828
|
-
/**
|
|
19962
|
+
/**
|
|
19963
|
+
* Notifies clients when a platform product is created or updated.
|
|
19964
|
+
* Fires on create + update mutations; deletes are reported via `productDeleted`.
|
|
19965
|
+
*/
|
|
18829
19966
|
productUpdated: PlatformProduct;
|
|
18830
|
-
/**
|
|
19967
|
+
/**
|
|
19968
|
+
* Fires when the per-organization revenue rollup recomputes
|
|
19969
|
+
* (currently every cron tick or after a settled sale).
|
|
19970
|
+
*/
|
|
18831
19971
|
revenueUpdated: DeveloperOrgRevenueAnalytics;
|
|
18832
19972
|
/** Subscribe to publisher submission status changes. */
|
|
18833
19973
|
submissionStatusUpdated?: Maybe<SubmissionStatusUpdatedEvent>;
|
|
19974
|
+
/** Stream of soft-deleted tenant ids. */
|
|
19975
|
+
tenantDeleted: Scalars['ID']['output'];
|
|
19976
|
+
/**
|
|
19977
|
+
* Stream of tenant lifecycle changes (create/update/configure/suspend/activate/
|
|
19978
|
+
* provision/endpoint-set). Backed by an in-memory pubsub fed by the matching
|
|
19979
|
+
* mutations. Lets the admin tenant list refresh in real time without polling.
|
|
19980
|
+
*/
|
|
19981
|
+
tenantUpdated: Tenant;
|
|
18834
19982
|
ticketMessageAdded: SupportMessage;
|
|
18835
19983
|
ticketUpdated: SupportTicket;
|
|
18836
19984
|
translationStatusChanged: TranslationStatusEvent;
|
|
18837
19985
|
translationUpdated: TranslationUpdateEvent;
|
|
18838
19986
|
/** Subscribe to unread count changes for the authenticated user */
|
|
18839
19987
|
unreadCountUpdated?: Maybe<Scalars['Int']['output']>;
|
|
18840
|
-
/**
|
|
19988
|
+
/**
|
|
19989
|
+
* Fires on every WebhookDelivery state transition for the given webhook
|
|
19990
|
+
* (PENDING -> DELIVERING -> DELIVERED|FAILED|RETRYING).
|
|
19991
|
+
*/
|
|
18841
19992
|
webhookDeliveryUpdated: WebhookDelivery;
|
|
18842
|
-
/**
|
|
19993
|
+
/**
|
|
19994
|
+
* Subscribe to webhook events received by a channel.
|
|
19995
|
+
* Emits when a new WebhookEvent row is persisted (before downstream processing).
|
|
19996
|
+
* Resolver-level filter scopes to the requested channelId.
|
|
19997
|
+
*/
|
|
18843
19998
|
webhookReceived: WebhookReceivedEvent;
|
|
18844
19999
|
};
|
|
18845
20000
|
/** Root subscription type */
|
|
@@ -18930,6 +20085,10 @@ export type SubscriptionSubmissionStatusUpdatedArgs = {
|
|
|
18930
20085
|
publisherId: Scalars['ID']['input'];
|
|
18931
20086
|
};
|
|
18932
20087
|
/** Root subscription type */
|
|
20088
|
+
export type SubscriptionTenantUpdatedArgs = {
|
|
20089
|
+
tenantId?: InputMaybe<Scalars['ID']['input']>;
|
|
20090
|
+
};
|
|
20091
|
+
/** Root subscription type */
|
|
18933
20092
|
export type SubscriptionTicketMessageAddedArgs = {
|
|
18934
20093
|
ticketId: Scalars['ID']['input'];
|
|
18935
20094
|
};
|
|
@@ -18960,7 +20119,10 @@ export type SubscriptionWebhookDeliveryUpdatedArgs = {
|
|
|
18960
20119
|
export type SubscriptionWebhookReceivedArgs = {
|
|
18961
20120
|
channelId: Scalars['ID']['input'];
|
|
18962
20121
|
};
|
|
18963
|
-
/**
|
|
20122
|
+
/**
|
|
20123
|
+
* SubscriptionEntitlement defines what store items a plan grants access to.
|
|
20124
|
+
* This allows plans to provide discounts or free access to store items.
|
|
20125
|
+
*/
|
|
18964
20126
|
export type SubscriptionEntitlement = {
|
|
18965
20127
|
__typename?: 'SubscriptionEntitlement';
|
|
18966
20128
|
/** The type of access granted (FREE_ACCESS or DISCOUNT) */
|
|
@@ -18975,7 +20137,10 @@ export type SubscriptionEntitlement = {
|
|
|
18975
20137
|
id: Scalars['ID']['output'];
|
|
18976
20138
|
/** Reference to the store item entity (resolved via Federation) */
|
|
18977
20139
|
item?: Maybe<StoreItem>;
|
|
18978
|
-
/**
|
|
20140
|
+
/**
|
|
20141
|
+
* Reference to the store item (external entity from Store service)
|
|
20142
|
+
* Resolved via Federation 2 Gateway
|
|
20143
|
+
*/
|
|
18979
20144
|
itemId: Scalars['String']['output'];
|
|
18980
20145
|
/** The plan that grants this entitlement */
|
|
18981
20146
|
plan: Plan;
|
|
@@ -19073,14 +20238,25 @@ export type SupportAttachmentUploadSession = {
|
|
|
19073
20238
|
uploadType: Scalars['String']['output'];
|
|
19074
20239
|
uploadUrl?: Maybe<Scalars['String']['output']>;
|
|
19075
20240
|
};
|
|
19076
|
-
/**
|
|
20241
|
+
/**
|
|
20242
|
+
* Privacy-preserving author projection for SupportMessage. End-users only ever see
|
|
20243
|
+
* the anonymized alias + generated avatar for agent authors; super_admin / service
|
|
20244
|
+
* actors (admin app) see the real identity.
|
|
20245
|
+
*/
|
|
19077
20246
|
export type SupportAuthor = {
|
|
19078
20247
|
__typename?: 'SupportAuthor';
|
|
19079
20248
|
avatar: Scalars['String']['output'];
|
|
19080
20249
|
displayName: Scalars['String']['output'];
|
|
19081
|
-
/**
|
|
20250
|
+
/**
|
|
20251
|
+
* Stable opaque identifier safe for both viewer scopes. For agent authors viewed
|
|
20252
|
+
* by an end-user this is the AgentProfile id (NOT the underlying userId); for
|
|
20253
|
+
* admin viewers and customer authors it is the underlying actor id.
|
|
20254
|
+
*/
|
|
19082
20255
|
id: Scalars['ID']['output'];
|
|
19083
|
-
/**
|
|
20256
|
+
/**
|
|
20257
|
+
* True when the viewer was scoped down to the anonymized projection. Admins see
|
|
20258
|
+
* this as false; end-users see it as true for agent authors.
|
|
20259
|
+
*/
|
|
19084
20260
|
isAnonymized: Scalars['Boolean']['output'];
|
|
19085
20261
|
/** AGENT | CUSTOMER | SYSTEM — drives UI styling without leaking identity. */
|
|
19086
20262
|
kind: SupportAuthorKind;
|
|
@@ -19090,7 +20266,11 @@ export declare enum SupportAuthorKind {
|
|
|
19090
20266
|
Customer = "CUSTOMER",
|
|
19091
20267
|
System = "SYSTEM"
|
|
19092
20268
|
}
|
|
19093
|
-
/**
|
|
20269
|
+
/**
|
|
20270
|
+
* Support-specific context output type.
|
|
20271
|
+
* Returns the stored context for each record.
|
|
20272
|
+
* Uses a unique type name to avoid federation conflicts with other services.
|
|
20273
|
+
*/
|
|
19094
20274
|
export type SupportContext = {
|
|
19095
20275
|
__typename?: 'SupportContext';
|
|
19096
20276
|
custom?: Maybe<Scalars['JSON']['output']>;
|
|
@@ -19101,7 +20281,11 @@ export type SupportContext = {
|
|
|
19101
20281
|
userId?: Maybe<Scalars['ID']['output']>;
|
|
19102
20282
|
workspaceId?: Maybe<Scalars['ID']['output']>;
|
|
19103
20283
|
};
|
|
19104
|
-
/**
|
|
20284
|
+
/**
|
|
20285
|
+
* Context filter input for querying records by context.
|
|
20286
|
+
* Supports exact match filtering on context fields.
|
|
20287
|
+
* Note: tenantId filtering is applied automatically from context.tenant?.id.
|
|
20288
|
+
*/
|
|
19105
20289
|
export type SupportContextFilterInput = {
|
|
19106
20290
|
organizationId?: InputMaybe<Scalars['ID']['input']>;
|
|
19107
20291
|
productId?: InputMaybe<Scalars['ID']['input']>;
|
|
@@ -19109,7 +20293,11 @@ export type SupportContextFilterInput = {
|
|
|
19109
20293
|
userId?: InputMaybe<Scalars['ID']['input']>;
|
|
19110
20294
|
workspaceId?: InputMaybe<Scalars['ID']['input']>;
|
|
19111
20295
|
};
|
|
19112
|
-
/**
|
|
20296
|
+
/**
|
|
20297
|
+
* Support context input for filtering and scoping data.
|
|
20298
|
+
* All fields are optional and can be extended as needed.
|
|
20299
|
+
* Note: tenantId is derived from context.tenant?.id (gateway header), not from client input.
|
|
20300
|
+
*/
|
|
19113
20301
|
export type SupportContextInput = {
|
|
19114
20302
|
custom?: InputMaybe<Scalars['JSON']['input']>;
|
|
19115
20303
|
organizationId?: InputMaybe<Scalars['ID']['input']>;
|
|
@@ -19138,7 +20326,10 @@ export type SupportMessage = {
|
|
|
19138
20326
|
__typename?: 'SupportMessage';
|
|
19139
20327
|
attachmentCount: Scalars['Int']['output'];
|
|
19140
20328
|
attachments: Array<Scalars['String']['output']>;
|
|
19141
|
-
/**
|
|
20329
|
+
/**
|
|
20330
|
+
* Privacy-aware author projection. Returns the anonymized alias + avatar for
|
|
20331
|
+
* end-users; admin app (super_admin / service) sees the real identity.
|
|
20332
|
+
*/
|
|
19142
20333
|
author: SupportAuthor;
|
|
19143
20334
|
authorId: Scalars['String']['output'];
|
|
19144
20335
|
/** Contextual IDs for filtering and scoping (workspaceId, userId, projectId, etc.) */
|
|
@@ -19352,7 +20543,10 @@ export type SyncTourStepInput = {
|
|
|
19352
20543
|
waitForSelector?: InputMaybe<Scalars['String']['input']>;
|
|
19353
20544
|
waitForTimeout?: InputMaybe<Scalars['Int']['input']>;
|
|
19354
20545
|
};
|
|
19355
|
-
/**
|
|
20546
|
+
/**
|
|
20547
|
+
* Input for syncing workspace from workspace layer to global layer
|
|
20548
|
+
* Called by wspace-workspace-svc after creating a workspace directly
|
|
20549
|
+
*/
|
|
19356
20550
|
export type SyncWorkspaceFromWspaceInput = {
|
|
19357
20551
|
/** Workspace name */
|
|
19358
20552
|
name: Scalars['String']['input'];
|
|
@@ -19447,13 +20641,20 @@ export type TemplateNotificationResult = {
|
|
|
19447
20641
|
/** Number of notifications successfully triggered */
|
|
19448
20642
|
totalTriggered: Scalars['Int']['output'];
|
|
19449
20643
|
};
|
|
19450
|
-
/**
|
|
20644
|
+
/**
|
|
20645
|
+
* Tenant type stub - represents a tenant entity from the tenant service
|
|
20646
|
+
* This service doesn't own the Tenant model, but references it
|
|
20647
|
+
*/
|
|
19451
20648
|
export type Tenant = {
|
|
19452
20649
|
__typename?: 'Tenant';
|
|
19453
20650
|
config?: Maybe<TenantConfig>;
|
|
19454
20651
|
createdAt: Scalars['DateTime']['output'];
|
|
19455
20652
|
customDomain?: Maybe<Scalars['String']['output']>;
|
|
19456
|
-
/**
|
|
20653
|
+
/**
|
|
20654
|
+
* Service routing endpoint for dedicated tenants
|
|
20655
|
+
* For SHARED tenants, this is null (uses default service)
|
|
20656
|
+
* For DEDICATED tenants, this points to the dedicated service instance
|
|
20657
|
+
*/
|
|
19457
20658
|
endpoint?: Maybe<Scalars['String']['output']>;
|
|
19458
20659
|
id: Scalars['ID']['output'];
|
|
19459
20660
|
metadata?: Maybe<Scalars['JSON']['output']>;
|
|
@@ -19476,6 +20677,18 @@ export type TenantConfig = {
|
|
|
19476
20677
|
features?: Maybe<Scalars['JSON']['output']>;
|
|
19477
20678
|
region?: Maybe<Scalars['String']['output']>;
|
|
19478
20679
|
};
|
|
20680
|
+
/**
|
|
20681
|
+
* Inline export payload for `exportTenantsCsv`. Returns CSV text along with a
|
|
20682
|
+
* count of rows and a flag if the result was capped at the requested limit.
|
|
20683
|
+
*/
|
|
20684
|
+
export type TenantExport = {
|
|
20685
|
+
__typename?: 'TenantExport';
|
|
20686
|
+
csv: Scalars['String']['output'];
|
|
20687
|
+
format: Scalars['String']['output'];
|
|
20688
|
+
generatedAt: Scalars['DateTime']['output'];
|
|
20689
|
+
rowCount: Scalars['Int']['output'];
|
|
20690
|
+
truncated: Scalars['Boolean']['output'];
|
|
20691
|
+
};
|
|
19479
20692
|
/** Filter input for querying tenants */
|
|
19480
20693
|
export type TenantFilterInput = {
|
|
19481
20694
|
search?: InputMaybe<Scalars['String']['input']>;
|
|
@@ -19491,7 +20704,10 @@ export type TenantList = {
|
|
|
19491
20704
|
offset: Scalars['Int']['output'];
|
|
19492
20705
|
total: Scalars['Int']['output'];
|
|
19493
20706
|
};
|
|
19494
|
-
/**
|
|
20707
|
+
/**
|
|
20708
|
+
* Lightweight tenant routing info used by gateways to decide
|
|
20709
|
+
* whether to proxy requests to a dedicated tenant endpoint.
|
|
20710
|
+
*/
|
|
19495
20711
|
export type TenantRoutingInfo = {
|
|
19496
20712
|
__typename?: 'TenantRoutingInfo';
|
|
19497
20713
|
endpoint?: Maybe<Scalars['String']['output']>;
|
|
@@ -19666,7 +20882,13 @@ export type Tour = {
|
|
|
19666
20882
|
metadata?: Maybe<Scalars['JSON']['output']>;
|
|
19667
20883
|
mobileConfig?: Maybe<Scalars['JSON']['output']>;
|
|
19668
20884
|
moduleId?: Maybe<Scalars['String']['output']>;
|
|
19669
|
-
/**
|
|
20885
|
+
/**
|
|
20886
|
+
* The current authenticated user's progress for this tour, or null if the
|
|
20887
|
+
* user has not interacted with it yet. Resolves to the most recent
|
|
20888
|
+
* TourUserProgress row for the requesting actor. Used by the TourTrigger
|
|
20889
|
+
* dropdown to render per-tour status chips (Completed / In progress /
|
|
20890
|
+
* Skipped) without requiring a second round-trip.
|
|
20891
|
+
*/
|
|
19670
20892
|
myProgress?: Maybe<TourUserProgress>;
|
|
19671
20893
|
name: Scalars['String']['output'];
|
|
19672
20894
|
pageId?: Maybe<Scalars['String']['output']>;
|
|
@@ -19939,7 +21161,12 @@ export declare enum TourUserStatus {
|
|
|
19939
21161
|
NotStarted = "NOT_STARTED",
|
|
19940
21162
|
Skipped = "SKIPPED"
|
|
19941
21163
|
}
|
|
19942
|
-
/**
|
|
21164
|
+
/**
|
|
21165
|
+
* Tours-specific context output type.
|
|
21166
|
+
* Returns the stored context for each record.
|
|
21167
|
+
* Uses a unique type name to avoid federation conflicts with other services.
|
|
21168
|
+
* Must be @shareable since context types may exist in multiple subgraphs.
|
|
21169
|
+
*/
|
|
19943
21170
|
export type ToursContext = {
|
|
19944
21171
|
__typename?: 'ToursContext';
|
|
19945
21172
|
/** Additional custom context as JSON */
|
|
@@ -19972,7 +21199,10 @@ export type ToursResponse = {
|
|
|
19972
21199
|
total: Scalars['Int']['output'];
|
|
19973
21200
|
tours: Array<Tour>;
|
|
19974
21201
|
};
|
|
19975
|
-
/**
|
|
21202
|
+
/**
|
|
21203
|
+
* Transaction entity - resolvable via Federation Gateway.
|
|
21204
|
+
* Other services (e.g., store-svc) can reference Transaction by id.
|
|
21205
|
+
*/
|
|
19976
21206
|
export type Transaction = {
|
|
19977
21207
|
__typename?: 'Transaction';
|
|
19978
21208
|
amount: Scalars['Float']['output'];
|
|
@@ -20421,7 +21651,10 @@ export type UpdateChannelInput = {
|
|
|
20421
21651
|
export type UpdateConnectionInput = {
|
|
20422
21652
|
/** Operation context for scoping */
|
|
20423
21653
|
context?: InputMaybe<ContextInput>;
|
|
20424
|
-
/**
|
|
21654
|
+
/**
|
|
21655
|
+
* Platform-specific credentials (API keys, tokens, etc.)
|
|
21656
|
+
* Will be encrypted before storage.
|
|
21657
|
+
*/
|
|
20425
21658
|
credentials?: InputMaybe<Scalars['JSON']['input']>;
|
|
20426
21659
|
/** Connection status */
|
|
20427
21660
|
isActive?: InputMaybe<Scalars['Boolean']['input']>;
|
|
@@ -21001,7 +22234,10 @@ export type UpdateSubscriptionInput = {
|
|
|
21001
22234
|
export type UpdateSubscriptionSeatsInput = {
|
|
21002
22235
|
/** Billing account that owns this subscription. */
|
|
21003
22236
|
billingAccountId: Scalars['ID']['input'];
|
|
21004
|
-
/**
|
|
22237
|
+
/**
|
|
22238
|
+
* New seat count. Must be >= plan.minSeats. Applied immediately on Stripe (with proration)
|
|
22239
|
+
* and at next cycle on Razorpay (proration delta charged as a separate one-time order).
|
|
22240
|
+
*/
|
|
21005
22241
|
seatCount: Scalars['Int']['input'];
|
|
21006
22242
|
subscriptionId: Scalars['ID']['input'];
|
|
21007
22243
|
};
|
|
@@ -21339,7 +22575,11 @@ export type UsageTrends = {
|
|
|
21339
22575
|
/** Predicted usage for next period */
|
|
21340
22576
|
predictedUsage?: Maybe<Scalars['Float']['output']>;
|
|
21341
22577
|
};
|
|
21342
|
-
/**
|
|
22578
|
+
/**
|
|
22579
|
+
* User type stub - represents a user entity from the auth/user service
|
|
22580
|
+
* This service doesn't own the User model, but references it in usage tracking
|
|
22581
|
+
* Federation gateway will resolve full User data from auth/user service.
|
|
22582
|
+
*/
|
|
21343
22583
|
export type User = {
|
|
21344
22584
|
__typename?: 'User';
|
|
21345
22585
|
/** Tickets assigned to this user (if support agent) */
|
|
@@ -21367,13 +22607,21 @@ export type User = {
|
|
|
21367
22607
|
updatedAt: Scalars['DateTime']['output'];
|
|
21368
22608
|
username: Scalars['String']['output'];
|
|
21369
22609
|
};
|
|
21370
|
-
/**
|
|
22610
|
+
/**
|
|
22611
|
+
* User type stub - represents a user entity from the auth/user service
|
|
22612
|
+
* This service doesn't own the User model, but references it in usage tracking
|
|
22613
|
+
* Federation gateway will resolve full User data from auth/user service.
|
|
22614
|
+
*/
|
|
21371
22615
|
export type UserAssignedTicketsArgs = {
|
|
21372
22616
|
filter?: InputMaybe<SupportTicketFilterInput>;
|
|
21373
22617
|
limit?: InputMaybe<Scalars['Int']['input']>;
|
|
21374
22618
|
offset?: InputMaybe<Scalars['Int']['input']>;
|
|
21375
22619
|
};
|
|
21376
|
-
/**
|
|
22620
|
+
/**
|
|
22621
|
+
* User type stub - represents a user entity from the auth/user service
|
|
22622
|
+
* This service doesn't own the User model, but references it in usage tracking
|
|
22623
|
+
* Federation gateway will resolve full User data from auth/user service.
|
|
22624
|
+
*/
|
|
21377
22625
|
export type UserTicketsArgs = {
|
|
21378
22626
|
filter?: InputMaybe<SupportTicketFilterInput>;
|
|
21379
22627
|
limit?: InputMaybe<Scalars['Int']['input']>;
|
|
@@ -21427,10 +22675,17 @@ export type UserLanguagePreference = {
|
|
|
21427
22675
|
updatedAt: Scalars['DateTime']['output'];
|
|
21428
22676
|
userId: Scalars['String']['output'];
|
|
21429
22677
|
};
|
|
21430
|
-
/**
|
|
22678
|
+
/**
|
|
22679
|
+
* UserPlatformConnection represents a verified user identity on a communication platform.
|
|
22680
|
+
* It serves as the DM authorization allowlist and notification delivery target.
|
|
22681
|
+
* Replaces the former ChannelUser model.
|
|
22682
|
+
*/
|
|
21431
22683
|
export type UserPlatformConnection = {
|
|
21432
22684
|
__typename?: 'UserPlatformConnection';
|
|
21433
|
-
/**
|
|
22685
|
+
/**
|
|
22686
|
+
* Whether the user has a valid DM conversation target
|
|
22687
|
+
* (dmAllowed = true AND dmConversationId is set)
|
|
22688
|
+
*/
|
|
21434
22689
|
canReceiveDm: Scalars['Boolean']['output'];
|
|
21435
22690
|
/** Associated channel */
|
|
21436
22691
|
channel: Channel;
|
|
@@ -21446,9 +22701,16 @@ export type UserPlatformConnection = {
|
|
|
21446
22701
|
customStatus?: Maybe<Scalars['String']['output']>;
|
|
21447
22702
|
/** When this record was soft-deleted (null = active) */
|
|
21448
22703
|
deletedAt?: Maybe<Scalars['DateTime']['output']>;
|
|
21449
|
-
/**
|
|
22704
|
+
/**
|
|
22705
|
+
* Whether DMs to/from this user are allowed.
|
|
22706
|
+
* Only true when source = OAUTH or PAIRED; never for SEEN.
|
|
22707
|
+
*/
|
|
21450
22708
|
dmAllowed: Scalars['Boolean']['output'];
|
|
21451
|
-
/**
|
|
22709
|
+
/**
|
|
22710
|
+
* Platform-specific DM conversation ID.
|
|
22711
|
+
* Slack: D0A1B2C3 | Teams: conversation reference JSON |
|
|
22712
|
+
* WhatsApp: JID | Discord: N/A | Google Chat: space name
|
|
22713
|
+
*/
|
|
21452
22714
|
dmConversationId?: Maybe<Scalars['String']['output']>;
|
|
21453
22715
|
/** Platform avatar URL */
|
|
21454
22716
|
externalAvatarUrl?: Maybe<Scalars['String']['output']>;
|
|
@@ -21464,7 +22726,12 @@ export type UserPlatformConnection = {
|
|
|
21464
22726
|
externalUsername?: Maybe<Scalars['String']['output']>;
|
|
21465
22727
|
/** Unique connection ID */
|
|
21466
22728
|
id: Scalars['ID']['output'];
|
|
21467
|
-
/**
|
|
22729
|
+
/**
|
|
22730
|
+
* Opaque reference to the IntegrationConnection in wspace-integrations-svc
|
|
22731
|
+
* that holds this user's personal OAuth token. Set after the user completes
|
|
22732
|
+
* the OAuth flow in microfe-integrations and clicks "Link to bot channel".
|
|
22733
|
+
* Null for connections created via the legacy Slack OAuth flow.
|
|
22734
|
+
*/
|
|
21468
22735
|
integrationConnectionId?: Maybe<Scalars['ID']['output']>;
|
|
21469
22736
|
/** Internal Botlit user ID (opaque reference) */
|
|
21470
22737
|
internalUserId?: Maybe<Scalars['ID']['output']>;
|
|
@@ -21482,7 +22749,10 @@ export type UserPlatformConnection = {
|
|
|
21482
22749
|
organizationId: Scalars['ID']['output'];
|
|
21483
22750
|
/** When pairing was approved */
|
|
21484
22751
|
pairingApprovedAt?: Maybe<Scalars['DateTime']['output']>;
|
|
21485
|
-
/**
|
|
22752
|
+
/**
|
|
22753
|
+
* 8-character pairing code (WhatsApp / Discord only).
|
|
22754
|
+
* Only present when pairingStatus = PENDING.
|
|
22755
|
+
*/
|
|
21486
22756
|
pairingCode?: Maybe<Scalars['String']['output']>;
|
|
21487
22757
|
/** When the pairing code expires (1-hour TTL from generation) */
|
|
21488
22758
|
pairingCodeExpiresAt?: Maybe<Scalars['DateTime']['output']>;
|
|
@@ -21500,7 +22770,10 @@ export type UserPlatformConnection = {
|
|
|
21500
22770
|
source: UserPlatformSource;
|
|
21501
22771
|
/** Last update timestamp */
|
|
21502
22772
|
updatedAt: Scalars['DateTime']['output'];
|
|
21503
|
-
/**
|
|
22773
|
+
/**
|
|
22774
|
+
* User's personal OAuth token expiry (AES-256-GCM encrypted at rest)
|
|
22775
|
+
* NOTE: The token itself is never returned by queries; only the expiry is exposed.
|
|
22776
|
+
*/
|
|
21504
22777
|
userTokenExpiresAt?: Maybe<Scalars['DateTime']['output']>;
|
|
21505
22778
|
/** Scopes granted by the user's personal OAuth token */
|
|
21506
22779
|
userTokenScope?: Maybe<Scalars['String']['output']>;
|
|
@@ -21524,7 +22797,10 @@ export type UserPlatformConnectionFilterInput = {
|
|
|
21524
22797
|
/** Filter by connection source */
|
|
21525
22798
|
source?: InputMaybe<UserPlatformSource>;
|
|
21526
22799
|
};
|
|
21527
|
-
/**
|
|
22800
|
+
/**
|
|
22801
|
+
* Paginated list of user platform connections with cursor support.
|
|
22802
|
+
* Pass `nextCursor` from a previous response as `cursor` in the next call.
|
|
22803
|
+
*/
|
|
21528
22804
|
export type UserPlatformConnectionList = {
|
|
21529
22805
|
__typename?: 'UserPlatformConnectionList';
|
|
21530
22806
|
hasMore: Scalars['Boolean']['output'];
|
|
@@ -21532,20 +22808,35 @@ export type UserPlatformConnectionList = {
|
|
|
21532
22808
|
nextCursor?: Maybe<Scalars['String']['output']>;
|
|
21533
22809
|
total: Scalars['Int']['output'];
|
|
21534
22810
|
};
|
|
21535
|
-
/**
|
|
22811
|
+
/**
|
|
22812
|
+
* How a UserPlatformConnection was established.
|
|
22813
|
+
* Controls whether dmAllowed can be set to true.
|
|
22814
|
+
*/
|
|
21536
22815
|
export declare enum UserPlatformSource {
|
|
21537
22816
|
/** Bulk-imported user record (e.g. from CSV or directory sync). */
|
|
21538
22817
|
Import = "IMPORT",
|
|
21539
22818
|
/** Admin manually added the user (back-office operation). */
|
|
21540
22819
|
Manual = "MANUAL",
|
|
21541
|
-
/**
|
|
22820
|
+
/**
|
|
22821
|
+
* Connected via dashboard OAuth flow (Slack, Teams, Google Chat).
|
|
22822
|
+
* Grants dmAllowed = true immediately after token exchange.
|
|
22823
|
+
*/
|
|
21542
22824
|
Oauth = "OAUTH",
|
|
21543
|
-
/**
|
|
22825
|
+
/**
|
|
22826
|
+
* Connected via pairing code (WhatsApp, Discord).
|
|
22827
|
+
* Grants dmAllowed = true once the user approves the pairing code in the dashboard.
|
|
22828
|
+
*/
|
|
21544
22829
|
Paired = "PAIRED",
|
|
21545
|
-
/**
|
|
22830
|
+
/**
|
|
22831
|
+
* Passively observed from an inbound webhook event.
|
|
22832
|
+
* Never grants dmAllowed = true automatically.
|
|
22833
|
+
*/
|
|
21546
22834
|
Seen = "SEEN"
|
|
21547
22835
|
}
|
|
21548
|
-
/**
|
|
22836
|
+
/**
|
|
22837
|
+
* User preference record storing theme, notification settings,
|
|
22838
|
+
* dashboard customization, and other user-specific configuration.
|
|
22839
|
+
*/
|
|
21549
22840
|
export type UserPreference = {
|
|
21550
22841
|
__typename?: 'UserPreference';
|
|
21551
22842
|
accessibility?: Maybe<Scalars['JSON']['output']>;
|
|
@@ -21558,7 +22849,10 @@ export type UserPreference = {
|
|
|
21558
22849
|
updatedAt: Scalars['DateTime']['output'];
|
|
21559
22850
|
userId: Scalars['String']['output'];
|
|
21560
22851
|
};
|
|
21561
|
-
/**
|
|
22852
|
+
/**
|
|
22853
|
+
* User presence status on the communication platform.
|
|
22854
|
+
* Synced from platform webhooks or periodic polling.
|
|
22855
|
+
*/
|
|
21562
22856
|
export declare enum UserPresenceStatus {
|
|
21563
22857
|
/** User is away or idle */
|
|
21564
22858
|
Away = "AWAY",
|
|
@@ -21593,6 +22887,15 @@ export type UserStoreSubscription = {
|
|
|
21593
22887
|
subscribedAt: Scalars['DateTime']['output'];
|
|
21594
22888
|
userId: Scalars['ID']['output'];
|
|
21595
22889
|
};
|
|
22890
|
+
/** Association between a user and a universal tag */
|
|
22891
|
+
export type UserTagAssignment = {
|
|
22892
|
+
__typename?: 'UserTagAssignment';
|
|
22893
|
+
createdAt: Scalars['DateTime']['output'];
|
|
22894
|
+
id: Scalars['ID']['output'];
|
|
22895
|
+
tag: UniversalTag;
|
|
22896
|
+
tagId: Scalars['String']['output'];
|
|
22897
|
+
userId: Scalars['String']['output'];
|
|
22898
|
+
};
|
|
21596
22899
|
export type UserWishlist = {
|
|
21597
22900
|
__typename?: 'UserWishlist';
|
|
21598
22901
|
addedAt: Scalars['DateTime']['output'];
|
|
@@ -21840,7 +23143,10 @@ export declare enum WebhookDeliveryStatus {
|
|
|
21840
23143
|
Pending = "PENDING",
|
|
21841
23144
|
Retrying = "RETRYING"
|
|
21842
23145
|
}
|
|
21843
|
-
/**
|
|
23146
|
+
/**
|
|
23147
|
+
* WebhookEvent represents a received webhook (transient, 7-day TTL)
|
|
23148
|
+
* Used for debugging and monitoring only
|
|
23149
|
+
*/
|
|
21844
23150
|
export type WebhookEvent = {
|
|
21845
23151
|
__typename?: 'WebhookEvent';
|
|
21846
23152
|
/** Associated channel */
|
|
@@ -21876,7 +23182,10 @@ export type WebhookEvent = {
|
|
|
21876
23182
|
/** Last update timestamp */
|
|
21877
23183
|
updatedAt: Scalars['DateTime']['output'];
|
|
21878
23184
|
};
|
|
21879
|
-
/**
|
|
23185
|
+
/**
|
|
23186
|
+
* Paginated list of webhook events with cursor support.
|
|
23187
|
+
* Pass `nextCursor` from a previous response as `cursor` in the next call.
|
|
23188
|
+
*/
|
|
21880
23189
|
export type WebhookEventList = {
|
|
21881
23190
|
__typename?: 'WebhookEventList';
|
|
21882
23191
|
hasMore: Scalars['Boolean']['output'];
|
|
@@ -22004,11 +23313,18 @@ export type WithdrawConsentInput = {
|
|
|
22004
23313
|
subjectId: Scalars['ID']['input'];
|
|
22005
23314
|
subjectType: Scalars['String']['input'];
|
|
22006
23315
|
};
|
|
22007
|
-
/**
|
|
23316
|
+
/**
|
|
23317
|
+
* Workspace type stub - represents a workspace entity from the workspace service
|
|
23318
|
+
* This service doesn't own the Workspace model, but references it
|
|
23319
|
+
*/
|
|
22008
23320
|
export type Workspace = {
|
|
22009
23321
|
__typename?: 'Workspace';
|
|
22010
23322
|
createdAt: Scalars['DateTime']['output'];
|
|
22011
|
-
/**
|
|
23323
|
+
/**
|
|
23324
|
+
* Service routing endpoint for dedicated tenants
|
|
23325
|
+
* For SHARED tenants, this is null (uses default workspace service)
|
|
23326
|
+
* For DEDICATED tenants, this points to the dedicated workspace service instance
|
|
23327
|
+
*/
|
|
22012
23328
|
endpoint?: Maybe<Scalars['String']['output']>;
|
|
22013
23329
|
id: Scalars['ID']['output'];
|
|
22014
23330
|
/** Member count */
|
|
@@ -22029,7 +23345,10 @@ export type Workspace = {
|
|
|
22029
23345
|
type: WorkspaceType;
|
|
22030
23346
|
updatedAt: Scalars['DateTime']['output'];
|
|
22031
23347
|
};
|
|
22032
|
-
/**
|
|
23348
|
+
/**
|
|
23349
|
+
* Workspace-level override for a feature flag.
|
|
23350
|
+
* Workspace admins can disable flags or control user opt-in for their workspace.
|
|
23351
|
+
*/
|
|
22033
23352
|
export type WorkspaceFeatureFlagOverride = {
|
|
22034
23353
|
__typename?: 'WorkspaceFeatureFlagOverride';
|
|
22035
23354
|
allowUserOptIn: Scalars['Boolean']['output'];
|