@sentry/api 0.333.0 → 0.335.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.
@@ -1310,6 +1310,75 @@ export type CreateReplayDeletionJob = {
1310
1310
  countDeleted: number;
1311
1311
  };
1312
1312
  };
1313
+ export type CustomInboundFilter = {
1314
+ /**
1315
+ * The ID of the filter.
1316
+ */
1317
+ readonly id: string;
1318
+ /**
1319
+ * The data the filter matches against. `all` is the catch-all: it filters every data type Sentry ingests, including ones added later, and accepts only the conditions that every data type carries a field for.
1320
+ *
1321
+ * * `all`
1322
+ * * `error`
1323
+ * * `log`
1324
+ * * `metric`
1325
+ * * `span`
1326
+ */
1327
+ dataType: 'all' | 'error' | 'log' | 'metric' | 'span';
1328
+ /**
1329
+ * Conditions are combined with AND: an event must match every condition to be filtered out. There is no OR between conditions, so e.g. two release conditions can express a range (`>2 AND <4`). To broaden matching, widen a condition's values or add separate filters.
1330
+ */
1331
+ conditions: Array<{
1332
+ /**
1333
+ * The field the condition matches against. Every `dataType` accepts `release` and `ip_address`. In addition, `error` accepts `error_type` and `error_message`, `log` accepts `log_message`, and `metric` accepts `metric_name`. `span` and `all` accept no other types.
1334
+ *
1335
+ * * `error_type`
1336
+ * * `error_message`
1337
+ * * `log_message`
1338
+ * * `metric_name`
1339
+ * * `release`
1340
+ * * `ip_address`
1341
+ */
1342
+ type: 'error_type' | 'error_message' | 'log_message' | 'metric_name' | 'release' | 'ip_address';
1343
+ /**
1344
+ * Glob patterns the field is matched against. The condition matches when any pattern matches, so multiple values act as OR.
1345
+ */
1346
+ value: Array<string>;
1347
+ }>;
1348
+ /**
1349
+ * When the filter was created.
1350
+ */
1351
+ readonly dateCreated: string;
1352
+ /**
1353
+ * When the filter was last changed.
1354
+ */
1355
+ readonly dateUpdated: string;
1356
+ /**
1357
+ * A human-readable label for the filter.
1358
+ */
1359
+ name?: string | null;
1360
+ /**
1361
+ * Whether the filter drops matching data. An inactive filter is kept but ignored.
1362
+ */
1363
+ active?: boolean;
1364
+ };
1365
+ export type CustomInboundFilterCondition = {
1366
+ /**
1367
+ * The field the condition matches against. Every `dataType` accepts `release` and `ip_address`. In addition, `error` accepts `error_type` and `error_message`, `log` accepts `log_message`, and `metric` accepts `metric_name`. `span` and `all` accept no other types.
1368
+ *
1369
+ * * `error_type`
1370
+ * * `error_message`
1371
+ * * `log_message`
1372
+ * * `metric_name`
1373
+ * * `release`
1374
+ * * `ip_address`
1375
+ */
1376
+ type: 'error_type' | 'error_message' | 'log_message' | 'metric_name' | 'release' | 'ip_address';
1377
+ /**
1378
+ * Glob patterns the field is matched against. The condition matches when any pattern matches, so multiple values act as OR.
1379
+ */
1380
+ value: Array<string>;
1381
+ };
1313
1382
  /**
1314
1383
  * Allows parameters to be defined in snake case, but passed as camel case.
1315
1384
  *
@@ -4173,6 +4242,17 @@ export type IssueIntegrationsResponse = Array<{
4173
4242
  displayName: string;
4174
4243
  }>;
4175
4244
  }>;
4245
+ /**
4246
+ * DRF's standard error-body shape: `{"detail": str}`.
4247
+ *
4248
+ * Use in `Response[T] | Response[DetailResponse]` annotations on endpoints
4249
+ * whose inline error returns are exactly `Response({"detail": "..."}, status=4xx)`.
4250
+ * Endpoints whose error bodies have richer or different shapes should
4251
+ * declare their own local TypedDicts instead.
4252
+ */
4253
+ export type IssueLinkConflict = {
4254
+ detail: string;
4255
+ };
4176
4256
  export type LatestBaseSnapshotResponse = {
4177
4257
  head_artifact_id?: string;
4178
4258
  project_id?: string;
@@ -7191,9 +7271,14 @@ export type OrganizationEventsTimeseriesResponse = {
7191
7271
  eventCount: number;
7192
7272
  byteSize?: number;
7193
7273
  }>;
7194
- estimatedIngestionDelaySeconds?: number;
7195
- completeThrough?: number;
7196
- ingestionDelayStatus?: string;
7274
+ /**
7275
+ * Ingestion status for the data behind a response.
7276
+ */
7277
+ ingestion?: {
7278
+ status: string;
7279
+ delaySeconds?: number;
7280
+ completeThrough?: number;
7281
+ };
7197
7282
  };
