@thinkai/tai-api-contract 2.191.0 → 2.193.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.
@@ -1,7 +1,7 @@
1
1
  openapi: 3.0.3
2
2
  info:
3
3
  title: ThinkAI API
4
- version: 2.191.0
4
+ version: 2.193.0
5
5
  description: >
6
6
  Contract surface for the AI Driven SDLC backend used by ThinkAI.
7
7
  Workspace-scoped routes use `/workspaces/{workspaceId}/...`.
@@ -5669,6 +5669,57 @@ paths:
5669
5669
  schema:
5670
5670
  $ref: "#/components/schemas/ErrorMessageDto"
5671
5671
 
5672
+ /workspaces/{workspaceId}/integrations/github/installations/{installationId}/automated-fixes/pr-creation-mode:
5673
+ put:
5674
+ tags: [Integrations]
5675
+ summary: Set fix PR creation mode for a GitHub installation
5676
+ operationId: putGithubAutomatedFixesPrCreationMode
5677
+ description: >
5678
+ Workspace admin only. Sets whether readiness fix PRs are opened only after
5679
+ an explicit Fix it (`manual`) or may be auto-enqueued by the fix processor (`auto`).
5680
+ Requires a linked Automations (write) installation. The mode is ignored while
5681
+ automated fixes are disabled or the write app is suspended.
5682
+ security:
5683
+ - bearerAuth: []
5684
+ parameters:
5685
+ - $ref: "#/components/parameters/WorkspaceId"
5686
+ - name: installationId
5687
+ in: path
5688
+ required: true
5689
+ schema:
5690
+ type: string
5691
+ minLength: 1
5692
+ maxLength: 64
5693
+ requestBody:
5694
+ required: true
5695
+ content:
5696
+ application/json:
5697
+ schema:
5698
+ $ref: "#/components/schemas/GithubFixPrCreationModeRequestDto"
5699
+ responses:
5700
+ "200":
5701
+ description: Updated mode
5702
+ content:
5703
+ application/json:
5704
+ schema:
5705
+ $ref: "#/components/schemas/GithubFixPrCreationModeResponseDto"
5706
+ "401":
5707
+ $ref: "#/components/responses/Unauthorized"
5708
+ "403":
5709
+ $ref: "#/components/responses/Forbidden"
5710
+ "404":
5711
+ description: Workspace, installation, or write app link not found
5712
+ content:
5713
+ application/json:
5714
+ schema:
5715
+ $ref: "#/components/schemas/ErrorMessageDto"
5716
+ "409":
5717
+ description: Write installation suspended
5718
+ content:
5719
+ application/json:
5720
+ schema:
5721
+ $ref: "#/components/schemas/ErrorMessageDto"
5722
+
5672
5723
  /workspaces/{workspaceId}/integrations/github/user-authorize-url:
5673
5724
  post:
5674
5725
  tags: [Integrations]
@@ -6790,6 +6841,76 @@ paths:
6790
6841
  schema:
6791
6842
  $ref: "#/components/schemas/DatadogTriggerSyncResultDto"
6792
6843
 
