@apollo-deploy/typescript-sdk 1.0.0 → 1.1.0

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.
Files changed (49) hide show
  1. package/README.md +68 -124
  2. package/dist/index.d.ts +2 -2
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/src/client.d.ts +6 -6
  5. package/dist/src/client.d.ts.map +1 -1
  6. package/dist/src/client.js +4 -4
  7. package/dist/src/client.js.map +1 -1
  8. package/dist/src/domain/approvals.d.ts +1 -1
  9. package/dist/src/domain/approvals.d.ts.map +1 -1
  10. package/dist/src/domain/approvals.js.map +1 -1
  11. package/dist/src/domain/apps.d.ts +1 -3
  12. package/dist/src/domain/apps.d.ts.map +1 -1
  13. package/dist/src/domain/apps.js +0 -9
  14. package/dist/src/domain/apps.js.map +1 -1
  15. package/dist/src/domain/health.d.ts +1 -3
  16. package/dist/src/domain/health.d.ts.map +1 -1
  17. package/dist/src/domain/health.js +0 -16
  18. package/dist/src/domain/health.js.map +1 -1
  19. package/dist/src/domain/index.d.ts +4 -4
  20. package/dist/src/domain/index.d.ts.map +1 -1
  21. package/dist/src/domain/index.js +2 -2
  22. package/dist/src/domain/index.js.map +1 -1
  23. package/dist/src/domain/integrations-admin.d.ts +17 -0
  24. package/dist/src/domain/integrations-admin.d.ts.map +1 -0
  25. package/dist/src/domain/integrations-admin.js +36 -0
  26. package/dist/src/domain/integrations-admin.js.map +1 -0
  27. package/dist/src/domain/integrations.d.ts +26 -38
  28. package/dist/src/domain/integrations.d.ts.map +1 -1
  29. package/dist/src/domain/integrations.js +33 -98
  30. package/dist/src/domain/integrations.js.map +1 -1
  31. package/dist/src/domain/o-auth.d.ts +1 -21
  32. package/dist/src/domain/o-auth.d.ts.map +1 -1
  33. package/dist/src/domain/o-auth.js +0 -99
  34. package/dist/src/domain/o-auth.js.map +1 -1
  35. package/dist/src/domain/release-pipelines.d.ts +3 -1
  36. package/dist/src/domain/release-pipelines.d.ts.map +1 -1
  37. package/dist/src/domain/release-pipelines.js +8 -0
  38. package/dist/src/domain/release-pipelines.js.map +1 -1
  39. package/dist/src/domain/settings.d.ts +3 -1
  40. package/dist/src/domain/settings.d.ts.map +1 -1
  41. package/dist/src/domain/settings.js +8 -0
  42. package/dist/src/domain/settings.js.map +1 -1
  43. package/dist/src/types/index.d.ts +733 -924
  44. package/dist/src/types/index.d.ts.map +1 -1
  45. package/package.json +1 -4
  46. package/dist/src/domain/credentials.d.ts +0 -25
  47. package/dist/src/domain/credentials.d.ts.map +0 -1
  48. package/dist/src/domain/credentials.js +0 -81
  49. package/dist/src/domain/credentials.js.map +0 -1
@@ -16,118 +16,6 @@ export interface AuthOpenidConnectDiscoveryMetadataResponse {
16
16
  token_endpoint: string;
17
17
  userinfo_endpoint?: string;
18
18
  }
