@remit/api-openapi-spec 0.0.24 → 0.0.26
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 +395 -1
- package/package.json +1 -1
package/openapi.json
CHANGED
|
@@ -2371,6 +2371,136 @@
|
|
|
2371
2371
|
}
|
|
2372
2372
|
}
|
|
2373
2373
|
},
|
|
2374
|
+
"/outbox/{outboxMessageId}/attachments": {
|
|
2375
|
+
"post": {
|
|
2376
|
+
"operationId": "OutboxDetailOperations_mintOutboxAttachment",
|
|
2377
|
+
"description": "Reserve room on a draft for a file, and get somewhere to put it",
|
|
2378
|
+
"parameters": [
|
|
2379
|
+
{
|
|
2380
|
+
"name": "outboxMessageId",
|
|
2381
|
+
"in": "path",
|
|
2382
|
+
"required": true,
|
|
2383
|
+
"schema": {
|
|
2384
|
+
"$ref": "#/components/schemas/UUID"
|
|
2385
|
+
}
|
|
2386
|
+
}
|
|
2387
|
+
],
|
|
2388
|
+
"responses": {
|
|
2389
|
+
"200": {
|
|
2390
|
+
"description": "The request has succeeded.",
|
|
2391
|
+
"content": {
|
|
2392
|
+
"application/json": {
|
|
2393
|
+
"schema": {
|
|
2394
|
+
"$ref": "#/components/schemas/RemitImap.MintOutboxAttachmentResponse"
|
|
2395
|
+
}
|
|
2396
|
+
}
|
|
2397
|
+
}
|
|
2398
|
+
},
|
|
2399
|
+
"400": {
|
|
2400
|
+
"description": "Refusal response for an attachment",
|
|
2401
|
+
"content": {
|
|
2402
|
+
"application/json": {
|
|
2403
|
+
"schema": {
|
|
2404
|
+
"$ref": "#/components/schemas/RemitImap.OutboxAttachmentRejection"
|
|
2405
|
+
}
|
|
2406
|
+
}
|
|
2407
|
+
}
|
|
2408
|
+
},
|
|
2409
|
+
"413": {
|
|
2410
|
+
"description": "Refusal response for an attachment",
|
|
2411
|
+
"content": {
|
|
2412
|
+
"application/json": {
|
|
2413
|
+
"schema": {
|
|
2414
|
+
"$ref": "#/components/schemas/RemitImap.OutboxAttachmentRejection"
|
|
2415
|
+
}
|
|
2416
|
+
}
|
|
2417
|
+
}
|
|
2418
|
+
}
|
|
2419
|
+
},
|
|
2420
|
+
"requestBody": {
|
|
2421
|
+
"required": true,
|
|
2422
|
+
"content": {
|
|
2423
|
+
"application/json": {
|
|
2424
|
+
"schema": {
|
|
2425
|
+
"$ref": "#/components/schemas/RemitImap.MintOutboxAttachmentInput"
|
|
2426
|
+
}
|
|
2427
|
+
}
|
|
2428
|
+
}
|
|
2429
|
+
},
|
|
2430
|
+
"x-amazon-apigateway-integration": {
|
|
2431
|
+
"type": "aws_proxy",
|
|
2432
|
+
"httpMethod": "POST",
|
|
2433
|
+
"passthroughBehavior": "when_no_match",
|
|
2434
|
+
"uri": {
|
|
2435
|
+
"Fn::Sub": "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/arn:aws:lambda:${AWS::Region}:${AWS::AccountId}:function:{{HandlerFunctionName}}/invocations"
|
|
2436
|
+
}
|
|
2437
|
+
}
|
|
2438
|
+
}
|
|
2439
|
+
},
|
|
2440
|
+
"/outbox/{outboxMessageId}/attachments/{outboxAttachmentId}/complete": {
|
|
2441
|
+
"post": {
|
|
2442
|
+
"operationId": "OutboxAttachmentOperations_completeOutboxAttachment",
|
|
2443
|
+
"description": "Confirm an uploaded file against the object storage now holds",
|
|
2444
|
+
"parameters": [
|
|
2445
|
+
{
|
|
2446
|
+
"name": "outboxMessageId",
|
|
2447
|
+
"in": "path",
|
|
2448
|
+
"required": true,
|
|
2449
|
+
"schema": {
|
|
2450
|
+
"$ref": "#/components/schemas/UUID"
|
|
2451
|
+
}
|
|
2452
|
+
},
|
|
2453
|
+
{
|
|
2454
|
+
"name": "outboxAttachmentId",
|
|
2455
|
+
"in": "path",
|
|
2456
|
+
"required": true,
|
|
2457
|
+
"schema": {
|
|
2458
|
+
"$ref": "#/components/schemas/UUID"
|
|
2459
|
+
}
|
|
2460
|
+
}
|
|
2461
|
+
],
|
|
2462
|
+
"responses": {
|
|
2463
|
+
"200": {
|
|
2464
|
+
"description": "The request has succeeded.",
|
|
2465
|
+
"content": {
|
|
2466
|
+
"application/json": {
|
|
2467
|
+
"schema": {
|
|
2468
|
+
"$ref": "#/components/schemas/RemitImap.OutboxAttachmentResponse"
|
|
2469
|
+
}
|
|
2470
|
+
}
|
|
2471
|
+
}
|
|
2472
|
+
},
|
|
2473
|
+
"400": {
|
|
2474
|
+
"description": "Refusal response for an attachment",
|
|
2475
|
+
"content": {
|
|
2476
|
+
"application/json": {
|
|
2477
|
+
"schema": {
|
|
2478
|
+
"$ref": "#/components/schemas/RemitImap.OutboxAttachmentRejection"
|
|
2479
|
+
}
|
|
2480
|
+
}
|
|
2481
|
+
}
|
|
2482
|
+
},
|
|
2483
|
+
"413": {
|
|
2484
|
+
"description": "Refusal response for an attachment",
|
|
2485
|
+
"content": {
|
|
2486
|
+
"application/json": {
|
|
2487
|
+
"schema": {
|
|
2488
|
+
"$ref": "#/components/schemas/RemitImap.OutboxAttachmentRejection"
|
|
2489
|
+
}
|
|
2490
|
+
}
|
|
2491
|
+
}
|
|
2492
|
+
}
|
|
2493
|
+
},
|
|
2494
|
+
"x-amazon-apigateway-integration": {
|
|
2495
|
+
"type": "aws_proxy",
|
|
2496
|
+
"httpMethod": "POST",
|
|
2497
|
+
"passthroughBehavior": "when_no_match",
|
|
2498
|
+
"uri": {
|
|
2499
|
+
"Fn::Sub": "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/arn:aws:lambda:${AWS::Region}:${AWS::AccountId}:function:{{HandlerFunctionName}}/invocations"
|
|
2500
|
+
}
|
|
2501
|
+
}
|
|
2502
|
+
}
|
|
2503
|
+
},
|
|
2374
2504
|
"/outbox/{outboxMessageId}/send": {
|
|
2375
2505
|
"post": {
|
|
2376
2506
|
"operationId": "OutboxDetailOperations_sendOutboxMessage",
|
|
@@ -5016,6 +5146,24 @@
|
|
|
5016
5146
|
"type": "string"
|
|
5017
5147
|
},
|
|
5018
5148
|
"description": "Registrable domains (eTLD+1) the body's links point at, excluding the From address's own registrable domain. Present only for a message the provider's own filter already classified as spam; an empty array means every link stayed on the sender's domain, absence means the comparison was never made."
|
|
5149
|
+
},
|
|
5150
|
+
"signerDomain": {
|
|
5151
|
+
"type": "string",
|
|
5152
|
+
"description": "Registrable domain of the first verified DKIM `header.d` in trusted Authentication-Results order, or the reserved literal `unverified` when no identity could be established. Unlike `dkimDomain`, which is the unverified `d=` claim the sender wrote, this is only set from a signature the trusted Authentication-Results reported as passing. Absent for messages classified before the field existed."
|
|
5153
|
+
},
|
|
5154
|
+
"envelopeDomain": {
|
|
5155
|
+
"type": "string",
|
|
5156
|
+
"description": "SPF-checked envelope-from domain (`smtp.mailfrom`, falling back to `smtp.helo`) from the trusted Authentication-Results. Absent when the trusted header carried no SPF clause, or for messages classified before the field existed."
|
|
5157
|
+
},
|
|
5158
|
+
"signerMessageCount": {
|
|
5159
|
+
"type": "integer",
|
|
5160
|
+
"format": "int32",
|
|
5161
|
+
"description": "Messages this account had already seen for the sender's standing key when this message arrived. A snapshot frozen at derivation time, deliberately not a live read — a message classified when the key stood at 340 always reads 340. Absent for messages classified before the field existed."
|
|
5162
|
+
},
|
|
5163
|
+
"signerFirstSeenAt": {
|
|
5164
|
+
"type": "integer",
|
|
5165
|
+
"format": "int64",
|
|
5166
|
+
"description": "Epoch milliseconds this account first saw the sender's standing key, snapshotted at derivation time alongside `signerMessageCount`. Absent for messages classified before the field existed."
|
|
5019
5167
|
}
|
|
5020
5168
|
},
|
|
5021
5169
|
"description": "Structured sender-authenticity signal, derived from headers at classification time. Absent for messages classified before this field was introduced — clients should treat absence as no-signal."
|
|
@@ -5187,6 +5335,105 @@
|
|
|
5187
5335
|
},
|
|
5188
5336
|
"description": "Core message metadata for API responses"
|
|
5189
5337
|
},
|
|
5338
|
+
"RemitImap.MintOutboxAttachmentInput": {
|
|
5339
|
+
"type": "object",
|
|
5340
|
+
"required": [
|
|
5341
|
+
"filename",
|
|
5342
|
+
"contentType",
|
|
5343
|
+
"sizeBytes"
|
|
5344
|
+
],
|
|
5345
|
+
"properties": {
|
|
5346
|
+
"filename": {
|
|
5347
|
+
"allOf": [
|
|
5348
|
+
{
|
|
5349
|
+
"$ref": "#/components/schemas/String256"
|
|
5350
|
+
}
|
|
5351
|
+
],
|
|
5352
|
+
"description": "Filename as the sender picked it. Sanitized server-side."
|
|
5353
|
+
},
|
|
5354
|
+
"contentType": {
|
|
5355
|
+
"allOf": [
|
|
5356
|
+
{
|
|
5357
|
+
"$ref": "#/components/schemas/String256"
|
|
5358
|
+
}
|
|
5359
|
+
],
|
|
5360
|
+
"description": "Media type the browser reported. Recorded, never trusted for rendering."
|
|
5361
|
+
},
|
|
5362
|
+
"sizeBytes": {
|
|
5363
|
+
"type": "integer",
|
|
5364
|
+
"format": "int64",
|
|
5365
|
+
"minimum": 1,
|
|
5366
|
+
"description": "Exact size of the file. The upload is bound to this number."
|
|
5367
|
+
}
|
|
5368
|
+
},
|
|
5369
|
+
"description": "What the client intends to attach, before any bytes move"
|
|
5370
|
+
},
|
|
5371
|
+
"RemitImap.MintOutboxAttachmentResponse": {
|
|
5372
|
+
"type": "object",
|
|
5373
|
+
"required": [
|
|
5374
|
+
"outboxAttachmentId",
|
|
5375
|
+
"outboxMessageId",
|
|
5376
|
+
"filename",
|
|
5377
|
+
"contentType",
|
|
5378
|
+
"sizeBytes",
|
|
5379
|
+
"uploadUrl",
|
|
5380
|
+
"uploadExpiresAt"
|
|
5381
|
+
],
|
|
5382
|
+
"properties": {
|
|
5383
|
+
"outboxAttachmentId": {
|
|
5384
|
+
"allOf": [
|
|
5385
|
+
{
|
|
5386
|
+
"$ref": "#/components/schemas/UUID"
|
|
5387
|
+
}
|
|
5388
|
+
],
|
|
5389
|
+
"description": "Primary identifier, and the name the completion call uses"
|
|
5390
|
+
},
|
|
5391
|
+
"outboxMessageId": {
|
|
5392
|
+
"allOf": [
|
|
5393
|
+
{
|
|
5394
|
+
"$ref": "#/components/schemas/UUID"
|
|
5395
|
+
}
|
|
5396
|
+
],
|
|
5397
|
+
"description": "Draft the file is reserved against"
|
|
5398
|
+
},
|
|
5399
|
+
"filename": {
|
|
5400
|
+
"allOf": [
|
|
5401
|
+
{
|
|
5402
|
+
"$ref": "#/components/schemas/String256"
|
|
5403
|
+
}
|
|
5404
|
+
],
|
|
5405
|
+
"description": "Sanitized filename that will appear on the sent message"
|
|
5406
|
+
},
|
|
5407
|
+
"contentType": {
|
|
5408
|
+
"allOf": [
|
|
5409
|
+
{
|
|
5410
|
+
"$ref": "#/components/schemas/String256"
|
|
5411
|
+
}
|
|
5412
|
+
],
|
|
5413
|
+
"description": "Normalized media type"
|
|
5414
|
+
},
|
|
5415
|
+
"sizeBytes": {
|
|
5416
|
+
"type": "integer",
|
|
5417
|
+
"format": "int64",
|
|
5418
|
+
"minimum": 1,
|
|
5419
|
+
"description": "Reserved size. The upload must carry exactly this many bytes."
|
|
5420
|
+
},
|
|
5421
|
+
"uploadUrl": {
|
|
5422
|
+
"allOf": [
|
|
5423
|
+
{
|
|
5424
|
+
"$ref": "#/components/schemas/String2048"
|
|
5425
|
+
}
|
|
5426
|
+
],
|
|
5427
|
+
"description": "Where to PUT the raw bytes. Single use, one attachment, expires."
|
|
5428
|
+
},
|
|
5429
|
+
"uploadExpiresAt": {
|
|
5430
|
+
"type": "integer",
|
|
5431
|
+
"format": "int64",
|
|
5432
|
+
"description": "When the reservation and the upload URL both lapse"
|
|
5433
|
+
}
|
|
5434
|
+
},
|
|
5435
|
+
"description": "A reservation and somewhere to put the bytes.\n\n`uploadUrl` is opaque: on a hosted deployment it addresses block storage\ndirectly and the bytes never traverse this API, on a self-hosted one it\naddresses this deployment's own upload route. A client PUTs the file to it\neither way and cannot tell which it received."
|
|
5436
|
+
},
|
|
5190
5437
|
"RemitImap.MoveMessagesInput": {
|
|
5191
5438
|
"type": "object",
|
|
5192
5439
|
"required": [
|
|
@@ -5482,6 +5729,134 @@
|
|
|
5482
5729
|
},
|
|
5483
5730
|
"description": "Response body for POST /accounts/{accountId}/organize/preview — the messages the same matcher would apply the action to, without applying it. Bounded server-side."
|
|
5484
5731
|
},
|
|
5732
|
+
"RemitImap.OutboxAttachmentRejection": {
|
|
5733
|
+
"type": "object",
|
|
5734
|
+
"required": [
|
|
5735
|
+
"reason",
|
|
5736
|
+
"message",
|
|
5737
|
+
"limitBytes",
|
|
5738
|
+
"usedBytes"
|
|
5739
|
+
],
|
|
5740
|
+
"properties": {
|
|
5741
|
+
"reason": {
|
|
5742
|
+
"allOf": [
|
|
5743
|
+
{
|
|
5744
|
+
"$ref": "#/components/schemas/RemitImap.OutboxAttachmentRejectionReason"
|
|
5745
|
+
}
|
|
5746
|
+
],
|
|
5747
|
+
"description": "Machine-readable reason"
|
|
5748
|
+
},
|
|
5749
|
+
"message": {
|
|
5750
|
+
"allOf": [
|
|
5751
|
+
{
|
|
5752
|
+
"$ref": "#/components/schemas/String512"
|
|
5753
|
+
}
|
|
5754
|
+
],
|
|
5755
|
+
"description": "Sentence naming the file, its size and the cap"
|
|
5756
|
+
},
|
|
5757
|
+
"limitBytes": {
|
|
5758
|
+
"type": "integer",
|
|
5759
|
+
"format": "int64",
|
|
5760
|
+
"minimum": 0,
|
|
5761
|
+
"description": "Total bytes one message may carry"
|
|
5762
|
+
},
|
|
5763
|
+
"usedBytes": {
|
|
5764
|
+
"type": "integer",
|
|
5765
|
+
"format": "int64",
|
|
5766
|
+
"minimum": 0,
|
|
5767
|
+
"description": "Bytes already spoken for on this draft, uploaded or merely reserved"
|
|
5768
|
+
}
|
|
5769
|
+
},
|
|
5770
|
+
"description": "A file the server refused, with everything the composer needs to say why"
|
|
5771
|
+
},
|
|
5772
|
+
"RemitImap.OutboxAttachmentRejectionReason": {
|
|
5773
|
+
"type": "string",
|
|
5774
|
+
"enum": [
|
|
5775
|
+
"EmptyFile",
|
|
5776
|
+
"UnusableFilename",
|
|
5777
|
+
"FileTooLarge",
|
|
5778
|
+
"MessageTooLarge",
|
|
5779
|
+
"TooManyAttachments",
|
|
5780
|
+
"ReservationExpired",
|
|
5781
|
+
"UploadMissing",
|
|
5782
|
+
"SizeMismatch"
|
|
5783
|
+
],
|
|
5784
|
+
"description": "Why the server refused to reserve, or to accept, a file for a draft.\n\nClosed rather than free text: the composer renders its own copy for each\nmember (naming the file, the size and the cap), so a refusal must be\ndistinguishable from a network failure without parsing prose."
|
|
5785
|
+
},
|
|
5786
|
+
"RemitImap.OutboxAttachmentResponse": {
|
|
5787
|
+
"type": "object",
|
|
5788
|
+
"required": [
|
|
5789
|
+
"outboxAttachmentId",
|
|
5790
|
+
"outboxMessageId",
|
|
5791
|
+
"filename",
|
|
5792
|
+
"contentType",
|
|
5793
|
+
"sizeBytes",
|
|
5794
|
+
"state"
|
|
5795
|
+
],
|
|
5796
|
+
"properties": {
|
|
5797
|
+
"outboxAttachmentId": {
|
|
5798
|
+
"allOf": [
|
|
5799
|
+
{
|
|
5800
|
+
"$ref": "#/components/schemas/UUID"
|
|
5801
|
+
}
|
|
5802
|
+
],
|
|
5803
|
+
"description": "Primary identifier",
|
|
5804
|
+
"readOnly": true
|
|
5805
|
+
},
|
|
5806
|
+
"outboxMessageId": {
|
|
5807
|
+
"allOf": [
|
|
5808
|
+
{
|
|
5809
|
+
"$ref": "#/components/schemas/UUID"
|
|
5810
|
+
}
|
|
5811
|
+
],
|
|
5812
|
+
"description": "Draft this file belongs to",
|
|
5813
|
+
"readOnly": true
|
|
5814
|
+
},
|
|
5815
|
+
"filename": {
|
|
5816
|
+
"allOf": [
|
|
5817
|
+
{
|
|
5818
|
+
"$ref": "#/components/schemas/String256"
|
|
5819
|
+
}
|
|
5820
|
+
],
|
|
5821
|
+
"description": "Filename as it will appear on the sent message, sanitized server-side",
|
|
5822
|
+
"readOnly": true
|
|
5823
|
+
},
|
|
5824
|
+
"contentType": {
|
|
5825
|
+
"allOf": [
|
|
5826
|
+
{
|
|
5827
|
+
"$ref": "#/components/schemas/String256"
|
|
5828
|
+
}
|
|
5829
|
+
],
|
|
5830
|
+
"description": "Media type recorded at upload. Never trusted for rendering.",
|
|
5831
|
+
"readOnly": true
|
|
5832
|
+
},
|
|
5833
|
+
"sizeBytes": {
|
|
5834
|
+
"type": "integer",
|
|
5835
|
+
"format": "int64",
|
|
5836
|
+
"minimum": 0,
|
|
5837
|
+
"description": "Bytes claimed at reservation, confirmed against storage once stored",
|
|
5838
|
+
"readOnly": true
|
|
5839
|
+
},
|
|
5840
|
+
"state": {
|
|
5841
|
+
"allOf": [
|
|
5842
|
+
{
|
|
5843
|
+
"$ref": "#/components/schemas/RemitImap.OutboxAttachmentState"
|
|
5844
|
+
}
|
|
5845
|
+
],
|
|
5846
|
+
"description": "Whether the bytes have arrived",
|
|
5847
|
+
"readOnly": true
|
|
5848
|
+
}
|
|
5849
|
+
},
|
|
5850
|
+
"description": "A file on a draft, as the composer sees it"
|
|
5851
|
+
},
|
|
5852
|
+
"RemitImap.OutboxAttachmentState": {
|
|
5853
|
+
"type": "string",
|
|
5854
|
+
"enum": [
|
|
5855
|
+
"Pending",
|
|
5856
|
+
"Stored"
|
|
5857
|
+
],
|
|
5858
|
+
"description": "Where an attachment is between being promised and being sendable.\n\nThere is no third state and no absence: a row exists from the moment room is\nclaimed, so the cap can be enforced against rows in one transaction rather\nthan against bytes that may or may not have landed yet."
|
|
5859
|
+
},
|
|
5485
5860
|
"RemitImap.OutboxMessageResponse": {
|
|
5486
5861
|
"type": "object",
|
|
5487
5862
|
"required": [
|
|
@@ -5494,7 +5869,8 @@
|
|
|
5494
5869
|
"references",
|
|
5495
5870
|
"status",
|
|
5496
5871
|
"createdAt",
|
|
5497
|
-
"updatedAt"
|
|
5872
|
+
"updatedAt",
|
|
5873
|
+
"attachments"
|
|
5498
5874
|
],
|
|
5499
5875
|
"properties": {
|
|
5500
5876
|
"outboxMessageId": {
|
|
@@ -5609,6 +5985,13 @@
|
|
|
5609
5985
|
"type": "integer",
|
|
5610
5986
|
"format": "int64",
|
|
5611
5987
|
"readOnly": true
|
|
5988
|
+
},
|
|
5989
|
+
"attachments": {
|
|
5990
|
+
"type": "array",
|
|
5991
|
+
"items": {
|
|
5992
|
+
"$ref": "#/components/schemas/RemitImap.OutboxAttachmentResponse"
|
|
5993
|
+
},
|
|
5994
|
+
"description": "Files on this message. Empty when it carries none."
|
|
5612
5995
|
}
|
|
5613
5996
|
},
|
|
5614
5997
|
"description": "Outbox message response"
|
|
@@ -7044,6 +7427,13 @@
|
|
|
7044
7427
|
"RemitImap.UpdateOutboxMessageInput": {
|
|
7045
7428
|
"type": "object",
|
|
7046
7429
|
"properties": {
|
|
7430
|
+
"attachmentIds": {
|
|
7431
|
+
"type": "array",
|
|
7432
|
+
"items": {
|
|
7433
|
+
"$ref": "#/components/schemas/UUID"
|
|
7434
|
+
},
|
|
7435
|
+
"description": "The files this draft keeps. Anything left out is removed with its bytes."
|
|
7436
|
+
},
|
|
7047
7437
|
"toAddresses": {
|
|
7048
7438
|
"type": "array",
|
|
7049
7439
|
"items": {
|
|
@@ -7227,6 +7617,10 @@
|
|
|
7227
7617
|
"type": "string",
|
|
7228
7618
|
"maxLength": 140
|
|
7229
7619
|
},
|
|
7620
|
+
"String2048": {
|
|
7621
|
+
"type": "string",
|
|
7622
|
+
"maxLength": 2048
|
|
7623
|
+
},
|
|
7230
7624
|
"String256": {
|
|
7231
7625
|
"type": "string",
|
|
7232
7626
|
"maxLength": 256
|