@remit/api-openapi-spec 0.0.29 → 0.0.31
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 +69 -2
- package/package.json +1 -1
package/openapi.json
CHANGED
|
@@ -521,6 +521,16 @@
|
|
|
521
521
|
}
|
|
522
522
|
}
|
|
523
523
|
}
|
|
524
|
+
},
|
|
525
|
+
"409": {
|
|
526
|
+
"description": "The same flat 409 body as `FolderRoleConflict`, with one code only this endpoint can answer with.\n\n`code: \"folder_role_unresolved\"` — as everywhere else, with `details` carrying `role`, `accountId` and `reason`.\n\n`code: \"mailbox_not_settled\"` — the mailbox being appointed is still being created or deleted on the mail server, so it cannot yet hold a role. `details` carries `mailboxId` and `syncStatus`. Clearing a role is never refused this way.",
|
|
527
|
+
"content": {
|
|
528
|
+
"application/json": {
|
|
529
|
+
"schema": {
|
|
530
|
+
"$ref": "#/components/schemas/ApiError"
|
|
531
|
+
}
|
|
532
|
+
}
|
|
533
|
+
}
|
|
524
534
|
}
|
|
525
535
|
},
|
|
526
536
|
"requestBody": {
|
|
@@ -1241,6 +1251,16 @@
|
|
|
1241
1251
|
}
|
|
1242
1252
|
}
|
|
1243
1253
|
}
|
|
1254
|
+
},
|
|
1255
|
+
"409": {
|
|
1256
|
+
"description": "An action was refused because the folder role it needs is not settled. The body is flat: `code`, `message` and `details` sit at the top level, which is what the API emits. Clients branch on `code` and word their prompt from `details`, never from `message`.\n\n`code: \"folder_role_unresolved\"` — no folder holds the role this action needs. `details` carries `role`, `accountId`, and `reason`, one of: `none` (the account has no candidate folder), `stale` (the folder the user appointed is gone from the mail server), `unconfirmed` (a folder matches by name, but neither the user nor the server's own flag ever said it holds the role).",
|
|
1257
|
+
"content": {
|
|
1258
|
+
"application/json": {
|
|
1259
|
+
"schema": {
|
|
1260
|
+
"$ref": "#/components/schemas/ApiError"
|
|
1261
|
+
}
|
|
1262
|
+
}
|
|
1263
|
+
}
|
|
1244
1264
|
}
|
|
1245
1265
|
},
|
|
1246
1266
|
"x-amazon-apigateway-integration": {
|
|
@@ -1836,6 +1856,16 @@
|
|
|
1836
1856
|
}
|
|
1837
1857
|
}
|
|
1838
1858
|
}
|
|
1859
|
+
},
|
|
1860
|
+
"409": {
|
|
1861
|
+
"description": "An action was refused because the folder role it needs is not settled. The body is flat: `code`, `message` and `details` sit at the top level, which is what the API emits. Clients branch on `code` and word their prompt from `details`, never from `message`.\n\n`code: \"folder_role_unresolved\"` — no folder holds the role this action needs. `details` carries `role`, `accountId`, and `reason`, one of: `none` (the account has no candidate folder), `stale` (the folder the user appointed is gone from the mail server), `unconfirmed` (a folder matches by name, but neither the user nor the server's own flag ever said it holds the role).",
|
|
1862
|
+
"content": {
|
|
1863
|
+
"application/json": {
|
|
1864
|
+
"schema": {
|
|
1865
|
+
"$ref": "#/components/schemas/ApiError"
|
|
1866
|
+
}
|
|
1867
|
+
}
|
|
1868
|
+
}
|
|
1839
1869
|
}
|
|
1840
1870
|
},
|
|
1841
1871
|
"requestBody": {
|
|
@@ -4754,7 +4784,8 @@
|
|
|
4754
4784
|
"RemitImap.FolderAppointment": {
|
|
4755
4785
|
"type": "object",
|
|
4756
4786
|
"required": [
|
|
4757
|
-
"role"
|
|
4787
|
+
"role",
|
|
4788
|
+
"source"
|
|
4758
4789
|
],
|
|
4759
4790
|
"properties": {
|
|
4760
4791
|
"role": {
|
|
@@ -4765,17 +4796,53 @@
|
|
|
4765
4796
|
],
|
|
4766
4797
|
"description": "Which canonical role this entry fills."
|
|
4767
4798
|
},
|
|
4799
|
+
"source": {
|
|
4800
|
+
"allOf": [
|
|
4801
|
+
{
|
|
4802
|
+
"$ref": "#/components/schemas/RemitImap.FolderAppointmentSource"
|
|
4803
|
+
}
|
|
4804
|
+
],
|
|
4805
|
+
"description": "Where `mailboxId` came from. Read this rather than inferring provenance from the shape of the entry: only `Appointed` means a person decided, and only `Appointed` and `Flagged` are evidence strong enough to destroy mail with."
|
|
4806
|
+
},
|
|
4768
4807
|
"mailboxId": {
|
|
4769
4808
|
"allOf": [
|
|
4770
4809
|
{
|
|
4771
4810
|
"$ref": "#/components/schemas/UUID"
|
|
4772
4811
|
}
|
|
4773
4812
|
],
|
|
4774
|
-
"description": "The mailbox
|
|
4813
|
+
"description": "The mailbox this role resolves to. Absent when resolution names none — `source: None`, or a `Stale` appointment with nothing to fall back to."
|
|
4814
|
+
},
|
|
4815
|
+
"staleAppointmentMailboxId": {
|
|
4816
|
+
"allOf": [
|
|
4817
|
+
{
|
|
4818
|
+
"$ref": "#/components/schemas/UUID"
|
|
4819
|
+
}
|
|
4820
|
+
],
|
|
4821
|
+
"description": "The mailbox the user appointed, when the account no longer holds it. Present exactly when `source` is `Stale`; the appointment is kept rather than collected, so the user can repair it instead of silently losing the choice."
|
|
4822
|
+
},
|
|
4823
|
+
"staleAppointmentPath": {
|
|
4824
|
+
"allOf": [
|
|
4825
|
+
{
|
|
4826
|
+
"$ref": "#/components/schemas/String512"
|
|
4827
|
+
}
|
|
4828
|
+
],
|
|
4829
|
+
"description": "The path that stale mailbox last had, recorded beside the appointment when it was made. Display only — resolution never reads it — and present only alongside `staleAppointmentMailboxId`, and only for an appointment made after the path was first recorded."
|
|
4775
4830
|
}
|
|
4776
4831
|
},
|
|
4777
4832
|
"description": "Per-account appointment of a canonical role to at most one mailbox (RFC 032 exclusive-folder-appointment, issue #976). A role with no `mailboxId` is unfilled — either genuinely unappointed, or the account has no matching folder yet. Persisted as per-(account, role) AccountSetting rows (RFC 032 settings tiers), surfaced on AccountResponse.folderAppointments — never on the Mailbox entity, so two folders can never both claim the same role."
|
|
4778
4833
|
},
|
|
4834
|
+
"RemitImap.FolderAppointmentSource": {
|
|
4835
|
+
"type": "string",
|
|
4836
|
+
"enum": [
|
|
4837
|
+
"Appointed",
|
|
4838
|
+
"Flagged",
|
|
4839
|
+
"Reserved",
|
|
4840
|
+
"Proposed",
|
|
4841
|
+
"Stale",
|
|
4842
|
+
"None"
|
|
4843
|
+
],
|
|
4844
|
+
"description": "Where a resolved FolderAppointment came from. Total and required: every role carries one, so a surface can tell a folder somebody chose from a folder reader guessed without inferring it from which fields happen to be present."
|
|
4845
|
+
},
|
|
4779
4846
|
"RemitImap.JunkOnlyFlag": {
|
|
4780
4847
|
"type": "object",
|
|
4781
4848
|
"required": [
|