7198
7283
  timeSeries: Array<{
7199
7284
  values: Array<{
@@ -9307,6 +9392,15 @@ export type ProjectRepoLinkResponse = {
9307
9392
  source: string;
9308
9393
  created: boolean;
9309
9394
  };
9395
+ export type ProjectRepoListResponse = Array<{
9396
+ id: string;
9397
+ projectId: string;
9398
+ repositoryId: string;
9399
+ repoName: string;
9400
+ source: string;
9401
+ providerKey: string | null;
9402
+ mappingCount?: number;
9403
+ }>;
9310
9404
  export type ProjectSizeStatusCheckRulesResponse = {
9311
9405
  enabled: boolean;
9312
9406
  rules: Array<{
@@ -11814,6 +11908,46 @@ export type LegacyBrowserFilter = {
11814
11908
  */
11815
11909
  subfilters?: Array<'ie' | 'edge' | 'safari' | 'firefox' | 'chrome' | 'opera' | 'android' | 'opera_mini' | 'ie_pre_9' | 'ie9' | 'ie10' | 'ie11' | 'opera_pre_15' | 'android_pre_4' | 'safari_pre_6' | 'opera_mini_pre_8' | 'edge_pre_79'>;
11816
11910
  };
11911
+ export type CustomInboundFilterWritable = {
11912
+ /**
11913
+ * The data the filter matches against. `all` is the catch-all: it filters every data type Sentry ingests, including ones added later, and accepts only the conditions that every data type carries a field for.
11914
+ *
11915
+ * * `all`
11916
+ * * `error`
11917
+ * * `log`
11918
+ * * `metric`
11919
+ * * `span`
11920
+ */
11921
+ dataType: 'all' | 'error' | 'log' | 'metric' | 'span';
11922
+ /**
11923
+ * Conditions are combined with AND: an event must match every condition to be filtered out. There is no OR between conditions, so e.g. two release conditions can express a range (`>2 AND <4`). To broaden matching, widen a condition's values or add separate filters.
11924
+ */
11925
+ conditions: Array<{
11926
+ /**
11927
+ * The field the condition matches against. Every `dataType` accepts `release` and `ip_address`. In addition, `error` accepts `error_type` and `error_message`, `log` accepts `log_message`, and `metric` accepts `metric_name`. `span` and `all` accept no other types.
11928
+ *
11929
+ * * `error_type`
11930
+ * * `error_message`
11931
+ * * `log_message`
11932
+ * * `metric_name`
11933
+ * * `release`
11934
+ * * `ip_address`
11935
+ */
11936
+ type: 'error_type' | 'error_message' | 'log_message' | 'metric_name' | 'release' | 'ip_address';
11937
+ /**
11938
+ * Glob patterns the field is matched against. The condition matches when any pattern matches, so multiple values act as OR.
11939
+ */
11940
+ value: Array<string>;
11941
+ }>;
11942
+ /**
11943
+ * A human-readable label for the filter.
11944
+ */
11945
+ name?: string | null;
11946
+ /**
11947
+ * Whether the filter drops matching data. An inactive filter is kept but ignored.
11948
+ */
11949
+ active?: boolean;
11950
+ };
11817
11951
  /**
11818
11952
  * Allows parameters to be defined in snake case, but passed as camel case.
11819
11953
  *
@@ -15646,9 +15780,14 @@ export type ListOrganizationEventsTimeseriesResponses = {
15646
15780
  eventCount: number;
15647
15781
  byteSize?: number;
15648
15782
  }>;
15649
- estimatedIngestionDelaySeconds?: number;
15650
- completeThrough?: number;
15651
- ingestionDelayStatus?: string;
15783
+ /**
15784
+ * Ingestion status for the data behind a response.
15785
+ */
15786
+ ingestion?: {
15787
+ status: string;
15788
+ delaySeconds?: number;
15789
+ completeThrough?: number;
15790
+ };
15652
15791
  };
15653
15792
  timeSeries: Array<{
15654
15793
  values: Array<{
@@ -29306,6 +29445,492 @@ export type UpdateProjectCodeOwnersResponses = {
29306
29445
  };
29307
29446
  };
29308
29447
  export type UpdateProjectCodeOwnersResponse = UpdateProjectCodeOwnersResponses[keyof UpdateProjectCodeOwnersResponses];
29448
+ export type ListProjectCustomInboundFiltersData = {
29449
+ body?: never;
29450
+ path: {
29451
+ /**
29452
+ * The ID or slug of the organization the resource belongs to.
29453
+ */
29454
+ organization_id_or_slug: string;
29455
+ /**
29456
+ * The ID or slug of the project the resource belongs to. Project slugs are unique within each organization.
29457
+ */
29458
+ project_id_or_slug: string;
29459
+ };
29460
+ query?: never;
29461
+ url: '/api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/custom-inbound-filters/';
29462
+ };
29463
+ export type ListProjectCustomInboundFiltersErrors = {
29464
+ /**
29465
+ * Bad Request
29466
+ */
29467
+ 400: unknown;
29468
+ /**
29469
+ * Forbidden
29470
+ */
29471
+ 403: unknown;
29472
+ /**
29473
+ * Not Found
29474
+ */
29475
+ 404: unknown;
29476
+ };
29477
+ export type ListProjectCustomInboundFiltersResponses = {
29478
+ 200: Array<{
29479
+ /**
29480
+ * The ID of the filter.
29481
+ */
29482
+ readonly id: string;
29483
+ /**
29484
+ * The data the filter matches against. `all` is the catch-all: it filters every data type Sentry ingests, including ones added later, and accepts only the conditions that every data type carries a field for.
29485
+ *
29486
+ * * `all`
29487
+ * * `error`
29488
+ * * `log`
29489
+ * * `metric`
29490
+ * * `span`
29491
+ */
29492
+ dataType: 'all' | 'error' | 'log' | 'metric' | 'span';
29493
+ /**
29494
+ * Conditions are combined with AND: an event must match every condition to be filtered out. There is no OR between conditions, so e.g. two release conditions can express a range (`>2 AND <4`). To broaden matching, widen a condition's values or add separate filters.
29495
+ */
29496
+ conditions: Array<{
29497
+ /**
29498
+ * The field the condition matches against. Every `dataType` accepts `release` and `ip_address`. In addition, `error` accepts `error_type` and `error_message`, `log` accepts `log_message`, and `metric` accepts `metric_name`. `span` and `all` accept no other types.
29499
+ *
29500
+ * * `error_type`
29501
+ * * `error_message`
29502
+ * * `log_message`
29503
+ * * `metric_name`
29504
+ * * `release`
29505
+ * * `ip_address`
29506
+ */
29507
+ type: 'error_type' | 'error_message' | 'log_message' | 'metric_name' | 'release' | 'ip_address';
29508
+ /**
29509
+ * Glob patterns the field is matched against. The condition matches when any pattern matches, so multiple values act as OR.
29510
+ */
29511
+ value: Array<string>;
29512
+ }>;
29513
+ /**
29514
+ * When the filter was created.
29515
+ */
29516
+ readonly dateCreated: string;
29517
+ /**
29518
+ * When the filter was last changed.
29519
+ */
29520
+ readonly dateUpdated: string;
29521
+ /**
29522
+ * A human-readable label for the filter.
29523
+ */
29524
+ name?: string | null;
29525
+ /**
29526
+ * Whether the filter drops matching data. An inactive filter is kept but ignored.
29527
+ */
29528
+ active?: boolean;
29529
+ }>;
29530
+ };
29531
+ export type ListProjectCustomInboundFiltersResponse = ListProjectCustomInboundFiltersResponses[keyof ListProjectCustomInboundFiltersResponses];
29532
+ export type CreateProjectCustomInboundFilterData = {
29533
+ body: {
29534
+ /**
29535
+ * The ID of the filter.
29536
+ */
29537
+ readonly id: string;
29538
+ /**
29539
+ * The data the filter matches against. `all` is the catch-all: it filters every data type Sentry ingests, including ones added later, and accepts only the conditions that every data type carries a field for.
29540
+ *
29541
+ * * `all`
29542
+ * * `error`
29543
+ * * `log`
29544
+ * * `metric`
29545
+ * * `span`
29546
+ */
29547
+ dataType: 'all' | 'error' | 'log' | 'metric' | 'span';
29548
+ /**
29549
+ * Conditions are combined with AND: an event must match every condition to be filtered out. There is no OR between conditions, so e.g. two release conditions can express a range (`>2 AND <4`). To broaden matching, widen a condition's values or add separate filters.
29550
+ */
29551
+ conditions: Array<{
29552
+ /**
29553
+ * The field the condition matches against. Every `dataType` accepts `release` and `ip_address`. In addition, `error` accepts `error_type` and `error_message`, `log` accepts `log_message`, and `metric` accepts `metric_name`. `span` and `all` accept no other types.
29554
+ *
29555
+ * * `error_type`
29556
+ * * `error_message`
29557
+ * * `log_message`
29558
+ * * `metric_name`
29559
+ * * `release`
29560
+ * * `ip_address`
29561
+ */
29562
+ type: 'error_type' | 'error_message' | 'log_message' | 'metric_name' | 'release' | 'ip_address';
29563
+ /**
29564
+ * Glob patterns the field is matched against. The condition matches when any pattern matches, so multiple values act as OR.
29565
+ */
29566
+ value: Array<string>;
29567
+ }>;
29568
+ /**
29569
+ * When the filter was created.
29570
+ */
29571
+ readonly dateCreated: string;
29572
+ /**
29573
+ * When the filter was last changed.
29574
+ */
29575
+ readonly dateUpdated: string;
29576
+ /**
29577
+ * A human-readable label for the filter.
29578
+ */
29579
+ name?: string | null;
29580
+ /**
29581
+ * Whether the filter drops matching data. An inactive filter is kept but ignored.
29582
+ */
29583
+ active?: boolean;
29584
+ };
29585
+ path: {
29586
+ /**
29587
+ * The ID or slug of the organization the resource belongs to.
29588
+ */
29589
+ organization_id_or_slug: string;
29590
+ /**
29591
+ * The ID or slug of the project the resource belongs to. Project slugs are unique within each organization.
29592
+ */
29593
+ project_id_or_slug: string;
29594
+ };
29595
+ query?: never;
29596
+ url: '/api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/custom-inbound-filters/';
29597
+ };
29598
+ export type CreateProjectCustomInboundFilterErrors = {
29599
+ /**
29600
+ * Bad Request
29601
+ */
29602
+ 400: unknown;
29603
+ /**
29604
+ * Forbidden
29605
+ */
29606
+ 403: unknown;
29607
+ /**
29608
+ * Not Found
29609
+ */
29610
+ 404: unknown;
29611
+ };
29612
+ export type CreateProjectCustomInboundFilterResponses = {
29613
+ 201: {
29614
+ /**
29615
+ * The ID of the filter.
29616
+ */
29617
+ readonly id: string;
29618
+ /**
29619
+ * The data the filter matches against. `all` is the catch-all: it filters every data type Sentry ingests, including ones added later, and accepts only the conditions that every data type carries a field for.
29620
+ *
29621
+ * * `all`
29622
+ * * `error`
29623
+ * * `log`
29624
+ * * `metric`
29625
+ * * `span`
29626
+ */
29627
+ dataType: 'all' | 'error' | 'log' | 'metric' | 'span';
29628
+ /**
29629
+ * Conditions are combined with AND: an event must match every condition to be filtered out. There is no OR between conditions, so e.g. two release conditions can express a range (`>2 AND <4`). To broaden matching, widen a condition's values or add separate filters.
29630
+ */
29631
+ conditions: Array<{
29632
+ /**
29633
+ * The field the condition matches against. Every `dataType` accepts `release` and `ip_address`. In addition, `error` accepts `error_type` and `error_message`, `log` accepts `log_message`, and `metric` accepts `metric_name`. `span` and `all` accept no other types.
29634
+ *
29635
+ * * `error_type`
29636
+ * * `error_message`
29637
+ * * `log_message`
29638
+ * * `metric_name`
29639
+ * * `release`
29640
+ * * `ip_address`
29641
+ */
29642
+ type: 'error_type' | 'error_message' | 'log_message' | 'metric_name' | 'release' | 'ip_address';
29643
+ /**
29644
+ * Glob patterns the field is matched against. The condition matches when any pattern matches, so multiple values act as OR.
29645
+ */
29646
+ value: Array<string>;
29647
+ }>;
29648
+ /**
29649
+ * When the filter was created.
29650
+ */
29651
+ readonly dateCreated: string;
29652
+ /**
29653
+ * When the filter was last changed.
29654
+ */
29655
+ readonly dateUpdated: string;
29656
+ /**
29657
+ * A human-readable label for the filter.
29658
+ */
29659
+ name?: string | null;
29660
+ /**
29661
+ * Whether the filter drops matching data. An inactive filter is kept but ignored.
29662
+ */
29663
+ active?: boolean;
29664
+ };
29665
+ };
29666
+ export type CreateProjectCustomInboundFilterResponse = CreateProjectCustomInboundFilterResponses[keyof CreateProjectCustomInboundFilterResponses];
29667
+ export type DeleteProjectCustomInboundFilterData = {
29668
+ body?: never;
29669
+ path: {
29670
+ /**
29671
+ * The ID or slug of the organization the resource belongs to.
29672
+ */
29673
+ organization_id_or_slug: string;
29674
+ /**
29675
+ * The ID or slug of the project the resource belongs to. Project slugs are unique within each organization.
29676
+ */
29677
+ project_id_or_slug: string;
29678
+ /**
29679
+ * The ID of the custom inbound filter.
29680
+ */
29681
+ filter_id: string;
29682
+ };
29683
+ query?: never;
29684
+ url: '/api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/custom-inbound-filters/{filter_id}/';
29685
+ };
29686
+ export type DeleteProjectCustomInboundFilterErrors = {
29687
+ /**
29688
+ * Bad Request
29689
+ */
29690
+ 400: unknown;
29691
+ /**
29692
+ * Forbidden
29693
+ */
29694
+ 403: unknown;
29695
+ /**
29696
+ * Not Found
29697
+ */
29698
+ 404: unknown;
29699
+ };
29700
+ export type DeleteProjectCustomInboundFilterResponses = {
29701
+ /**
29702
+ * No response body
29703
+ */
29704
+ 204: void;
29705
+ };
29706
+ export type DeleteProjectCustomInboundFilterResponse = DeleteProjectCustomInboundFilterResponses[keyof DeleteProjectCustomInboundFilterResponses];
29707
+ export type GetProjectCustomInboundFilterData = {
29708
+ body?: never;
29709
+ path: {
29710
+ /**
29711
+ * The ID or slug of the organization the resource belongs to.
29712
+ */
29713
+ organization_id_or_slug: string;
29714
+ /**
29715
+ * The ID or slug of the project the resource belongs to. Project slugs are unique within each organization.
29716
+ */
29717
+ project_id_or_slug: string;
29718
+ /**
29719
+ * The ID of the custom inbound filter.
29720
+ */
29721
+ filter_id: string;
29722
+ };
29723
+ query?: never;
29724
+ url: '/api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/custom-inbound-filters/{filter_id}/';
29725
+ };
29726
+ export type GetProjectCustomInboundFilterErrors = {
29727
+ /**
29728
+ * Bad Request
29729
+ */
29730
+ 400: unknown;
29731
+ /**
29732
+ * Forbidden
29733
+ */
29734
+ 403: unknown;
29735
+ /**
29736
+ * Not Found
29737
+ */
29738
+ 404: unknown;
29739
+ };
29740
+ export type GetProjectCustomInboundFilterResponses = {
29741
+ 200: {
29742
+ /**
29743
+ * The ID of the filter.
29744
+ */
29745
+ readonly id: string;
29746
+ /**
29747
+ * The data the filter matches against. `all` is the catch-all: it filters every data type Sentry ingests, including ones added later, and accepts only the conditions that every data type carries a field for.
29748
+ *
29749
+ * * `all`
29750
+ * * `error`
29751
+ * * `log`
29752
+ * * `metric`
29753
+ * * `span`
29754
+ */
29755
+ dataType: 'all' | 'error' | 'log' | 'metric' | 'span';
29756
+ /**
29757
+ * Conditions are combined with AND: an event must match every condition to be filtered out. There is no OR between conditions, so e.g. two release conditions can express a range (`>2 AND <4`). To broaden matching, widen a condition's values or add separate filters.
29758
+ */
29759
+ conditions: Array<{
29760
+ /**
29761
+ * The field the condition matches against. Every `dataType` accepts `release` and `ip_address`. In addition, `error` accepts `error_type` and `error_message`, `log` accepts `log_message`, and `metric` accepts `metric_name`. `span` and `all` accept no other types.
29762
+ *
29763
+ * * `error_type`
29764
+ * * `error_message`
29765
+ * * `log_message`
29766
+ * * `metric_name`
29767
+ * * `release`
29768
+ * * `ip_address`
29769
+ */
29770
+ type: 'error_type' | 'error_message' | 'log_message' | 'metric_name' | 'release' | 'ip_address';
29771
+ /**
29772
+ * Glob patterns the field is matched against. The condition matches when any pattern matches, so multiple values act as OR.
29773
+ */
29774
+ value: Array<string>;
29775
+ }>;
29776
+ /**
29777
+ * When the filter was created.
29778
+ */
29779
+ readonly dateCreated: string;
29780
+ /**
29781
+ * When the filter was last changed.
29782
+ */
29783
+ readonly dateUpdated: string;
29784
+ /**
29785
+ * A human-readable label for the filter.
29786
+ */
29787
+ name?: string | null;
29788
+ /**
29789
+ * Whether the filter drops matching data. An inactive filter is kept but ignored.
29790
+ */
29791
+ active?: boolean;
29792
+ };
29793
+ };
29794
+ export type GetProjectCustomInboundFilterResponse = GetProjectCustomInboundFilterResponses[keyof GetProjectCustomInboundFilterResponses];
29795
+ export type UpdateProjectCustomInboundFilterData = {
29796
+ body: {
29797
+ /**
29798
+ * The ID of the filter.
29799
+ */
29800
+ readonly id: string;
29801
+ /**
29802
+ * The data the filter matches against. `all` is the catch-all: it filters every data type Sentry ingests, including ones added later, and accepts only the conditions that every data type carries a field for.
29803
+ *
29804
+ * * `all`
29805
+ * * `error`
29806
+ * * `log`
29807
+ * * `metric`
29808
+ * * `span`
29809
+ */
29810
+ dataType: 'all' | 'error' | 'log' | 'metric' | 'span';
29811
+ /**
29812
+ * Conditions are combined with AND: an event must match every condition to be filtered out. There is no OR between conditions, so e.g. two release conditions can express a range (`>2 AND <4`). To broaden matching, widen a condition's values or add separate filters.
29813
+ */
29814
+ conditions: Array<{
29815
+ /**
29816
+ * The field the condition matches against. Every `dataType` accepts `release` and `ip_address`. In addition, `error` accepts `error_type` and `error_message`, `log` accepts `log_message`, and `metric` accepts `metric_name`. `span` and `all` accept no other types.
29817
+ *
29818
+ * * `error_type`
29819
+ * * `error_message`
29820
+ * * `log_message`
29821
+ * * `metric_name`
29822
+ * * `release`
29823
+ * * `ip_address`
29824
+ */
29825
+ type: 'error_type' | 'error_message' | 'log_message' | 'metric_name' | 'release' | 'ip_address';
29826
+ /**
29827
+ * Glob patterns the field is matched against. The condition matches when any pattern matches, so multiple values act as OR.
29828
+ */
29829
+ value: Array<string>;
29830
+ }>;
29831
+ /**
29832
+ * When the filter was created.
29833
+ */
29834
+ readonly dateCreated: string;
29835
+ /**
29836
+ * When the filter was last changed.
29837
+ */
29838
+ readonly dateUpdated: string;
29839
+ /**
29840
+ * A human-readable label for the filter.
29841
+ */
29842
+ name?: string | null;
29843
+ /**
29844
+ * Whether the filter drops matching data. An inactive filter is kept but ignored.
29845
+ */
29846
+ active?: boolean;
29847
+ };
29848
+ path: {
29849
+ /**
29850
+ * The ID or slug of the organization the resource belongs to.
29851
+ */
29852
+ organization_id_or_slug: string;
29853
+ /**
29854
+ * The ID or slug of the project the resource belongs to. Project slugs are unique within each organization.
29855
+ */
29856
+ project_id_or_slug: string;
29857
+ /**
29858
+ * The ID of the custom inbound filter.
29859
+ */
29860
+ filter_id: string;
29861
+ };
29862
+ query?: never;
29863
+ url: '/api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/custom-inbound-filters/{filter_id}/';
29864
+ };
29865
+ export type UpdateProjectCustomInboundFilterErrors = {
29866
+ /**
29867
+ * Bad Request
29868
+ */
29869
+ 400: unknown;
29870
+ /**
29871
+ * Forbidden
29872
+ */
29873
+ 403: unknown;
29874
+ /**
29875
+ * Not Found
29876
+ */
29877
+ 404: unknown;
29878
+ };
29879
+ export type UpdateProjectCustomInboundFilterResponses = {
29880
+ 200: {
29881
+ /**
29882
+ * The ID of the filter.
29883
+ */
29884
+ readonly id: string;
29885
+ /**
29886
+ * The data the filter matches against. `all` is the catch-all: it filters every data type Sentry ingests, including ones added later, and accepts only the conditions that every data type carries a field for.
29887
+ *
29888
+ * * `all`
29889
+ * * `error`
29890
+ * * `log`
29891
+ * * `metric`
29892
+ * * `span`
29893
+ */
29894
+ dataType: 'all' | 'error' | 'log' | 'metric' | 'span';
29895
+ /**
29896
+ * Conditions are combined with AND: an event must match every condition to be filtered out. There is no OR between conditions, so e.g. two release conditions can express a range (`>2 AND <4`). To broaden matching, widen a condition's values or add separate filters.
29897
+ */
29898
+ conditions: Array<{
29899
+ /**
29900
+ * The field the condition matches against. Every `dataType` accepts `release` and `ip_address`. In addition, `error` accepts `error_type` and `error_message`, `log` accepts `log_message`, and `metric` accepts `metric_name`. `span` and `all` accept no other types.
29901
+ *
29902
+ * * `error_type`
29903
+ * * `error_message`
29904
+ * * `log_message`
29905
+ * * `metric_name`
29906
+ * * `release`
29907
+ * * `ip_address`
29908
+ */
29909
+ type: 'error_type' | 'error_message' | 'log_message' | 'metric_name' | 'release' | 'ip_address';
29910
+ /**
29911
+ * Glob patterns the field is matched against. The condition matches when any pattern matches, so multiple values act as OR.
29912
+ */
29913
+ value: Array<string>;
29914
+ }>;
29915
+ /**
29916
+ * When the filter was created.
29917
+ */
29918
+ readonly dateCreated: string;
29919
+ /**
29920
+ * When the filter was last changed.
29921
+ */
29922
+ readonly dateUpdated: string;
29923
+ /**
29924
+ * A human-readable label for the filter.
29925
+ */
29926
+ name?: string | null;
29927
+ /**
29928
+ * Whether the filter drops matching data. An inactive filter is kept but ignored.
29929
+ */
29930
+ active?: boolean;
29931
+ };
29932
+ };
29933
+ export type UpdateProjectCustomInboundFilterResponse = UpdateProjectCustomInboundFilterResponses[keyof UpdateProjectCustomInboundFilterResponses];
29309
29934
  export type ListProjectEnvironmentsData = {
29310
29935
  body?: never;
29311
29936
  path: {
@@ -33336,6 +33961,38 @@ export type GetProjectReplayDeletionJobResponses = {
33336
33961
  };
33337
33962
  };
33338
33963
  export type GetProjectReplayDeletionJobResponse = GetProjectReplayDeletionJobResponses[keyof GetProjectReplayDeletionJobResponses];
33964
+ export type ListProjectRepositoriesData = {
33965
+ body?: never;
33966
+ path: {
33967
+ /**
33968
+ * The ID or slug of the organization the resource belongs to.
33969
+ */
33970
+ organization_id_or_slug: string;
33971
+ /**
33972
+ * The ID or slug of the project the resource belongs to. Project slugs are unique within each organization.
33973
+ */
33974
+ project_id_or_slug: string;
33975
+ };
33976
+ query?: {
33977
+ /**
33978
+ * When set to `1`, each row includes a `mappingCount` field with the number of code path mappings for that repository. Omitted by default to keep the response lightweight.
33979
+ */
33980
+ includeMappingCount?: string;
33981
+ };
33982
+ url: '/api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/repo/';
33983
+ };
33984
+ export type ListProjectRepositoriesResponses = {
33985
+ 200: Array<{
33986
+ id: string;
33987
+ projectId: string;
33988
+ repositoryId: string;
33989
+ repoName: string;
33990
+ source: string;
33991
+ providerKey: string | null;
33992
+ mappingCount?: number;
33993
+ }>;
33994
+ };
33995
+ export type ListProjectRepositoriesResponse = ListProjectRepositoriesResponses[keyof ListProjectRepositoriesResponses];
33339
33996
  export type LinkProjectRepositoryData = {
33340
33997
  body: {
33341
33998
  /**
@@ -34457,7 +35114,12 @@ export type ExecuteSentryAppInstallationExternalIssueActionData = {
34457
35114
  */
34458
35115
  uuid: string;
34459
35116
  };
34460
- query?: never;
35117
+ query?: {
35118
+ /**
35119
+ * The exact canonical webUrl of the external issue to link. Only supported for action=link. An existing matching association is a no-op; a different association or callback URL returns 409 without replacing the link.
35120
+ */
35121
+ expectedExternalIssueUrl?: string;
35122
+ };
34461
35123
  url: '/api/0/sentry-app-installations/{uuid}/external-issue-actions/';
34462
35124
  };
34463
35125
  export type ExecuteSentryAppInstallationExternalIssueActionErrors = {
@@ -34477,6 +35139,10 @@ export type ExecuteSentryAppInstallationExternalIssueActionErrors = {
34477
35139
  * Not Found
34478
35140
  */
34479
35141
  404: unknown;
35142
+ /**
35143
+ * Conflict
35144
+ */
35145
+ 409: unknown;
34480
35146
  };
34481
35147
  export type ExecuteSentryAppInstallationExternalIssueActionResponses = {
34482
35148
  200: {
@@ -34486,6 +35152,13 @@ export type ExecuteSentryAppInstallationExternalIssueActionResponses = {
34486
35152
  displayName: string;
34487
35153
  webUrl: string;
34488
35154
  };
35155
+ 201: {
35156
+ id: string;
35157
+ issueId: string;
35158
+ serviceType: string;
35159
+ displayName: string;
35160
+ webUrl: string;
35161
+ };
34489
35162
  };
34490
35163
  export type ExecuteSentryAppInstallationExternalIssueActionResponse = ExecuteSentryAppInstallationExternalIssueActionResponses[keyof ExecuteSentryAppInstallationExternalIssueActionResponses];
34491
35164
  export type GetSentryAppInstallationExternalRequestOptionsData = {
@@ -36436,6 +37109,10 @@ export type DeleteSentryAppInstallationExternalIssueErrors = {
36436
37109
  * External issue not found
36437
37110
  */
36438
37111
  404: unknown;
37112
+ /**
37113
+ * This issue link is being updated. Try again.
37114
+ */
37115
+ 409: unknown;
36439
37116
  };
36440
37117
  export type DeleteSentryAppInstallationExternalIssueResponses = {
36441
37118
  /**
@@ -37629,6 +38306,10 @@ export type DeleteOrganizationIssueExternalIssueErrors = {
37629
38306
  * Not Found
37630
38307
  */
37631
38308
  404: unknown;
38309
+ /**
38310
+ * Conflict
38311
+ */
38312
+ 409: unknown;
37632
38313
  };
37633
38314
  export type DeleteOrganizationIssueExternalIssueResponses = {
37634
38315
  /**
@@ -37922,7 +38603,19 @@ export type DeleteOrganizationIssueIntegrationErrors = {
37922
38603
  * Not Found
37923
38604
  */
37924
38605
  404: unknown;
38606
+ /**
38607
+ * DRF's standard error-body shape: `{"detail": str}`.
38608
+ *
38609
+ * Use in `Response[T] | Response[DetailResponse]` annotations on endpoints
38610
+ * whose inline error returns are exactly `Response({"detail": "..."}, status=4xx)`.
38611
+ * Endpoints whose error bodies have richer or different shapes should
38612
+ * declare their own local TypedDicts instead.
38613
+ */
38614
+ 409: {
38615
+ detail: string;
38616
+ };
37925
38617
  };
38618
+ export type DeleteOrganizationIssueIntegrationError = DeleteOrganizationIssueIntegrationErrors[keyof DeleteOrganizationIssueIntegrationErrors];
37926
38619
  export type DeleteOrganizationIssueIntegrationResponses = {
37927
38620
  /**
37928
38621
  * No Content
@@ -38103,8 +38796,27 @@ export type UpdateOrganizationIssueIntegrationErrors = {
38103
38796
  * Not Found
38104
38797
  */
38105
38798
  404: unknown;
38799
+ /**
38800
+ * DRF's standard error-body shape: `{"detail": str}`.
38801
+ *
38802
+ * Use in `Response[T] | Response[DetailResponse]` annotations on endpoints
38803
+ * whose inline error returns are exactly `Response({"detail": "..."}, status=4xx)`.
38804
+ * Endpoints whose error bodies have richer or different shapes should
38805
+ * declare their own local TypedDicts instead.
38806
+ */
38807
+ 409: {
38808
+ detail: string;
38809
+ };
38106
38810
  };
38811
+ export type UpdateOrganizationIssueIntegrationError = UpdateOrganizationIssueIntegrationErrors[keyof UpdateOrganizationIssueIntegrationErrors];
38107
38812
  export type UpdateOrganizationIssueIntegrationResponses = {
38813
+ 200: {
38814
+ id: number;
38815
+ key: string;
38816
+ url: string;
38817
+ integrationId: number;
38818
+ displayName: string;
38819
+ };
38108
38820
  201: {
38109
38821
  id: number;
38110
38822
  key: string;