19
- export interface AuthRegisterUserInput {
20
- email: string;
21
- password: string;
22
- name?: string;
23
- }
24
- export interface AuthRegisterUserResponse {
25
- user: {
26
- id: string;
27
- email: string;
28
- name: string | null;
29
- role?: ('admin' | 'user') | null;
30
- emailVerified: boolean;
31
- image?: string | null;
32
- createdAt: string | string;
33
- updatedAt: string | string;
34
- };
35
- sessionToken?: string;
36
- }
37
- export interface AuthAuthenticateUserInput {
38
- email: string;
39
- password: string;
40
- rememberMe?: boolean;
41
- }
42
- export interface AuthAuthenticateUserResponse {
43
- sessionToken: string;
44
- user: {
45
- id: string;
46
- email: string;
47
- name: string | null;
48
- role?: ('admin' | 'user') | null;
49
- emailVerified: boolean;
50
- image?: string | null;
51
- createdAt: string | string;
52
- updatedAt: string | string;
53
- };
54
- }
55
- export interface AuthLogOutUserResponse {
56
- success: boolean;
57
- }
58
- export interface AuthResendEmailVerificationInput {
59
- email: string;
60
- }
61
- export interface AuthResendEmailVerificationResponse {
62
- message: string;
63
- }
64
- export interface AuthVerifyEmailAddressInput {
65
- token: string;
66
- }
67
- export interface AuthVerifyEmailAddressResponse {
68
- status: 'verified' | 'already_verified' | 'invalid_token' | 'expired_token';
69
- }
70
- export interface AuthRequestPasswordResetInput {
71
- email: string;
72
- }
73
- export interface AuthRequestPasswordResetResponse {
74
- message: string;
75
- }
76
- export interface AuthConfirmPasswordResetInput {
77
- token: string;
78
- newPassword: string;
79
- }
80
- export interface AuthConfirmPasswordResetResponse {
81
- message: string;
82
- }
83
- export interface AuthSignSocialProviderInput {
84
- provider: 'google' | 'github';
85
- code: string;
86
- redirectUri: string;
87
- }
88
- export interface AuthSignSocialProviderResponse {
89
- sessionToken: string;
90
- redirect: string | null;
91
- }
92
- export interface OAuthRequestDeviceAuthorizationCodesInput {
93
- client_id: string;
94
- scope?: string;
95
- }
96
- export interface OAuthRequestDeviceAuthorizationCodesResponse {
97
- device_code: string;
98
- user_code: string;
99
- verification_uri: string;
100
- verification_uri_complete: string;
101
- expires_in: number;
102
- interval: number;
103
- }
104
- export interface OAuthPollDeviceAuthorizationTokenInput {
105
- grant_type: 'urn:ietf:params:oauth:grant-type:device_code';
106
- device_code: string;
107
- client_id: string;
108
- }
109
- export interface OAuthPollDeviceAuthorizationTokenResponse {
110
- access_token: string;
111
- token_type: string;
112
- expires_in: number;
113
- scope: string;
114
- }
115
- export interface OAuthGetDeviceAuthorizationStatusResponse {
116
- user_code: string;
117
- status: 'pending' | 'approved' | 'denied';
118
- }
119
- export interface OAuthApproveDeviceAuthorizationRequestInput {
120
- userCode: string;
121
- }
122
- export interface OAuthApproveDeviceAuthorizationRequestResponse {
123
- success: boolean;
124
- }
125
- export interface OAuthDenyDeviceAuthorizationRequestInput {
126
- userCode: string;
127
- }
128
- export interface OAuthDenyDeviceAuthorizationRequestResponse {
129
- success: boolean;
130
- }
131
19
  export interface OAuthOauth2AuthorizeEndpointResponse {
132
20
  redirect: boolean;
133
21
  url: string;
@@ -198,27 +86,6 @@ export interface OAuthOpenidRpInitiatedLogoutEndpointResponse {
198
86
  url?: string;
199
87
  uri?: string;
200
88
  }
201
- export interface OAuthDynamicOauth2ClientRegistrationInput {
202
- redirect_uris: string[];
203
- scope?: string;
204
- client_name?: string;
205
- client_uri?: string;
206
- logo_uri?: string;
207
- contacts?: string[];
208
- tos_uri?: string;
209
- policy_uri?: string;
210
- software_id?: string;
211
- software_version?: string;
212
- software_statement?: string;
213
- post_logout_redirect_uris?: string[];
214
- token_endpoint_auth_method?: 'none' | 'client_secret_basic' | 'client_secret_post';
215
- grant_types?: 'authorization_code' | 'client_credentials' | 'refresh_token'[];
216
- response_types?: 'code'[];
217
- type?: 'web' | 'native' | 'user-agent-based';
218
- }
219
- export interface OAuthDynamicOauth2ClientRegistrationResponse {
220
- client_id: string;
221
- }
222
89
  export interface OAuthCreateOauth2ClientInput {
223
90
  redirect_uris: string[];
224
91
  scope?: string;
@@ -278,54 +145,6 @@ export interface OAuthRotateOauth2ClientSecretResponse {
278
145
  export interface OAuthDeleteOauth2ClientInput {
279
146
  client_id: string;
280
147
  }
281
- export interface OAuthGetOauth2ConsentResponse {
282
- id: string;
283
- clientId?: string;
284
- client_id?: string;
285
- userId?: string;
286
- user_id?: string;
287
- referenceId?: string;
288
- reference_id?: string;
289
- scopes?: string[];
290
- scope?: string;
291
- createdAt?: string;
292
- updatedAt?: string;
293
- }
294
- export interface OAuthListOauth2ConsentsResponse {
295
- id: string;
296
- clientId?: string;
297
- client_id?: string;
298
- userId?: string;
299
- user_id?: string;
300
- referenceId?: string;
301
- reference_id?: string;
302
- scopes?: string[];
303
- scope?: string;
304
- createdAt?: string;
305
- updatedAt?: string;
306
- }
307
- export interface OAuthUpdateOauth2ConsentInput {
308
- id: string;
309
- update: {
310
- scopes: string[];
311
- };
312
- }
313
- export interface OAuthUpdateOauth2ConsentResponse {
314
- id: string;
315
- clientId?: string;
316
- client_id?: string;
317
- userId?: string;
318
- user_id?: string;
319
- referenceId?: string;
320
- reference_id?: string;
321
- scopes?: string[];
322
- scope?: string;
323
- createdAt?: string;
324
- updatedAt?: string;
325
- }
326
- export interface OAuthDeleteOauth2ConsentInput {
327
- id: string;
328
- }
329
148
  export interface OAuthAdminCreateOauth2ClientInput {
330
149
  redirect_uris: string[];
331
150
  scope?: string;
@@ -378,6 +197,79 @@ export interface OAuthAdminUpdateOauth2ClientInput {
378
197
  export interface OAuthAdminUpdateOauth2ClientResponse {
379
198
  client_id: string;
380
199
  }
200
+ export interface AuthRegisterUserInput {
201
+ email: string;
202
+ password: string;
203
+ name?: string;
204
+ }
205
+ export interface AuthRegisterUserResponse {
206
+ user: {
207
+ id: string;
208
+ email: string;
209
+ name: string | null;
210
+ role?: ('admin' | 'user') | null;
211
+ emailVerified: boolean;
212
+ image?: string | null;
213
+ createdAt: string | string;
214
+ updatedAt: string | string;
215
+ };
216
+ sessionToken?: string;
217
+ }
218
+ export interface AuthAuthenticateUserInput {
219
+ email: string;
220
+ password: string;
221
+ rememberMe?: boolean;
222
+ }
223
+ export interface AuthAuthenticateUserResponse {
224
+ sessionToken: string;
225
+ user: {
226
+ id: string;
227
+ email: string;
228
+ name: string | null;
229
+ role?: ('admin' | 'user') | null;
230
+ emailVerified: boolean;
231
+ image?: string | null;
232
+ createdAt: string | string;
233
+ updatedAt: string | string;
234
+ };
235
+ }
236
+ export interface AuthLogOutUserResponse {
237
+ success: boolean;
238
+ }
239
+ export interface AuthResendEmailVerificationInput {
240
+ email: string;
241
+ }
242
+ export interface AuthResendEmailVerificationResponse {
243
+ message: string;
244
+ }
245
+ export interface AuthVerifyEmailAddressInput {
246
+ token: string;
247
+ }
248
+ export interface AuthVerifyEmailAddressResponse {
249
+ status: 'verified' | 'already_verified' | 'invalid_token' | 'expired_token';
250
+ }
251
+ export interface AuthRequestPasswordResetInput {
252
+ email: string;
253
+ }
254
+ export interface AuthRequestPasswordResetResponse {
255
+ message: string;
256
+ }
257
+ export interface AuthConfirmPasswordResetInput {
258
+ token: string;
259
+ newPassword: string;
260
+ }
261
+ export interface AuthConfirmPasswordResetResponse {
262
+ message: string;
263
+ }
264
+ export interface AuthSignSocialProviderInput {
265
+ provider: 'google' | 'github';
266
+ code: string;
267
+ redirectUri: string;
268
+ }
269
+ export interface AuthSignSocialProviderResponse {
270
+ sessionToken: string;
271
+ redirect: string | null;
272
+ }
381
273
  export interface AuthGetUserResponse {
382
274
  id: string;
383
275
  email: string;
@@ -570,29 +462,22 @@ export interface OrganizationsListAuthenticatedUserItem {
570
462
  id: string;
571
463
  name: string;
572
464
  slug: string;
573
- plan: 'free' | 'pro' | 'team' | 'business' | 'enterprise';
574
- createdBy: string;
575
465
  createdAt: string;
576
466
  }
577
467
  export interface OrganizationsCreateInput {
578
468
  name: string;
579
469
  slug: string;
580
- plan?: 'free' | 'pro' | 'team' | 'business' | 'enterprise';
581
470
  }
582
471
  export interface OrganizationsCreateResponse {
583
472
  id: string;
584
473
  name: string;
585
474
  slug: string;
586
- plan: 'free' | 'pro' | 'team' | 'business' | 'enterprise';
587
- createdBy: string;
588
475
  createdAt: string;
589
476
  }
590
477
  export interface OrganizationsGetResponse {
591
478
  id: string;
592
479
  name: string;
593
480
  slug: string;
594
- plan: 'free' | 'pro' | 'team' | 'business' | 'enterprise';
595
- createdBy: string;
596
481
  createdAt: string;
597
482
  }
598
483
  export interface OrganizationsSetSessionInput {
@@ -603,16 +488,12 @@ export interface OrganizationsSetSessionResponse {
603
488
  id: string;
604
489
  name: string;
605
490
  slug: string;
606
- plan: 'free' | 'pro' | 'team' | 'business' | 'enterprise';
607
- createdBy: string;
608
491
  createdAt: string;
609
492
  }
610
493
  export interface OrganizationsGetResponse {
611
494
  id: string;
612
495
  name: string;
613
496
  slug: string;
614
- plan: 'free' | 'pro' | 'team' | 'business' | 'enterprise';
615
- createdBy: string;
616
497
  createdAt: string;
617
498
  }
618
499
  export interface OrganizationsUpdateInput {
@@ -625,8 +506,6 @@ export interface OrganizationsUpdateResponse {
625
506
  id: string;
626
507
  name: string;
627
508
  slug: string;
628
- plan: 'free' | 'pro' | 'team' | 'business' | 'enterprise';
629
- createdBy: string;
630
509
  createdAt: string;
631
510
  }
632
511
  export interface OrganizationsListInvitationsItem {
@@ -726,6 +605,23 @@ export interface SettingsPartiallyUpdateOrgPartialResponse {
726
605
  message: string;
727
606
  }[];
728
607
  }
608
+ export interface SettingsListRegistryOrganizationPlanResponse {
609
+ settings: {
610
+ key: string;
611
+ scope: 'org' | 'user';
612
+ type: 'boolean' | 'string' | 'number' | 'enum' | 'json';
613
+ defaultValue: unknown;
614
+ description: string;
615
+ enumValues?: string[];
616
+ sensitive?: boolean;
617
+ category: string;
618
+ minRole?: string;
619
+ requiredPlans?: 'free' | 'pro' | 'team' | 'enterprise'[];
620
+ }[];
621
+ metadata: {
622
+ totalCount: number;
623
+ };
624
+ }
729
625
  export interface SettingsGetSingleOrgResponse {
730
626
  key: string;
731
627
  value: unknown;
@@ -874,9 +770,6 @@ export interface AppsGetPricingInformationResponse {
874
770
  currentPrice: unknown;
875
771
  plannedChanges: unknown;
876
772
  }
877
- export interface AppsUpdatePricingConfigurationResponse {
878
- status: 'queued' | 'applied';
879
- }
880
773
  export interface ReleasesListApplicationItem {
881
774
  id: string;
882
775
  appId: string;
@@ -1147,6 +1040,10 @@ export interface ReleasesGetStageStateGateResponse {
1147
1040
  dispatchSubmitJob: boolean;
1148
1041
  dispatchScheduleJob: boolean;
1149
1042
  scheduleRiskScore: boolean;
1043
+ deploymentProvider?: 'aws' | 'gcp' | 'azure' | 'byoc';
1044
+ deploymentTargetIds: string[];
1045
+ deploymentStrategy?: 'blue_green' | 'rolling' | 'canary';
1046
+ requireDeploymentApproval: boolean;
1150
1047
  };
1151
1048
  gates: {
1152
1049
  id: string;
@@ -1182,6 +1079,10 @@ export interface ReleasesGetStageStateGateResponse {
1182
1079
  dispatchSubmitJob: boolean;
1183
1080
  dispatchScheduleJob: boolean;
1184
1081
  scheduleRiskScore: boolean;
1082
+ deploymentProvider?: 'aws' | 'gcp' | 'azure' | 'byoc';
1083
+ deploymentTargetIds: string[];
1084
+ deploymentStrategy?: 'blue_green' | 'rolling' | 'canary';
1085
+ requireDeploymentApproval: boolean;
1185
1086
  };
1186
1087
  gates: {
1187
1088
  id: string;
@@ -1257,11 +1158,14 @@ export interface ReleasePipelinesListResponse {
1257
1158
  appId: string;
1258
1159
  name: string;
1259
1160
  isDefault: boolean;
1161
+ activeReleaseCount: number;
1162
+ isInUse: boolean;
1260
1163
  activeVersion: {
1261
1164
  id: string;
1262
1165
  pipelineId: string;
1263
1166
  version: number;
1264
1167
  isActive: boolean;
1168
+ createdBy: string | null;
1265
1169
  createdAt: string | string;
1266
1170
  };
1267
1171
  stages: {
@@ -1278,6 +1182,10 @@ export interface ReleasePipelinesListResponse {
1278
1182
  dispatchSubmitJob: boolean;
1279
1183
  dispatchScheduleJob: boolean;
1280
1184
  scheduleRiskScore: boolean;
1185
+ deploymentProvider?: 'aws' | 'gcp' | 'azure' | 'byoc';
1186
+ deploymentTargetIds: string[];
1187
+ deploymentStrategy?: 'blue_green' | 'rolling' | 'canary';
1188
+ requireDeploymentApproval: boolean;
1281
1189
  };
1282
1190
  gates: {
1283
1191
  id: string;
@@ -1325,9 +1233,76 @@ export interface ReleasePipelinesCreateInput {
1325
1233
  dispatchSubmitJob?: boolean;
1326
1234
  dispatchScheduleJob?: boolean;
1327
1235
  scheduleRiskScore?: boolean;
1236
+ deploymentProvider?: 'aws' | 'gcp' | 'azure' | 'byoc';
1237
+ deploymentTargetIds?: string[];
1238
+ deploymentStrategy?: 'blue_green' | 'rolling' | 'canary';
1239
+ requireDeploymentApproval?: boolean;
1328
1240
  };
1329
1241
  gates?: {
1330
- type: 'approval' | 'risk_score' | 'release_status' | 'policy_rule';
1242
+ type: 'approval';
1243
+ failMode?: 'fail_open' | 'fail_closed';
1244
+ config?: Record<string, unknown> | {
1245
+ templateId?: string;
1246
+ requirementsJson?: {
1247
+ quorum?: number;
1248
+ requiredRoles?: 'admin' | 'user'[];
1249
+ steps?: {
1250
+ key: string;
1251
+ quorum?: number;
1252
+ requiredRoles?: 'admin' | 'user'[];
1253
+ groups?: {
1254
+ key: string;
1255
+ quorum: number;
1256
+ requiredRoles: 'admin' | 'user'[];
1257
+ }[];
1258
+ }[];
1259
+ constraints?: {
1260
+ distinctApprovers?: boolean;
1261
+ noSameTeam?: boolean;
1262
+ };
1263
+ rejectionMode?: 'terminal' | 'advisory';
1264
+ advisoryRejectEffect?: 'block_until_override' | 'non_blocking';
1265
+ override?: {
1266
+ allowedRoles: 'admin' | 'owner'[];
1267
+ requiredReasonMinLen: number;
1268
+ };
1269
+ };
1270
+ riskLevel?: 'low' | 'medium' | 'high' | 'critical';
1271
+ expiresInSeconds?: number;
1272
+ reason?: string;
1273
+ } | {
1274
+ templateId?: string;
1275
+ requirementsJson?: {
1276
+ quorum?: number;
1277
+ requiredRoles?: 'admin' | 'user'[];
1278
+ steps?: {
1279
+ key: string;
1280
+ quorum?: number;
1281
+ requiredRoles?: 'admin' | 'user'[];
1282
+ groups?: {
1283
+ key: string;
1284
+ quorum: number;
1285
+ requiredRoles: 'admin' | 'user'[];
1286
+ }[];
1287
+ }[];
1288
+ constraints?: {
1289
+ distinctApprovers?: boolean;
1290
+ noSameTeam?: boolean;
1291
+ };
1292
+ rejectionMode?: 'terminal' | 'advisory';
1293
+ advisoryRejectEffect?: 'block_until_override' | 'non_blocking';
1294
+ override?: {
1295
+ allowedRoles: 'admin' | 'owner'[];
1296
+ requiredReasonMinLen: number;
1297
+ };
1298
+ };
1299
+ riskLevel?: 'low' | 'medium' | 'high' | 'critical';
1300
+ expiresInSeconds?: number;
1301
+ reason?: string;
1302
+ };
1303
+ fromStageKey?: string;
1304
+ } | {
1305
+ type: 'risk_score' | 'release_status' | 'policy_rule';
1331
1306
  failMode?: 'fail_open' | 'fail_closed';
1332
1307
  config?: Record<string, unknown>;
1333
1308
  fromStageKey?: string;
@@ -1345,11 +1320,14 @@ export interface ReleasePipelinesCreateResponse {
1345
1320
  appId: string;
1346
1321
  name: string;
1347
1322
  isDefault: boolean;
1323
+ activeReleaseCount: number;
1324
+ isInUse: boolean;
1348
1325
  activeVersion: {
1349
1326
  id: string;
1350
1327
  pipelineId: string;
1351
1328
  version: number;
1352
1329
  isActive: boolean;
1330
+ createdBy: string | null;
1353
1331
  createdAt: string | string;
1354
1332
  };
1355
1333
  stages: {
@@ -1366,6 +1344,10 @@ export interface ReleasePipelinesCreateResponse {
1366
1344
  dispatchSubmitJob: boolean;
1367
1345
  dispatchScheduleJob: boolean;
1368
1346
  scheduleRiskScore: boolean;
1347
+ deploymentProvider?: 'aws' | 'gcp' | 'azure' | 'byoc';
1348
+ deploymentTargetIds: string[];
1349
+ deploymentStrategy?: 'blue_green' | 'rolling' | 'canary';
1350
+ requireDeploymentApproval: boolean;
1369
1351
  };
1370
1352
  gates: {
1371
1353
  id: string;
@@ -1402,11 +1384,14 @@ export interface ReleasePipelinesGetResponse {
1402
1384
  appId: string;
1403
1385
  name: string;
1404
1386
  isDefault: boolean;
1387
+ activeReleaseCount: number;
1388
+ isInUse: boolean;
1405
1389
  activeVersion: {
1406
1390
  id: string;
1407
1391
  pipelineId: string;
1408
1392
  version: number;
1409
1393
  isActive: boolean;
1394
+ createdBy: string | null;
1410
1395
  createdAt: string | string;
1411
1396
  };
1412
1397
  stages: {
@@ -1423,6 +1408,10 @@ export interface ReleasePipelinesGetResponse {
1423
1408
  dispatchSubmitJob: boolean;
1424
1409
  dispatchScheduleJob: boolean;
1425
1410
  scheduleRiskScore: boolean;
1411
+ deploymentProvider?: 'aws' | 'gcp' | 'azure' | 'byoc';
1412
+ deploymentTargetIds: string[];
1413
+ deploymentStrategy?: 'blue_green' | 'rolling' | 'canary';
1414
+ requireDeploymentApproval: boolean;
1426
1415
  };
1427
1416
  gates: {
1428
1417
  id: string;
@@ -1469,9 +1458,76 @@ export interface ReleasePipelinesUpdateInput {
1469
1458
  dispatchSubmitJob?: boolean;
1470
1459
  dispatchScheduleJob?: boolean;
1471
1460
  scheduleRiskScore?: boolean;
1461
+ deploymentProvider?: 'aws' | 'gcp' | 'azure' | 'byoc';
1462
+ deploymentTargetIds?: string[];
1463
+ deploymentStrategy?: 'blue_green' | 'rolling' | 'canary';
1464
+ requireDeploymentApproval?: boolean;
1472
1465
  };
1473
1466
  gates?: {
1474
- type: 'approval' | 'risk_score' | 'release_status' | 'policy_rule';
1467
+ type: 'approval';
1468
+ failMode?: 'fail_open' | 'fail_closed';
1469
+ config?: Record<string, unknown> | {
1470
+ templateId?: string;
1471
+ requirementsJson?: {
1472
+ quorum?: number;
1473
+ requiredRoles?: 'admin' | 'user'[];
1474
+ steps?: {
1475
+ key: string;
1476
+ quorum?: number;
1477
+ requiredRoles?: 'admin' | 'user'[];
1478
+ groups?: {
1479
+ key: string;
1480
+ quorum: number;
1481
+ requiredRoles: 'admin' | 'user'[];
1482
+ }[];
1483
+ }[];
1484
+ constraints?: {
1485
+ distinctApprovers?: boolean;
1486
+ noSameTeam?: boolean;
1487
+ };
1488
+ rejectionMode?: 'terminal' | 'advisory';
1489
+ advisoryRejectEffect?: 'block_until_override' | 'non_blocking';
1490
+ override?: {
1491
+ allowedRoles: 'admin' | 'owner'[];
1492
+ requiredReasonMinLen: number;
1493
+ };
1494
+ };
1495
+ riskLevel?: 'low' | 'medium' | 'high' | 'critical';
1496
+ expiresInSeconds?: number;
1497
+ reason?: string;
1498
+ } | {
1499
+ templateId?: string;
1500
+ requirementsJson?: {
1501
+ quorum?: number;
1502
+ requiredRoles?: 'admin' | 'user'[];
1503
+ steps?: {
1504
+ key: string;
1505
+ quorum?: number;
1506
+ requiredRoles?: 'admin' | 'user'[];
1507
+ groups?: {
1508
+ key: string;
1509
+ quorum: number;
1510
+ requiredRoles: 'admin' | 'user'[];
1511
+ }[];
1512
+ }[];
1513
+ constraints?: {
1514
+ distinctApprovers?: boolean;
1515
+ noSameTeam?: boolean;
1516
+ };
1517
+ rejectionMode?: 'terminal' | 'advisory';
1518
+ advisoryRejectEffect?: 'block_until_override' | 'non_blocking';
1519
+ override?: {
1520
+ allowedRoles: 'admin' | 'owner'[];
1521
+ requiredReasonMinLen: number;
1522
+ };
1523
+ };
1524
+ riskLevel?: 'low' | 'medium' | 'high' | 'critical';
1525
+ expiresInSeconds?: number;
1526
+ reason?: string;
1527
+ };
1528
+ fromStageKey?: string;
1529
+ } | {
1530
+ type: 'risk_score' | 'release_status' | 'policy_rule';
1475
1531
  failMode?: 'fail_open' | 'fail_closed';
1476
1532
  config?: Record<string, unknown>;
1477
1533
  fromStageKey?: string;
@@ -1489,11 +1545,14 @@ export interface ReleasePipelinesUpdateResponse {
1489
1545
  appId: string;
1490
1546
  name: string;
1491
1547
  isDefault: boolean;
1548
+ activeReleaseCount: number;
1549
+ isInUse: boolean;
1492
1550
  activeVersion: {
1493
1551
  id: string;
1494
1552
  pipelineId: string;
1495
1553
  version: number;
1496
1554
  isActive: boolean;
1555
+ createdBy: string | null;
1497
1556
  createdAt: string | string;
1498
1557
  };
1499
1558
  stages: {
@@ -1510,6 +1569,10 @@ export interface ReleasePipelinesUpdateResponse {
1510
1569
  dispatchSubmitJob: boolean;
1511
1570
  dispatchScheduleJob: boolean;
1512
1571
  scheduleRiskScore: boolean;
1572
+ deploymentProvider?: 'aws' | 'gcp' | 'azure' | 'byoc';
1573
+ deploymentTargetIds: string[];
1574
+ deploymentStrategy?: 'blue_green' | 'rolling' | 'canary';
1575
+ requireDeploymentApproval: boolean;
1513
1576
  };
1514
1577
  gates: {
1515
1578
  id: string;
@@ -1541,23 +1604,89 @@ export interface ReleasePipelinesUpdateResponse {
1541
1604
  createdAt: string | string;
1542
1605
  updatedAt: string | string;
1543
1606
  }
1544
- export interface ReleasePipelinesSetDefaultResponse {
1545
- id: string;
1546
- appId: string;
1547
- name: string;
1548
- isDefault: boolean;
1549
- activeVersion: {
1550
- id: string;
1551
- pipelineId: string;
1552
- version: number;
1553
- isActive: boolean;
1554
- createdAt: string | string;
1555
- };
1556
- stages: {
1557
- id: string;
1558
- pipelineId: string;
1559
- pipelineVersionId: string;
1560
- key: string;
1607
+ export interface ReleasePipelinesListVersionsResponse {
1608
+ data: {
1609
+ version: {
1610
+ id: string;
1611
+ pipelineId: string;
1612
+ version: number;
1613
+ isActive: boolean;
1614
+ createdBy: string | null;
1615
+ createdAt: string | string;
1616
+ };
1617
+ stages: {
1618
+ id: string;
1619
+ pipelineId: string;
1620
+ pipelineVersionId: string;
1621
+ key: string;
1622
+ displayName: string;
1623
+ order: number;
1624
+ rolloutConfig: {
1625
+ triggerOnEnter: boolean;
1626
+ rolloutPercentage?: number | null;
1627
+ scheduleAt?: (string | string) | null;
1628
+ dispatchSubmitJob: boolean;
1629
+ dispatchScheduleJob: boolean;
1630
+ scheduleRiskScore: boolean;
1631
+ deploymentProvider?: 'aws' | 'gcp' | 'azure' | 'byoc';
1632
+ deploymentTargetIds: string[];
1633
+ deploymentStrategy?: 'blue_green' | 'rolling' | 'canary';
1634
+ requireDeploymentApproval: boolean;
1635
+ };
1636
+ gates: {
1637
+ id: string;
1638
+ pipelineId: string;
1639
+ pipelineVersionId: string;
1640
+ stageId: string | null;
1641
+ fromStageId: string | null;
1642
+ toStageId: string | null;
1643
+ type: 'approval' | 'risk_score' | 'release_status' | 'policy_rule';
1644
+ failMode: 'fail_open' | 'fail_closed';
1645
+ config: Record<string, unknown>;
1646
+ createdAt: string | string;
1647
+ updatedAt: (string | string) | null;
1648
+ }[];
1649
+ createdAt: string | string;
1650
+ updatedAt: (string | string) | null;
1651
+ }[];
1652
+ transitions: {
1653
+ id: string;
1654
+ pipelineId: string;
1655
+ pipelineVersionId: string;
1656
+ fromStageId: string;
1657
+ toStageId: string;
1658
+ type: 'forward' | 'skip' | 'rollback' | 'hotfix';
1659
+ requiresReason: boolean;
1660
+ createdAt: string | string;
1661
+ updatedAt: (string | string) | null;
1662
+ }[];
1663
+ summary: {
1664
+ stageCount: number;
1665
+ gateCount: number;
1666
+ transitionCount: number;
1667
+ };
1668
+ }[];
1669
+ }
1670
+ export interface ReleasePipelinesSetDefaultResponse {
1671
+ id: string;
1672
+ appId: string;
1673
+ name: string;
1674
+ isDefault: boolean;
1675
+ activeReleaseCount: number;
1676
+ isInUse: boolean;
1677
+ activeVersion: {
1678
+ id: string;
1679
+ pipelineId: string;
1680
+ version: number;
1681
+ isActive: boolean;
1682
+ createdBy: string | null;
1683
+ createdAt: string | string;
1684
+ };
1685
+ stages: {
1686
+ id: string;
1687
+ pipelineId: string;
1688
+ pipelineVersionId: string;
1689
+ key: string;
1561
1690
  displayName: string;
1562
1691
  order: number;
1563
1692
  rolloutConfig: {
@@ -1567,6 +1696,10 @@ export interface ReleasePipelinesSetDefaultResponse {
1567
1696
  dispatchSubmitJob: boolean;
1568
1697
  dispatchScheduleJob: boolean;
1569
1698
  scheduleRiskScore: boolean;
1699
+ deploymentProvider?: 'aws' | 'gcp' | 'azure' | 'byoc';
1700
+ deploymentTargetIds: string[];
1701
+ deploymentStrategy?: 'blue_green' | 'rolling' | 'canary';
1702
+ requireDeploymentApproval: boolean;
1570
1703
  };
1571
1704
  gates: {
1572
1705
  id: string;
@@ -1613,9 +1746,76 @@ export interface ReleasePipelinesDryRunValidateInput {
1613
1746
  dispatchSubmitJob?: boolean;
1614
1747
  dispatchScheduleJob?: boolean;
1615
1748
  scheduleRiskScore?: boolean;
1749
+ deploymentProvider?: 'aws' | 'gcp' | 'azure' | 'byoc';
1750
+ deploymentTargetIds?: string[];
1751
+ deploymentStrategy?: 'blue_green' | 'rolling' | 'canary';
1752
+ requireDeploymentApproval?: boolean;
1616
1753
  };
1617
1754
  gates?: {
1618
- type: 'approval' | 'risk_score' | 'release_status' | 'policy_rule';
1755
+ type: 'approval';
1756
+ failMode?: 'fail_open' | 'fail_closed';
1757
+ config?: Record<string, unknown> | {
1758
+ templateId?: string;
1759
+ requirementsJson?: {
1760
+ quorum?: number;
1761
+ requiredRoles?: 'admin' | 'user'[];
1762
+ steps?: {
1763
+ key: string;
1764
+ quorum?: number;
1765
+ requiredRoles?: 'admin' | 'user'[];
1766
+ groups?: {
1767
+ key: string;
1768
+ quorum: number;
1769
+ requiredRoles: 'admin' | 'user'[];
1770
+ }[];
1771
+ }[];
1772
+ constraints?: {
1773
+ distinctApprovers?: boolean;
1774
+ noSameTeam?: boolean;
1775
+ };
1776
+ rejectionMode?: 'terminal' | 'advisory';
1777
+ advisoryRejectEffect?: 'block_until_override' | 'non_blocking';
1778
+ override?: {
1779
+ allowedRoles: 'admin' | 'owner'[];
1780
+ requiredReasonMinLen: number;
1781
+ };
1782
+ };
1783
+ riskLevel?: 'low' | 'medium' | 'high' | 'critical';
1784
+ expiresInSeconds?: number;
1785
+ reason?: string;
1786
+ } | {
1787
+ templateId?: string;
1788
+ requirementsJson?: {
1789
+ quorum?: number;
1790
+ requiredRoles?: 'admin' | 'user'[];
1791
+ steps?: {
1792
+ key: string;
1793
+ quorum?: number;
1794
+ requiredRoles?: 'admin' | 'user'[];
1795
+ groups?: {
1796
+ key: string;
1797
+ quorum: number;
1798
+ requiredRoles: 'admin' | 'user'[];
1799
+ }[];
1800
+ }[];
1801
+ constraints?: {
1802
+ distinctApprovers?: boolean;
1803
+ noSameTeam?: boolean;
1804
+ };
1805
+ rejectionMode?: 'terminal' | 'advisory';
1806
+ advisoryRejectEffect?: 'block_until_override' | 'non_blocking';
1807
+ override?: {
1808
+ allowedRoles: 'admin' | 'owner'[];
1809
+ requiredReasonMinLen: number;
1810
+ };
1811
+ };
1812
+ riskLevel?: 'low' | 'medium' | 'high' | 'critical';
1813
+ expiresInSeconds?: number;
1814
+ reason?: string;
1815
+ };
1816
+ fromStageKey?: string;
1817
+ } | {
1818
+ type: 'risk_score' | 'release_status' | 'policy_rule';
1619
1819
  failMode?: 'fail_open' | 'fail_closed';
1620
1820
  config?: Record<string, unknown>;
1621
1821
  fromStageKey?: string;
@@ -2070,156 +2270,6 @@ export interface AnalyticsTriggerJobResponse {
2070
2270
  triggered: boolean;
2071
2271
  }[];
2072
2272
  }
2073
- export interface CredentialsListStoreOrganizationItem {
2074
- id: string;
2075
- orgId: string;
2076
- appId: string | null;
2077
- provider: 'google_play' | 'app_store_connect' | 'huawei_appgallery' | 'microsoft_partner_center';
2078
- displayName: string;
2079
- credentialType: 'jwt' | 'oauth2' | 'api_key' | 'service_account';
2080
- encryptionVersion: number;
2081
- isActive: boolean;
2082
- isRevoked: boolean;
2083
- revokedAt: string | null;
2084
- revokedBy: string | null;
2085
- revokedReason: string | null;
2086
- tokenExpiresAt: string | null;
2087
- lastRefreshed: string | null;
2088
- refreshInterval: string | null;
2089
- metadata: Record<string, unknown>;
2090
- schemaVersion: number;
2091
- createdAt: string;
2092
- updatedAt: string;
2093
- }
2094
- export interface CredentialsGetResponse {
2095
- id: string;
2096
- orgId: string;
2097
- appId: string | null;
2098
- provider: 'google_play' | 'app_store_connect' | 'huawei_appgallery' | 'microsoft_partner_center';
2099
- displayName: string;
2100
- credentialType: 'jwt' | 'oauth2' | 'api_key' | 'service_account';
2101
- encryptionVersion: number;
2102
- isActive: boolean;
2103
- isRevoked: boolean;
2104
- revokedAt: string | null;
2105
- revokedBy: string | null;
2106
- revokedReason: string | null;
2107
- tokenExpiresAt: string | null;
2108
- lastRefreshed: string | null;
2109
- refreshInterval: string | null;
2110
- metadata: Record<string, unknown>;
2111
- schemaVersion: number;
2112
- createdAt: string;
2113
- updatedAt: string;
2114
- }
2115
- export interface CredentialsUpdateMetadataInput {
2116
- displayName?: string;
2117
- metadata?: Record<string, unknown>;
2118
- refreshInterval?: string | null;
2119
- isActive?: boolean;
2120
- }
2121
- export interface CredentialsUpdateMetadataResponse {
2122
- id: string;
2123
- orgId: string;
2124
- appId: string | null;
2125
- provider: 'google_play' | 'app_store_connect' | 'huawei_appgallery' | 'microsoft_partner_center';
2126
- displayName: string;
2127
- credentialType: 'jwt' | 'oauth2' | 'api_key' | 'service_account';
2128
- encryptionVersion: number;
2129
- isActive: boolean;
2130
- isRevoked: boolean;
2131
- revokedAt: string | null;
2132
- revokedBy: string | null;
2133
- revokedReason: string | null;
2134
- tokenExpiresAt: string | null;
2135
- lastRefreshed: string | null;
2136
- refreshInterval: string | null;
2137
- metadata: Record<string, unknown>;
2138
- schemaVersion: number;
2139
- createdAt: string;
2140
- updatedAt: string;
2141
- }
2142
- export interface CredentialsRevokeInput {
2143
- reason: string;
2144
- }
2145
- export interface CredentialsRevokeResponse {
2146
- id: string;
2147
- orgId: string;
2148
- appId: string | null;
2149
- provider: 'google_play' | 'app_store_connect' | 'huawei_appgallery' | 'microsoft_partner_center';
2150
- displayName: string;
2151
- credentialType: 'jwt' | 'oauth2' | 'api_key' | 'service_account';
2152
- encryptionVersion: number;
2153
- isActive: boolean;
2154
- isRevoked: boolean;
2155
- revokedAt: string | null;
2156
- revokedBy: string | null;
2157
- revokedReason: string | null;
2158
- tokenExpiresAt: string | null;
2159
- lastRefreshed: string | null;
2160
- refreshInterval: string | null;
2161
- metadata: Record<string, unknown>;
2162
- schemaVersion: number;
2163
- createdAt: string;
2164
- updatedAt: string;
2165
- }
2166
- export interface CredentialsCreateInput {
2167
- displayName: string;
2168
- credentialType: 'jwt' | 'oauth2' | 'api_key' | 'service_account';
2169
- secretPayload: Record<string, unknown> | string;
2170
- metadata?: Record<string, unknown>;
2171
- refreshInterval?: string;
2172
- appId?: string;
2173
- }
2174
- export interface CredentialsCreateResponse {
2175
- id: string;
2176
- orgId: string;
2177
- appId: string | null;
2178
- provider: 'google_play' | 'app_store_connect' | 'huawei_appgallery' | 'microsoft_partner_center';
2179
- displayName: string;
2180
- credentialType: 'jwt' | 'oauth2' | 'api_key' | 'service_account';
2181
- encryptionVersion: number;
2182
- isActive: boolean;
2183
- isRevoked: boolean;
2184
- revokedAt: string | null;
2185
- revokedBy: string | null;
2186
- revokedReason: string | null;
2187
- tokenExpiresAt: string | null;
2188
- lastRefreshed: string | null;
2189
- refreshInterval: string | null;
2190
- metadata: Record<string, unknown>;
2191
- schemaVersion: number;
2192
- createdAt: string;
2193
- updatedAt: string;
2194
- }
2195
- export interface CredentialsRotateSecretsInput {
2196
- secretPayload: Record<string, unknown> | string;
2197
- reason?: string;
2198
- }
2199
- export interface CredentialsRotateSecretsResponse {
2200
- id: string;
2201
- orgId: string;
2202
- appId: string | null;
2203
- provider: 'google_play' | 'app_store_connect' | 'huawei_appgallery' | 'microsoft_partner_center';
2204
- displayName: string;
2205
- credentialType: 'jwt' | 'oauth2' | 'api_key' | 'service_account';
2206
- encryptionVersion: number;
2207
- isActive: boolean;
2208
- isRevoked: boolean;
2209
- revokedAt: string | null;
2210
- revokedBy: string | null;
2211
- revokedReason: string | null;
2212
- tokenExpiresAt: string | null;
2213
- lastRefreshed: string | null;
2214
- refreshInterval: string | null;
2215
- metadata: Record<string, unknown>;
2216
- schemaVersion: number;
2217
- createdAt: string;
2218
- updatedAt: string;
2219
- }
2220
- export interface CredentialsMintFreshAccessTokenResponse {
2221
- expiresAt: string | null;
2222
- }
2223
2273
  export interface BillingGetOverviewResponse {
2224
2274
  /** Current plan information */
2225
2275
  plan: {
@@ -2343,465 +2393,120 @@ export interface BillingGetEntitlementsSummaryResponse {
2343
2393
  marketplaceIntegrations: number;
2344
2394
  releaseChannels: number;
2345
2395
  nudgeEventsThisMonth: number;
2346
- archivedBundlesPerApp: number;
2347
- };
2348
- /** Remaining quota */
2349
- remaining: {
2350
- apps: number | 'unlimited';
2351
- releases: number | 'unlimited';
2352
- teams: number | 'unlimited';
2353
- seats: number | 'unlimited';
2354
- webhookEndpoints: number | 'unlimited';
2355
- webhookEventsThisMonth: number | 'unlimited';
2356
- marketplaceIntegrations: number | 'unlimited';
2357
- releaseChannels: number | 'unlimited';
2358
- nudgeEventsThisMonth: number | 'unlimited';
2359
- archivedBundlesPerApp: number | 'unlimited';
2360
- };
2361
- }
2362
- export interface BillingCancelSubscriptionInput {
2363
- /** Cancellation reason */
2364
- reason?: string;
2365
- /** Additional comments */
2366
- comment?: string;
2367
- }
2368
- export interface BillingCancelSubscriptionResponse {
2369
- /** Subscription status after cancellation */
2370
- status: string;
2371
- /** Subscription end date */
2372
- endDate: string | null;
2373
- /** Whether subscription will cancel at period end */
2374
- cancelAtPeriodEnd: boolean;
2375
- }
2376
- export interface BillingGetPortalUrlResponse {
2377
- /** URL to redirect user to for billing portal */
2378
- portalUrl: string;
2379
- }
2380
- export interface BillingUpdateEmailInput {
2381
- /** New billing email address for the organization */
2382
- email: string;
2383
- }
2384
- export interface BillingUpdateEmailResponse {
2385
- /** Updated billing email address */
2386
- billingEmail: string;
2387
- /** Whether the change was synced to Polar */
2388
- syncedToPolar: boolean;
2389
- }
2390
- export interface BillingCreateCheckoutSessionInput {
2391
- /** Product slug to create checkout for */
2392
- productSlug: 'pro' | 'team' | 'enterprise';
2393
- /** URL to redirect to after successful checkout */
2394
- successUrl?: string;
2395
- /** URL to redirect to if checkout is cancelled */
2396
- cancelUrl?: string;
2397
- }
2398
- export interface BillingCreateCheckoutSessionResponse {
2399
- /** URL to redirect user to for checkout */
2400
- checkoutUrl: string;
2401
- /** Polar checkout session ID */
2402
- checkoutId: string;
2403
- /** Product slug for the checkout */
2404
- productSlug: string;
2405
- }
2406
- export interface BillingListOrdersItem {
2407
- /** Polar order ID */
2408
- id: string;
2409
- /** Total amount in cents */
2410
- amount: number;
2411
- /** Currency code (e.g., "usd") */
2412
- currency: string;
2413
- /** Order status */
2414
- status: 'pending' | 'succeeded' | 'failed';
2415
- /** Name of the product purchased */
2416
- productName: string;
2417
- /** Invoice URL (null for non-succeeded orders) */
2418
- invoiceUrl: string | null;
2419
- /** Order creation timestamp */
2420
- createdAt: string;
2421
- }
2422
- export interface BillingGetOrderDetailsResponse {
2423
- /** Polar order ID */
2424
- id: string;
2425
- /** Total amount charged in cents (includes subscription + usage) */
2426
- amount: number;
2427
- /** Amount before tax in cents */
2428
- subtotalAmount: number;
2429
- /** Tax amount in cents */
2430
- taxAmount: number;
2431
- /** Currency code (e.g., "usd") */
2432
- currency: string;
2433
- /** Order status */
2434
- status: 'pending' | 'succeeded' | 'failed';
2435
- /** Product details */
2436
- product: {
2437
- id: string;
2438
- name: string;
2439
- description: string | null;
2440
- };
2441
- /** Related subscription (if applicable) */
2442
- subscription: {
2443
- id: string;
2444
- } | null;
2445
- /** Billing address */
2446
- billingAddress: ({
2447
- line1: string | null;
2448
- line2: string | null;
2449
- city: string | null;
2450
- state: string | null;
2451
- postalCode: string | null;
2452
- country: string;
2453
- }) | null;
2454
- /** Invoice URL (null for non-succeeded orders) */
2455
- invoiceUrl: string | null;
2456
- /** Order creation timestamp */
2457
- createdAt: string;
2458
- /** Order last modified timestamp */
2459
- modifiedAt: string | null;
2460
- }
2461
- export interface IntegrationsListOrganizationResponse {
2462
- data: {
2463
- key: string;
2464
- name: string;
2465
- description: string;
2466
- category: 'store' | 'source-control' | 'monitoring';
2467
- iconUrl?: string;
2468
- docsUrl?: string;
2469
- requiredPlan?: 'free' | 'pro' | 'team' | 'enterprise';
2470
- isBeta: boolean;
2471
- isHidden: boolean;
2472
- capabilities: {
2473
- sync?: {
2474
- streams: {
2475
- id: string;
2476
- }[];
2477
- };
2478
- webhook?: {
2479
- events: string[];
2480
- };
2481
- };
2482
- providerType: 'integration' | 'store';
2483
- installed: boolean;
2484
- status?: 'installed' | 'disabled' | 'error';
2485
- locked: boolean;
2486
- lockReason?: string;
2487
- }[];
2488
- pagination: {
2489
- total: number;
2490
- limit: number;
2491
- offset: number;
2492
- hasMore: boolean;
2493
- };
2494
- }
2495
- export interface IntegrationsGetDetailsResponse {
2496
- key: string;
2497
- name: string;
2498
- description: string;
2499
- category: 'store' | 'source-control' | 'monitoring';
2500
- iconUrl?: string;
2501
- docsUrl?: string;
2502
- requiredPlan?: 'free' | 'pro' | 'team' | 'enterprise';
2503
- isBeta: boolean;
2504
- isHidden: boolean;
2505
- capabilities: {
2506
- sync?: {
2507
- streams: {
2508
- id: string;
2509
- }[];
2510
- };
2511
- webhook?: {
2512
- events: string[];
2513
- };
2514
- };
2515
- providerType: 'integration' | 'store';
2516
- installed: boolean;
2517
- status?: 'installed' | 'disabled' | 'error';
2518
- locked: boolean;
2519
- lockReason?: string;
2520
- }
2521
- export interface IntegrationsInstallInput {
2522
- config: Record<string, unknown>;
2523
- }
2524
- export interface IntegrationsInstallResponse {
2525
- installation: {
2526
- id: string;
2527
- orgId: string;
2528
- integrationKey: string;
2529
- status: 'installed' | 'disabled' | 'error';
2530
- installedAt: string;
2531
- updatedAt: string;
2532
- installedByUserId?: string;
2533
- lastError?: {
2534
- code: string;
2535
- message: string;
2536
- occurredAt: string;
2537
- };
2538
- };
2539
- created: boolean;
2540
- }
2541
- export interface IntegrationsUninstallResponse {
2542
- success: boolean;
2543
- wasRemoved?: boolean;
2544
- }
2545
- export interface IntegrationsEnableResponse {
2546
- id: string;
2547
- orgId: string;
2548
- integrationKey: string;
2549
- status: 'installed' | 'disabled' | 'error';
2550
- installedAt: string;
2551
- updatedAt: string;
2552
- installedByUserId?: string;
2553
- lastError?: {
2554
- code: string;
2555
- message: string;
2556
- occurredAt: string;
2557
- };
2558
- }
2559
- export interface IntegrationsDisableResponse {
2560
- id: string;
2561
- orgId: string;
2562
- integrationKey: string;
2563
- status: 'installed' | 'disabled' | 'error';
2564
- installedAt: string;
2565
- updatedAt: string;
2566
- installedByUserId?: string;
2567
- lastError?: {
2568
- code: string;
2569
- message: string;
2570
- occurredAt: string;
2571
- };
2572
- }
2573
- export interface IntegrationsListCatalogEntriesResponse {
2574
- data: {
2575
- key: string;
2576
- name: string;
2577
- description: string;
2578
- category: 'store' | 'source-control' | 'monitoring';
2579
- iconUrl?: string;
2580
- docsUrl?: string;
2581
- requiredPlan?: 'free' | 'pro' | 'team' | 'enterprise';
2582
- isBeta: boolean;
2583
- isHidden: boolean;
2584
- capabilities: {
2585
- sync?: {
2586
- streams: {
2587
- id: string;
2588
- }[];
2589
- };
2590
- webhook?: {
2591
- events: string[];
2592
- };
2593
- };
2594
- providerType: 'integration' | 'store';
2595
- }[];
2596
- pagination: {
2597
- total: number;
2598
- limit: number;
2599
- offset: number;
2600
- hasMore: boolean;
2601
- };
2602
- }
2603
- export interface IntegrationsGetCatalogEntryResponse {
2604
- key: string;
2605
- name: string;
2606
- description: string;
2607
- category: 'store' | 'source-control' | 'monitoring';
2608
- iconUrl?: string;
2609
- docsUrl?: string;
2610
- requiredPlan?: 'free' | 'pro' | 'team' | 'enterprise';
2611
- isBeta: boolean;
2612
- isHidden: boolean;
2613
- capabilities: {
2614
- sync?: {
2615
- streams: {
2616
- id: string;
2617
- }[];
2618
- };
2619
- webhook?: {
2620
- events: string[];
2621
- };
2622
- };
2623
- providerType: 'integration' | 'store';
2624
- }
2625
- export interface IntegrationsSearchInstallationsResponse {
2626
- data: {
2627
- id: string;
2628
- orgId: string;
2629
- integrationKey: string;
2630
- status: 'installed' | 'disabled' | 'error';
2631
- installedAt: string;
2632
- updatedAt: string;
2633
- installedByUserId?: string;
2634
- lastError?: {
2635
- code: string;
2636
- message: string;
2637
- occurredAt: string;
2638
- };
2639
- }[];
2640
- pagination: {
2641
- total: number;
2642
- limit: number;
2643
- offset: number;
2644
- hasMore: boolean;
2645
- };
2646
- }
2647
- export interface IntegrationsListOrgInstallationsResponse {
2648
- data: {
2649
- id: string;
2650
- orgId: string;
2651
- integrationKey: string;
2652
- status: 'installed' | 'disabled' | 'error';
2653
- installedAt: string;
2654
- updatedAt: string;
2655
- installedByUserId?: string;
2656
- lastError?: {
2657
- code: string;
2658
- message: string;
2659
- occurredAt: string;
2660
- };
2661
- }[];
2662
- pagination: {
2663
- total: number;
2664
- limit: number;
2665
- offset: number;
2666
- hasMore: boolean;
2667
- };
2668
- }
2669
- export interface IntegrationsGetOrgEntitlementsResponse {
2670
- orgId: string;
2671
- plan: 'free' | 'pro' | 'team' | 'enterprise';
2672
- integrations: {
2673
- key: string;
2674
- requiredPlan?: 'free' | 'pro' | 'team' | 'enterprise';
2675
- allowed: boolean;
2676
- reason: string;
2677
- override?: {
2678
- id: string;
2679
- orgId: string;
2680
- integrationKey: string;
2681
- type: 'allow' | 'deny';
2682
- reason: string;
2683
- createdByUserId: string;
2684
- createdAt: string;
2685
- expiresAt: string | null;
2686
- };
2687
- }[];
2688
- }
2689
- export interface IntegrationsForceInstallInput {
2690
- config: Record<string, unknown>;
2691
- bypassEntitlements?: boolean;
2692
- reason?: string;
2693
- }
2694
- export interface IntegrationsForceInstallResponse {
2695
- installation: {
2696
- id: string;
2697
- orgId: string;
2698
- integrationKey: string;
2699
- status: 'installed' | 'disabled' | 'error';
2700
- installedAt: string;
2701
- updatedAt: string;
2702
- installedByUserId?: string;
2703
- lastError?: {
2704
- code: string;
2705
- message: string;
2706
- occurredAt: string;
2707
- };
2396
+ archivedBundlesPerApp: number;
2397
+ };
2398
+ /** Remaining quota */
2399
+ remaining: {
2400
+ apps: number | 'unlimited';
2401
+ releases: number | 'unlimited';
2402
+ teams: number | 'unlimited';
2403
+ seats: number | 'unlimited';
2404
+ webhookEndpoints: number | 'unlimited';
2405
+ webhookEventsThisMonth: number | 'unlimited';
2406
+ marketplaceIntegrations: number | 'unlimited';
2407
+ releaseChannels: number | 'unlimited';
2408
+ nudgeEventsThisMonth: number | 'unlimited';
2409
+ archivedBundlesPerApp: number | 'unlimited';
2708
2410
  };
2709
- created: boolean;
2710
- }
2711
- export interface IntegrationsForceUninstallInput {
2712
- reason: string;
2713
- }
2714
- export interface IntegrationsForceUninstallResponse {
2715
- success: boolean;
2716
- wasRemoved?: boolean;
2717
2411
  }
2718
- export interface IntegrationsForceEnableInput {
2719
- reason: string;
2412
+ export interface BillingCancelSubscriptionInput {
2413
+ /** Cancellation reason */
2414
+ reason?: string;
2415
+ /** Additional comments */
2416
+ comment?: string;
2720
2417
  }
2721
- export interface IntegrationsForceEnableResponse {
2722
- id: string;
2723
- orgId: string;
2724
- integrationKey: string;
2725
- status: 'installed' | 'disabled' | 'error';
2726
- installedAt: string;
2727
- updatedAt: string;
2728
- installedByUserId?: string;
2729
- lastError?: {
2730
- code: string;
2731
- message: string;
2732
- occurredAt: string;
2733
- };
2418
+ export interface BillingCancelSubscriptionResponse {
2419
+ /** Subscription status after cancellation */
2420
+ status: string;
2421
+ /** Subscription end date */
2422
+ endDate: string | null;
2423
+ /** Whether subscription will cancel at period end */
2424
+ cancelAtPeriodEnd: boolean;
2734
2425
  }
2735
- export interface IntegrationsForceDisableInput {
2736
- reason: string;
2426
+ export interface BillingGetPortalUrlResponse {
2427
+ /** URL to redirect user to for billing portal */
2428
+ portalUrl: string;
2737
2429
  }
2738
- export interface IntegrationsForceDisableResponse {
2739
- id: string;
2740
- orgId: string;
2741
- integrationKey: string;
2742
- status: 'installed' | 'disabled' | 'error';
2743
- installedAt: string;
2744
- updatedAt: string;
2745
- installedByUserId?: string;
2746
- lastError?: {
2747
- code: string;
2748
- message: string;
2749
- occurredAt: string;
2750
- };
2430
+ export interface BillingUpdateEmailInput {
2431
+ /** New billing email address for the organization */
2432
+ email: string;
2751
2433
  }
2752
- export interface IntegrationsRevalidateResponse {
2753
- installation: {
2754
- id: string;
2755
- orgId: string;
2756
- integrationKey: string;
2757
- status: 'installed' | 'disabled' | 'error';
2758
- installedAt: string;
2759
- updatedAt: string;
2760
- installedByUserId?: string;
2761
- lastError?: {
2762
- code: string;
2763
- message: string;
2764
- occurredAt: string;
2765
- };
2766
- };
2767
- healthCheck: {
2768
- ok: boolean;
2769
- checkedAt: string;
2770
- details?: Record<string, unknown>;
2771
- };
2434
+ export interface BillingUpdateEmailResponse {
2435
+ /** Updated billing email address */
2436
+ billingEmail: string;
2437
+ /** Whether the change was synced to Polar */
2438
+ syncedToPolar: boolean;
2772
2439
  }
2773
- export interface IntegrationsTriggerSyncResponse {
2774
- jobId: string;
2775
- status: 'queued' | 'running' | 'completed' | 'failed';
2776
- triggeredAt: string;
2440
+ export interface BillingCreateCheckoutSessionInput {
2441
+ /** Product slug to create checkout for */
2442
+ productSlug: 'pro' | 'team' | 'enterprise';
2443
+ /** URL to redirect to after successful checkout */
2444
+ successUrl?: string;
2445
+ /** URL to redirect to if checkout is cancelled */
2446
+ cancelUrl?: string;
2777
2447
  }
2778
- export interface IntegrationsCreateAllowOverrideInput {
2779
- reason: string;
2780
- expiresAt?: string;
2448
+ export interface BillingCreateCheckoutSessionResponse {
2449
+ /** URL to redirect user to for checkout */
2450
+ checkoutUrl: string;
2451
+ /** Polar checkout session ID */
2452
+ checkoutId: string;
2453
+ /** Product slug for the checkout */
2454
+ productSlug: string;
2781
2455
  }
2782
- export interface IntegrationsCreateAllowOverrideResponse {
2456
+ export interface BillingListOrdersItem {
2457
+ /** Polar order ID */
2783
2458
  id: string;
2784
- orgId: string;
2785
- integrationKey: string;
2786
- type: 'allow' | 'deny';
2787
- reason: string;
2788
- createdByUserId: string;
2459
+ /** Total amount in cents */
2460
+ amount: number;
2461
+ /** Currency code (e.g., "usd") */
2462
+ currency: string;
2463
+ /** Order status */
2464
+ status: 'pending' | 'succeeded' | 'failed';
2465
+ /** Name of the product purchased */
2466
+ productName: string;
2467
+ /** Invoice URL (null for non-succeeded orders) */
2468
+ invoiceUrl: string | null;
2469
+ /** Order creation timestamp */
2789
2470
  createdAt: string;
2790
- expiresAt: string | null;
2791
- }
2792
- export interface IntegrationsCreateDenyOverrideInput {
2793
- reason: string;
2794
- expiresAt?: string;
2795
2471
  }
2796
- export interface IntegrationsCreateDenyOverrideResponse {
2472
+ export interface BillingGetOrderDetailsResponse {
2473
+ /** Polar order ID */
2797
2474
  id: string;
2798
- orgId: string;
2799
- integrationKey: string;
2800
- type: 'allow' | 'deny';
2801
- reason: string;
2802
- createdByUserId: string;
2475
+ /** Total amount charged in cents (includes subscription + usage) */
2476
+ amount: number;
2477
+ /** Amount before tax in cents */
2478
+ subtotalAmount: number;
2479
+ /** Tax amount in cents */
2480
+ taxAmount: number;
2481
+ /** Currency code (e.g., "usd") */
2482
+ currency: string;
2483
+ /** Order status */
2484
+ status: 'pending' | 'succeeded' | 'failed';
2485
+ /** Product details */
2486
+ product: {
2487
+ id: string;
2488
+ name: string;
2489
+ description: string | null;
2490
+ };
2491
+ /** Related subscription (if applicable) */
2492
+ subscription: {
2493
+ id: string;
2494
+ } | null;
2495
+ /** Billing address */
2496
+ billingAddress: ({
2497
+ line1: string | null;
2498
+ line2: string | null;
2499
+ city: string | null;
2500
+ state: string | null;
2501
+ postalCode: string | null;
2502
+ country: string;
2503
+ }) | null;
2504
+ /** Invoice URL (null for non-succeeded orders) */
2505
+ invoiceUrl: string | null;
2506
+ /** Order creation timestamp */
2803
2507
  createdAt: string;
2804
- expiresAt: string | null;
2508
+ /** Order last modified timestamp */
2509
+ modifiedAt: string | null;
2805
2510
  }
2806
2511
  export interface ShareLinksListItem {
2807
2512
  id: string;
@@ -3630,9 +3335,9 @@ export interface PoliciesGetPlatformResponse {
3630
3335
  export interface ApprovalsListItem {
3631
3336
  id: string;
3632
3337
  orgId: string;
3633
- resourceType: 'release';
3338
+ resourceType: 'release' | 'deployment';
3634
3339
  resourceId: string | string;
3635
- actionType: 'release.submit' | 'release.rollback' | 'release.stage_transition';
3340
+ actionType: 'release.submit' | 'release.rollback' | 'release.stage_transition' | 'deployment.execute';
3636
3341
  reason: string;
3637
3342
  requirementsJson: {
3638
3343
  quorum?: number;
@@ -3672,9 +3377,9 @@ export interface ApprovalsListItem {
3672
3377
  archivedAt: string | null;
3673
3378
  }
3674
3379
  export interface ApprovalsCreateRequestInput {
3675
- resourceType: 'release';
3380
+ resourceType: 'release' | 'deployment';
3676
3381
  resourceId: string | string;
3677
- actionType: 'release.submit' | 'release.rollback' | 'release.stage_transition';
3382
+ actionType: 'release.submit' | 'release.rollback' | 'release.stage_transition' | 'deployment.execute';
3678
3383
  reason: string;
3679
3384
  templateId?: string;
3680
3385
  requirementsJson?: {
@@ -3708,9 +3413,9 @@ export interface ApprovalsCreateRequestResponse {
3708
3413
  request: {
3709
3414
  id: string;
3710
3415
  orgId: string;
3711
- resourceType: 'release';
3416
+ resourceType: 'release' | 'deployment';
3712
3417
  resourceId: string | string;
3713
- actionType: 'release.submit' | 'release.rollback' | 'release.stage_transition';
3418
+ actionType: 'release.submit' | 'release.rollback' | 'release.stage_transition' | 'deployment.execute';
3714
3419
  reason: string;
3715
3420
  requirementsJson: {
3716
3421
  quorum?: number;
@@ -3753,9 +3458,9 @@ export interface ApprovalsCreateRequestResponse {
3753
3458
  export interface ApprovalsListRequestsAcrossOrganizationItem {
3754
3459
  id: string;
3755
3460
  orgId: string;
3756
- resourceType: 'release';
3461
+ resourceType: 'release' | 'deployment';
3757
3462
  resourceId: string | string;
3758
- actionType: 'release.submit' | 'release.rollback' | 'release.stage_transition';
3463
+ actionType: 'release.submit' | 'release.rollback' | 'release.stage_transition' | 'deployment.execute';
3759
3464
  reason: string;
3760
3465
  requirementsJson: {
3761
3466
  quorum?: number;
@@ -3803,10 +3508,10 @@ export interface ApprovalsListApproversResourceResponse {
3803
3508
  }[];
3804
3509
  }
3805
3510
  export interface ApprovalsGrantUserRightsResourceInput {
3806
- resourceType: 'release';
3511
+ resourceType: 'release' | 'deployment';
3807
3512
  resourceId: string | string;
3808
3513
  userId: string;
3809
- actionType?: 'release.submit' | 'release.rollback' | 'release.stage_transition';
3514
+ actionType?: 'release.submit' | 'release.rollback' | 'release.stage_transition' | 'deployment.execute';
3810
3515
  expiresAt?: string;
3811
3516
  }
3812
3517
  export interface ApprovalsGrantUserRightsResourceResponse {
@@ -3820,9 +3525,9 @@ export interface ApprovalsGrantUserRightsResourceResponse {
3820
3525
  id: string;
3821
3526
  orgId: string;
3822
3527
  userId: string;
3823
- resourceType: 'release';
3528
+ resourceType: 'release' | 'deployment';
3824
3529
  resourceId: string | string;
3825
- actionType: ('release.submit' | 'release.rollback' | 'release.stage_transition') | null;
3530
+ actionType: ('release.submit' | 'release.rollback' | 'release.stage_transition' | 'deployment.execute') | null;
3826
3531
  expiresAt: string | null;
3827
3532
  createdBy: string;
3828
3533
  createdAt: string;
@@ -3843,9 +3548,9 @@ export interface ApprovalsListGrantsItem {
3843
3548
  id: string;
3844
3549
  orgId: string;
3845
3550
  userId: string;
3846
- resourceType: 'release';
3551
+ resourceType: 'release' | 'deployment';
3847
3552
  resourceId: string | string;
3848
- actionType: ('release.submit' | 'release.rollback' | 'release.stage_transition') | null;
3553
+ actionType: ('release.submit' | 'release.rollback' | 'release.stage_transition' | 'deployment.execute') | null;
3849
3554
  expiresAt: string | null;
3850
3555
  createdBy: string;
3851
3556
  createdAt: string;
@@ -3871,9 +3576,9 @@ export interface ApprovalsRevokeGrantResponse {
3871
3576
  id: string;
3872
3577
  orgId: string;
3873
3578
  userId: string;
3874
- resourceType: 'release';
3579
+ resourceType: 'release' | 'deployment';
3875
3580
  resourceId: string | string;
3876
- actionType: ('release.submit' | 'release.rollback' | 'release.stage_transition') | null;
3581
+ actionType: ('release.submit' | 'release.rollback' | 'release.stage_transition' | 'deployment.execute') | null;
3877
3582
  expiresAt: string | null;
3878
3583
  createdBy: string;
3879
3584
  createdAt: string;
@@ -3901,9 +3606,9 @@ export interface ApprovalsExtendGrantResponse {
3901
3606
  id: string;
3902
3607
  orgId: string;
3903
3608
  userId: string;
3904
- resourceType: 'release';
3609
+ resourceType: 'release' | 'deployment';
3905
3610
  resourceId: string | string;
3906
- actionType: ('release.submit' | 'release.rollback' | 'release.stage_transition') | null;
3611
+ actionType: ('release.submit' | 'release.rollback' | 'release.stage_transition' | 'deployment.execute') | null;
3907
3612
  expiresAt: string | null;
3908
3613
  createdBy: string;
3909
3614
  createdAt: string;
@@ -3926,7 +3631,7 @@ export interface ApprovalsListPolicyTemplatesItem {
3926
3631
  scope: 'system' | 'organization';
3927
3632
  name: string;
3928
3633
  description: string | null;
3929
- actionType: 'release.submit' | 'release.rollback' | 'release.stage_transition';
3634
+ actionType: 'release.submit' | 'release.rollback' | 'release.stage_transition' | 'deployment.execute';
3930
3635
  riskLevel: 'low' | 'medium' | 'high' | 'critical';
3931
3636
  requirementsJson: {
3932
3637
  quorum?: number;
@@ -3961,7 +3666,7 @@ export interface ApprovalsCreatePolicyTemplateInput {
3961
3666
  name: string;
3962
3667
  description?: string;
3963
3668
  scope?: 'system' | 'organization';
3964
- actionType: 'release.submit' | 'release.rollback' | 'release.stage_transition';
3669
+ actionType: 'release.submit' | 'release.rollback' | 'release.stage_transition' | 'deployment.execute';
3965
3670
  riskLevel: 'low' | 'medium' | 'high' | 'critical';
3966
3671
  requirementsJson: {
3967
3672
  quorum?: number;
@@ -3995,7 +3700,7 @@ export interface ApprovalsCreatePolicyTemplateResponse {
3995
3700
  scope: 'system' | 'organization';
3996
3701
  name: string;
3997
3702
  description: string | null;
3998
- actionType: 'release.submit' | 'release.rollback' | 'release.stage_transition';
3703
+ actionType: 'release.submit' | 'release.rollback' | 'release.stage_transition' | 'deployment.execute';
3999
3704
  riskLevel: 'low' | 'medium' | 'high' | 'critical';
4000
3705
  requirementsJson: {
4001
3706
  quorum?: number;
@@ -4030,7 +3735,7 @@ export interface ApprovalsCreatePolicyTemplateResponse {
4030
3735
  export interface ApprovalsUpdatePolicyTemplateInput {
4031
3736
  name?: string;
4032
3737
  description?: string | null;
4033
- actionType?: 'release.submit' | 'release.rollback' | 'release.stage_transition';
3738
+ actionType?: 'release.submit' | 'release.rollback' | 'release.stage_transition' | 'deployment.execute';
4034
3739
  riskLevel?: 'low' | 'medium' | 'high' | 'critical';
4035
3740
  requirementsJson?: {
4036
3741
  quorum?: number;
@@ -4068,7 +3773,7 @@ export interface ApprovalsUpdatePolicyTemplateResponse {
4068
3773
  scope: 'system' | 'organization';
4069
3774
  name: string;
4070
3775
  description: string | null;
4071
- actionType: 'release.submit' | 'release.rollback' | 'release.stage_transition';
3776
+ actionType: 'release.submit' | 'release.rollback' | 'release.stage_transition' | 'deployment.execute';
4072
3777
  riskLevel: 'low' | 'medium' | 'high' | 'critical';
4073
3778
  requirementsJson: {
4074
3779
  quorum?: number;
@@ -4111,7 +3816,7 @@ export interface ApprovalsArchivePolicyTemplateResponse {
4111
3816
  scope: 'system' | 'organization';
4112
3817
  name: string;
4113
3818
  description: string | null;
4114
- actionType: 'release.submit' | 'release.rollback' | 'release.stage_transition';
3819
+ actionType: 'release.submit' | 'release.rollback' | 'release.stage_transition' | 'deployment.execute';
4115
3820
  riskLevel: 'low' | 'medium' | 'high' | 'critical';
4116
3821
  requirementsJson: {
4117
3822
  quorum?: number;
@@ -4146,7 +3851,7 @@ export interface ApprovalsArchivePolicyTemplateResponse {
4146
3851
  export interface ApprovalsListTemplateDefaultsItem {
4147
3852
  id: string;
4148
3853
  orgId: string;
4149
- actionType: 'release.submit' | 'release.rollback' | 'release.stage_transition';
3854
+ actionType: 'release.submit' | 'release.rollback' | 'release.stage_transition' | 'deployment.execute';
4150
3855
  riskLevel: 'low' | 'medium' | 'high' | 'critical';
4151
3856
  templateId: string;
4152
3857
  createdAt: string;
@@ -4159,7 +3864,7 @@ export interface ApprovalsUpsertTemplateDefaultResponse {
4159
3864
  defaultTemplate: {
4160
3865
  id: string;
4161
3866
  orgId: string;
4162
- actionType: 'release.submit' | 'release.rollback' | 'release.stage_transition';
3867
+ actionType: 'release.submit' | 'release.rollback' | 'release.stage_transition' | 'deployment.execute';
4163
3868
  riskLevel: 'low' | 'medium' | 'high' | 'critical';
4164
3869
  templateId: string;
4165
3870
  createdAt: string;
@@ -4169,9 +3874,9 @@ export interface ApprovalsUpsertTemplateDefaultResponse {
4169
3874
  export interface ApprovalsGetRequestResponse {
4170
3875
  id: string;
4171
3876
  orgId: string;
4172
- resourceType: 'release';
3877
+ resourceType: 'release' | 'deployment';
4173
3878
  resourceId: string | string;
4174
- actionType: 'release.submit' | 'release.rollback' | 'release.stage_transition';
3879
+ actionType: 'release.submit' | 'release.rollback' | 'release.stage_transition' | 'deployment.execute';
4175
3880
  reason: string;
4176
3881
  requirementsJson: {
4177
3882
  quorum?: number;
@@ -4255,9 +3960,9 @@ export interface ApprovalsRecordDecisionResponse {
4255
3960
  request: {
4256
3961
  id: string;
4257
3962
  orgId: string;
4258
- resourceType: 'release';
3963
+ resourceType: 'release' | 'deployment';
4259
3964
  resourceId: string | string;
4260
- actionType: 'release.submit' | 'release.rollback' | 'release.stage_transition';
3965
+ actionType: 'release.submit' | 'release.rollback' | 'release.stage_transition' | 'deployment.execute';
4261
3966
  reason: string;
4262
3967
  requirementsJson: {
4263
3968
  quorum?: number;
@@ -4306,9 +4011,9 @@ export interface ApprovalsCancelPendingRequestResponse {
4306
4011
  request: {
4307
4012
  id: string;
4308
4013
  orgId: string;
4309
- resourceType: 'release';
4014
+ resourceType: 'release' | 'deployment';
4310
4015
  resourceId: string | string;
4311
- actionType: 'release.submit' | 'release.rollback' | 'release.stage_transition';
4016
+ actionType: 'release.submit' | 'release.rollback' | 'release.stage_transition' | 'deployment.execute';
4312
4017
  reason: string;
4313
4018
  requirementsJson: {
4314
4019
  quorum?: number;
@@ -4352,9 +4057,9 @@ export interface ApprovalsArchiveRequestResponse {
4352
4057
  request: {
4353
4058
  id: string;
4354
4059
  orgId: string;
4355
- resourceType: 'release';
4060
+ resourceType: 'release' | 'deployment';
4356
4061
  resourceId: string | string;
4357
- actionType: 'release.submit' | 'release.rollback' | 'release.stage_transition';
4062
+ actionType: 'release.submit' | 'release.rollback' | 'release.stage_transition' | 'deployment.execute';
4358
4063
  reason: string;
4359
4064
  requirementsJson: {
4360
4065
  quorum?: number;
@@ -4404,9 +4109,9 @@ export interface ApprovalsRefreshExpiredDriftedRequestResponse {
4404
4109
  request: {
4405
4110
  id: string;
4406
4111
  orgId: string;
4407
- resourceType: 'release';
4112
+ resourceType: 'release' | 'deployment';
4408
4113
  resourceId: string | string;
4409
- actionType: 'release.submit' | 'release.rollback' | 'release.stage_transition';
4114
+ actionType: 'release.submit' | 'release.rollback' | 'release.stage_transition' | 'deployment.execute';
4410
4115
  reason: string;
4411
4116
  requirementsJson: {
4412
4117
  quorum?: number;
@@ -5129,6 +4834,169 @@ export interface AuditLogsExportInput {
5129
4834
  export interface AuditLogsExportResponse {
5130
4835
  message?: string;
5131
4836
  }
4837
+ export interface IntegrationsListAvailableResponse {
4838
+ integrations: {
4839
+ key: string;
4840
+ id: string;
4841
+ name: string;
4842
+ description: string | null;
4843
+ iconUrl: string | null;
4844
+ category: string | null;
4845
+ docsUrl: string | null;
4846
+ capabilities: string[];
4847
+ auth: {
4848
+ setupFlow: 'oauth_only' | 'credential_form' | 'oauth_then_configure' | 'none';
4849
+ fields?: {
4850
+ key: string;
4851
+ label: string;
4852
+ type: 'text' | 'password' | 'url' | 'select' | 'textarea';
4853
+ required: boolean;
4854
+ placeholder?: string;
4855
+ helpText?: string;
4856
+ options?: {
4857
+ value: string;
4858
+ label: string;
4859
+ }[];
4860
+ pattern?: string;
4861
+ minLength?: number;
4862
+ maxLength?: number;
4863
+ }[];
4864
+ };
4865
+ configured: boolean;
4866
+ installed: boolean;
4867
+ installationId: string | null;
4868
+ entitled: boolean;
4869
+ }[];
4870
+ }
4871
+ export interface IntegrationsListInstalledResponse {
4872
+ integrations: {
4873
+ installationId: string;
4874
+ integrationKey: string;
4875
+ status: string;
4876
+ installedAt: string | string;
4877
+ connectionCount: number;
4878
+ lastErrorCode: string | null;
4879
+ }[];
4880
+ }
4881
+ export interface IntegrationsInstallInput {
4882
+ integrationKey: string;
4883
+ }
4884
+ export interface IntegrationsInstallResponse {
4885
+ installationId: string;
4886
+ integrationKey: string;
4887
+ status: string;
4888
+ installedAt: string | string;
4889
+ }
4890
+ export interface IntegrationsUninstallResponse {
4891
+ uninstalled: true;
4892
+ }
4893
+ export interface IntegrationsInitiateOauthAuthorisationInput {
4894
+ integrationKey: string;
4895
+ }
4896
+ export interface IntegrationsInitiateOauthAuthorisationResponse {
4897
+ redirectUrl: string;
4898
+ }
4899
+ export interface IntegrationsCompleteOauthAuthorisationInput {
4900
+ integrationKey: string;
4901
+ code: string;
4902
+ state: string;
4903
+ }
4904
+ export interface IntegrationsCompleteOauthAuthorisationResponse {
4905
+ connectionId: string;
4906
+ integrationKey: string;
4907
+ displayName: string | null;
4908
+ isNew: boolean;
4909
+ }
4910
+ export interface IntegrationsListConnectionsProviderResponse {
4911
+ connections: {
4912
+ id: string;
4913
+ provider: string;
4914
+ providerAccountId: string | null;
4915
+ displayName: string | null;
4916
+ status: string;
4917
+ scopes: string[];
4918
+ connectedAt: string | string;
4919
+ lastRefreshedAt: (string | string) | null;
4920
+ }[];
4921
+ }
4922
+ export interface IntegrationsRevokeConnectionResponse {
4923
+ revoked: true;
4924
+ }
4925
+ export interface IntegrationsRefreshConnectionTokensResponse {
4926
+ refreshed: true;
4927
+ }
4928
+ export interface IntegrationsListAppConfigsResponse {
4929
+ configs: {
4930
+ id: string;
4931
+ appId: string;
4932
+ connectedAccountId: string;
4933
+ settings: Record<string, unknown>;
4934
+ notificationRules: unknown[];
4935
+ enabled: boolean;
4936
+ createdAt: string | string;
4937
+ updatedAt: string | string;
4938
+ }[];
4939
+ }
4940
+ export interface IntegrationsCreateAppConfigInput {
4941
+ connectedAccountId: string;
4942
+ settings?: Record<string, unknown>;
4943
+ notificationRules?: Record<string, unknown>[];
4944
+ }
4945
+ export interface IntegrationsCreateAppConfigResponse {
4946
+ id: string;
4947
+ appId: string;
4948
+ connectedAccountId: string;
4949
+ settings: Record<string, unknown>;
4950
+ notificationRules: unknown[];
4951
+ enabled: boolean;
4952
+ createdAt: string | string;
4953
+ updatedAt: string | string;
4954
+ }
4955
+ export interface IntegrationsUpdateAppConfigInput {
4956
+ settings?: Record<string, unknown>;
4957
+ notificationRules?: Record<string, unknown>[];
4958
+ enabled?: boolean;
4959
+ }
4960
+ export interface IntegrationsUpdateAppConfigResponse {
4961
+ id: string;
4962
+ appId: string;
4963
+ connectedAccountId: string;
4964
+ settings: Record<string, unknown>;
4965
+ notificationRules: unknown[];
4966
+ enabled: boolean;
4967
+ createdAt: string | string;
4968
+ updatedAt: string | string;
4969
+ }
4970
+ export interface IntegrationsDeleteAppConfigResponse {
4971
+ deleted: true;
4972
+ }
4973
+ export interface IntegrationsAdminListEntitlementOverridesOrganisationResponse {
4974
+ overrides: {
4975
+ id: string;
4976
+ orgId: string;
4977
+ integrationKey: string;
4978
+ type: 'allow' | 'deny';
4979
+ reason: string | null;
4980
+ grantedAt: string | string;
4981
+ }[];
4982
+ }
4983
+ export interface IntegrationsAdminCreateEntitlementOverrideInput {
4984
+ orgId: string;
4985
+ integrationKey: string;
4986
+ type: 'allow' | 'deny';
4987
+ reason?: string;
4988
+ }
4989
+ export interface IntegrationsAdminCreateEntitlementOverrideResponse {
4990
+ id: string;
4991
+ orgId: string;
4992
+ integrationKey: string;
4993
+ type: 'allow' | 'deny';
4994
+ reason: string | null;
4995
+ grantedAt: string | string;
4996
+ }
4997
+ export interface IntegrationsAdminDeleteEntitlementOverrideResponse {
4998
+ deleted: true;
4999
+ }
5132
5000
  export interface WebhooksReceiveExternalProviderResponse {
5133
5001
  success: boolean;
5134
5002
  payloadId?: string;
@@ -5578,20 +5446,6 @@ export interface HealthBillingServiceCheckResponse {
5578
5446
  /** Whether Polar integration is enabled */
5579
5447
  polarEnabled: boolean;
5580
5448
  }
5581
- export interface HealthCheckStoreCredentialResponse {
5582
- healthy: boolean;
5583
- status: 'valid' | 'expired' | 'invalid' | 'not_found' | 'error';
5584
- provider: 'google' | 'apple' | 'microsoft';
5585
- appId?: string;
5586
- credentialId?: string;
5587
- message: string;
5588
- checkedAt: string;
5589
- latencyMs?: number;
5590
- details?: {
5591
- isAuthenticated?: boolean;
5592
- error?: string;
5593
- };
5594
- }
5595
5449
  export interface HealthGetAnalyticsStatusResponse {
5596
5450
  status: 'healthy' | 'degraded' | 'unhealthy';
5597
5451
  checks: {
@@ -5665,12 +5519,6 @@ export interface SettingsResetUserSystemDefaultResponse {
5665
5519
  updatedAt: string | null;
5666
5520
  updatedBy: string | null;
5667
5521
  }
5668
- /**
5669
- * Query parameters for getDeviceAuthorizationStatus
5670
- */
5671
- export interface GetAuthDeviceQuery {
5672
- userCode: string;
5673
- }
5674
5522
  /**
5675
5523
  * Query parameters for oauth2AuthorizeEndpoint
5676
5524
  */
@@ -5706,12 +5554,6 @@ export interface GetAuthOauth2GetClientQuery {
5706
5554
  export interface GetAuthOauth2PublicClientQuery {
5707
5555
  clientId: string;
5708
5556
  }
5709
- /**
5710
- * Query parameters for getOauth2Consent
5711
- */
5712
- export interface GetAuthOauth2GetConsentQuery {
5713
- id: string;
5714
- }
5715
5557
  /**
5716
5558
  * Query parameters for list
5717
5559
  */
@@ -5853,16 +5695,6 @@ export interface GetAnalyticsRegistryQuery {
5853
5695
  rollupStrategy?: 'sum' | 'latest' | 'hll' | 'complex';
5854
5696
  unitLabel?: 'ms' | 'bytes' | 'count' | 'percent' | 'basis_points';
5855
5697
  }
5856
- /**
5857
- * Query parameters for listStoreOrganization
5858
- */
5859
- export interface GetCredentialsQuery {
5860
- provider?: 'google_play' | 'app_store_connect' | 'huawei_appgallery' | 'microsoft_partner_center';
5861
- appId?: string;
5862
- includeInactive?: boolean;
5863
- limit?: number;
5864
- cursor?: string;
5865
- }
5866
5698
  /**
5867
5699
  * Query parameters for getPortalUrl
5868
5700
  */
@@ -5879,28 +5711,6 @@ export interface GetBillingOrdersQuery {
5879
5711
  /** Items per page (default: 20, max: 100) */
5880
5712
  limit?: number;
5881
5713
  }
5882
- /**
5883
- * Query parameters for listOrganization
5884
- */
5885
- export interface GetIntegrationsQuery {
5886
- includeHidden?: string;
5887
- category?: 'store' | 'source-control' | 'monitoring';
5888
- requiredPlan?: 'free' | 'pro' | 'team' | 'enterprise';
5889
- isBeta?: string;
5890
- search?: string;
5891
- }
5892
- /**
5893
- * Query parameters for searchInstallations
5894
- */
5895
- export interface GetAdminIntegrationsInstallationsQuery {
5896
- orgId?: string;
5897
- integrationKey?: string;
5898
- status?: 'installed' | 'disabled' | 'error';
5899
- errorCode?: string;
5900
- updatedAfter?: string;
5901
- limit?: number;
5902
- offset?: number;
5903
- }
5904
5714
  /**
5905
5715
  * Query parameters for list
5906
5716
  */
@@ -5960,8 +5770,8 @@ export interface GetPoliciesAuditsQuery {
5960
5770
  */
5961
5771
  export interface GetApprovalsQuery {
5962
5772
  resourceId: string;
5963
- resourceType?: 'release';
5964
- actionType?: 'release.submit' | 'release.rollback' | 'release.stage_transition';
5773
+ resourceType?: 'release' | 'deployment';
5774
+ actionType?: 'release.submit' | 'release.rollback' | 'release.stage_transition' | 'deployment.execute';
5965
5775
  page?: number;
5966
5776
  limit?: number;
5967
5777
  }
@@ -5970,8 +5780,8 @@ export interface GetApprovalsQuery {
5970
5780
  */
5971
5781
  export interface GetApprovalsRequestsQuery {
5972
5782
  resourceId?: string;
5973
- resourceType?: 'release';
5974
- actionType?: 'release.submit' | 'release.rollback' | 'release.stage_transition';
5783
+ resourceType?: 'release' | 'deployment';
5784
+ actionType?: 'release.submit' | 'release.rollback' | 'release.stage_transition' | 'deployment.execute';
5975
5785
  status?: 'pending' | 'approved' | 'rejected' | 'canceled' | 'expired';
5976
5786
  riskLevel?: 'low' | 'medium' | 'high' | 'critical';
5977
5787
  includeArchived?: boolean;
@@ -5982,18 +5792,18 @@ export interface GetApprovalsRequestsQuery {
5982
5792
  * Query parameters for listApproversResource
5983
5793
  */
5984
5794
  export interface GetApprovalsApproversQuery {
5985
- resourceType: 'release';
5795
+ resourceType: 'release' | 'deployment';
5986
5796
  resourceId: string;
5987
- actionType?: 'release.submit' | 'release.rollback' | 'release.stage_transition';
5797
+ actionType?: 'release.submit' | 'release.rollback' | 'release.stage_transition' | 'deployment.execute';
5988
5798
  }
5989
5799
  /**
5990
5800
  * Query parameters for listGrants
5991
5801
  */
5992
5802
  export interface GetApprovalsGrantsQuery {
5993
5803
  userId?: string;
5994
- resourceType?: 'release';
5804
+ resourceType?: 'release' | 'deployment';
5995
5805
  resourceId?: string;
5996
- actionType?: 'release.submit' | 'release.rollback' | 'release.stage_transition';
5806
+ actionType?: 'release.submit' | 'release.rollback' | 'release.stage_transition' | 'deployment.execute';
5997
5807
  includeArchived?: boolean;
5998
5808
  page?: number;
5999
5809
  limit?: number;
@@ -6003,7 +5813,7 @@ export interface GetApprovalsGrantsQuery {
6003
5813
  */
6004
5814
  export interface GetApprovalsTemplatesQuery {
6005
5815
  scope?: 'system' | 'organization';
6006
- actionType?: 'release.submit' | 'release.rollback' | 'release.stage_transition';
5816
+ actionType?: 'release.submit' | 'release.rollback' | 'release.stage_transition' | 'deployment.execute';
6007
5817
  riskLevel?: 'low' | 'medium' | 'high' | 'critical';
6008
5818
  includeArchived?: boolean;
6009
5819
  page?: number;
@@ -6013,7 +5823,7 @@ export interface GetApprovalsTemplatesQuery {
6013
5823
  * Query parameters for listTemplateDefaults
6014
5824
  */
6015
5825
  export interface GetApprovalsTemplateDefaultsQuery {
6016
- actionType?: 'release.submit' | 'release.rollback' | 'release.stage_transition';
5826
+ actionType?: 'release.submit' | 'release.rollback' | 'release.stage_transition' | 'deployment.execute';
6017
5827
  riskLevel?: 'low' | 'medium' | 'high' | 'critical';
6018
5828
  page?: number;
6019
5829
  limit?: number;
@@ -6075,6 +5885,13 @@ export interface GetAuditLogsQuery {
6075
5885
  tags?: string;
6076
5886
  search?: string;
6077
5887
  }
5888
+ /**
5889
+ * Query parameters for listAvailable
5890
+ */
5891
+ export interface GetIntegrationsAvailableQuery {
5892
+ category?: string;
5893
+ capability?: string;
5894
+ }
6078
5895
  /**
6079
5896
  * Query parameters for listEndpoints
6080
5897
  */
@@ -6133,12 +5950,4 @@ export interface GetWorkflowsNodeTypesQuery {
6133
5950
  page?: number;
6134
5951
  limit?: number;
6135
5952
  }
6136
- /**
6137
- * Query parameters for checkStoreCredential
6138
- */
6139
- export interface GetHealthCredentialsQuery {
6140
- provider: 'google' | 'apple' | 'microsoft';
6141
- appId?: string;
6142
- credentialId?: string;
6143
- }
6144
5953
  //# sourceMappingURL=index.d.ts.map