6844
+ /workspaces/{workspaceId}/integrations/sentry:
6845
+ get:
6846
+ tags: [Integrations]
6847
+ summary: Sentry monitoring integration status
6848
+ operationId: getWorkspaceSentryIntegrationStatus
6849
+ description: >
6850
+ Returns whether Sentry is connected for the workspace (org slug + auth token) and the last
6851
+ monitoring ingest sync outcome (incidents/deployments pulled into Quality and DORA metrics).
6852
+ parameters:
6853
+ - $ref: "#/components/parameters/WorkspaceId"
6854
+ responses:
6855
+ "200":
6856
+ description: Sentry integration status
6857
+ content:
6858
+ application/json:
6859
+ schema:
6860
+ $ref: "#/components/schemas/SentryIntegrationStatusDto"
6861
+ "401":
6862
+ $ref: "#/components/responses/Unauthorized"
6863
+ "403":
6864
+ $ref: "#/components/responses/Forbidden"
6865
+ "404":
6866
+ description: Workspace does not exist or malformed workspaceId
6867
+ content:
6868
+ application/json:
6869
+ schema:
6870
+ $ref: "#/components/schemas/ErrorMessageDto"
6871
+
6872
+ /workspaces/{workspaceId}/integrations/sentry/sync:
6873
+ post:
6874
+ tags: [Integrations]
6875
+ summary: Trigger Sentry monitoring ingest now
6876
+ operationId: postWorkspaceSentryIntegrationSync
6877
+ description: >
6878
+ Manually polls Sentry for issues (incidents) and releases (deployments), persists canonical
6879
+ monitoring events, and refreshes org-level Quality/DORA dashboard buckets. Requires editor role.
6880
+ security:
6881
+ - bearerAuth: []
6882
+ parameters:
6883
+ - $ref: "#/components/parameters/WorkspaceId"
6884
+ responses:
6885
+ "200":
6886
+ description: Sync completed
6887
+ content:
6888
+ application/json:
6889
+ schema:
6890
+ $ref: "#/components/schemas/SentryTriggerSyncResultDto"
6891
+ "401":
6892
+ $ref: "#/components/responses/Unauthorized"
6893
+ "403":
6894
+ $ref: "#/components/responses/Forbidden"
6895
+ "404":
6896
+ description: Workspace does not exist or malformed workspaceId
6897
+ content:
6898
+ application/json:
6899
+ schema:
6900
+ $ref: "#/components/schemas/ErrorMessageDto"
6901
+ "422":
6902
+ description: Sentry is not connected on this workspace
6903
+ content:
6904
+ application/json:
6905
+ schema:
6906
+ $ref: "#/components/schemas/SentryTriggerSyncResultDto"
6907
+ "503":
6908
+ description: Sync failed (Sentry API or persistence error)
6909
+ content:
6910
+ application/json:
6911
+ schema:
6912
+ $ref: "#/components/schemas/SentryTriggerSyncResultDto"
6913
+
6793
6914
  /integrations/github/webhook:
6794
6915
  post:
6795
6916
  tags: [Integrations]
@@ -19840,6 +19961,7 @@ components:
19840
19961
  - writePermissionsUpgradeRequired
19841
19962
  - automatedFixesEnabled
19842
19963
  - writeAppInstalled
19964
+ - fixPrCreationMode
19843
19965
  - canEnableAutomatedFixes
19844
19966
  - suspended
19845
19967
  - writeSuspended
@@ -19948,6 +20070,14 @@ components:
19948
20070
  writeAppInstalled:
19949
20071
  type: boolean
19950
20072
  description: True when an Automations (write) GitHub App installation is linked.
20073
+ fixPrCreationMode:
20074
+ type: string
20075
+ enum: [manual, auto]
20076
+ description: >
20077
+ `manual` (default): open fix PRs only after Fix it / POST readiness/fixes.
20078
+ `auto`: allow the fix processor to auto-enqueue open readiness issues for this
20079
+ installation when automated fixes are enabled. Meaningful only when
20080
+ `writeAppInstalled` is true.
19951
20081
  writeInstallationId:
19952
20082
  type: string
19953
20083
  nullable: true
@@ -20320,6 +20450,74 @@ components:
20320
20450
  type: string
20321
20451
  description: Error message when status is error.
20322
20452
 
20453
+ SentryIntegrationStatusDto:
20454
+ type: object
20455
+ additionalProperties: false
20456
+ required: [connected, status]
20457
+ properties:
20458
+ connected:
20459
+ type: boolean
20460
+ description: "True when a type:sentry workspace source is configured."
20461
+ orgSlug:
20462
+ type: string
20463
+ description: Configured Sentry organization slug when connected.
20464
+ orgName:
20465
+ type: string
20466
+ description: Org display name when known from the last successful verify.
20467
+ lastSyncAt:
20468
+ type: string
20469
+ format: date-time
20470
+ nullable: true
20471
+ description: Timestamp of the last monitoring ingest attempt (success or failure).
20472
+ status:
20473
+ type: string
20474
+ enum: [ok, error, never]
20475
+ description: Outcome of the most recent sync (`never` when not yet synced).
20476
+ lastError:
20477
+ type: string
20478
+ nullable: true
20479
+ issueCount:
20480
+ type: integer
20481
+ nullable: true
20482
+ description: Issues (incidents) fetched on the last successful sync (30d lookback).
20483
+ deploymentCount:
20484
+ type: integer
20485
+ nullable: true
20486
+ description: Releases (deployments) fetched on the last successful sync (30d lookback).
20487
+ eventCount:
20488
+ type: integer
20489
+ nullable: true
20490
+ description: Canonical monitoring events upserted on the last successful sync.
20491
+
20492
+ SentryTriggerSyncResultDto:
20493
+ type: object
20494
+ additionalProperties: false
20495
+ required: [status]
20496
+ properties:
20497
+ status:
20498
+ type: string
20499
+ enum: [ok, skipped, error]
20500
+ code:
20501
+ type: string
20502
+ description: Stable machine-readable code (e.g. `sentry_not_connected`).
20503
+ reason:
20504
+ type: string
20505
+ description: Human-readable skip reason when status is skipped.
20506
+ issueCount:
20507
+ type: integer
20508
+ deploymentCount:
20509
+ type: integer
20510
+ eventCount:
20511
+ type: integer
20512
+ bucketsWritten:
20513
+ type: integer
20514
+ description: Weekly dashboard metric buckets updated from monitoring events.
20515
+ durationMs:
20516
+ type: integer
20517
+ error:
20518
+ type: string
20519
+ description: Error message when status is error.
20520
+
20323
20521
  GithubActionsEnableResponseDto:
