You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/assets/api/crowdin/file-based.yml
+105-4Lines changed: 105 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -21403,21 +21403,31 @@ components:
21403
21403
type: string
21404
21404
enum:
21405
21405
- replace
21406
+
- remove
21406
21407
- test
21407
21408
path:
21408
-
description: 'A JSON Pointer as defined by <a href="https://tools.ietf.org/html/rfc6901" target="_blank">RFC 6901</a>'
21409
+
description: 'A JSON Pointer as defined by <a href="https://tools.ietf.org/html/rfc6901" target="_blank">RFC 6901</a>. The `/perUserOverrides/{userId}` and `/perUserOverrides/{userId}/*` paths accept any positive integer for `{userId}`. Creating a new override requires `{userId}` to be a project member; this requirement does not apply when editing or removing an existing one. The `remove` operation is supported for the `/perUserOverrides/{userId}` path (removes the entire per-user override) and for `/perUserOverrides/{userId}/*` field paths (removes that field; the resulting override is re-validated).'
description: 'A JSON Patch `Replace` operation as defined by [RFC 6902](https://tools.ietf.org/html/rfc6902#section-4.3)'
@@ -21433,8 +21443,21 @@ components:
21433
21443
oneOf:
21434
21444
-
21435
21445
type: integer
21446
+
-
21447
+
type: number
21448
+
format: float
21449
+
-
21450
+
type: string
21451
+
-
21452
+
nullable: true
21453
+
AiSettingsOperationRemove:
21454
+
description: 'A JSON Patch `Remove` operation as defined by [RFC 6902](https://tools.ietf.org/html/rfc6902#section-4.2). Supported for the `/perUserOverrides/{userId}` path (removes the entire per-user override) and `/perUserOverrides/{userId}/*` field paths (removes that field). The `costLimitMode` field cannot be removed as the override always requires it.'
21455
+
type: object
21456
+
allOf:
21457
+
-
21458
+
$ref: '#/components/schemas/AiSettingsOperation'
21436
21459
AiSettingsOperationTest:
21437
-
description: 'A JSON Patch `Replace` operation as defined by [RFC 6902](https://tools.ietf.org/html/rfc6902#section-4.3)'
21460
+
description: 'A JSON Patch `Test` operation as defined by [RFC 6902](https://tools.ietf.org/html/rfc6902#section-4.6)'
21438
21461
required:
21439
21462
- value
21440
21463
type: object
@@ -21447,6 +21470,13 @@ components:
21447
21470
oneOf:
21448
21471
-
21449
21472
type: integer
21473
+
-
21474
+
type: number
21475
+
format: float
21476
+
-
21477
+
type: string
21478
+
-
21479
+
nullable: true
21450
21480
CrowdinAiSettingsResource:
21451
21481
description: 'AI Settings Resource'
21452
21482
type: object
@@ -21457,7 +21487,7 @@ components:
21457
21487
properties:
21458
21488
data:
21459
21489
$ref: '#/components/schemas/CrowdinAiSettings'
21460
-
CrowdinAiSettings:
21490
+
AiSettings:
21461
21491
title: 'AI Settings'
21462
21492
properties:
21463
21493
preTranslationAiPromptId:
@@ -21474,7 +21504,78 @@ components:
21474
21504
type: integer
21475
21505
example: 11
21476
21506
nullable: true
21507
+
dailyCostLimit:
21508
+
description: 'Maximum total AI cost the organization can spend per day. `null` means no daily limit.'
21509
+
type: number
21510
+
format: float
21511
+
example: 100
21512
+
nullable: true
21513
+
monthlyCostLimit:
21514
+
description: 'Maximum total AI cost the organization can spend per month. `null` means no monthly limit.'
21515
+
type: number
21516
+
format: float
21517
+
example: 2000
21518
+
nullable: true
21519
+
userDailyCostLimit:
21520
+
description: 'Default maximum AI cost a single user can spend per day. Applies to every user unless overridden in `perUserOverrides`. `null` means no per-user daily limit.'
21521
+
type: number
21522
+
format: float
21523
+
example: 10
21524
+
nullable: true
21525
+
userMonthlyCostLimit:
21526
+
description: 'Default maximum AI cost a single user can spend per month. Applies to every user unless overridden in `perUserOverrides`. `null` means no per-user monthly limit.'
21527
+
type: number
21528
+
format: float
21529
+
example: 200
21530
+
nullable: true
21531
+
perUserOverrides:
21532
+
description: 'Per-user cost limit overrides that take precedence over `userDailyCostLimit` and `userMonthlyCostLimit`.'
21533
+
type: array
21534
+
items:
21535
+
$ref: '#/components/schemas/AiUserCostLimit'
21477
21536
type: object
21537
+
AiUserCostLimit:
21538
+
title: 'AI User Cost Limit'
21539
+
properties:
21540
+
userId:
21541
+
description: 'ID of the user this cost limit override applies to'
21542
+
type: integer
21543
+
example: 123
21544
+
costLimitMode:
21545
+
description: "User AI cost limit mode\n\nValues available:\n- custom - Custom daily and monthly cost limits are applied\n- blocked - User is blocked from using AI\n- unlimited - User has no AI cost limit"
21546
+
type: string
21547
+
enum:
21548
+
- custom
21549
+
- blocked
21550
+
- unlimited
21551
+
example: custom
21552
+
dailyCostLimit:
21553
+
description: 'Maximum AI cost this user can spend per day. Applies when `costLimitMode` is `custom`. `null` for `blocked` and `unlimited` modes.'
21554
+
type: number
21555
+
format: float
21556
+
example: 5
21557
+
nullable: true
21558
+
monthlyCostLimit:
21559
+
description: 'Maximum AI cost this user can spend per month. Applies when `costLimitMode` is `custom`. `null` for `blocked` and `unlimited` modes.'
21560
+
type: number
21561
+
format: float
21562
+
example: 100
21563
+
nullable: true
21564
+
createdAt:
21565
+
type: string
21566
+
format: date-time
21567
+
example: '2026-05-23T11:26:54+00:00'
21568
+
updatedAt:
21569
+
type: string
21570
+
format: date-time
21571
+
example: '2026-05-23T11:26:54+00:00'
21572
+
type: object
21573
+
CrowdinAiSettings:
21574
+
title: 'AI Settings'
21575
+
type: object
21576
+
allOf:
21577
+
-
21578
+
$ref: '#/components/schemas/AiSettings'
21478
21579
AiTranslateFormBase:
21479
21580
required:
21480
21581
- strings
@@ -22322,12 +22423,12 @@ components:
22322
22423
description: 'Lifecycle event URLs that changed (installed/uninstall/status)'
22323
22424
type: object
22324
22425
additionalProperties:
22325
-
type: object
22326
22426
properties:
22327
22427
from:
22328
22428
type: string
22329
22429
to:
22330
22430
type: string
22431
+
type: object
22331
22432
baseUrlChanged:
22332
22433
description: 'baseUrl change (host that serves the app)'
Copy file name to clipboardExpand all lines: src/assets/api/crowdin/string-based.yml
+105-4Lines changed: 105 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -19631,21 +19631,31 @@ components:
19631
19631
type: string
19632
19632
enum:
19633
19633
- replace
19634
+
- remove
19634
19635
- test
19635
19636
path:
19636
-
description: 'A JSON Pointer as defined by <a href="https://tools.ietf.org/html/rfc6901" target="_blank">RFC 6901</a>'
19637
+
description: 'A JSON Pointer as defined by <a href="https://tools.ietf.org/html/rfc6901" target="_blank">RFC 6901</a>. The `/perUserOverrides/{userId}` and `/perUserOverrides/{userId}/*` paths accept any positive integer for `{userId}`. Creating a new override requires `{userId}` to be a project member; this requirement does not apply when editing or removing an existing one. The `remove` operation is supported for the `/perUserOverrides/{userId}` path (removes the entire per-user override) and for `/perUserOverrides/{userId}/*` field paths (removes that field; the resulting override is re-validated).'
description: 'A JSON Patch `Replace` operation as defined by [RFC 6902](https://tools.ietf.org/html/rfc6902#section-4.3)'
@@ -19661,8 +19671,21 @@ components:
19661
19671
oneOf:
19662
19672
-
19663
19673
type: integer
19674
+
-
19675
+
type: number
19676
+
format: float
19677
+
-
19678
+
type: string
19679
+
-
19680
+
nullable: true
19681
+
AiSettingsOperationRemove:
19682
+
description: 'A JSON Patch `Remove` operation as defined by [RFC 6902](https://tools.ietf.org/html/rfc6902#section-4.2). Supported for the `/perUserOverrides/{userId}` path (removes the entire per-user override) and `/perUserOverrides/{userId}/*` field paths (removes that field). The `costLimitMode` field cannot be removed as the override always requires it.'
19683
+
type: object
19684
+
allOf:
19685
+
-
19686
+
$ref: '#/components/schemas/AiSettingsOperation'
19664
19687
AiSettingsOperationTest:
19665
-
description: 'A JSON Patch `Replace` operation as defined by [RFC 6902](https://tools.ietf.org/html/rfc6902#section-4.3)'
19688
+
description: 'A JSON Patch `Test` operation as defined by [RFC 6902](https://tools.ietf.org/html/rfc6902#section-4.6)'
19666
19689
required:
19667
19690
- value
19668
19691
type: object
@@ -19675,6 +19698,13 @@ components:
19675
19698
oneOf:
19676
19699
-
19677
19700
type: integer
19701
+
-
19702
+
type: number
19703
+
format: float
19704
+
-
19705
+
type: string
19706
+
-
19707
+
nullable: true
19678
19708
CrowdinAiSettingsResource:
19679
19709
description: 'AI Settings Resource'
19680
19710
type: object
@@ -19685,7 +19715,7 @@ components:
19685
19715
properties:
19686
19716
data:
19687
19717
$ref: '#/components/schemas/CrowdinAiSettings'
19688
-
CrowdinAiSettings:
19718
+
AiSettings:
19689
19719
title: 'AI Settings'
19690
19720
properties:
19691
19721
preTranslationAiPromptId:
@@ -19702,7 +19732,78 @@ components:
19702
19732
type: integer
19703
19733
example: 11
19704
19734
nullable: true
19735
+
dailyCostLimit:
19736
+
description: 'Maximum total AI cost the organization can spend per day. `null` means no daily limit.'
19737
+
type: number
19738
+
format: float
19739
+
example: 100
19740
+
nullable: true
19741
+
monthlyCostLimit:
19742
+
description: 'Maximum total AI cost the organization can spend per month. `null` means no monthly limit.'
19743
+
type: number
19744
+
format: float
19745
+
example: 2000
19746
+
nullable: true
19747
+
userDailyCostLimit:
19748
+
description: 'Default maximum AI cost a single user can spend per day. Applies to every user unless overridden in `perUserOverrides`. `null` means no per-user daily limit.'
19749
+
type: number
19750
+
format: float
19751
+
example: 10
19752
+
nullable: true
19753
+
userMonthlyCostLimit:
19754
+
description: 'Default maximum AI cost a single user can spend per month. Applies to every user unless overridden in `perUserOverrides`. `null` means no per-user monthly limit.'
19755
+
type: number
19756
+
format: float
19757
+
example: 200
19758
+
nullable: true
19759
+
perUserOverrides:
19760
+
description: 'Per-user cost limit overrides that take precedence over `userDailyCostLimit` and `userMonthlyCostLimit`.'
19761
+
type: array
19762
+
items:
19763
+
$ref: '#/components/schemas/AiUserCostLimit'
19705
19764
type: object
19765
+
AiUserCostLimit:
19766
+
title: 'AI User Cost Limit'
19767
+
properties:
19768
+
userId:
19769
+
description: 'ID of the user this cost limit override applies to'
19770
+
type: integer
19771
+
example: 123
19772
+
costLimitMode:
19773
+
description: "User AI cost limit mode\n\nValues available:\n- custom - Custom daily and monthly cost limits are applied\n- blocked - User is blocked from using AI\n- unlimited - User has no AI cost limit"
19774
+
type: string
19775
+
enum:
19776
+
- custom
19777
+
- blocked
19778
+
- unlimited
19779
+
example: custom
19780
+
dailyCostLimit:
19781
+
description: 'Maximum AI cost this user can spend per day. Applies when `costLimitMode` is `custom`. `null` for `blocked` and `unlimited` modes.'
19782
+
type: number
19783
+
format: float
19784
+
example: 5
19785
+
nullable: true
19786
+
monthlyCostLimit:
19787
+
description: 'Maximum AI cost this user can spend per month. Applies when `costLimitMode` is `custom`. `null` for `blocked` and `unlimited` modes.'
19788
+
type: number
19789
+
format: float
19790
+
example: 100
19791
+
nullable: true
19792
+
createdAt:
19793
+
type: string
19794
+
format: date-time
19795
+
example: '2026-05-23T11:26:54+00:00'
19796
+
updatedAt:
19797
+
type: string
19798
+
format: date-time
19799
+
example: '2026-05-23T11:26:54+00:00'
19800
+
type: object
19801
+
CrowdinAiSettings:
19802
+
title: 'AI Settings'
19803
+
type: object
19804
+
allOf:
19805
+
-
19806
+
$ref: '#/components/schemas/AiSettings'
19706
19807
AiTranslateFormBase:
19707
19808
required:
19708
19809
- strings
@@ -20227,12 +20328,12 @@ components:
20227
20328
description: 'Lifecycle event URLs that changed (installed/uninstall/status)'
20228
20329
type: object
20229
20330
additionalProperties:
20230
-
type: object
20231
20331
properties:
20232
20332
from:
20233
20333
type: string
20234
20334
to:
20235
20335
type: string
20336
+
type: object
20236
20337
baseUrlChanged:
20237
20338
description: 'baseUrl change (host that serves the app)'
0 commit comments