@remit/api-openapi-spec 0.0.84 → 0.0.86
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.
- package/openapi.json +496 -1
- package/package.json +1 -1
- package/request-validators.mjs +5 -3
package/openapi.json
CHANGED
|
@@ -6522,6 +6522,100 @@
|
|
|
6522
6522
|
}
|
|
6523
6523
|
}
|
|
6524
6524
|
},
|
|
6525
|
+
"/settings/classification-provider": {
|
|
6526
|
+
"delete": {
|
|
6527
|
+
"operationId": "UserSettingsOperations_clearClassificationProvider",
|
|
6528
|
+
"description": "Delete the saved classification provider, its key and every classification setting. Classification is then off. Answers with every setting as it now stands.",
|
|
6529
|
+
"parameters": [],
|
|
6530
|
+
"responses": {
|
|
6531
|
+
"200": {
|
|
6532
|
+
"description": "The request has succeeded.",
|
|
6533
|
+
"content": {
|
|
6534
|
+
"application/json": {
|
|
6535
|
+
"schema": {
|
|
6536
|
+
"$ref": "#/components/schemas/RemitImap.UserSettingsResponse"
|
|
6537
|
+
}
|
|
6538
|
+
}
|
|
6539
|
+
}
|
|
6540
|
+
},
|
|
6541
|
+
"401": {
|
|
6542
|
+
"description": "The request carried no usable credential. `code` is `unauthorized`.",
|
|
6543
|
+
"content": {
|
|
6544
|
+
"application/json": {
|
|
6545
|
+
"schema": {
|
|
6546
|
+
"$ref": "#/components/schemas/ApiError"
|
|
6547
|
+
}
|
|
6548
|
+
}
|
|
6549
|
+
}
|
|
6550
|
+
}
|
|
6551
|
+
},
|
|
6552
|
+
"x-amazon-apigateway-integration": {
|
|
6553
|
+
"type": "aws_proxy",
|
|
6554
|
+
"httpMethod": "POST",
|
|
6555
|
+
"passthroughBehavior": "when_no_match",
|
|
6556
|
+
"uri": {
|
|
6557
|
+
"Fn::Sub": "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/arn:aws:lambda:${AWS::Region}:${AWS::AccountId}:function:{{HandlerFunctionName}}/invocations"
|
|
6558
|
+
}
|
|
6559
|
+
}
|
|
6560
|
+
}
|
|
6561
|
+
},
|
|
6562
|
+
"/settings/classification-test": {
|
|
6563
|
+
"post": {
|
|
6564
|
+
"operationId": "UserSettingsOperations_testClassificationProvider",
|
|
6565
|
+
"description": "Classify one built-in sample message with the form values, saved or not, and answer with the label or the failure. An empty key uses the saved key. Saved settings stay as they were, and the call counts toward no daily limit.",
|
|
6566
|
+
"parameters": [],
|
|
6567
|
+
"responses": {
|
|
6568
|
+
"200": {
|
|
6569
|
+
"description": "The request has succeeded.",
|
|
6570
|
+
"content": {
|
|
6571
|
+
"application/json": {
|
|
6572
|
+
"schema": {
|
|
6573
|
+
"$ref": "#/components/schemas/RemitImap.ClassificationTestResponse"
|
|
6574
|
+
}
|
|
6575
|
+
}
|
|
6576
|
+
}
|
|
6577
|
+
},
|
|
6578
|
+
"400": {
|
|
6579
|
+
"description": "The request was refused as malformed or contradictory. `code` is\n`invalid_request` where nothing more specific is known, and the refusal's own\ntoken where there is one.\n\nThe calendar surface answers with the reason it read the request by:\n`invalid_window`, `invalid_scope`, `invalid_url_segment`, `url_segment_taken`,\n`unknown_time_zone` and `default_calendar_undeletable` on the collection and\nthe query, and, for a VCALENDAR it could not accept,\n`malformed_icalendar`, `not_a_calendar`, `unsupported_component`, `no_event`,\n`no_master_event`, `multiple_master_events`, `missing_uid`, `mismatched_uid`,\n`missing_dt_start`, `backwards_end`, `invalid_date_time`,\n`invalid_recurrence_rule`, `missing_recurrence_id`, `not_recurring`,\n`unknown_occurrence` and `unmovable_recurrence_rule`. The outbox answers `mail_sync_off` to a\nsend from an account whose `syncedServices` leave out `Mail`, with the\naccount in `details.accountId`.\n\n`errors` is present only when the request failed schema validation before any\nhandler ran, and names every field that was refused.",
|
|
6580
|
+
"content": {
|
|
6581
|
+
"application/json": {
|
|
6582
|
+
"schema": {
|
|
6583
|
+
"$ref": "#/components/schemas/ValidationError"
|
|
6584
|
+
}
|
|
6585
|
+
}
|
|
6586
|
+
}
|
|
6587
|
+
},
|
|
6588
|
+
"401": {
|
|
6589
|
+
"description": "The request carried no usable credential. `code` is `unauthorized`.",
|
|
6590
|
+
"content": {
|
|
6591
|
+
"application/json": {
|
|
6592
|
+
"schema": {
|
|
6593
|
+
"$ref": "#/components/schemas/ApiError"
|
|
6594
|
+
}
|
|
6595
|
+
}
|
|
6596
|
+
}
|
|
6597
|
+
}
|
|
6598
|
+
},
|
|
6599
|
+
"requestBody": {
|
|
6600
|
+
"required": true,
|
|
6601
|
+
"content": {
|
|
6602
|
+
"application/json": {
|
|
6603
|
+
"schema": {
|
|
6604
|
+
"$ref": "#/components/schemas/RemitImap.ClassificationTestInput"
|
|
6605
|
+
}
|
|
6606
|
+
}
|
|
6607
|
+
}
|
|
6608
|
+
},
|
|
6609
|
+
"x-amazon-apigateway-integration": {
|
|
6610
|
+
"type": "aws_proxy",
|
|
6611
|
+
"httpMethod": "POST",
|
|
6612
|
+
"passthroughBehavior": "when_no_match",
|
|
6613
|
+
"uri": {
|
|
6614
|
+
"Fn::Sub": "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/arn:aws:lambda:${AWS::Region}:${AWS::AccountId}:function:{{HandlerFunctionName}}/invocations"
|
|
6615
|
+
}
|
|
6616
|
+
}
|
|
6617
|
+
}
|
|
6618
|
+
},
|
|
6525
6619
|
"/settings/default-invitation-sender": {
|
|
6526
6620
|
"delete": {
|
|
6527
6621
|
"operationId": "UserSettingsOperations_clearDefaultInvitationSender",
|
|
@@ -9348,6 +9442,360 @@
|
|
|
9348
9442
|
],
|
|
9349
9443
|
"description": "Category override for auto-classification"
|
|
9350
9444
|
},
|
|
9445
|
+
"RemitImap.ClassificationAdapterShape": {
|
|
9446
|
+
"type": "string",
|
|
9447
|
+
"enum": [
|
|
9448
|
+
"DecisionApi",
|
|
9449
|
+
"ChatJsonSchema",
|
|
9450
|
+
"JinaClassify"
|
|
9451
|
+
],
|
|
9452
|
+
"description": "The request shape a classification provider speaks. `DecisionApi` returns a calibrated probability per label; `ChatJsonSchema` is an OpenAI-compatible chat completion constrained to the label enum; `JinaClassify` is Jina's `/v1/classify`."
|
|
9453
|
+
},
|
|
9454
|
+
"RemitImap.ClassificationConfigured": {
|
|
9455
|
+
"type": "object",
|
|
9456
|
+
"required": [
|
|
9457
|
+
"state",
|
|
9458
|
+
"presetId",
|
|
9459
|
+
"model",
|
|
9460
|
+
"baseUrl",
|
|
9461
|
+
"apiKeySaved",
|
|
9462
|
+
"enabled",
|
|
9463
|
+
"dailyLimit",
|
|
9464
|
+
"savedAt"
|
|
9465
|
+
],
|
|
9466
|
+
"properties": {
|
|
9467
|
+
"state": {
|
|
9468
|
+
"type": "string",
|
|
9469
|
+
"enum": [
|
|
9470
|
+
"Configured"
|
|
9471
|
+
]
|
|
9472
|
+
},
|
|
9473
|
+
"presetId": {
|
|
9474
|
+
"$ref": "#/components/schemas/RemitImap.ClassificationPresetId"
|
|
9475
|
+
},
|
|
9476
|
+
"model": {
|
|
9477
|
+
"type": "string"
|
|
9478
|
+
},
|
|
9479
|
+
"baseUrl": {
|
|
9480
|
+
"type": "string"
|
|
9481
|
+
},
|
|
9482
|
+
"apiKeySaved": {
|
|
9483
|
+
"type": "boolean",
|
|
9484
|
+
"description": "Whether an API key is stored for this provider."
|
|
9485
|
+
},
|
|
9486
|
+
"enabled": {
|
|
9487
|
+
"type": "boolean",
|
|
9488
|
+
"description": "Whether classification runs."
|
|
9489
|
+
},
|
|
9490
|
+
"dailyLimit": {
|
|
9491
|
+
"type": "integer",
|
|
9492
|
+
"format": "int32",
|
|
9493
|
+
"description": "The most classification calls per mail account per UTC day."
|
|
9494
|
+
},
|
|
9495
|
+
"savedAt": {
|
|
9496
|
+
"type": "integer",
|
|
9497
|
+
"format": "int64",
|
|
9498
|
+
"description": "When the provider, model, base URL or key was last saved, in epoch milliseconds (UTC)."
|
|
9499
|
+
}
|
|
9500
|
+
},
|
|
9501
|
+
"description": "The saved classification provider. The API key itself is never returned."
|
|
9502
|
+
},
|
|
9503
|
+
"RemitImap.ClassificationFailureKind": {
|
|
9504
|
+
"type": "string",
|
|
9505
|
+
"enum": [
|
|
9506
|
+
"Unauthorized",
|
|
9507
|
+
"ModelNotFound",
|
|
9508
|
+
"RateLimited",
|
|
9509
|
+
"Rejected",
|
|
9510
|
+
"ProviderError",
|
|
9511
|
+
"Unreachable",
|
|
9512
|
+
"TimedOut",
|
|
9513
|
+
"Unparseable"
|
|
9514
|
+
],
|
|
9515
|
+
"description": "Why a classification provider call gave no usable answer."
|
|
9516
|
+
},
|
|
9517
|
+
"RemitImap.ClassificationField": {
|
|
9518
|
+
"type": "string",
|
|
9519
|
+
"enum": [
|
|
9520
|
+
"ApiKey",
|
|
9521
|
+
"Model",
|
|
9522
|
+
"BaseUrl"
|
|
9523
|
+
],
|
|
9524
|
+
"description": "The classification provider form field a failure points at."
|
|
9525
|
+
},
|
|
9526
|
+
"RemitImap.ClassificationLabel": {
|
|
9527
|
+
"type": "string",
|
|
9528
|
+
"enum": [
|
|
9529
|
+
"Spam",
|
|
9530
|
+
"Phishing",
|
|
9531
|
+
"Priority",
|
|
9532
|
+
"Personal",
|
|
9533
|
+
"Newsletter",
|
|
9534
|
+
"Marketing",
|
|
9535
|
+
"Automated",
|
|
9536
|
+
"Transactional",
|
|
9537
|
+
"Social"
|
|
9538
|
+
],
|
|
9539
|
+
"description": "A label a classification provider picks for a message: the junk verdicts, priority, and the message categories."
|
|
9540
|
+
},
|
|
9541
|
+
"RemitImap.ClassificationNoPrice": {
|
|
9542
|
+
"type": "object",
|
|
9543
|
+
"required": [
|
|
9544
|
+
"state"
|
|
9545
|
+
],
|
|
9546
|
+
"properties": {
|
|
9547
|
+
"state": {
|
|
9548
|
+
"type": "string",
|
|
9549
|
+
"enum": [
|
|
9550
|
+
"NoPrice"
|
|
9551
|
+
]
|
|
9552
|
+
}
|
|
9553
|
+
},
|
|
9554
|
+
"description": "A classification preset with no price to show: self-hosted, or a price the provider sets per model."
|
|
9555
|
+
},
|
|
9556
|
+
"RemitImap.ClassificationNotConfigured": {
|
|
9557
|
+
"type": "object",
|
|
9558
|
+
"required": [
|
|
9559
|
+
"state"
|
|
9560
|
+
],
|
|
9561
|
+
"properties": {
|
|
9562
|
+
"state": {
|
|
9563
|
+
"type": "string",
|
|
9564
|
+
"enum": [
|
|
9565
|
+
"NotConfigured"
|
|
9566
|
+
]
|
|
9567
|
+
}
|
|
9568
|
+
},
|
|
9569
|
+
"description": "No classification provider is saved, so classification is off."
|
|
9570
|
+
},
|
|
9571
|
+
"RemitImap.ClassificationPreset": {
|
|
9572
|
+
"type": "object",
|
|
9573
|
+
"required": [
|
|
9574
|
+
"presetId",
|
|
9575
|
+
"label",
|
|
9576
|
+
"group",
|
|
9577
|
+
"adapterShape",
|
|
9578
|
+
"defaultModel",
|
|
9579
|
+
"needsKey",
|
|
9580
|
+
"price"
|
|
9581
|
+
],
|
|
9582
|
+
"properties": {
|
|
9583
|
+
"presetId": {
|
|
9584
|
+
"$ref": "#/components/schemas/RemitImap.ClassificationPresetId"
|
|
9585
|
+
},
|
|
9586
|
+
"label": {
|
|
9587
|
+
"type": "string"
|
|
9588
|
+
},
|
|
9589
|
+
"group": {
|
|
9590
|
+
"$ref": "#/components/schemas/RemitImap.ClassificationPresetGroup"
|
|
9591
|
+
},
|
|
9592
|
+
"adapterShape": {
|
|
9593
|
+
"$ref": "#/components/schemas/RemitImap.ClassificationAdapterShape"
|
|
9594
|
+
},
|
|
9595
|
+
"defaultBaseUrl": {
|
|
9596
|
+
"type": "string",
|
|
9597
|
+
"description": "The base URL used when the reader leaves it empty. Absent when a save has to name one in `classificationBaseUrl`."
|
|
9598
|
+
},
|
|
9599
|
+
"defaultModel": {
|
|
9600
|
+
"type": "string",
|
|
9601
|
+
"description": "The model used when the reader leaves it empty."
|
|
9602
|
+
},
|
|
9603
|
+
"needsKey": {
|
|
9604
|
+
"type": "boolean",
|
|
9605
|
+
"description": "Whether a save needs `classificationApiKey`."
|
|
9606
|
+
},
|
|
9607
|
+
"price": {
|
|
9608
|
+
"$ref": "#/components/schemas/RemitImap.ClassificationPrice"
|
|
9609
|
+
}
|
|
9610
|
+
},
|
|
9611
|
+
"description": "A classification provider the reader can pick."
|
|
9612
|
+
},
|
|
9613
|
+
"RemitImap.ClassificationPresetGroup": {
|
|
9614
|
+
"type": "string",
|
|
9615
|
+
"enum": [
|
|
9616
|
+
"Hosted",
|
|
9617
|
+
"Custom",
|
|
9618
|
+
"Local"
|
|
9619
|
+
],
|
|
9620
|
+
"description": "How a settings screen groups the classification presets. `Hosted` is a named provider, `Custom` an endpoint the reader names, `Local` a model on the reader's own machine."
|
|
9621
|
+
},
|
|
9622
|
+
"RemitImap.ClassificationPresetId": {
|
|
9623
|
+
"type": "string",
|
|
9624
|
+
"enum": [
|
|
9625
|
+
"Jev",
|
|
9626
|
+
"Jina",
|
|
9627
|
+
"Mistral",
|
|
9628
|
+
"Gemini",
|
|
9629
|
+
"OpenAiCompatible",
|
|
9630
|
+
"Local"
|
|
9631
|
+
],
|
|
9632
|
+
"description": "A classification provider preset: a known provider with its adapter shape, default base URL and default model."
|
|
9633
|
+
},
|
|
9634
|
+
"RemitImap.ClassificationPrice": {
|
|
9635
|
+
"anyOf": [
|
|
9636
|
+
{
|
|
9637
|
+
"$ref": "#/components/schemas/RemitImap.ClassificationPriced"
|
|
9638
|
+
},
|
|
9639
|
+
{
|
|
9640
|
+
"$ref": "#/components/schemas/RemitImap.ClassificationNoPrice"
|
|
9641
|
+
}
|
|
9642
|
+
]
|
|
9643
|
+
},
|
|
9644
|
+
"RemitImap.ClassificationPriced": {
|
|
9645
|
+
"type": "object",
|
|
9646
|
+
"required": [
|
|
9647
|
+
"state",
|
|
9648
|
+
"currency",
|
|
9649
|
+
"perMillionInputTokens"
|
|
9650
|
+
],
|
|
9651
|
+
"properties": {
|
|
9652
|
+
"state": {
|
|
9653
|
+
"type": "string",
|
|
9654
|
+
"enum": [
|
|
9655
|
+
"Priced"
|
|
9656
|
+
]
|
|
9657
|
+
},
|
|
9658
|
+
"currency": {
|
|
9659
|
+
"type": "string",
|
|
9660
|
+
"enum": [
|
|
9661
|
+
"USD"
|
|
9662
|
+
],
|
|
9663
|
+
"description": "ISO 4217 currency of `perMillionInputTokens`."
|
|
9664
|
+
},
|
|
9665
|
+
"perMillionInputTokens": {
|
|
9666
|
+
"type": "number",
|
|
9667
|
+
"format": "double",
|
|
9668
|
+
"description": "Price of one million input tokens. Output tokens are not charged."
|
|
9669
|
+
}
|
|
9670
|
+
},
|
|
9671
|
+
"description": "A classification preset that has a known price per million input tokens."
|
|
9672
|
+
},
|
|
9673
|
+
"RemitImap.ClassificationSettings": {
|
|
9674
|
+
"anyOf": [
|
|
9675
|
+
{
|
|
9676
|
+
"$ref": "#/components/schemas/RemitImap.ClassificationNotConfigured"
|
|
9677
|
+
},
|
|
9678
|
+
{
|
|
9679
|
+
"$ref": "#/components/schemas/RemitImap.ClassificationConfigured"
|
|
9680
|
+
}
|
|
9681
|
+
]
|
|
9682
|
+
},
|
|
9683
|
+
"RemitImap.ClassificationTestFailed": {
|
|
9684
|
+
"type": "object",
|
|
9685
|
+
"required": [
|
|
9686
|
+
"state",
|
|
9687
|
+
"latencyMs",
|
|
9688
|
+
"kind",
|
|
9689
|
+
"fix"
|
|
9690
|
+
],
|
|
9691
|
+
"properties": {
|
|
9692
|
+
"state": {
|
|
9693
|
+
"type": "string",
|
|
9694
|
+
"enum": [
|
|
9695
|
+
"Failed"
|
|
9696
|
+
]
|
|
9697
|
+
},
|
|
9698
|
+
"latencyMs": {
|
|
9699
|
+
"type": "integer",
|
|
9700
|
+
"format": "int32",
|
|
9701
|
+
"description": "How long the provider call took, in milliseconds."
|
|
9702
|
+
},
|
|
9703
|
+
"status": {
|
|
9704
|
+
"type": "integer",
|
|
9705
|
+
"format": "int32",
|
|
9706
|
+
"description": "The HTTP status the provider answered with. Absent when no answer arrived."
|
|
9707
|
+
},
|
|
9708
|
+
"kind": {
|
|
9709
|
+
"$ref": "#/components/schemas/RemitImap.ClassificationFailureKind"
|
|
9710
|
+
},
|
|
9711
|
+
"field": {
|
|
9712
|
+
"allOf": [
|
|
9713
|
+
{
|
|
9714
|
+
"$ref": "#/components/schemas/RemitImap.ClassificationField"
|
|
9715
|
+
}
|
|
9716
|
+
],
|
|
9717
|
+
"description": "The form field to change. Absent when no field can fix it: a rate limit or a provider error."
|
|
9718
|
+
},
|
|
9719
|
+
"fix": {
|
|
9720
|
+
"type": "string",
|
|
9721
|
+
"description": "What to change so the next test passes."
|
|
9722
|
+
}
|
|
9723
|
+
},
|
|
9724
|
+
"description": "The provider call gave no usable answer."
|
|
9725
|
+
},
|
|
9726
|
+
"RemitImap.ClassificationTestInput": {
|
|
9727
|
+
"type": "object",
|
|
9728
|
+
"required": [
|
|
9729
|
+
"presetId",
|
|
9730
|
+
"model",
|
|
9731
|
+
"baseUrl",
|
|
9732
|
+
"apiKey"
|
|
9733
|
+
],
|
|
9734
|
+
"properties": {
|
|
9735
|
+
"presetId": {
|
|
9736
|
+
"$ref": "#/components/schemas/RemitImap.ClassificationPresetId"
|
|
9737
|
+
},
|
|
9738
|
+
"model": {
|
|
9739
|
+
"type": "string",
|
|
9740
|
+
"description": "The model to ask for. Empty means the preset's default model."
|
|
9741
|
+
},
|
|
9742
|
+
"baseUrl": {
|
|
9743
|
+
"type": "string",
|
|
9744
|
+
"description": "The http or https base URL to call. Empty means the preset's default base URL."
|
|
9745
|
+
},
|
|
9746
|
+
"apiKey": {
|
|
9747
|
+
"type": "string",
|
|
9748
|
+
"description": "The provider's API key. Empty means the key saved for this preset."
|
|
9749
|
+
}
|
|
9750
|
+
},
|
|
9751
|
+
"description": "The classification provider form as it stands, saved or not."
|
|
9752
|
+
},
|
|
9753
|
+
"RemitImap.ClassificationTestPassed": {
|
|
9754
|
+
"type": "object",
|
|
9755
|
+
"required": [
|
|
9756
|
+
"state",
|
|
9757
|
+
"latencyMs",
|
|
9758
|
+
"label",
|
|
9759
|
+
"confidence"
|
|
9760
|
+
],
|
|
9761
|
+
"properties": {
|
|
9762
|
+
"state": {
|
|
9763
|
+
"type": "string",
|
|
9764
|
+
"enum": [
|
|
9765
|
+
"Passed"
|
|
9766
|
+
]
|
|
9767
|
+
},
|
|
9768
|
+
"latencyMs": {
|
|
9769
|
+
"type": "integer",
|
|
9770
|
+
"format": "int32",
|
|
9771
|
+
"description": "How long the provider call took, in milliseconds."
|
|
9772
|
+
},
|
|
9773
|
+
"label": {
|
|
9774
|
+
"allOf": [
|
|
9775
|
+
{
|
|
9776
|
+
"$ref": "#/components/schemas/RemitImap.ClassificationLabel"
|
|
9777
|
+
}
|
|
9778
|
+
],
|
|
9779
|
+
"description": "The label the provider chose for the sample message."
|
|
9780
|
+
},
|
|
9781
|
+
"confidence": {
|
|
9782
|
+
"type": "number",
|
|
9783
|
+
"format": "double",
|
|
9784
|
+
"description": "The provider's confidence in `label`, between 0 and 1."
|
|
9785
|
+
}
|
|
9786
|
+
},
|
|
9787
|
+
"description": "The provider classified the sample message."
|
|
9788
|
+
},
|
|
9789
|
+
"RemitImap.ClassificationTestResponse": {
|
|
9790
|
+
"anyOf": [
|
|
9791
|
+
{
|
|
9792
|
+
"$ref": "#/components/schemas/RemitImap.ClassificationTestPassed"
|
|
9793
|
+
},
|
|
9794
|
+
{
|
|
9795
|
+
"$ref": "#/components/schemas/RemitImap.ClassificationTestFailed"
|
|
9796
|
+
}
|
|
9797
|
+
]
|
|
9798
|
+
},
|
|
9351
9799
|
"RemitImap.ConfigDescriptionResponse": {
|
|
9352
9800
|
"type": "object",
|
|
9353
9801
|
"required": [
|
|
@@ -14296,6 +14744,36 @@
|
|
|
14296
14744
|
}
|
|
14297
14745
|
],
|
|
14298
14746
|
"description": "The account invitations go out from by default. Refused with 400 `unknown_sender` when it is not an account of the caller's account config that sends mail. Cleared with `clearDefaultInvitationSender`."
|
|
14747
|
+
},
|
|
14748
|
+
"classificationPresetId": {
|
|
14749
|
+
"allOf": [
|
|
14750
|
+
{
|
|
14751
|
+
"$ref": "#/components/schemas/RemitImap.ClassificationPresetId"
|
|
14752
|
+
}
|
|
14753
|
+
],
|
|
14754
|
+
"description": "Save a classification provider. Saving another preset deletes the stored key. Without it, the classification fields below apply to the saved provider."
|
|
14755
|
+
},
|
|
14756
|
+
"classificationModel": {
|
|
14757
|
+
"type": "string",
|
|
14758
|
+
"description": "The model to ask for. Empty means the preset's default model."
|
|
14759
|
+
},
|
|
14760
|
+
"classificationBaseUrl": {
|
|
14761
|
+
"type": "string",
|
|
14762
|
+
"description": "The http or https base URL to call. Empty means the preset's default base URL. Refused with 400 `invalid_classification_base_url` when it is not a URL, or when the preset has no default base URL and none is given."
|
|
14763
|
+
},
|
|
14764
|
+
"classificationApiKey": {
|
|
14765
|
+
"type": "string",
|
|
14766
|
+
"description": "The provider's API key. Write-only: stored encrypted and never returned. Refused with 400 `classification_api_key_required` when the preset needs a key and none is stored for it."
|
|
14767
|
+
},
|
|
14768
|
+
"classificationEnabled": {
|
|
14769
|
+
"type": "boolean",
|
|
14770
|
+
"description": "Switch classification on or off. Switching on with no saved provider is refused with 400 `classification_not_configured`; switching off keeps the provider and key."
|
|
14771
|
+
},
|
|
14772
|
+
"classificationDailyLimit": {
|
|
14773
|
+
"type": "integer",
|
|
14774
|
+
"format": "int32",
|
|
14775
|
+
"minimum": 1,
|
|
14776
|
+
"description": "The most classification calls per mail account per UTC day. Needs a saved provider."
|
|
14299
14777
|
}
|
|
14300
14778
|
},
|
|
14301
14779
|
"description": "A change to the caller's settings. Every field is optional and absence means untouched."
|
|
@@ -14303,7 +14781,9 @@
|
|
|
14303
14781
|
"RemitImap.UserSettingsResponse": {
|
|
14304
14782
|
"type": "object",
|
|
14305
14783
|
"required": [
|
|
14306
|
-
"defaultInvitationSenderChosen"
|
|
14784
|
+
"defaultInvitationSenderChosen",
|
|
14785
|
+
"classificationPresets",
|
|
14786
|
+
"classification"
|
|
14307
14787
|
],
|
|
14308
14788
|
"properties": {
|
|
14309
14789
|
"defaultInvitationSenderAccountId": {
|
|
@@ -14317,6 +14797,21 @@
|
|
|
14317
14797
|
"defaultInvitationSenderChosen": {
|
|
14318
14798
|
"type": "boolean",
|
|
14319
14799
|
"description": "Whether `defaultInvitationSenderAccountId` is the reader's own choice rather than the account an event is on."
|
|
14800
|
+
},
|
|
14801
|
+
"classificationPresets": {
|
|
14802
|
+
"type": "array",
|
|
14803
|
+
"items": {
|
|
14804
|
+
"$ref": "#/components/schemas/RemitImap.ClassificationPreset"
|
|
14805
|
+
},
|
|
14806
|
+
"description": "Every classification provider the reader can pick."
|
|
14807
|
+
},
|
|
14808
|
+
"classification": {
|
|
14809
|
+
"allOf": [
|
|
14810
|
+
{
|
|
14811
|
+
"$ref": "#/components/schemas/RemitImap.ClassificationSettings"
|
|
14812
|
+
}
|
|
14813
|
+
],
|
|
14814
|
+
"description": "The saved classification provider, or `NotConfigured`."
|
|
14320
14815
|
}
|
|
14321
14816
|
},
|
|
14322
14817
|
"description": "The caller's own settings: choices that belong to the person rather than to\none mail account. Each field is stored as an `AccountSetting` row of the\naccount config and read back here, so a setting added later is one more\nfield on this resource rather than one more operation."
|
package/package.json
CHANGED