20324
20522
  type: object
20325
20523
  additionalProperties: false
@@ -20544,6 +20742,26 @@ components:
20544
20742
  minLength: 16
20545
20743
  maxLength: 128
20546
20744
 
20745
+ GithubFixPrCreationModeRequestDto:
20746
+ type: object
20747
+ additionalProperties: false
20748
+ required: [mode]
20749
+ properties:
20750
+ mode:
20751
+ type: string
20752
+ enum: [manual, auto]
20753
+ description: >
20754
+ `manual` requires Fix it; `auto` allows processor auto-enqueue of open fix issues.
20755
+
20756
+ GithubFixPrCreationModeResponseDto:
20757
+ type: object
20758
+ additionalProperties: false
20759
+ required: [mode]
20760
+ properties:
20761
+ mode:
20762
+ type: string
20763
+ enum: [manual, auto]
20764
+
20547
20765
  GithubAutomatedFixesEnableResponseDto:
20548
20766
  type: object
20549
20767
  additionalProperties: false
@@ -24504,6 +24722,10 @@ components:
24504
24722
  - integrations.datadog.removed
24505
24723
  - integrations.datadog.sync_completed
24506
24724
  - integrations.datadog.sync_failed
24725
+ - integrations.sentry.added
24726
+ - integrations.sentry.removed
24727
+ - integrations.sentry.sync_completed
24728
+ - integrations.sentry.sync_failed
24507
24729
  - integrations.zelt.added
24508
24730
  - integrations.zelt.removed
24509
24731
  - report.exported
@@ -24914,7 +25136,7 @@ components:
24914
25136
  properties:
24915
25137
  version:
24916
25138
  type: string
24917
- enum: ["2026-10-25.1"]
25139
+ enum: ["2026-10-26.1"]
24918
25140
  periodDays:
24919
25141
  type: integer
24920
25142
  enum: [90]
@@ -25000,12 +25222,12 @@ components:
25000
25222
  enum: [jira]
25001
25223
  incident:
25002
25224
  type: array
25003
- minItems: 7
25004
- maxItems: 7
25225
+ minItems: 8
25226
+ maxItems: 8
25005
25227
  uniqueItems: true
25006
25228
  items:
25007
25229
  type: string
25008
- enum: [pagerduty, opsgenie, goalert, newrelic, prometheus, grafana, datadog]
25230
+ enum: [pagerduty, opsgenie, goalert, newrelic, prometheus, grafana, datadog, sentry]
25009
25231
  selfManagedGit:
25010
25232
  type: object
25011
25233
  additionalProperties: false
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thinkai/tai-api-contract",
3
- "version": "2.191.0",
3
+ "version": "2.193.0",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1895,6 +1895,26 @@ export interface paths {
1895
1895
  patch?: never;
1896
1896
  trace?: never;
1897
1897
  };
1898
+ "/workspaces/{workspaceId}/integrations/github/installations/{installationId}/automated-fixes/pr-creation-mode": {
1899
+ parameters: {
1900
+ query?: never;
1901
+ header?: never;
1902
+ path?: never;
1903
+ cookie?: never;
1904
+ };
1905
+ get?: never;
1906
+ /**
1907
+ * Set fix PR creation mode for a GitHub installation
1908
+ * @description Workspace admin only. Sets whether readiness fix PRs are opened only after an explicit Fix it (`manual`) or may be auto-enqueued by the fix processor (`auto`). Requires a linked Automations (write) installation. The mode is ignored while automated fixes are disabled or the write app is suspended.
1909
+ */
1910
+ put: operations["putGithubAutomatedFixesPrCreationMode"];
1911
+ post?: never;
1912
+ delete?: never;
1913
+ options?: never;
1914
+ head?: never;
1915
+ patch?: never;
1916
+ trace?: never;
1917
+ };
1898
1918
  "/workspaces/{workspaceId}/integrations/github/user-authorize-url": {
1899
1919
  parameters: {
1900
1920
  query?: never;
@@ -2364,6 +2384,46 @@ export interface paths {
2364
2384
  patch?: never;
2365
2385
  trace?: never;
2366
2386
  };
2387
+ "/workspaces/{workspaceId}/integrations/sentry": {
2388
+ parameters: {
2389
+ query?: never;
2390
+ header?: never;
2391
+ path?: never;
2392
+ cookie?: never;
2393
+ };
2394
+ /**
2395
+ * Sentry monitoring integration status
2396
+ * @description Returns whether Sentry is connected for the workspace (org slug + auth token) and the last monitoring ingest sync outcome (incidents/deployments pulled into Quality and DORA metrics).
2397
+ */
2398
+ get: operations["getWorkspaceSentryIntegrationStatus"];
2399
+ put?: never;
2400
+ post?: never;
2401
+ delete?: never;
2402
+ options?: never;
2403
+ head?: never;
2404
+ patch?: never;
2405
+ trace?: never;
2406
+ };
2407
+ "/workspaces/{workspaceId}/integrations/sentry/sync": {
2408
+ parameters: {
2409
+ query?: never;
2410
+ header?: never;
2411
+ path?: never;
2412
+ cookie?: never;
2413
+ };
2414
+ get?: never;
2415
+ put?: never;
2416
+ /**
2417
+ * Trigger Sentry monitoring ingest now
2418
+ * @description Manually polls Sentry for issues (incidents) and releases (deployments), persists canonical monitoring events, and refreshes org-level Quality/DORA dashboard buckets. Requires editor role.
2419
+ */
2420
+ post: operations["postWorkspaceSentryIntegrationSync"];
2421
+ delete?: never;
2422
+ options?: never;
2423
+ head?: never;
2424
+ patch?: never;
2425
+ trace?: never;
2426
+ };
2367
2427
  "/integrations/github/webhook": {
2368
2428
  parameters: {
2369
2429
  query?: never;
@@ -8047,6 +8107,11 @@ export interface components {
8047
8107
  automatedFixesEnabled: boolean;
8048
8108
  /** @description True when an Automations (write) GitHub App installation is linked. */
8049
8109
  writeAppInstalled: boolean;
8110
+ /**
8111
+ * @description `manual` (default): open fix PRs only after Fix it / POST readiness/fixes. `auto`: allow the fix processor to auto-enqueue open readiness issues for this installation when automated fixes are enabled. Meaningful only when `writeAppInstalled` is true.
8112
+ * @enum {string}
8113
+ */
8114
+ fixPrCreationMode: "manual" | "auto";
8050
8115
  /** @description GitHub installation id for the Automations (write) app, when linked. */
8051
8116
  writeInstallationId?: string | null;
8052
8117
  /**
@@ -8254,6 +8319,47 @@ export interface components {
8254
8319
  /** @description Error message when status is error. */
8255
8320
  error?: string;
8256
8321
  };
8322
+ SentryIntegrationStatusDto: {
8323
+ /** @description True when a type:sentry workspace source is configured. */
8324
+ connected: boolean;
8325
+ /** @description Configured Sentry organization slug when connected. */
8326
+ orgSlug?: string;
8327
+ /** @description Org display name when known from the last successful verify. */
8328
+ orgName?: string;
8329
+ /**
8330
+ * Format: date-time
8331
+ * @description Timestamp of the last monitoring ingest attempt (success or failure).
8332
+ */
8333
+ lastSyncAt?: string | null;
8334
+ /**
8335
+ * @description Outcome of the most recent sync (`never` when not yet synced).
8336
+ * @enum {string}
8337
+ */
8338
+ status: "ok" | "error" | "never";
8339
+ lastError?: string | null;
8340
+ /** @description Issues (incidents) fetched on the last successful sync (30d lookback). */
8341
+ issueCount?: number | null;
8342
+ /** @description Releases (deployments) fetched on the last successful sync (30d lookback). */
8343
+ deploymentCount?: number | null;
8344
+ /** @description Canonical monitoring events upserted on the last successful sync. */
8345
+ eventCount?: number | null;
8346
+ };
8347
+ SentryTriggerSyncResultDto: {
8348
+ /** @enum {string} */
8349
+ status: "ok" | "skipped" | "error";
8350
+ /** @description Stable machine-readable code (e.g. `sentry_not_connected`). */
8351
+ code?: string;
8352
+ /** @description Human-readable skip reason when status is skipped. */
8353
+ reason?: string;
8354
+ issueCount?: number;
8355
+ deploymentCount?: number;
8356
+ eventCount?: number;
8357
+ /** @description Weekly dashboard metric buckets updated from monitoring events. */
8358
+ bucketsWritten?: number;
8359
+ durationMs?: number;
8360
+ /** @description Error message when status is error. */
8361
+ error?: string;
8362
+ };
8257
8363
  GithubActionsEnableResponseDto: {
8258
8364
  /** @enum {string} */
8259
8365
  outcome: "enabled" | "needs_github" | "permissions_missing" | "error";
@@ -8357,6 +8463,17 @@ export interface components {
8357
8463
  url: string;
8358
8464
  state: string;
8359
8465
  };
8466
+ GithubFixPrCreationModeRequestDto: {
8467
+ /**
8468
+ * @description `manual` requires Fix it; `auto` allows processor auto-enqueue of open fix issues.
8469
+ * @enum {string}
8470
+ */
8471
+ mode: "manual" | "auto";
8472
+ };
8473
+ GithubFixPrCreationModeResponseDto: {
8474
+ /** @enum {string} */
8475
+ mode: "manual" | "auto";
8476
+ };
8360
8477
  GithubAutomatedFixesEnableResponseDto: {
8361
8478
  /**
8362
8479
  * @description enabled — write app already linked and flag flipped; needs_install — client should call install-url with intent=enable_fixes.
@@ -10046,7 +10163,7 @@ export interface components {
10046
10163
  * @description Type of workspace lifecycle event.
10047
10164
  * @enum {string}
10048
10165
  */
10049
- ActivityLogEventTypeDto: "repo.added" | "repo.removed" | "repo.readded" | "integration.github.added" | "integration.github.updated" | "integration.github.removed" | "integration.github.permissions_changed" | "integration.github.suspended" | "integration.github.unsuspended" | "integration.github.repo_added" | "integration.github.repo_removed" | "fix.requested" | "fix.generating" | "fix.pr_created" | "fix.merged" | "fix.failed" | "readiness.scan_started" | "readiness.scan_completed" | "readiness.scan_failed" | "readiness.scan_partial" | "code_insights.design_run_started" | "integrations.agent_execution.provider_changed" | "integrations.repo_eligibility.overrides_changed" | "integrations.repo_eligibility.languages_refresh_requested" | "rules_skills.soft_quality.override" | "integrations.cursor.platform_key_enabled" | "integrations.cursor.platform_key_disabled" | "member.invited" | "member.invite_accepted" | "member.invite_rejected" | "member.role_changed" | "member.removed" | "hris.personio.sync_started" | "hris.personio.sync_completed" | "hris.personio.sync_failed" | "hris.zenhr.sync_started" | "hris.zenhr.sync_completed" | "hris.zenhr.sync_failed" | "hris.zelt.sync_started" | "hris.zelt.sync_completed" | "hris.zelt.sync_failed" | "hris.hibob.sync_started" | "hris.hibob.sync_completed" | "hris.hibob.sync_failed" | "hris.sync_started" | "hris.sync_completed" | "hris.sync_failed" | "repo.sync_skipped" | "integrations.cursor.execution_key.added" | "integrations.cursor.execution_key.updated" | "integrations.cursor.execution_key.removed" | "integrations.cursor.execution_key.check_failed" | "integrations.cursor.admin_key.added" | "integrations.cursor.admin_key.updated" | "integrations.cursor.admin_key.removed" | "integrations.claude.execution_key.added" | "integrations.claude.execution_key.updated" | "integrations.claude.execution_key.removed" | "integrations.claude.execution_key.check_failed" | "integrations.claude.admin_key.added" | "integrations.claude.admin_key.updated" | "integrations.claude.admin_key.removed" | "integrations.claude.analytics_key.added" | "integrations.claude.analytics_key.updated" | "integrations.claude.analytics_key.removed" | "integrations.code_intelligence.settings_changed" | "integrations.code_intelligence.execution_key.added" | "integrations.code_intelligence.execution_key.updated" | "integrations.code_intelligence.execution_key.removed" | "integrations.code_intelligence.execution_key.check_failed" | "readiness.scan_precheck_failed" | "productivity.ingest.completed" | "productivity.ingest.failed" | "productivity.ingest.skipped" | "productivity.ingest.repo_skipped" | "productivity.ingest.coverage_gap_detected" | "integrations.newrelic.added" | "integrations.newrelic.removed" | "integrations.newrelic.sync_completed" | "integrations.newrelic.sync_failed" | "integrations.prometheus.added" | "integrations.prometheus.removed" | "integrations.prometheus.sync_completed" | "integrations.prometheus.sync_failed" | "integrations.grafana.added" | "integrations.grafana.removed" | "integrations.grafana.sync_completed" | "integrations.grafana.sync_failed" | "integrations.datadog.added" | "integrations.datadog.removed" | "integrations.datadog.sync_completed" | "integrations.datadog.sync_failed" | "integrations.zelt.added" | "integrations.zelt.removed" | "report.exported" | "report.assessment_stored" | "report.assessment_link_sent" | "report.assessment_link_revoked" | "report.assessment_downloaded" | "report.assessment_hidden" | "report.assessment_restored" | "workspace.aggregate_use.changed" | "workspace.assessment_rollout.changed";
10166
+ ActivityLogEventTypeDto: "repo.added" | "repo.removed" | "repo.readded" | "integration.github.added" | "integration.github.updated" | "integration.github.removed" | "integration.github.permissions_changed" | "integration.github.suspended" | "integration.github.unsuspended" | "integration.github.repo_added" | "integration.github.repo_removed" | "fix.requested" | "fix.generating" | "fix.pr_created" | "fix.merged" | "fix.failed" | "readiness.scan_started" | "readiness.scan_completed" | "readiness.scan_failed" | "readiness.scan_partial" | "code_insights.design_run_started" | "integrations.agent_execution.provider_changed" | "integrations.repo_eligibility.overrides_changed" | "integrations.repo_eligibility.languages_refresh_requested" | "rules_skills.soft_quality.override" | "integrations.cursor.platform_key_enabled" | "integrations.cursor.platform_key_disabled" | "member.invited" | "member.invite_accepted" | "member.invite_rejected" | "member.role_changed" | "member.removed" | "hris.personio.sync_started" | "hris.personio.sync_completed" | "hris.personio.sync_failed" | "hris.zenhr.sync_started" | "hris.zenhr.sync_completed" | "hris.zenhr.sync_failed" | "hris.zelt.sync_started" | "hris.zelt.sync_completed" | "hris.zelt.sync_failed" | "hris.hibob.sync_started" | "hris.hibob.sync_completed" | "hris.hibob.sync_failed" | "hris.sync_started" | "hris.sync_completed" | "hris.sync_failed" | "repo.sync_skipped" | "integrations.cursor.execution_key.added" | "integrations.cursor.execution_key.updated" | "integrations.cursor.execution_key.removed" | "integrations.cursor.execution_key.check_failed" | "integrations.cursor.admin_key.added" | "integrations.cursor.admin_key.updated" | "integrations.cursor.admin_key.removed" | "integrations.claude.execution_key.added" | "integrations.claude.execution_key.updated" | "integrations.claude.execution_key.removed" | "integrations.claude.execution_key.check_failed" | "integrations.claude.admin_key.added" | "integrations.claude.admin_key.updated" | "integrations.claude.admin_key.removed" | "integrations.claude.analytics_key.added" | "integrations.claude.analytics_key.updated" | "integrations.claude.analytics_key.removed" | "integrations.code_intelligence.settings_changed" | "integrations.code_intelligence.execution_key.added" | "integrations.code_intelligence.execution_key.updated" | "integrations.code_intelligence.execution_key.removed" | "integrations.code_intelligence.execution_key.check_failed" | "readiness.scan_precheck_failed" | "productivity.ingest.completed" | "productivity.ingest.failed" | "productivity.ingest.skipped" | "productivity.ingest.repo_skipped" | "productivity.ingest.coverage_gap_detected" | "integrations.newrelic.added" | "integrations.newrelic.removed" | "integrations.newrelic.sync_completed" | "integrations.newrelic.sync_failed" | "integrations.prometheus.added" | "integrations.prometheus.removed" | "integrations.prometheus.sync_completed" | "integrations.prometheus.sync_failed" | "integrations.grafana.added" | "integrations.grafana.removed" | "integrations.grafana.sync_completed" | "integrations.grafana.sync_failed" | "integrations.datadog.added" | "integrations.datadog.removed" | "integrations.datadog.sync_completed" | "integrations.datadog.sync_failed" | "integrations.sentry.added" | "integrations.sentry.removed" | "integrations.sentry.sync_completed" | "integrations.sentry.sync_failed" | "integrations.zelt.added" | "integrations.zelt.removed" | "report.exported" | "report.assessment_stored" | "report.assessment_link_sent" | "report.assessment_link_revoked" | "report.assessment_downloaded" | "report.assessment_hidden" | "report.assessment_restored" | "workspace.aggregate_use.changed" | "workspace.assessment_rollout.changed";
10050
10167
  /** @description Current legal-approved opt-in notice, or `unset` while opt-in is unavailable. */
10051
10168
  AggregateUseNoticeStatusDto: {
10052
10169
  /** @enum {string} */
@@ -10209,7 +10326,7 @@ export interface components {
10209
10326
  };
10210
10327
  AssessmentDictionaryDto: {
10211
10328
  /** @enum {string} */
10212
- version: "2026-10-25.1";
10329
+ version: "2026-10-26.1";
10213
10330
  /** @enum {integer} */
10214
10331
  periodDays: 90;
10215
10332
  /** @enum {integer} */
@@ -10245,7 +10362,7 @@ export interface components {
10245
10362
  aiProviders: ("cursor" | "claude" | "copilot")[];
10246
10363
  optionalProviders: {
10247
10364
  roadmap: "jira"[];
10248
- incident: ("pagerduty" | "opsgenie" | "goalert" | "newrelic" | "prometheus" | "grafana" | "datadog")[];
10365
+ incident: ("pagerduty" | "opsgenie" | "goalert" | "newrelic" | "prometheus" | "grafana" | "datadog" | "sentry")[];
10249
10366
  };
10250
10367
  selfManagedGit: {
10251
10368
  /** @enum {string} */
@@ -13283,10 +13400,14 @@ export type GrafanaIntegrationStatusDto = components['schemas']['GrafanaIntegrat
13283
13400
  export type GrafanaTriggerSyncResultDto = components['schemas']['GrafanaTriggerSyncResultDto'];
13284
13401
  export type DatadogIntegrationStatusDto = components['schemas']['DatadogIntegrationStatusDto'];
13285
13402
  export type DatadogTriggerSyncResultDto = components['schemas']['DatadogTriggerSyncResultDto'];
13403
+ export type SentryIntegrationStatusDto = components['schemas']['SentryIntegrationStatusDto'];
13404
+ export type SentryTriggerSyncResultDto = components['schemas']['SentryTriggerSyncResultDto'];
13286
13405
  export type GithubActionsEnableResponseDto = components['schemas']['GithubActionsEnableResponseDto'];
13287
13406
  export type GithubInstallationStatusDto = components['schemas']['GithubInstallationStatusDto'];
13288
13407
  export type GithubInstallUrlRequestDto = components['schemas']['GithubInstallUrlRequestDto'];
13289
13408
  export type GithubInstallUrlResponseDto = components['schemas']['GithubInstallUrlResponseDto'];
13409
+ export type GithubFixPrCreationModeRequestDto = components['schemas']['GithubFixPrCreationModeRequestDto'];
13410
+ export type GithubFixPrCreationModeResponseDto = components['schemas']['GithubFixPrCreationModeResponseDto'];
13290
13411
  export type GithubAutomatedFixesEnableResponseDto = components['schemas']['GithubAutomatedFixesEnableResponseDto'];
13291
13412
  export type GithubUserAuthorizeUrlRequestDto = components['schemas']['GithubUserAuthorizeUrlRequestDto'];
13292
13413
  export type GithubUserAuthorizeUrlResponseDto = components['schemas']['GithubUserAuthorizeUrlResponseDto'];
@@ -19400,6 +19521,53 @@ export interface operations {
19400
19521
  };
19401
19522
  };
19402
19523
  };
19524
+ putGithubAutomatedFixesPrCreationMode: {
19525
+ parameters: {
19526
+ query?: never;
19527
+ header?: never;
19528
+ path: {
19529
+ workspaceId: components["parameters"]["WorkspaceId"];
19530
+ installationId: string;
19531
+ };
19532
+ cookie?: never;
19533
+ };
19534
+ requestBody: {
19535
+ content: {
19536
+ "application/json": components["schemas"]["GithubFixPrCreationModeRequestDto"];
19537
+ };
19538
+ };
19539
+ responses: {
19540
+ /** @description Updated mode */
19541
+ 200: {
19542
+ headers: {
19543
+ [name: string]: unknown;
19544
+ };
19545
+ content: {
19546
+ "application/json": components["schemas"]["GithubFixPrCreationModeResponseDto"];
19547
+ };
19548
+ };
19549
+ 401: components["responses"]["Unauthorized"];
19550
+ 403: components["responses"]["Forbidden"];
19551
+ /** @description Workspace, installation, or write app link not found */
19552
+ 404: {
19553
+ headers: {
19554
+ [name: string]: unknown;
19555
+ };
19556
+ content: {
19557
+ "application/json": components["schemas"]["ErrorMessageDto"];
19558
+ };
19559
+ };
19560
+ /** @description Write installation suspended */
19561
+ 409: {
19562
+ headers: {
19563
+ [name: string]: unknown;
19564
+ };
19565
+ content: {
19566
+ "application/json": components["schemas"]["ErrorMessageDto"];
19567
+ };
19568
+ };
19569
+ };
19570
+ };
19403
19571
  postGithubUserAuthorizeUrl: {
19404
19572
  parameters: {
19405
19573
  query?: never;
@@ -20450,6 +20618,90 @@ export interface operations {
20450
20618
  };
20451
20619
  };
20452
20620
  };
20621
+ getWorkspaceSentryIntegrationStatus: {
20622
+ parameters: {
20623
+ query?: never;
20624
+ header?: never;
20625
+ path: {
20626
+ workspaceId: components["parameters"]["WorkspaceId"];
20627
+ };
20628
+ cookie?: never;
20629
+ };
20630
+ requestBody?: never;
20631
+ responses: {
20632
+ /** @description Sentry integration status */
20633
+ 200: {
20634
+ headers: {
20635
+ [name: string]: unknown;
20636
+ };
20637
+ content: {
20638
+ "application/json": components["schemas"]["SentryIntegrationStatusDto"];
20639
+ };
20640
+ };
20641
+ 401: components["responses"]["Unauthorized"];
20642
+ 403: components["responses"]["Forbidden"];
20643
+ /** @description Workspace does not exist or malformed workspaceId */
20644
+ 404: {
20645
+ headers: {
20646
+ [name: string]: unknown;
20647
+ };
20648
+ content: {
20649
+ "application/json": components["schemas"]["ErrorMessageDto"];
20650
+ };
20651
+ };
20652
+ };
20653
+ };
20654
+ postWorkspaceSentryIntegrationSync: {
20655
+ parameters: {
20656
+ query?: never;
20657
+ header?: never;
20658
+ path: {
20659
+ workspaceId: components["parameters"]["WorkspaceId"];
20660
+ };
20661
+ cookie?: never;
20662
+ };
20663
+ requestBody?: never;
20664
+ responses: {
20665
+ /** @description Sync completed */
20666
+ 200: {
20667
+ headers: {
20668
+ [name: string]: unknown;
20669
+ };
20670
+ content: {
20671
+ "application/json": components["schemas"]["SentryTriggerSyncResultDto"];
20672
+ };
20673
+ };
20674
+ 401: components["responses"]["Unauthorized"];
20675
+ 403: components["responses"]["Forbidden"];
20676
+ /** @description Workspace does not exist or malformed workspaceId */
20677
+ 404: {
20678
+ headers: {
20679
+ [name: string]: unknown;
20680
+ };
20681
+ content: {
20682
+ "application/json": components["schemas"]["ErrorMessageDto"];
20683
+ };
20684
+ };
20685
+ /** @description Sentry is not connected on this workspace */
20686
+ 422: {
20687
+ headers: {
20688
+ [name: string]: unknown;
20689
+ };
20690
+ content: {
20691
+ "application/json": components["schemas"]["SentryTriggerSyncResultDto"];
20692
+ };
20693
+ };
20694
+ /** @description Sync failed (Sentry API or persistence error) */
20695
+ 503: {
20696
+ headers: {
20697
+ [name: string]: unknown;
20698
+ };
20699
+ content: {
20700
+ "application/json": components["schemas"]["SentryTriggerSyncResultDto"];
20701
+ };
20702
+ };
20703
+ };
20704
+ };
20453
20705
  postGithubWebhook: {
20454
20706
  parameters: {
20455
20707
  query?: never;