@epilot/message-client 1.0.0 → 1.0.1

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/dist/openapi.json CHANGED
@@ -8,20 +8,20 @@
8
8
  "security": [
9
9
  {
10
10
  "EpilotAuth": []
11
+ },
12
+ {
13
+ "EpilotOrg": []
11
14
  }
12
15
  ],
13
16
  "tags": [
14
17
  {
15
- "name": "Messages",
16
- "description": "Email Messages"
18
+ "name": "Messages"
17
19
  },
18
20
  {
19
- "name": "Threads",
20
- "description": "Email Message Threads"
21
+ "name": "Threads"
21
22
  },
22
23
  {
23
- "name": "Attachments",
24
- "description": "Email File Attachments"
24
+ "name": "Drafts"
25
25
  }
26
26
  ],
27
27
  "paths": {
@@ -272,69 +272,49 @@
272
272
  }
273
273
  }
274
274
  },
275
- "attachments": {
276
- "type": "array",
275
+ "file": {
276
+ "type": "object",
277
277
  "description": "Message attachments",
278
- "items": {
279
- "type": "object",
280
- "required": [
281
- "filename",
282
- "size",
283
- "content_type",
284
- "url",
285
- "bucket",
286
- "object_key"
287
- ],
288
- "properties": {
289
- "cid": {
290
- "type": "string",
291
- "description": "Attachment ID",
292
- "example": "f820ce3b-07b0-45ae-bcc6-babb2f53f79f"
293
- },
294
- "filename": {
295
- "type": "string",
296
- "description": "File name",
297
- "example": "Produktinformationen_epilot360_Double_Opt_in.pdf"
298
- },
299
- "size": {
300
- "type": "number",
301
- "description": "File size in bytes",
302
- "example": 451349
303
- },
304
- "content_type": {
305
- "type": "string",
306
- "description": "Content type",
307
- "example": "application/pdf"
308
- },
309
- "url": {
310
- "type": "string",
311
- "description": "URL to download the attachment.",
312
- "example": "https://go.epilot.cloud/attachments/3e7c616a-3e89-4f92-b4c5-ea5ab140e3dd/Produktinformationen_epilot360_Double_Opt_in.pdf"
313
- },
314
- "bucket": {
315
- "type": "string",
316
- "description": "S3 bucket where file is stored",
317
- "example": "893487340562-message-attachment"
318
- },
319
- "object_key": {
320
- "type": "string",
321
- "description": "S3 object apiKey",
322
- "example": "attachments/3e7c616a-3e89-4f92-b4c5-ea5ab140e3dd/Produktinformationen_epilot360_Double_Opt_in.pdf"
323
- },
324
- "inline": {
325
- "type": "boolean",
326
- "description": "If true then this attachment should not be offered for download (at least not in the main attachments list).\\\nThe usecase is CID embedded image (aka inline image).\n",
327
- "default": false
328
- },
329
- "send_as_link": {
330
- "type": "boolean",
331
- "description": "If true then this attachment is sent via link. The link is already inserted to email body by API caller. In this case, service doesn't process this attachment.",
332
- "default": false
333
- },
334
- "copy_to_message": {
335
- "type": "boolean",
336
- "description": "If true then this attachment is copied to the message and replaces corresponding one. The new attachment has different `url`, `object_key`. This property supports for forwarding message and copying attachments from email template.\\\nIf both `send_as_link` and `copy_to_message` are provided, `copy_to_message` is discarded.\n",
337
- "default": false
278
+ "properties": {
279
+ "$relation": {
280
+ "type": "array",
281
+ "description": "It's normal entity relation with some additional properties for sending message attachment.",
282
+ "items": {
283
+ "type": "object",
284
+ "required": [
285
+ "entity_id"
286
+ ],
287
+ "properties": {
288
+ "entity_id": {
289
+ "type": "string",
290
+ "description": "File entity ID",
291
+ "example": "f820ce3b-07b0-45ae-bcc6-babb2f53f79f"
292
+ },
293
+ "filename": {
294
+ "type": "string",
295
+ "description": "File name",
296
+ "example": "Produktinformationen_epilot360_Double_Opt_in.pdf"
297
+ },
298
+ "is_message_attachment": {
299
+ "type": "boolean",
300
+ "description": "To indicate this file relation is message attachment. If false then this file will not be sent."
301
+ },
302
+ "cid": {
303
+ "type": "string",
304
+ "description": "Content ID",
305
+ "example": "fb222496-a1a5-4639-94f2-07b5e35e4068"
306
+ },
307
+ "inline": {
308
+ "type": "boolean",
309
+ "description": "If true then this attachment should not be offered for download (at least not in the main attachments list).\\\nThe usecase is CID embedded image (aka inline image).\n",
310
+ "default": false
311
+ },
312
+ "send_as_link": {
313
+ "type": "boolean",
314
+ "description": "If true then this attachment is sent via link. The link have to be inserted to email body by API caller.\\\nIn this case, service doesn't process this attachment.\n",
315
+ "default": false
316
+ }
317
+ }
338
318
  }
339
319
  }
340
320
  }
@@ -620,69 +600,49 @@
620
600
  }
621
601
  }
622
602
  },
623
- "attachments": {
624
- "type": "array",
603
+ "file": {
604
+ "type": "object",
625
605
  "description": "Message attachments",
626
- "items": {
627
- "type": "object",
628
- "required": [
629
- "filename",
630
- "size",
631
- "content_type",
632
- "url",
633
- "bucket",
634
- "object_key"
635
- ],
636
- "properties": {
637
- "cid": {
638
- "type": "string",
639
- "description": "Attachment ID",
640
- "example": "f820ce3b-07b0-45ae-bcc6-babb2f53f79f"
641
- },
642
- "filename": {
643
- "type": "string",
644
- "description": "File name",
645
- "example": "Produktinformationen_epilot360_Double_Opt_in.pdf"
646
- },
647
- "size": {
648
- "type": "number",
649
- "description": "File size in bytes",
650
- "example": 451349
651
- },
652
- "content_type": {
653
- "type": "string",
654
- "description": "Content type",
655
- "example": "application/pdf"
656
- },
657
- "url": {
658
- "type": "string",
659
- "description": "URL to download the attachment.",
660
- "example": "https://go.epilot.cloud/attachments/3e7c616a-3e89-4f92-b4c5-ea5ab140e3dd/Produktinformationen_epilot360_Double_Opt_in.pdf"
661
- },
662
- "bucket": {
663
- "type": "string",
664
- "description": "S3 bucket where file is stored",
665
- "example": "893487340562-message-attachment"
666
- },
667
- "object_key": {
668
- "type": "string",
669
- "description": "S3 object apiKey",
670
- "example": "attachments/3e7c616a-3e89-4f92-b4c5-ea5ab140e3dd/Produktinformationen_epilot360_Double_Opt_in.pdf"
671
- },
672
- "inline": {
673
- "type": "boolean",
674
- "description": "If true then this attachment should not be offered for download (at least not in the main attachments list).\\\nThe usecase is CID embedded image (aka inline image).\n",
675
- "default": false
676
- },
677
- "send_as_link": {
678
- "type": "boolean",
679
- "description": "If true then this attachment is sent via link. The link is already inserted to email body by API caller. In this case, service doesn't process this attachment.",
680
- "default": false
681
- },
682
- "copy_to_message": {
683
- "type": "boolean",
684
- "description": "If true then this attachment is copied to the message and replaces corresponding one. The new attachment has different `url`, `object_key`. This property supports for forwarding message and copying attachments from email template.\\\nIf both `send_as_link` and `copy_to_message` are provided, `copy_to_message` is discarded.\n",
685
- "default": false
606
+ "properties": {
607
+ "$relation": {
608
+ "type": "array",
609
+ "description": "It's normal entity relation with some additional properties for sending message attachment.",
610
+ "items": {
611
+ "type": "object",
612
+ "required": [
613
+ "entity_id"
614
+ ],
615
+ "properties": {
616
+ "entity_id": {
617
+ "type": "string",
618
+ "description": "File entity ID",
619
+ "example": "f820ce3b-07b0-45ae-bcc6-babb2f53f79f"
620
+ },
621
+ "filename": {
622
+ "type": "string",
623
+ "description": "File name",
624
+ "example": "Produktinformationen_epilot360_Double_Opt_in.pdf"
625
+ },
626
+ "is_message_attachment": {
627
+ "type": "boolean",
628
+ "description": "To indicate this file relation is message attachment. If false then this file will not be sent."
629
+ },
630
+ "cid": {
631
+ "type": "string",
632
+ "description": "Content ID",
633
+ "example": "fb222496-a1a5-4639-94f2-07b5e35e4068"
634
+ },
635
+ "inline": {
636
+ "type": "boolean",
637
+ "description": "If true then this attachment should not be offered for download (at least not in the main attachments list).\\\nThe usecase is CID embedded image (aka inline image).\n",
638
+ "default": false
639
+ },
640
+ "send_as_link": {
641
+ "type": "boolean",
642
+ "description": "If true then this attachment is sent via link. The link have to be inserted to email body by API caller.\\\nIn this case, service doesn't process this attachment.\n",
643
+ "default": false
644
+ }
645
+ }
686
646
  }
687
647
  }
688
648
  }
@@ -708,6 +668,17 @@
708
668
  ]
709
669
  }
710
670
  },
671
+ "org_read_message": {
672
+ "type": "array",
673
+ "description": "Ivy Organization ID of organization read the message.",
674
+ "items": {
675
+ "type": "string",
676
+ "example": [
677
+ "789372",
678
+ "210291"
679
+ ]
680
+ }
681
+ },
711
682
  "send_status": {
712
683
  "type": "array",
713
684
  "description": "Sent message status. The array contains sending message status corresponding to all recipients. For more detail, check `send_status` of each recipient in `to`, `cc`, `bcc`\\\nReference at <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html>\n",
@@ -750,370 +721,37 @@
750
721
  "tags": [
751
722
  "Messages"
752
723
  ],
753
- "requestBody": {
754
- "content": {
755
- "application/json": {
756
- "schema": {
757
- "type": "object",
758
- "required": [
759
- "subject",
760
- "from"
761
- ],
762
- "properties": {
763
- "message_id": {
764
- "type": "string",
765
- "description": "Message ID which is from email provider. If you provide `message-id`, API overrides by its own value.",
766
- "example": "<0102017b97a502f8-a67f01c2-68cc-4928-b91b-45853f34e259-000000@eu-west-1.amazonses.com>"
767
- },
768
- "sender": {
769
- "type": "string",
770
- "description": "Ivy User ID of user sends the message.",
771
- "example": "206801"
772
- },
773
- "subject": {
774
- "type": "string",
775
- "description": "Subject",
776
- "example": "Request for solar panel price"
777
- },
778
- "html": {
779
- "type": "string",
780
- "description": "HTML body",
781
- "example": "<div>We at ABC GmbH would like to request a price quote for the solar panel.</div>"
782
- },
783
- "text": {
784
- "type": "string",
785
- "description": "Text body",
786
- "example": "We at ABC GmbH would like to request a price quote for the solar panel."
787
- },
788
- "from": {
789
- "type": "object",
790
- "required": [
791
- "address"
792
- ],
793
- "properties": {
794
- "name": {
795
- "type": "string",
796
- "description": "Email address alias",
797
- "example": "epilot"
798
- },
799
- "address": {
800
- "type": "string",
801
- "description": "Email address",
802
- "example": "messaging@epilot.cloud"
803
- },
804
- "send_status": {
805
- "type": "string",
806
- "description": "Sent message status regarding to this recipient.\\\nReference at <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html>\n",
807
- "enum": [
808
- "SEND",
809
- "DELIVERY",
810
- "REJECT",
811
- "COMPLAINT",
812
- "BOUNCE",
813
- "ERROR"
814
- ]
815
- },
816
- "send_error": {
817
- "type": "object",
818
- "description": "Information about reject, complaint or bounce event. Only available if `send_status` is REJECT, COMPLAINT, BOUNCE or ERROR.\\\nJSON object is defined by AWS SES. Reference at <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notification-contents.html>\n"
819
- }
820
- }
821
- },
822
- "reply_to": {
823
- "type": "object",
824
- "required": [
825
- "address"
826
- ],
827
- "properties": {
828
- "name": {
829
- "type": "string",
830
- "description": "Email address alias",
831
- "example": "epilot"
832
- },
833
- "address": {
834
- "type": "string",
835
- "description": "Email address",
836
- "example": "messaging@epilot.cloud"
837
- },
838
- "send_status": {
839
- "type": "string",
840
- "description": "Sent message status regarding to this recipient.\\\nReference at <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html>\n",
841
- "enum": [
842
- "SEND",
843
- "DELIVERY",
844
- "REJECT",
845
- "COMPLAINT",
846
- "BOUNCE",
847
- "ERROR"
848
- ]
849
- },
850
- "send_error": {
851
- "type": "object",
852
- "description": "Information about reject, complaint or bounce event. Only available if `send_status` is REJECT, COMPLAINT, BOUNCE or ERROR.\\\nJSON object is defined by AWS SES. Reference at <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notification-contents.html>\n"
853
- }
854
- }
855
- },
856
- "to": {
857
- "type": "array",
858
- "description": "To email addresses",
859
- "items": {
724
+ "responses": {
725
+ "201": {
726
+ "description": "Success",
727
+ "content": {
728
+ "application/json": {
729
+ "schema": {
730
+ "allOf": [
731
+ {
860
732
  "type": "object",
861
733
  "required": [
862
- "address"
734
+ "_id",
735
+ "_title",
736
+ "_org",
737
+ "_schema",
738
+ "_created_at",
739
+ "_updated_at"
863
740
  ],
864
741
  "properties": {
865
- "name": {
742
+ "_id": {
866
743
  "type": "string",
867
- "description": "Email address alias",
868
- "example": "epilot"
744
+ "description": "Entity ID",
745
+ "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
869
746
  },
870
- "address": {
747
+ "_title": {
871
748
  "type": "string",
872
- "description": "Email address",
873
- "example": "messaging@epilot.cloud"
749
+ "description": "Entity title"
874
750
  },
875
- "send_status": {
751
+ "_org": {
876
752
  "type": "string",
877
- "description": "Sent message status regarding to this recipient.\\\nReference at <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html>\n",
878
- "enum": [
879
- "SEND",
880
- "DELIVERY",
881
- "REJECT",
882
- "COMPLAINT",
883
- "BOUNCE",
884
- "ERROR"
885
- ]
886
- },
887
- "send_error": {
888
- "type": "object",
889
- "description": "Information about reject, complaint or bounce event. Only available if `send_status` is REJECT, COMPLAINT, BOUNCE or ERROR.\\\nJSON object is defined by AWS SES. Reference at <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notification-contents.html>\n"
890
- }
891
- }
892
- }
893
- },
894
- "cc": {
895
- "type": "array",
896
- "description": "Cc email addresses",
897
- "items": {
898
- "type": "object",
899
- "required": [
900
- "address"
901
- ],
902
- "properties": {
903
- "name": {
904
- "type": "string",
905
- "description": "Email address alias",
906
- "example": "epilot"
907
- },
908
- "address": {
909
- "type": "string",
910
- "description": "Email address",
911
- "example": "messaging@epilot.cloud"
912
- },
913
- "send_status": {
914
- "type": "string",
915
- "description": "Sent message status regarding to this recipient.\\\nReference at <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html>\n",
916
- "enum": [
917
- "SEND",
918
- "DELIVERY",
919
- "REJECT",
920
- "COMPLAINT",
921
- "BOUNCE",
922
- "ERROR"
923
- ]
924
- },
925
- "send_error": {
926
- "type": "object",
927
- "description": "Information about reject, complaint or bounce event. Only available if `send_status` is REJECT, COMPLAINT, BOUNCE or ERROR.\\\nJSON object is defined by AWS SES. Reference at <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notification-contents.html>\n"
928
- }
929
- }
930
- }
931
- },
932
- "bcc": {
933
- "type": "array",
934
- "description": "Bcc email addresses",
935
- "items": {
936
- "type": "object",
937
- "required": [
938
- "address"
939
- ],
940
- "properties": {
941
- "name": {
942
- "type": "string",
943
- "description": "Email address alias",
944
- "example": "epilot"
945
- },
946
- "address": {
947
- "type": "string",
948
- "description": "Email address",
949
- "example": "messaging@epilot.cloud"
950
- },
951
- "send_status": {
952
- "type": "string",
953
- "description": "Sent message status regarding to this recipient.\\\nReference at <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html>\n",
954
- "enum": [
955
- "SEND",
956
- "DELIVERY",
957
- "REJECT",
958
- "COMPLAINT",
959
- "BOUNCE",
960
- "ERROR"
961
- ]
962
- },
963
- "send_error": {
964
- "type": "object",
965
- "description": "Information about reject, complaint or bounce event. Only available if `send_status` is REJECT, COMPLAINT, BOUNCE or ERROR.\\\nJSON object is defined by AWS SES. Reference at <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notification-contents.html>\n"
966
- }
967
- }
968
- }
969
- },
970
- "attachments": {
971
- "type": "array",
972
- "description": "Message attachments",
973
- "items": {
974
- "type": "object",
975
- "required": [
976
- "filename",
977
- "size",
978
- "content_type",
979
- "url",
980
- "bucket",
981
- "object_key"
982
- ],
983
- "properties": {
984
- "cid": {
985
- "type": "string",
986
- "description": "Attachment ID",
987
- "example": "f820ce3b-07b0-45ae-bcc6-babb2f53f79f"
988
- },
989
- "filename": {
990
- "type": "string",
991
- "description": "File name",
992
- "example": "Produktinformationen_epilot360_Double_Opt_in.pdf"
993
- },
994
- "size": {
995
- "type": "number",
996
- "description": "File size in bytes",
997
- "example": 451349
998
- },
999
- "content_type": {
1000
- "type": "string",
1001
- "description": "Content type",
1002
- "example": "application/pdf"
1003
- },
1004
- "url": {
1005
- "type": "string",
1006
- "description": "URL to download the attachment.",
1007
- "example": "https://go.epilot.cloud/attachments/3e7c616a-3e89-4f92-b4c5-ea5ab140e3dd/Produktinformationen_epilot360_Double_Opt_in.pdf"
1008
- },
1009
- "bucket": {
1010
- "type": "string",
1011
- "description": "S3 bucket where file is stored",
1012
- "example": "893487340562-message-attachment"
1013
- },
1014
- "object_key": {
1015
- "type": "string",
1016
- "description": "S3 object apiKey",
1017
- "example": "attachments/3e7c616a-3e89-4f92-b4c5-ea5ab140e3dd/Produktinformationen_epilot360_Double_Opt_in.pdf"
1018
- },
1019
- "inline": {
1020
- "type": "boolean",
1021
- "description": "If true then this attachment should not be offered for download (at least not in the main attachments list).\\\nThe usecase is CID embedded image (aka inline image).\n",
1022
- "default": false
1023
- },
1024
- "send_as_link": {
1025
- "type": "boolean",
1026
- "description": "If true then this attachment is sent via link. The link is already inserted to email body by API caller. In this case, service doesn't process this attachment.",
1027
- "default": false
1028
- },
1029
- "copy_to_message": {
1030
- "type": "boolean",
1031
- "description": "If true then this attachment is copied to the message and replaces corresponding one. The new attachment has different `url`, `object_key`. This property supports for forwarding message and copying attachments from email template.\\\nIf both `send_as_link` and `copy_to_message` are provided, `copy_to_message` is discarded.\n",
1032
- "default": false
1033
- }
1034
- }
1035
- }
1036
- },
1037
- "references": {
1038
- "type": "string",
1039
- "description": "References header. Value is the series of `message_id` which is reparated by space to indicate that message has parent.\\\nThe last message ID in references identifies the parent. The first message ID in references identifies the first message in the thread.\\\nThe basic idea is that sender should copy `references` from the parent and append the parent's `message_id` when replying.\n",
1040
- "example": "<0102017b97a502f8-a67f01c2-68cc-4928-b91b-45853f34e259-000000@eu-west-1.amazonses.com> <CALHgQpziyxW9NaFUs+nRMykzr6Ljq6vjq4WO9SaihAuMasuDyg@mail.gmail.com>"
1041
- },
1042
- "in_reply_to": {
1043
- "type": "string",
1044
- "description": "In-Reply-To header. Value is the `message_id` of parent message.\n",
1045
- "example": "<CALHgQpziyxW9NaFUs+nRMykzr6Ljq6vjq4WO9SaihAuMasuDyg@mail.gmail.com>"
1046
- },
1047
- "user_read_message": {
1048
- "type": "array",
1049
- "description": "Ivy User ID of user read the message.",
1050
- "items": {
1051
- "type": "string",
1052
- "example": [
1053
- "206801",
1054
- "200109"
1055
- ]
1056
- }
1057
- },
1058
- "send_status": {
1059
- "type": "array",
1060
- "description": "Sent message status. The array contains sending message status corresponding to all recipients. For more detail, check `send_status` of each recipient in `to`, `cc`, `bcc`\\\nReference at <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html>\n",
1061
- "items": {
1062
- "type": "string",
1063
- "enum": [
1064
- "SEND",
1065
- "DELIVERY",
1066
- "REJECT",
1067
- "COMPLAINT",
1068
- "BOUNCE",
1069
- "ERROR"
1070
- ]
1071
- }
1072
- },
1073
- "type": {
1074
- "type": "string",
1075
- "description": "Message type",
1076
- "enum": [
1077
- "SENT",
1078
- "RECEIVED"
1079
- ]
1080
- }
1081
- }
1082
- }
1083
- }
1084
- }
1085
- },
1086
- "responses": {
1087
- "201": {
1088
- "description": "Success",
1089
- "content": {
1090
- "application/json": {
1091
- "schema": {
1092
- "allOf": [
1093
- {
1094
- "type": "object",
1095
- "required": [
1096
- "_id",
1097
- "_title",
1098
- "_org",
1099
- "_schema",
1100
- "_created_at",
1101
- "_updated_at"
1102
- ],
1103
- "properties": {
1104
- "_id": {
1105
- "type": "string",
1106
- "description": "Entity ID",
1107
- "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
1108
- },
1109
- "_title": {
1110
- "type": "string",
1111
- "description": "Entity title"
1112
- },
1113
- "_org": {
1114
- "type": "string",
1115
- "description": "Ivy Organization ID the entity belongs to",
1116
- "example": "206801"
753
+ "description": "Ivy Organization ID the entity belongs to",
754
+ "example": "206801"
1117
755
  },
1118
756
  "_schema": {
1119
757
  "type": "string",
@@ -1359,69 +997,49 @@
1359
997
  }
1360
998
  }
1361
999
  },
1362
- "attachments": {
1363
- "type": "array",
1000
+ "file": {
1001
+ "type": "object",
1364
1002
  "description": "Message attachments",
1365
- "items": {
1366
- "type": "object",
1367
- "required": [
1368
- "filename",
1369
- "size",
1370
- "content_type",
1371
- "url",
1372
- "bucket",
1373
- "object_key"
1374
- ],
1375
- "properties": {
1376
- "cid": {
1377
- "type": "string",
1378
- "description": "Attachment ID",
1379
- "example": "f820ce3b-07b0-45ae-bcc6-babb2f53f79f"
1380
- },
1381
- "filename": {
1382
- "type": "string",
1383
- "description": "File name",
1384
- "example": "Produktinformationen_epilot360_Double_Opt_in.pdf"
1385
- },
1386
- "size": {
1387
- "type": "number",
1388
- "description": "File size in bytes",
1389
- "example": 451349
1390
- },
1391
- "content_type": {
1392
- "type": "string",
1393
- "description": "Content type",
1394
- "example": "application/pdf"
1395
- },
1396
- "url": {
1397
- "type": "string",
1398
- "description": "URL to download the attachment.",
1399
- "example": "https://go.epilot.cloud/attachments/3e7c616a-3e89-4f92-b4c5-ea5ab140e3dd/Produktinformationen_epilot360_Double_Opt_in.pdf"
1400
- },
1401
- "bucket": {
1402
- "type": "string",
1403
- "description": "S3 bucket where file is stored",
1404
- "example": "893487340562-message-attachment"
1405
- },
1406
- "object_key": {
1407
- "type": "string",
1408
- "description": "S3 object apiKey",
1409
- "example": "attachments/3e7c616a-3e89-4f92-b4c5-ea5ab140e3dd/Produktinformationen_epilot360_Double_Opt_in.pdf"
1410
- },
1411
- "inline": {
1412
- "type": "boolean",
1413
- "description": "If true then this attachment should not be offered for download (at least not in the main attachments list).\\\nThe usecase is CID embedded image (aka inline image).\n",
1414
- "default": false
1415
- },
1416
- "send_as_link": {
1417
- "type": "boolean",
1418
- "description": "If true then this attachment is sent via link. The link is already inserted to email body by API caller. In this case, service doesn't process this attachment.",
1419
- "default": false
1420
- },
1421
- "copy_to_message": {
1422
- "type": "boolean",
1423
- "description": "If true then this attachment is copied to the message and replaces corresponding one. The new attachment has different `url`, `object_key`. This property supports for forwarding message and copying attachments from email template.\\\nIf both `send_as_link` and `copy_to_message` are provided, `copy_to_message` is discarded.\n",
1424
- "default": false
1003
+ "properties": {
1004
+ "$relation": {
1005
+ "type": "array",
1006
+ "description": "It's normal entity relation with some additional properties for sending message attachment.",
1007
+ "items": {
1008
+ "type": "object",
1009
+ "required": [
1010
+ "entity_id"
1011
+ ],
1012
+ "properties": {
1013
+ "entity_id": {
1014
+ "type": "string",
1015
+ "description": "File entity ID",
1016
+ "example": "f820ce3b-07b0-45ae-bcc6-babb2f53f79f"
1017
+ },
1018
+ "filename": {
1019
+ "type": "string",
1020
+ "description": "File name",
1021
+ "example": "Produktinformationen_epilot360_Double_Opt_in.pdf"
1022
+ },
1023
+ "is_message_attachment": {
1024
+ "type": "boolean",
1025
+ "description": "To indicate this file relation is message attachment. If false then this file will not be sent."
1026
+ },
1027
+ "cid": {
1028
+ "type": "string",
1029
+ "description": "Content ID",
1030
+ "example": "fb222496-a1a5-4639-94f2-07b5e35e4068"
1031
+ },
1032
+ "inline": {
1033
+ "type": "boolean",
1034
+ "description": "If true then this attachment should not be offered for download (at least not in the main attachments list).\\\nThe usecase is CID embedded image (aka inline image).\n",
1035
+ "default": false
1036
+ },
1037
+ "send_as_link": {
1038
+ "type": "boolean",
1039
+ "description": "If true then this attachment is sent via link. The link have to be inserted to email body by API caller.\\\nIn this case, service doesn't process this attachment.\n",
1040
+ "default": false
1041
+ }
1042
+ }
1425
1043
  }
1426
1044
  }
1427
1045
  }
@@ -1447,6 +1065,17 @@
1447
1065
  ]
1448
1066
  }
1449
1067
  },
1068
+ "org_read_message": {
1069
+ "type": "array",
1070
+ "description": "Ivy Organization ID of organization read the message.",
1071
+ "items": {
1072
+ "type": "string",
1073
+ "example": [
1074
+ "789372",
1075
+ "210291"
1076
+ ]
1077
+ }
1078
+ },
1450
1079
  "send_status": {
1451
1080
  "type": "array",
1452
1081
  "description": "Sent message status. The array contains sending message status corresponding to all recipients. For more detail, check `send_status` of each recipient in `to`, `cc`, `bcc`\\\nReference at <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html>\n",
@@ -1570,18 +1199,76 @@
1570
1199
  }
1571
1200
  }
1572
1201
  },
1573
- "/v1/message/threads:search": {
1202
+ "/v1/message/messages/{id}/read": {
1574
1203
  "post": {
1575
- "operationId": "searchThreads",
1576
- "summary": "searchThreads",
1577
- "description": "Search for threads of email messages.\n\nMessages with no replies yet are treated as threads with single message.\n\nLucene syntax supported.\n",
1204
+ "operationId": "markReadMessage",
1205
+ "summary": "markReadMessage",
1206
+ "description": "Mark message as read",
1578
1207
  "tags": [
1579
- "Threads"
1208
+ "Messages"
1580
1209
  ],
1581
- "requestBody": {
1582
- "content": {
1583
- "application/json": {
1584
- "schema": {
1210
+ "parameters": [
1211
+ {
1212
+ "name": "id",
1213
+ "description": "Message ID",
1214
+ "in": "path",
1215
+ "required": true,
1216
+ "schema": {
1217
+ "type": "string"
1218
+ }
1219
+ }
1220
+ ],
1221
+ "responses": {
1222
+ "204": {
1223
+ "description": "Success"
1224
+ },
1225
+ "403": {
1226
+ "description": "Forbidden"
1227
+ }
1228
+ }
1229
+ }
1230
+ },
1231
+ "/v1/message/messages/{id}/unread": {
1232
+ "post": {
1233
+ "operationId": "markUnreadMessage",
1234
+ "summary": "markUnreadMessage",
1235
+ "description": "Mark message as unread",
1236
+ "tags": [
1237
+ "Messages"
1238
+ ],
1239
+ "parameters": [
1240
+ {
1241
+ "name": "id",
1242
+ "description": "Message ID",
1243
+ "in": "path",
1244
+ "required": true,
1245
+ "schema": {
1246
+ "type": "string"
1247
+ }
1248
+ }
1249
+ ],
1250
+ "responses": {
1251
+ "204": {
1252
+ "description": "Success"
1253
+ },
1254
+ "403": {
1255
+ "description": "Forbidden"
1256
+ }
1257
+ }
1258
+ }
1259
+ },
1260
+ "/v1/message/threads:search": {
1261
+ "post": {
1262
+ "operationId": "searchThreads",
1263
+ "summary": "searchThreads",
1264
+ "description": "Search for threads of email messages.\n\nMessages with no replies yet are treated as threads with single message.\n\nLucene syntax supported.\n",
1265
+ "tags": [
1266
+ "Threads"
1267
+ ],
1268
+ "requestBody": {
1269
+ "content": {
1270
+ "application/json": {
1271
+ "schema": {
1585
1272
  "type": "object",
1586
1273
  "required": [
1587
1274
  "q"
@@ -1706,6 +1393,17 @@
1706
1393
  ]
1707
1394
  }
1708
1395
  },
1396
+ "org_read_message": {
1397
+ "type": "array",
1398
+ "description": "Ivy Organization ID of organization read the message.",
1399
+ "items": {
1400
+ "type": "string",
1401
+ "example": [
1402
+ "789372",
1403
+ "210291"
1404
+ ]
1405
+ }
1406
+ },
1709
1407
  "latest_message": {
1710
1408
  "type": "object",
1711
1409
  "required": [
@@ -1920,69 +1618,49 @@
1920
1618
  }
1921
1619
  }
1922
1620
  },
1923
- "attachments": {
1924
- "type": "array",
1621
+ "file": {
1622
+ "type": "object",
1925
1623
  "description": "Message attachments",
1926
- "items": {
1927
- "type": "object",
1928
- "required": [
1929
- "filename",
1930
- "size",
1931
- "content_type",
1932
- "url",
1933
- "bucket",
1934
- "object_key"
1935
- ],
1936
- "properties": {
1937
- "cid": {
1938
- "type": "string",
1939
- "description": "Attachment ID",
1940
- "example": "f820ce3b-07b0-45ae-bcc6-babb2f53f79f"
1941
- },
1942
- "filename": {
1943
- "type": "string",
1944
- "description": "File name",
1945
- "example": "Produktinformationen_epilot360_Double_Opt_in.pdf"
1946
- },
1947
- "size": {
1948
- "type": "number",
1949
- "description": "File size in bytes",
1950
- "example": 451349
1951
- },
1952
- "content_type": {
1953
- "type": "string",
1954
- "description": "Content type",
1955
- "example": "application/pdf"
1956
- },
1957
- "url": {
1958
- "type": "string",
1959
- "description": "URL to download the attachment.",
1960
- "example": "https://go.epilot.cloud/attachments/3e7c616a-3e89-4f92-b4c5-ea5ab140e3dd/Produktinformationen_epilot360_Double_Opt_in.pdf"
1961
- },
1962
- "bucket": {
1963
- "type": "string",
1964
- "description": "S3 bucket where file is stored",
1965
- "example": "893487340562-message-attachment"
1966
- },
1967
- "object_key": {
1968
- "type": "string",
1969
- "description": "S3 object apiKey",
1970
- "example": "attachments/3e7c616a-3e89-4f92-b4c5-ea5ab140e3dd/Produktinformationen_epilot360_Double_Opt_in.pdf"
1971
- },
1972
- "inline": {
1973
- "type": "boolean",
1974
- "description": "If true then this attachment should not be offered for download (at least not in the main attachments list).\\\nThe usecase is CID embedded image (aka inline image).\n",
1975
- "default": false
1976
- },
1977
- "send_as_link": {
1978
- "type": "boolean",
1979
- "description": "If true then this attachment is sent via link. The link is already inserted to email body by API caller. In this case, service doesn't process this attachment.",
1980
- "default": false
1981
- },
1982
- "copy_to_message": {
1983
- "type": "boolean",
1984
- "description": "If true then this attachment is copied to the message and replaces corresponding one. The new attachment has different `url`, `object_key`. This property supports for forwarding message and copying attachments from email template.\\\nIf both `send_as_link` and `copy_to_message` are provided, `copy_to_message` is discarded.\n",
1985
- "default": false
1624
+ "properties": {
1625
+ "$relation": {
1626
+ "type": "array",
1627
+ "description": "It's normal entity relation with some additional properties for sending message attachment.",
1628
+ "items": {
1629
+ "type": "object",
1630
+ "required": [
1631
+ "entity_id"
1632
+ ],
1633
+ "properties": {
1634
+ "entity_id": {
1635
+ "type": "string",
1636
+ "description": "File entity ID",
1637
+ "example": "f820ce3b-07b0-45ae-bcc6-babb2f53f79f"
1638
+ },
1639
+ "filename": {
1640
+ "type": "string",
1641
+ "description": "File name",
1642
+ "example": "Produktinformationen_epilot360_Double_Opt_in.pdf"
1643
+ },
1644
+ "is_message_attachment": {
1645
+ "type": "boolean",
1646
+ "description": "To indicate this file relation is message attachment. If false then this file will not be sent."
1647
+ },
1648
+ "cid": {
1649
+ "type": "string",
1650
+ "description": "Content ID",
1651
+ "example": "fb222496-a1a5-4639-94f2-07b5e35e4068"
1652
+ },
1653
+ "inline": {
1654
+ "type": "boolean",
1655
+ "description": "If true then this attachment should not be offered for download (at least not in the main attachments list).\\\nThe usecase is CID embedded image (aka inline image).\n",
1656
+ "default": false
1657
+ },
1658
+ "send_as_link": {
1659
+ "type": "boolean",
1660
+ "description": "If true then this attachment is sent via link. The link have to be inserted to email body by API caller.\\\nIn this case, service doesn't process this attachment.\n",
1661
+ "default": false
1662
+ }
1663
+ }
1986
1664
  }
1987
1665
  }
1988
1666
  }
@@ -2008,6 +1686,17 @@
2008
1686
  ]
2009
1687
  }
2010
1688
  },
1689
+ "org_read_message": {
1690
+ "type": "array",
1691
+ "description": "Ivy Organization ID of organization read the message.",
1692
+ "items": {
1693
+ "type": "string",
1694
+ "example": [
1695
+ "789372",
1696
+ "210291"
1697
+ ]
1698
+ }
1699
+ },
2011
1700
  "send_status": {
2012
1701
  "type": "array",
2013
1702
  "description": "Sent message status. The array contains sending message status corresponding to all recipients. For more detail, check `send_status` of each recipient in `to`, `cc`, `bcc`\\\nReference at <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html>\n",
@@ -2248,69 +1937,49 @@
2248
1937
  }
2249
1938
  }
2250
1939
  },
2251
- "attachments": {
2252
- "type": "array",
1940
+ "file": {
1941
+ "type": "object",
2253
1942
  "description": "Message attachments",
2254
- "items": {
2255
- "type": "object",
2256
- "required": [
2257
- "filename",
2258
- "size",
2259
- "content_type",
2260
- "url",
2261
- "bucket",
2262
- "object_key"
2263
- ],
2264
- "properties": {
2265
- "cid": {
2266
- "type": "string",
2267
- "description": "Attachment ID",
2268
- "example": "f820ce3b-07b0-45ae-bcc6-babb2f53f79f"
2269
- },
2270
- "filename": {
2271
- "type": "string",
2272
- "description": "File name",
2273
- "example": "Produktinformationen_epilot360_Double_Opt_in.pdf"
2274
- },
2275
- "size": {
2276
- "type": "number",
2277
- "description": "File size in bytes",
2278
- "example": 451349
2279
- },
2280
- "content_type": {
2281
- "type": "string",
2282
- "description": "Content type",
2283
- "example": "application/pdf"
2284
- },
2285
- "url": {
2286
- "type": "string",
2287
- "description": "URL to download the attachment.",
2288
- "example": "https://go.epilot.cloud/attachments/3e7c616a-3e89-4f92-b4c5-ea5ab140e3dd/Produktinformationen_epilot360_Double_Opt_in.pdf"
2289
- },
2290
- "bucket": {
2291
- "type": "string",
2292
- "description": "S3 bucket where file is stored",
2293
- "example": "893487340562-message-attachment"
2294
- },
2295
- "object_key": {
2296
- "type": "string",
2297
- "description": "S3 object apiKey",
2298
- "example": "attachments/3e7c616a-3e89-4f92-b4c5-ea5ab140e3dd/Produktinformationen_epilot360_Double_Opt_in.pdf"
2299
- },
2300
- "inline": {
2301
- "type": "boolean",
2302
- "description": "If true then this attachment should not be offered for download (at least not in the main attachments list).\\\nThe usecase is CID embedded image (aka inline image).\n",
2303
- "default": false
2304
- },
2305
- "send_as_link": {
2306
- "type": "boolean",
2307
- "description": "If true then this attachment is sent via link. The link is already inserted to email body by API caller. In this case, service doesn't process this attachment.",
2308
- "default": false
2309
- },
2310
- "copy_to_message": {
2311
- "type": "boolean",
2312
- "description": "If true then this attachment is copied to the message and replaces corresponding one. The new attachment has different `url`, `object_key`. This property supports for forwarding message and copying attachments from email template.\\\nIf both `send_as_link` and `copy_to_message` are provided, `copy_to_message` is discarded.\n",
2313
- "default": false
1943
+ "properties": {
1944
+ "$relation": {
1945
+ "type": "array",
1946
+ "description": "It's normal entity relation with some additional properties for sending message attachment.",
1947
+ "items": {
1948
+ "type": "object",
1949
+ "required": [
1950
+ "entity_id"
1951
+ ],
1952
+ "properties": {
1953
+ "entity_id": {
1954
+ "type": "string",
1955
+ "description": "File entity ID",
1956
+ "example": "f820ce3b-07b0-45ae-bcc6-babb2f53f79f"
1957
+ },
1958
+ "filename": {
1959
+ "type": "string",
1960
+ "description": "File name",
1961
+ "example": "Produktinformationen_epilot360_Double_Opt_in.pdf"
1962
+ },
1963
+ "is_message_attachment": {
1964
+ "type": "boolean",
1965
+ "description": "To indicate this file relation is message attachment. If false then this file will not be sent."
1966
+ },
1967
+ "cid": {
1968
+ "type": "string",
1969
+ "description": "Content ID",
1970
+ "example": "fb222496-a1a5-4639-94f2-07b5e35e4068"
1971
+ },
1972
+ "inline": {
1973
+ "type": "boolean",
1974
+ "description": "If true then this attachment should not be offered for download (at least not in the main attachments list).\\\nThe usecase is CID embedded image (aka inline image).\n",
1975
+ "default": false
1976
+ },
1977
+ "send_as_link": {
1978
+ "type": "boolean",
1979
+ "description": "If true then this attachment is sent via link. The link have to be inserted to email body by API caller.\\\nIn this case, service doesn't process this attachment.\n",
1980
+ "default": false
1981
+ }
1982
+ }
2314
1983
  }
2315
1984
  }
2316
1985
  }
@@ -2336,6 +2005,17 @@
2336
2005
  ]
2337
2006
  }
2338
2007
  },
2008
+ "org_read_message": {
2009
+ "type": "array",
2010
+ "description": "Ivy Organization ID of organization read the message.",
2011
+ "items": {
2012
+ "type": "string",
2013
+ "example": [
2014
+ "789372",
2015
+ "210291"
2016
+ ]
2017
+ }
2018
+ },
2339
2019
  "send_status": {
2340
2020
  "type": "array",
2341
2021
  "description": "Sent message status. The array contains sending message status corresponding to all recipients. For more detail, check `send_status` of each recipient in `to`, `cc`, `bcc`\\\nReference at <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html>\n",
@@ -2470,6 +2150,17 @@
2470
2150
  ]
2471
2151
  }
2472
2152
  },
2153
+ "org_read_message": {
2154
+ "type": "array",
2155
+ "description": "Ivy Organization ID of organization read the message.",
2156
+ "items": {
2157
+ "type": "string",
2158
+ "example": [
2159
+ "789372",
2160
+ "210291"
2161
+ ]
2162
+ }
2163
+ },
2473
2164
  "latest_message": {
2474
2165
  "type": "object",
2475
2166
  "required": [
@@ -2684,69 +2375,49 @@
2684
2375
  }
2685
2376
  }
2686
2377
  },
2687
- "attachments": {
2688
- "type": "array",
2378
+ "file": {
2379
+ "type": "object",
2689
2380
  "description": "Message attachments",
2690
- "items": {
2691
- "type": "object",
2692
- "required": [
2693
- "filename",
2694
- "size",
2695
- "content_type",
2696
- "url",
2697
- "bucket",
2698
- "object_key"
2699
- ],
2700
- "properties": {
2701
- "cid": {
2702
- "type": "string",
2703
- "description": "Attachment ID",
2704
- "example": "f820ce3b-07b0-45ae-bcc6-babb2f53f79f"
2705
- },
2706
- "filename": {
2707
- "type": "string",
2708
- "description": "File name",
2709
- "example": "Produktinformationen_epilot360_Double_Opt_in.pdf"
2710
- },
2711
- "size": {
2712
- "type": "number",
2713
- "description": "File size in bytes",
2714
- "example": 451349
2715
- },
2716
- "content_type": {
2717
- "type": "string",
2718
- "description": "Content type",
2719
- "example": "application/pdf"
2720
- },
2721
- "url": {
2722
- "type": "string",
2723
- "description": "URL to download the attachment.",
2724
- "example": "https://go.epilot.cloud/attachments/3e7c616a-3e89-4f92-b4c5-ea5ab140e3dd/Produktinformationen_epilot360_Double_Opt_in.pdf"
2725
- },
2726
- "bucket": {
2727
- "type": "string",
2728
- "description": "S3 bucket where file is stored",
2729
- "example": "893487340562-message-attachment"
2730
- },
2731
- "object_key": {
2732
- "type": "string",
2733
- "description": "S3 object apiKey",
2734
- "example": "attachments/3e7c616a-3e89-4f92-b4c5-ea5ab140e3dd/Produktinformationen_epilot360_Double_Opt_in.pdf"
2735
- },
2736
- "inline": {
2737
- "type": "boolean",
2738
- "description": "If true then this attachment should not be offered for download (at least not in the main attachments list).\\\nThe usecase is CID embedded image (aka inline image).\n",
2739
- "default": false
2740
- },
2741
- "send_as_link": {
2742
- "type": "boolean",
2743
- "description": "If true then this attachment is sent via link. The link is already inserted to email body by API caller. In this case, service doesn't process this attachment.",
2744
- "default": false
2745
- },
2746
- "copy_to_message": {
2747
- "type": "boolean",
2748
- "description": "If true then this attachment is copied to the message and replaces corresponding one. The new attachment has different `url`, `object_key`. This property supports for forwarding message and copying attachments from email template.\\\nIf both `send_as_link` and `copy_to_message` are provided, `copy_to_message` is discarded.\n",
2749
- "default": false
2381
+ "properties": {
2382
+ "$relation": {
2383
+ "type": "array",
2384
+ "description": "It's normal entity relation with some additional properties for sending message attachment.",
2385
+ "items": {
2386
+ "type": "object",
2387
+ "required": [
2388
+ "entity_id"
2389
+ ],
2390
+ "properties": {
2391
+ "entity_id": {
2392
+ "type": "string",
2393
+ "description": "File entity ID",
2394
+ "example": "f820ce3b-07b0-45ae-bcc6-babb2f53f79f"
2395
+ },
2396
+ "filename": {
2397
+ "type": "string",
2398
+ "description": "File name",
2399
+ "example": "Produktinformationen_epilot360_Double_Opt_in.pdf"
2400
+ },
2401
+ "is_message_attachment": {
2402
+ "type": "boolean",
2403
+ "description": "To indicate this file relation is message attachment. If false then this file will not be sent."
2404
+ },
2405
+ "cid": {
2406
+ "type": "string",
2407
+ "description": "Content ID",
2408
+ "example": "fb222496-a1a5-4639-94f2-07b5e35e4068"
2409
+ },
2410
+ "inline": {
2411
+ "type": "boolean",
2412
+ "description": "If true then this attachment should not be offered for download (at least not in the main attachments list).\\\nThe usecase is CID embedded image (aka inline image).\n",
2413
+ "default": false
2414
+ },
2415
+ "send_as_link": {
2416
+ "type": "boolean",
2417
+ "description": "If true then this attachment is sent via link. The link have to be inserted to email body by API caller.\\\nIn this case, service doesn't process this attachment.\n",
2418
+ "default": false
2419
+ }
2420
+ }
2750
2421
  }
2751
2422
  }
2752
2423
  }
@@ -2772,6 +2443,17 @@
2772
2443
  ]
2773
2444
  }
2774
2445
  },
2446
+ "org_read_message": {
2447
+ "type": "array",
2448
+ "description": "Ivy Organization ID of organization read the message.",
2449
+ "items": {
2450
+ "type": "string",
2451
+ "example": [
2452
+ "789372",
2453
+ "210291"
2454
+ ]
2455
+ }
2456
+ },
2775
2457
  "send_status": {
2776
2458
  "type": "array",
2777
2459
  "description": "Sent message status. The array contains sending message status corresponding to all recipients. For more detail, check `send_status` of each recipient in `to`, `cc`, `bcc`\\\nReference at <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html>\n",
@@ -3012,69 +2694,49 @@
3012
2694
  }
3013
2695
  }
3014
2696
  },
3015
- "attachments": {
3016
- "type": "array",
2697
+ "file": {
2698
+ "type": "object",
3017
2699
  "description": "Message attachments",
3018
- "items": {
3019
- "type": "object",
3020
- "required": [
3021
- "filename",
3022
- "size",
3023
- "content_type",
3024
- "url",
3025
- "bucket",
3026
- "object_key"
3027
- ],
3028
- "properties": {
3029
- "cid": {
3030
- "type": "string",
3031
- "description": "Attachment ID",
3032
- "example": "f820ce3b-07b0-45ae-bcc6-babb2f53f79f"
3033
- },
3034
- "filename": {
3035
- "type": "string",
3036
- "description": "File name",
3037
- "example": "Produktinformationen_epilot360_Double_Opt_in.pdf"
3038
- },
3039
- "size": {
3040
- "type": "number",
3041
- "description": "File size in bytes",
3042
- "example": 451349
3043
- },
3044
- "content_type": {
3045
- "type": "string",
3046
- "description": "Content type",
3047
- "example": "application/pdf"
3048
- },
3049
- "url": {
3050
- "type": "string",
3051
- "description": "URL to download the attachment.",
3052
- "example": "https://go.epilot.cloud/attachments/3e7c616a-3e89-4f92-b4c5-ea5ab140e3dd/Produktinformationen_epilot360_Double_Opt_in.pdf"
3053
- },
3054
- "bucket": {
3055
- "type": "string",
3056
- "description": "S3 bucket where file is stored",
3057
- "example": "893487340562-message-attachment"
3058
- },
3059
- "object_key": {
3060
- "type": "string",
3061
- "description": "S3 object apiKey",
3062
- "example": "attachments/3e7c616a-3e89-4f92-b4c5-ea5ab140e3dd/Produktinformationen_epilot360_Double_Opt_in.pdf"
3063
- },
3064
- "inline": {
3065
- "type": "boolean",
3066
- "description": "If true then this attachment should not be offered for download (at least not in the main attachments list).\\\nThe usecase is CID embedded image (aka inline image).\n",
3067
- "default": false
3068
- },
3069
- "send_as_link": {
3070
- "type": "boolean",
3071
- "description": "If true then this attachment is sent via link. The link is already inserted to email body by API caller. In this case, service doesn't process this attachment.",
3072
- "default": false
3073
- },
3074
- "copy_to_message": {
3075
- "type": "boolean",
3076
- "description": "If true then this attachment is copied to the message and replaces corresponding one. The new attachment has different `url`, `object_key`. This property supports for forwarding message and copying attachments from email template.\\\nIf both `send_as_link` and `copy_to_message` are provided, `copy_to_message` is discarded.\n",
3077
- "default": false
2700
+ "properties": {
2701
+ "$relation": {
2702
+ "type": "array",
2703
+ "description": "It's normal entity relation with some additional properties for sending message attachment.",
2704
+ "items": {
2705
+ "type": "object",
2706
+ "required": [
2707
+ "entity_id"
2708
+ ],
2709
+ "properties": {
2710
+ "entity_id": {
2711
+ "type": "string",
2712
+ "description": "File entity ID",
2713
+ "example": "f820ce3b-07b0-45ae-bcc6-babb2f53f79f"
2714
+ },
2715
+ "filename": {
2716
+ "type": "string",
2717
+ "description": "File name",
2718
+ "example": "Produktinformationen_epilot360_Double_Opt_in.pdf"
2719
+ },
2720
+ "is_message_attachment": {
2721
+ "type": "boolean",
2722
+ "description": "To indicate this file relation is message attachment. If false then this file will not be sent."
2723
+ },
2724
+ "cid": {
2725
+ "type": "string",
2726
+ "description": "Content ID",
2727
+ "example": "fb222496-a1a5-4639-94f2-07b5e35e4068"
2728
+ },
2729
+ "inline": {
2730
+ "type": "boolean",
2731
+ "description": "If true then this attachment should not be offered for download (at least not in the main attachments list).\\\nThe usecase is CID embedded image (aka inline image).\n",
2732
+ "default": false
2733
+ },
2734
+ "send_as_link": {
2735
+ "type": "boolean",
2736
+ "description": "If true then this attachment is sent via link. The link have to be inserted to email body by API caller.\\\nIn this case, service doesn't process this attachment.\n",
2737
+ "default": false
2738
+ }
2739
+ }
3078
2740
  }
3079
2741
  }
3080
2742
  }
@@ -3100,6 +2762,17 @@
3100
2762
  ]
3101
2763
  }
3102
2764
  },
2765
+ "org_read_message": {
2766
+ "type": "array",
2767
+ "description": "Ivy Organization ID of organization read the message.",
2768
+ "items": {
2769
+ "type": "string",
2770
+ "example": [
2771
+ "789372",
2772
+ "210291"
2773
+ ]
2774
+ }
2775
+ },
3103
2776
  "send_status": {
3104
2777
  "type": "array",
3105
2778
  "description": "Sent message status. The array contains sending message status corresponding to all recipients. For more detail, check `send_status` of each recipient in `to`, `cc`, `bcc`\\\nReference at <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html>\n",
@@ -3226,76 +2899,1143 @@
3226
2899
  }
3227
2900
  }
3228
2901
  },
3229
- "/v1/message/attachments/upload-url": {
2902
+ "/v1/message/threads/{id}/read": {
3230
2903
  "post": {
3231
- "operationId": "createAttachmentUploadUrl",
3232
- "summary": "createAttachmentUploadUrl",
3233
- "description": "Create S3 POST presigned URL to upload attachment. The URL is valid in 30 minutes. Maximum file size is 100MB.",
2904
+ "operationId": "markReadThread",
2905
+ "summary": "markReadThread",
2906
+ "description": "Mark thread as read",
3234
2907
  "tags": [
3235
- "Attachments"
2908
+ "Threads"
3236
2909
  ],
3237
- "requestBody": {
3238
- "content": {
3239
- "application/json": {
3240
- "schema": {
3241
- "type": "object",
2910
+ "parameters": [
2911
+ {
2912
+ "name": "id",
2913
+ "description": "Thread ID",
2914
+ "in": "path",
2915
+ "required": true,
2916
+ "schema": {
2917
+ "type": "string"
2918
+ }
2919
+ }
2920
+ ],
2921
+ "responses": {
2922
+ "204": {
2923
+ "description": "Success"
2924
+ },
2925
+ "403": {
2926
+ "description": "Forbidden"
2927
+ }
2928
+ }
2929
+ }
2930
+ },
2931
+ "/v1/message/threads/{id}/unread": {
2932
+ "post": {
2933
+ "operationId": "markUnreadThread",
2934
+ "summary": "markUnreadThread",
2935
+ "description": "Mark thread as unread",
2936
+ "tags": [
2937
+ "Threads"
2938
+ ],
2939
+ "parameters": [
2940
+ {
2941
+ "name": "id",
2942
+ "description": "Thread ID",
2943
+ "in": "path",
2944
+ "required": true,
2945
+ "schema": {
2946
+ "type": "string"
2947
+ }
2948
+ }
2949
+ ],
2950
+ "responses": {
2951
+ "204": {
2952
+ "description": "Success"
2953
+ },
2954
+ "403": {
2955
+ "description": "Forbidden"
2956
+ }
2957
+ }
2958
+ }
2959
+ },
2960
+ "/v1/message/drafts": {
2961
+ "post": {
2962
+ "operationId": "createDraft",
2963
+ "summary": "createDraft",
2964
+ "description": "Create a new draft",
2965
+ "tags": [
2966
+ "Drafts"
2967
+ ],
2968
+ "requestBody": {
2969
+ "content": {
2970
+ "application/json": {
2971
+ "schema": {
3242
2972
  "required": [
3243
- "filename",
3244
- "content_type"
2973
+ "subject",
2974
+ "from"
3245
2975
  ],
3246
2976
  "properties": {
3247
- "filename": {
2977
+ "thread": {
2978
+ "type": "object",
2979
+ "required": [
2980
+ "topic"
2981
+ ],
2982
+ "description": "Open new thread when sending the very first message in conversation. Thread should contains context related to all messages in it (eg. topic, brand_id, opportunity_id, assigned_to,...).\\\nThread properties depend on API caller as it's not pre-defined. We do recommend having at least `topic` property for categorizing.\\\n`thread` or `parent_id` must be provided either.\n",
2983
+ "properties": {
2984
+ "topic": {
2985
+ "type": "string",
2986
+ "description": "Message topic (e.g. which service sends the message or message category)"
2987
+ },
2988
+ "assigned_to": {
2989
+ "type": "array",
2990
+ "description": "Ivy User ID of who the message is assigned to. Default is the user who sends message.",
2991
+ "items": {
2992
+ "type": "string"
2993
+ }
2994
+ }
2995
+ },
2996
+ "example": {
2997
+ "topic": "CUSTOMER_MESSAGE",
2998
+ "assigned_to": [
2999
+ "206801",
3000
+ "200109"
3001
+ ],
3002
+ "opportunity_id": 829072
3003
+ }
3004
+ },
3005
+ "parent_id": {
3248
3006
  "type": "string",
3249
- "description": "File name",
3250
- "example": "Produktinformationen_epilot360_Double_Opt_in.pdf"
3007
+ "description": "Entity ID of parent message which this message replies to or forwards from.\\\nIf both `parent_id` and `thread` are provided, `thread` is discarded.\n",
3008
+ "example": "44d7a3eb-0cce-4bd3-a7cd-0b3e652de0c2"
3251
3009
  },
3252
- "content_type": {
3010
+ "subject": {
3253
3011
  "type": "string",
3254
- "description": "Content type",
3255
- "example": "application/pdf"
3256
- }
3012
+ "description": "Subject",
3013
+ "example": "Request for solar panel price"
3014
+ },
3015
+ "html": {
3016
+ "type": "string",
3017
+ "description": "HTML body",
3018
+ "example": "<div>We at ABC GmbH would like to request a price quote for the solar panel.</div>"
3019
+ },
3020
+ "text": {
3021
+ "type": "string",
3022
+ "description": "Text body. If not provided, text body is converted from HTML body using [html-to-text](https://www.npmjs.com/package/html-to-text)",
3023
+ "example": "We at ABC GmbH would like to request a price quote for the solar panel."
3024
+ },
3025
+ "from": {
3026
+ "type": "object",
3027
+ "required": [
3028
+ "address"
3029
+ ],
3030
+ "properties": {
3031
+ "name": {
3032
+ "type": "string",
3033
+ "description": "Email address alias",
3034
+ "example": "epilot"
3035
+ },
3036
+ "address": {
3037
+ "type": "string",
3038
+ "description": "Email address",
3039
+ "example": "messaging@epilot.cloud"
3040
+ },
3041
+ "send_status": {
3042
+ "type": "string",
3043
+ "description": "Sent message status regarding to this recipient.\\\nReference at <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html>\n",
3044
+ "enum": [
3045
+ "SEND",
3046
+ "DELIVERY",
3047
+ "REJECT",
3048
+ "COMPLAINT",
3049
+ "BOUNCE",
3050
+ "ERROR"
3051
+ ]
3052
+ },
3053
+ "send_error": {
3054
+ "type": "object",
3055
+ "description": "Information about reject, complaint or bounce event. Only available if `send_status` is REJECT, COMPLAINT, BOUNCE or ERROR.\\\nJSON object is defined by AWS SES. Reference at <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notification-contents.html>\n"
3056
+ }
3057
+ }
3058
+ },
3059
+ "reply_to": {
3060
+ "type": "object",
3061
+ "required": [
3062
+ "address"
3063
+ ],
3064
+ "properties": {
3065
+ "name": {
3066
+ "type": "string",
3067
+ "description": "Email address alias",
3068
+ "example": "epilot"
3069
+ },
3070
+ "address": {
3071
+ "type": "string",
3072
+ "description": "Email address",
3073
+ "example": "messaging@epilot.cloud"
3074
+ },
3075
+ "send_status": {
3076
+ "type": "string",
3077
+ "description": "Sent message status regarding to this recipient.\\\nReference at <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html>\n",
3078
+ "enum": [
3079
+ "SEND",
3080
+ "DELIVERY",
3081
+ "REJECT",
3082
+ "COMPLAINT",
3083
+ "BOUNCE",
3084
+ "ERROR"
3085
+ ]
3086
+ },
3087
+ "send_error": {
3088
+ "type": "object",
3089
+ "description": "Information about reject, complaint or bounce event. Only available if `send_status` is REJECT, COMPLAINT, BOUNCE or ERROR.\\\nJSON object is defined by AWS SES. Reference at <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notification-contents.html>\n"
3090
+ }
3091
+ }
3092
+ },
3093
+ "to": {
3094
+ "type": "array",
3095
+ "description": "To email addresses",
3096
+ "items": {
3097
+ "type": "object",
3098
+ "required": [
3099
+ "address"
3100
+ ],
3101
+ "properties": {
3102
+ "name": {
3103
+ "type": "string",
3104
+ "description": "Email address alias",
3105
+ "example": "epilot"
3106
+ },
3107
+ "address": {
3108
+ "type": "string",
3109
+ "description": "Email address",
3110
+ "example": "messaging@epilot.cloud"
3111
+ },
3112
+ "send_status": {
3113
+ "type": "string",
3114
+ "description": "Sent message status regarding to this recipient.\\\nReference at <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html>\n",
3115
+ "enum": [
3116
+ "SEND",
3117
+ "DELIVERY",
3118
+ "REJECT",
3119
+ "COMPLAINT",
3120
+ "BOUNCE",
3121
+ "ERROR"
3122
+ ]
3123
+ },
3124
+ "send_error": {
3125
+ "type": "object",
3126
+ "description": "Information about reject, complaint or bounce event. Only available if `send_status` is REJECT, COMPLAINT, BOUNCE or ERROR.\\\nJSON object is defined by AWS SES. Reference at <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notification-contents.html>\n"
3127
+ }
3128
+ }
3129
+ }
3130
+ },
3131
+ "cc": {
3132
+ "type": "array",
3133
+ "description": "Cc email addresses",
3134
+ "items": {
3135
+ "type": "object",
3136
+ "required": [
3137
+ "address"
3138
+ ],
3139
+ "properties": {
3140
+ "name": {
3141
+ "type": "string",
3142
+ "description": "Email address alias",
3143
+ "example": "epilot"
3144
+ },
3145
+ "address": {
3146
+ "type": "string",
3147
+ "description": "Email address",
3148
+ "example": "messaging@epilot.cloud"
3149
+ },
3150
+ "send_status": {
3151
+ "type": "string",
3152
+ "description": "Sent message status regarding to this recipient.\\\nReference at <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html>\n",
3153
+ "enum": [
3154
+ "SEND",
3155
+ "DELIVERY",
3156
+ "REJECT",
3157
+ "COMPLAINT",
3158
+ "BOUNCE",
3159
+ "ERROR"
3160
+ ]
3161
+ },
3162
+ "send_error": {
3163
+ "type": "object",
3164
+ "description": "Information about reject, complaint or bounce event. Only available if `send_status` is REJECT, COMPLAINT, BOUNCE or ERROR.\\\nJSON object is defined by AWS SES. Reference at <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notification-contents.html>\n"
3165
+ }
3166
+ }
3167
+ }
3168
+ },
3169
+ "bcc": {
3170
+ "type": "array",
3171
+ "description": "Bcc email addresses",
3172
+ "items": {
3173
+ "type": "object",
3174
+ "required": [
3175
+ "address"
3176
+ ],
3177
+ "properties": {
3178
+ "name": {
3179
+ "type": "string",
3180
+ "description": "Email address alias",
3181
+ "example": "epilot"
3182
+ },
3183
+ "address": {
3184
+ "type": "string",
3185
+ "description": "Email address",
3186
+ "example": "messaging@epilot.cloud"
3187
+ },
3188
+ "send_status": {
3189
+ "type": "string",
3190
+ "description": "Sent message status regarding to this recipient.\\\nReference at <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html>\n",
3191
+ "enum": [
3192
+ "SEND",
3193
+ "DELIVERY",
3194
+ "REJECT",
3195
+ "COMPLAINT",
3196
+ "BOUNCE",
3197
+ "ERROR"
3198
+ ]
3199
+ },
3200
+ "send_error": {
3201
+ "type": "object",
3202
+ "description": "Information about reject, complaint or bounce event. Only available if `send_status` is REJECT, COMPLAINT, BOUNCE or ERROR.\\\nJSON object is defined by AWS SES. Reference at <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notification-contents.html>\n"
3203
+ }
3204
+ }
3205
+ }
3206
+ },
3207
+ "file": {
3208
+ "type": "object",
3209
+ "description": "Message attachments",
3210
+ "properties": {
3211
+ "$relation": {
3212
+ "type": "array",
3213
+ "description": "It's normal entity relation with some additional properties for sending message attachment.",
3214
+ "items": {
3215
+ "type": "object",
3216
+ "required": [
3217
+ "entity_id"
3218
+ ],
3219
+ "properties": {
3220
+ "entity_id": {
3221
+ "type": "string",
3222
+ "description": "File entity ID",
3223
+ "example": "f820ce3b-07b0-45ae-bcc6-babb2f53f79f"
3224
+ },
3225
+ "filename": {
3226
+ "type": "string",
3227
+ "description": "File name",
3228
+ "example": "Produktinformationen_epilot360_Double_Opt_in.pdf"
3229
+ },
3230
+ "is_message_attachment": {
3231
+ "type": "boolean",
3232
+ "description": "To indicate this file relation is message attachment. If false then this file will not be sent."
3233
+ },
3234
+ "cid": {
3235
+ "type": "string",
3236
+ "description": "Content ID",
3237
+ "example": "fb222496-a1a5-4639-94f2-07b5e35e4068"
3238
+ },
3239
+ "inline": {
3240
+ "type": "boolean",
3241
+ "description": "If true then this attachment should not be offered for download (at least not in the main attachments list).\\\nThe usecase is CID embedded image (aka inline image).\n",
3242
+ "default": false
3243
+ },
3244
+ "send_as_link": {
3245
+ "type": "boolean",
3246
+ "description": "If true then this attachment is sent via link. The link have to be inserted to email body by API caller.\\\nIn this case, service doesn't process this attachment.\n",
3247
+ "default": false
3248
+ }
3249
+ }
3250
+ }
3251
+ }
3252
+ }
3253
+ }
3254
+ }
3255
+ }
3256
+ }
3257
+ }
3258
+ },
3259
+ "responses": {
3260
+ "201": {
3261
+ "description": "Success",
3262
+ "content": {
3263
+ "application/json": {
3264
+ "schema": {
3265
+ "allOf": [
3266
+ {
3267
+ "type": "object",
3268
+ "required": [
3269
+ "_id",
3270
+ "_title",
3271
+ "_org",
3272
+ "_schema",
3273
+ "_created_at",
3274
+ "_updated_at"
3275
+ ],
3276
+ "properties": {
3277
+ "_id": {
3278
+ "type": "string",
3279
+ "description": "Entity ID",
3280
+ "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
3281
+ },
3282
+ "_title": {
3283
+ "type": "string",
3284
+ "description": "Entity title"
3285
+ },
3286
+ "_org": {
3287
+ "type": "string",
3288
+ "description": "Ivy Organization ID the entity belongs to",
3289
+ "example": "206801"
3290
+ },
3291
+ "_schema": {
3292
+ "type": "string",
3293
+ "description": "URL-friendly identifier for the entity schema",
3294
+ "example": "message"
3295
+ },
3296
+ "_tags": {
3297
+ "type": "array",
3298
+ "description": "Entity tags",
3299
+ "items": {
3300
+ "type": "string"
3301
+ },
3302
+ "example": [
3303
+ "pricing",
3304
+ "INBOX"
3305
+ ]
3306
+ },
3307
+ "_created_at": {
3308
+ "type": "string",
3309
+ "description": "Created date",
3310
+ "format": "date-time",
3311
+ "example": "2021-02-09T12:41:43.662Z"
3312
+ },
3313
+ "_updated_at": {
3314
+ "type": "string",
3315
+ "description": "Updated date",
3316
+ "format": "date-time",
3317
+ "example": "2021-02-10T09:14:31.990Z"
3318
+ }
3319
+ }
3320
+ },
3321
+ {
3322
+ "type": "object",
3323
+ "required": [
3324
+ "subject",
3325
+ "from"
3326
+ ],
3327
+ "properties": {
3328
+ "message_id": {
3329
+ "type": "string",
3330
+ "description": "Message ID which is from email provider. If you provide `message-id`, API overrides by its own value.",
3331
+ "example": "<0102017b97a502f8-a67f01c2-68cc-4928-b91b-45853f34e259-000000@eu-west-1.amazonses.com>"
3332
+ },
3333
+ "sender": {
3334
+ "type": "string",
3335
+ "description": "Ivy User ID of user sends the message.",
3336
+ "example": "206801"
3337
+ },
3338
+ "subject": {
3339
+ "type": "string",
3340
+ "description": "Subject",
3341
+ "example": "Request for solar panel price"
3342
+ },
3343
+ "html": {
3344
+ "type": "string",
3345
+ "description": "HTML body",
3346
+ "example": "<div>We at ABC GmbH would like to request a price quote for the solar panel.</div>"
3347
+ },
3348
+ "text": {
3349
+ "type": "string",
3350
+ "description": "Text body",
3351
+ "example": "We at ABC GmbH would like to request a price quote for the solar panel."
3352
+ },
3353
+ "from": {
3354
+ "type": "object",
3355
+ "required": [
3356
+ "address"
3357
+ ],
3358
+ "properties": {
3359
+ "name": {
3360
+ "type": "string",
3361
+ "description": "Email address alias",
3362
+ "example": "epilot"
3363
+ },
3364
+ "address": {
3365
+ "type": "string",
3366
+ "description": "Email address",
3367
+ "example": "messaging@epilot.cloud"
3368
+ },
3369
+ "send_status": {
3370
+ "type": "string",
3371
+ "description": "Sent message status regarding to this recipient.\\\nReference at <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html>\n",
3372
+ "enum": [
3373
+ "SEND",
3374
+ "DELIVERY",
3375
+ "REJECT",
3376
+ "COMPLAINT",
3377
+ "BOUNCE",
3378
+ "ERROR"
3379
+ ]
3380
+ },
3381
+ "send_error": {
3382
+ "type": "object",
3383
+ "description": "Information about reject, complaint or bounce event. Only available if `send_status` is REJECT, COMPLAINT, BOUNCE or ERROR.\\\nJSON object is defined by AWS SES. Reference at <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notification-contents.html>\n"
3384
+ }
3385
+ }
3386
+ },
3387
+ "reply_to": {
3388
+ "type": "object",
3389
+ "required": [
3390
+ "address"
3391
+ ],
3392
+ "properties": {
3393
+ "name": {
3394
+ "type": "string",
3395
+ "description": "Email address alias",
3396
+ "example": "epilot"
3397
+ },
3398
+ "address": {
3399
+ "type": "string",
3400
+ "description": "Email address",
3401
+ "example": "messaging@epilot.cloud"
3402
+ },
3403
+ "send_status": {
3404
+ "type": "string",
3405
+ "description": "Sent message status regarding to this recipient.\\\nReference at <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html>\n",
3406
+ "enum": [
3407
+ "SEND",
3408
+ "DELIVERY",
3409
+ "REJECT",
3410
+ "COMPLAINT",
3411
+ "BOUNCE",
3412
+ "ERROR"
3413
+ ]
3414
+ },
3415
+ "send_error": {
3416
+ "type": "object",
3417
+ "description": "Information about reject, complaint or bounce event. Only available if `send_status` is REJECT, COMPLAINT, BOUNCE or ERROR.\\\nJSON object is defined by AWS SES. Reference at <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notification-contents.html>\n"
3418
+ }
3419
+ }
3420
+ },
3421
+ "to": {
3422
+ "type": "array",
3423
+ "description": "To email addresses",
3424
+ "items": {
3425
+ "type": "object",
3426
+ "required": [
3427
+ "address"
3428
+ ],
3429
+ "properties": {
3430
+ "name": {
3431
+ "type": "string",
3432
+ "description": "Email address alias",
3433
+ "example": "epilot"
3434
+ },
3435
+ "address": {
3436
+ "type": "string",
3437
+ "description": "Email address",
3438
+ "example": "messaging@epilot.cloud"
3439
+ },
3440
+ "send_status": {
3441
+ "type": "string",
3442
+ "description": "Sent message status regarding to this recipient.\\\nReference at <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html>\n",
3443
+ "enum": [
3444
+ "SEND",
3445
+ "DELIVERY",
3446
+ "REJECT",
3447
+ "COMPLAINT",
3448
+ "BOUNCE",
3449
+ "ERROR"
3450
+ ]
3451
+ },
3452
+ "send_error": {
3453
+ "type": "object",
3454
+ "description": "Information about reject, complaint or bounce event. Only available if `send_status` is REJECT, COMPLAINT, BOUNCE or ERROR.\\\nJSON object is defined by AWS SES. Reference at <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notification-contents.html>\n"
3455
+ }
3456
+ }
3457
+ }
3458
+ },
3459
+ "cc": {
3460
+ "type": "array",
3461
+ "description": "Cc email addresses",
3462
+ "items": {
3463
+ "type": "object",
3464
+ "required": [
3465
+ "address"
3466
+ ],
3467
+ "properties": {
3468
+ "name": {
3469
+ "type": "string",
3470
+ "description": "Email address alias",
3471
+ "example": "epilot"
3472
+ },
3473
+ "address": {
3474
+ "type": "string",
3475
+ "description": "Email address",
3476
+ "example": "messaging@epilot.cloud"
3477
+ },
3478
+ "send_status": {
3479
+ "type": "string",
3480
+ "description": "Sent message status regarding to this recipient.\\\nReference at <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html>\n",
3481
+ "enum": [
3482
+ "SEND",
3483
+ "DELIVERY",
3484
+ "REJECT",
3485
+ "COMPLAINT",
3486
+ "BOUNCE",
3487
+ "ERROR"
3488
+ ]
3489
+ },
3490
+ "send_error": {
3491
+ "type": "object",
3492
+ "description": "Information about reject, complaint or bounce event. Only available if `send_status` is REJECT, COMPLAINT, BOUNCE or ERROR.\\\nJSON object is defined by AWS SES. Reference at <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notification-contents.html>\n"
3493
+ }
3494
+ }
3495
+ }
3496
+ },
3497
+ "bcc": {
3498
+ "type": "array",
3499
+ "description": "Bcc email addresses",
3500
+ "items": {
3501
+ "type": "object",
3502
+ "required": [
3503
+ "address"
3504
+ ],
3505
+ "properties": {
3506
+ "name": {
3507
+ "type": "string",
3508
+ "description": "Email address alias",
3509
+ "example": "epilot"
3510
+ },
3511
+ "address": {
3512
+ "type": "string",
3513
+ "description": "Email address",
3514
+ "example": "messaging@epilot.cloud"
3515
+ },
3516
+ "send_status": {
3517
+ "type": "string",
3518
+ "description": "Sent message status regarding to this recipient.\\\nReference at <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html>\n",
3519
+ "enum": [
3520
+ "SEND",
3521
+ "DELIVERY",
3522
+ "REJECT",
3523
+ "COMPLAINT",
3524
+ "BOUNCE",
3525
+ "ERROR"
3526
+ ]
3527
+ },
3528
+ "send_error": {
3529
+ "type": "object",
3530
+ "description": "Information about reject, complaint or bounce event. Only available if `send_status` is REJECT, COMPLAINT, BOUNCE or ERROR.\\\nJSON object is defined by AWS SES. Reference at <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notification-contents.html>\n"
3531
+ }
3532
+ }
3533
+ }
3534
+ },
3535
+ "file": {
3536
+ "type": "object",
3537
+ "description": "Message attachments",
3538
+ "properties": {
3539
+ "$relation": {
3540
+ "type": "array",
3541
+ "description": "It's normal entity relation with some additional properties for sending message attachment.",
3542
+ "items": {
3543
+ "type": "object",
3544
+ "required": [
3545
+ "entity_id"
3546
+ ],
3547
+ "properties": {
3548
+ "entity_id": {
3549
+ "type": "string",
3550
+ "description": "File entity ID",
3551
+ "example": "f820ce3b-07b0-45ae-bcc6-babb2f53f79f"
3552
+ },
3553
+ "filename": {
3554
+ "type": "string",
3555
+ "description": "File name",
3556
+ "example": "Produktinformationen_epilot360_Double_Opt_in.pdf"
3557
+ },
3558
+ "is_message_attachment": {
3559
+ "type": "boolean",
3560
+ "description": "To indicate this file relation is message attachment. If false then this file will not be sent."
3561
+ },
3562
+ "cid": {
3563
+ "type": "string",
3564
+ "description": "Content ID",
3565
+ "example": "fb222496-a1a5-4639-94f2-07b5e35e4068"
3566
+ },
3567
+ "inline": {
3568
+ "type": "boolean",
3569
+ "description": "If true then this attachment should not be offered for download (at least not in the main attachments list).\\\nThe usecase is CID embedded image (aka inline image).\n",
3570
+ "default": false
3571
+ },
3572
+ "send_as_link": {
3573
+ "type": "boolean",
3574
+ "description": "If true then this attachment is sent via link. The link have to be inserted to email body by API caller.\\\nIn this case, service doesn't process this attachment.\n",
3575
+ "default": false
3576
+ }
3577
+ }
3578
+ }
3579
+ }
3580
+ }
3581
+ },
3582
+ "references": {
3583
+ "type": "string",
3584
+ "description": "References header. Value is the series of `message_id` which is reparated by space to indicate that message has parent.\\\nThe last message ID in references identifies the parent. The first message ID in references identifies the first message in the thread.\\\nThe basic idea is that sender should copy `references` from the parent and append the parent's `message_id` when replying.\n",
3585
+ "example": "<0102017b97a502f8-a67f01c2-68cc-4928-b91b-45853f34e259-000000@eu-west-1.amazonses.com> <CALHgQpziyxW9NaFUs+nRMykzr6Ljq6vjq4WO9SaihAuMasuDyg@mail.gmail.com>"
3586
+ },
3587
+ "in_reply_to": {
3588
+ "type": "string",
3589
+ "description": "In-Reply-To header. Value is the `message_id` of parent message.\n",
3590
+ "example": "<CALHgQpziyxW9NaFUs+nRMykzr6Ljq6vjq4WO9SaihAuMasuDyg@mail.gmail.com>"
3591
+ },
3592
+ "user_read_message": {
3593
+ "type": "array",
3594
+ "description": "Ivy User ID of user read the message.",
3595
+ "items": {
3596
+ "type": "string",
3597
+ "example": [
3598
+ "206801",
3599
+ "200109"
3600
+ ]
3601
+ }
3602
+ },
3603
+ "org_read_message": {
3604
+ "type": "array",
3605
+ "description": "Ivy Organization ID of organization read the message.",
3606
+ "items": {
3607
+ "type": "string",
3608
+ "example": [
3609
+ "789372",
3610
+ "210291"
3611
+ ]
3612
+ }
3613
+ },
3614
+ "send_status": {
3615
+ "type": "array",
3616
+ "description": "Sent message status. The array contains sending message status corresponding to all recipients. For more detail, check `send_status` of each recipient in `to`, `cc`, `bcc`\\\nReference at <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html>\n",
3617
+ "items": {
3618
+ "type": "string",
3619
+ "enum": [
3620
+ "SEND",
3621
+ "DELIVERY",
3622
+ "REJECT",
3623
+ "COMPLAINT",
3624
+ "BOUNCE",
3625
+ "ERROR"
3626
+ ]
3627
+ }
3628
+ },
3629
+ "type": {
3630
+ "type": "string",
3631
+ "description": "Message type",
3632
+ "enum": [
3633
+ "SENT",
3634
+ "RECEIVED"
3635
+ ]
3636
+ }
3637
+ }
3638
+ }
3639
+ ]
3257
3640
  }
3258
3641
  }
3259
3642
  }
3643
+ },
3644
+ "403": {
3645
+ "description": "Forbidden"
3260
3646
  }
3261
- },
3647
+ }
3648
+ }
3649
+ },
3650
+ "/v1/message/drafts:send": {
3651
+ "post": {
3652
+ "operationId": "sendDraft",
3653
+ "summary": "sendDraft",
3654
+ "description": "Send the existing draft to the recipients",
3655
+ "tags": [
3656
+ "Drafts"
3657
+ ],
3262
3658
  "responses": {
3263
- "200": {
3659
+ "201": {
3264
3660
  "description": "Success",
3265
3661
  "content": {
3266
3662
  "application/json": {
3267
3663
  "schema": {
3268
- "type": "object",
3269
- "required": [
3270
- "download_url",
3271
- "upload_url"
3272
- ],
3273
- "properties": {
3274
- "download_url": {
3275
- "type": "string",
3276
- "description": "URL to download the attachment. This URL is not accessible until attachment is uploaded successfully.",
3277
- "example": "https://go.epilot.cloud/attachments/3e7c616a-3e89-4f92-b4c5-ea5ab140e3dd/Produktinformationen_epilot360_Double_Opt_in.pdf"
3664
+ "allOf": [
3665
+ {
3666
+ "type": "object",
3667
+ "required": [
3668
+ "_id",
3669
+ "_title",
3670
+ "_org",
3671
+ "_schema",
3672
+ "_created_at",
3673
+ "_updated_at"
3674
+ ],
3675
+ "properties": {
3676
+ "_id": {
3677
+ "type": "string",
3678
+ "description": "Entity ID",
3679
+ "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
3680
+ },
3681
+ "_title": {
3682
+ "type": "string",
3683
+ "description": "Entity title"
3684
+ },
3685
+ "_org": {
3686
+ "type": "string",
3687
+ "description": "Ivy Organization ID the entity belongs to",
3688
+ "example": "206801"
3689
+ },
3690
+ "_schema": {
3691
+ "type": "string",
3692
+ "description": "URL-friendly identifier for the entity schema",
3693
+ "example": "message"
3694
+ },
3695
+ "_tags": {
3696
+ "type": "array",
3697
+ "description": "Entity tags",
3698
+ "items": {
3699
+ "type": "string"
3700
+ },
3701
+ "example": [
3702
+ "pricing",
3703
+ "INBOX"
3704
+ ]
3705
+ },
3706
+ "_created_at": {
3707
+ "type": "string",
3708
+ "description": "Created date",
3709
+ "format": "date-time",
3710
+ "example": "2021-02-09T12:41:43.662Z"
3711
+ },
3712
+ "_updated_at": {
3713
+ "type": "string",
3714
+ "description": "Updated date",
3715
+ "format": "date-time",
3716
+ "example": "2021-02-10T09:14:31.990Z"
3717
+ }
3718
+ }
3278
3719
  },
3279
- "upload_url": {
3720
+ {
3280
3721
  "type": "object",
3281
3722
  "required": [
3282
- "url",
3283
- "fields"
3723
+ "subject",
3724
+ "from"
3284
3725
  ],
3285
3726
  "properties": {
3286
- "url": {
3287
- "type": "number",
3288
- "description": "URL to upload the attachment",
3289
- "example": "https://s3.eu-central-1.amazonaws.com/893487340562-message-attachment"
3727
+ "message_id": {
3728
+ "type": "string",
3729
+ "description": "Message ID which is from email provider. If you provide `message-id`, API overrides by its own value.",
3730
+ "example": "<0102017b97a502f8-a67f01c2-68cc-4928-b91b-45853f34e259-000000@eu-west-1.amazonses.com>"
3731
+ },
3732
+ "sender": {
3733
+ "type": "string",
3734
+ "description": "Ivy User ID of user sends the message.",
3735
+ "example": "206801"
3736
+ },
3737
+ "subject": {
3738
+ "type": "string",
3739
+ "description": "Subject",
3740
+ "example": "Request for solar panel price"
3741
+ },
3742
+ "html": {
3743
+ "type": "string",
3744
+ "description": "HTML body",
3745
+ "example": "<div>We at ABC GmbH would like to request a price quote for the solar panel.</div>"
3746
+ },
3747
+ "text": {
3748
+ "type": "string",
3749
+ "description": "Text body",
3750
+ "example": "We at ABC GmbH would like to request a price quote for the solar panel."
3751
+ },
3752
+ "from": {
3753
+ "type": "object",
3754
+ "required": [
3755
+ "address"
3756
+ ],
3757
+ "properties": {
3758
+ "name": {
3759
+ "type": "string",
3760
+ "description": "Email address alias",
3761
+ "example": "epilot"
3762
+ },
3763
+ "address": {
3764
+ "type": "string",
3765
+ "description": "Email address",
3766
+ "example": "messaging@epilot.cloud"
3767
+ },
3768
+ "send_status": {
3769
+ "type": "string",
3770
+ "description": "Sent message status regarding to this recipient.\\\nReference at <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html>\n",
3771
+ "enum": [
3772
+ "SEND",
3773
+ "DELIVERY",
3774
+ "REJECT",
3775
+ "COMPLAINT",
3776
+ "BOUNCE",
3777
+ "ERROR"
3778
+ ]
3779
+ },
3780
+ "send_error": {
3781
+ "type": "object",
3782
+ "description": "Information about reject, complaint or bounce event. Only available if `send_status` is REJECT, COMPLAINT, BOUNCE or ERROR.\\\nJSON object is defined by AWS SES. Reference at <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notification-contents.html>\n"
3783
+ }
3784
+ }
3785
+ },
3786
+ "reply_to": {
3787
+ "type": "object",
3788
+ "required": [
3789
+ "address"
3790
+ ],
3791
+ "properties": {
3792
+ "name": {
3793
+ "type": "string",
3794
+ "description": "Email address alias",
3795
+ "example": "epilot"
3796
+ },
3797
+ "address": {
3798
+ "type": "string",
3799
+ "description": "Email address",
3800
+ "example": "messaging@epilot.cloud"
3801
+ },
3802
+ "send_status": {
3803
+ "type": "string",
3804
+ "description": "Sent message status regarding to this recipient.\\\nReference at <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html>\n",
3805
+ "enum": [
3806
+ "SEND",
3807
+ "DELIVERY",
3808
+ "REJECT",
3809
+ "COMPLAINT",
3810
+ "BOUNCE",
3811
+ "ERROR"
3812
+ ]
3813
+ },
3814
+ "send_error": {
3815
+ "type": "object",
3816
+ "description": "Information about reject, complaint or bounce event. Only available if `send_status` is REJECT, COMPLAINT, BOUNCE or ERROR.\\\nJSON object is defined by AWS SES. Reference at <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notification-contents.html>\n"
3817
+ }
3818
+ }
3819
+ },
3820
+ "to": {
3821
+ "type": "array",
3822
+ "description": "To email addresses",
3823
+ "items": {
3824
+ "type": "object",
3825
+ "required": [
3826
+ "address"
3827
+ ],
3828
+ "properties": {
3829
+ "name": {
3830
+ "type": "string",
3831
+ "description": "Email address alias",
3832
+ "example": "epilot"
3833
+ },
3834
+ "address": {
3835
+ "type": "string",
3836
+ "description": "Email address",
3837
+ "example": "messaging@epilot.cloud"
3838
+ },
3839
+ "send_status": {
3840
+ "type": "string",
3841
+ "description": "Sent message status regarding to this recipient.\\\nReference at <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html>\n",
3842
+ "enum": [
3843
+ "SEND",
3844
+ "DELIVERY",
3845
+ "REJECT",
3846
+ "COMPLAINT",
3847
+ "BOUNCE",
3848
+ "ERROR"
3849
+ ]
3850
+ },
3851
+ "send_error": {
3852
+ "type": "object",
3853
+ "description": "Information about reject, complaint or bounce event. Only available if `send_status` is REJECT, COMPLAINT, BOUNCE or ERROR.\\\nJSON object is defined by AWS SES. Reference at <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notification-contents.html>\n"
3854
+ }
3855
+ }
3856
+ }
3857
+ },
3858
+ "cc": {
3859
+ "type": "array",
3860
+ "description": "Cc email addresses",
3861
+ "items": {
3862
+ "type": "object",
3863
+ "required": [
3864
+ "address"
3865
+ ],
3866
+ "properties": {
3867
+ "name": {
3868
+ "type": "string",
3869
+ "description": "Email address alias",
3870
+ "example": "epilot"
3871
+ },
3872
+ "address": {
3873
+ "type": "string",
3874
+ "description": "Email address",
3875
+ "example": "messaging@epilot.cloud"
3876
+ },
3877
+ "send_status": {
3878
+ "type": "string",
3879
+ "description": "Sent message status regarding to this recipient.\\\nReference at <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html>\n",
3880
+ "enum": [
3881
+ "SEND",
3882
+ "DELIVERY",
3883
+ "REJECT",
3884
+ "COMPLAINT",
3885
+ "BOUNCE",
3886
+ "ERROR"
3887
+ ]
3888
+ },
3889
+ "send_error": {
3890
+ "type": "object",
3891
+ "description": "Information about reject, complaint or bounce event. Only available if `send_status` is REJECT, COMPLAINT, BOUNCE or ERROR.\\\nJSON object is defined by AWS SES. Reference at <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notification-contents.html>\n"
3892
+ }
3893
+ }
3894
+ }
3895
+ },
3896
+ "bcc": {
3897
+ "type": "array",
3898
+ "description": "Bcc email addresses",
3899
+ "items": {
3900
+ "type": "object",
3901
+ "required": [
3902
+ "address"
3903
+ ],
3904
+ "properties": {
3905
+ "name": {
3906
+ "type": "string",
3907
+ "description": "Email address alias",
3908
+ "example": "epilot"
3909
+ },
3910
+ "address": {
3911
+ "type": "string",
3912
+ "description": "Email address",
3913
+ "example": "messaging@epilot.cloud"
3914
+ },
3915
+ "send_status": {
3916
+ "type": "string",
3917
+ "description": "Sent message status regarding to this recipient.\\\nReference at <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html>\n",
3918
+ "enum": [
3919
+ "SEND",
3920
+ "DELIVERY",
3921
+ "REJECT",
3922
+ "COMPLAINT",
3923
+ "BOUNCE",
3924
+ "ERROR"
3925
+ ]
3926
+ },
3927
+ "send_error": {
3928
+ "type": "object",
3929
+ "description": "Information about reject, complaint or bounce event. Only available if `send_status` is REJECT, COMPLAINT, BOUNCE or ERROR.\\\nJSON object is defined by AWS SES. Reference at <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notification-contents.html>\n"
3930
+ }
3931
+ }
3932
+ }
3290
3933
  },
3291
- "fields": {
3934
+ "file": {
3292
3935
  "type": "object",
3293
- "description": "Fields are provided by AWS to authenticate and validate the request. All fields should be included in form-data when performing upload request.",
3294
- "example": {}
3936
+ "description": "Message attachments",
3937
+ "properties": {
3938
+ "$relation": {
3939
+ "type": "array",
3940
+ "description": "It's normal entity relation with some additional properties for sending message attachment.",
3941
+ "items": {
3942
+ "type": "object",
3943
+ "required": [
3944
+ "entity_id"
3945
+ ],
3946
+ "properties": {
3947
+ "entity_id": {
3948
+ "type": "string",
3949
+ "description": "File entity ID",
3950
+ "example": "f820ce3b-07b0-45ae-bcc6-babb2f53f79f"
3951
+ },
3952
+ "filename": {
3953
+ "type": "string",
3954
+ "description": "File name",
3955
+ "example": "Produktinformationen_epilot360_Double_Opt_in.pdf"
3956
+ },
3957
+ "is_message_attachment": {
3958
+ "type": "boolean",
3959
+ "description": "To indicate this file relation is message attachment. If false then this file will not be sent."
3960
+ },
3961
+ "cid": {
3962
+ "type": "string",
3963
+ "description": "Content ID",
3964
+ "example": "fb222496-a1a5-4639-94f2-07b5e35e4068"
3965
+ },
3966
+ "inline": {
3967
+ "type": "boolean",
3968
+ "description": "If true then this attachment should not be offered for download (at least not in the main attachments list).\\\nThe usecase is CID embedded image (aka inline image).\n",
3969
+ "default": false
3970
+ },
3971
+ "send_as_link": {
3972
+ "type": "boolean",
3973
+ "description": "If true then this attachment is sent via link. The link have to be inserted to email body by API caller.\\\nIn this case, service doesn't process this attachment.\n",
3974
+ "default": false
3975
+ }
3976
+ }
3977
+ }
3978
+ }
3979
+ }
3980
+ },
3981
+ "references": {
3982
+ "type": "string",
3983
+ "description": "References header. Value is the series of `message_id` which is reparated by space to indicate that message has parent.\\\nThe last message ID in references identifies the parent. The first message ID in references identifies the first message in the thread.\\\nThe basic idea is that sender should copy `references` from the parent and append the parent's `message_id` when replying.\n",
3984
+ "example": "<0102017b97a502f8-a67f01c2-68cc-4928-b91b-45853f34e259-000000@eu-west-1.amazonses.com> <CALHgQpziyxW9NaFUs+nRMykzr6Ljq6vjq4WO9SaihAuMasuDyg@mail.gmail.com>"
3985
+ },
3986
+ "in_reply_to": {
3987
+ "type": "string",
3988
+ "description": "In-Reply-To header. Value is the `message_id` of parent message.\n",
3989
+ "example": "<CALHgQpziyxW9NaFUs+nRMykzr6Ljq6vjq4WO9SaihAuMasuDyg@mail.gmail.com>"
3990
+ },
3991
+ "user_read_message": {
3992
+ "type": "array",
3993
+ "description": "Ivy User ID of user read the message.",
3994
+ "items": {
3995
+ "type": "string",
3996
+ "example": [
3997
+ "206801",
3998
+ "200109"
3999
+ ]
4000
+ }
4001
+ },
4002
+ "org_read_message": {
4003
+ "type": "array",
4004
+ "description": "Ivy Organization ID of organization read the message.",
4005
+ "items": {
4006
+ "type": "string",
4007
+ "example": [
4008
+ "789372",
4009
+ "210291"
4010
+ ]
4011
+ }
4012
+ },
4013
+ "send_status": {
4014
+ "type": "array",
4015
+ "description": "Sent message status. The array contains sending message status corresponding to all recipients. For more detail, check `send_status` of each recipient in `to`, `cc`, `bcc`\\\nReference at <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html>\n",
4016
+ "items": {
4017
+ "type": "string",
4018
+ "enum": [
4019
+ "SEND",
4020
+ "DELIVERY",
4021
+ "REJECT",
4022
+ "COMPLAINT",
4023
+ "BOUNCE",
4024
+ "ERROR"
4025
+ ]
4026
+ }
4027
+ },
4028
+ "type": {
4029
+ "type": "string",
4030
+ "description": "Message type",
4031
+ "enum": [
4032
+ "SENT",
4033
+ "RECEIVED"
4034
+ ]
3295
4035
  }
3296
4036
  }
3297
4037
  }
3298
- }
4038
+ ]
3299
4039
  }
3300
4040
  }
3301
4041
  }
@@ -3314,6 +4054,12 @@
3314
4054
  "scheme": "bearer",
3315
4055
  "description": "Authorization header with epilot OAuth2 bearer token",
3316
4056
  "bearerFormat": "JWT"
4057
+ },
4058
+ "EpilotOrg": {
4059
+ "description": "Overrides the target organization to allow shared tenant access",
4060
+ "name": "x-epilot-org-id",
4061
+ "in": "header",
4062
+ "type": "apiKey"
3317
4063
  }
3318
4064
  },
3319
4065
  "schemas": {
@@ -3394,6 +4140,17 @@
3394
4140
  ]
3395
4141
  }
3396
4142
  },
4143
+ "org_read_message": {
4144
+ "type": "array",
4145
+ "description": "Ivy Organization ID of organization read the message.",
4146
+ "items": {
4147
+ "type": "string",
4148
+ "example": [
4149
+ "789372",
4150
+ "210291"
4151
+ ]
4152
+ }
4153
+ },
3397
4154
  "latest_message": {
3398
4155
  "type": "object",
3399
4156
  "required": [
@@ -3608,69 +4365,49 @@
3608
4365
  }
3609
4366
  }
3610
4367
  },
3611
- "attachments": {
3612
- "type": "array",
4368
+ "file": {
4369
+ "type": "object",
3613
4370
  "description": "Message attachments",
3614
- "items": {
3615
- "type": "object",
3616
- "required": [
3617
- "filename",
3618
- "size",
3619
- "content_type",
3620
- "url",
3621
- "bucket",
3622
- "object_key"
3623
- ],
3624
- "properties": {
3625
- "cid": {
3626
- "type": "string",
3627
- "description": "Attachment ID",
3628
- "example": "f820ce3b-07b0-45ae-bcc6-babb2f53f79f"
3629
- },
3630
- "filename": {
3631
- "type": "string",
3632
- "description": "File name",
3633
- "example": "Produktinformationen_epilot360_Double_Opt_in.pdf"
3634
- },
3635
- "size": {
3636
- "type": "number",
3637
- "description": "File size in bytes",
3638
- "example": 451349
3639
- },
3640
- "content_type": {
3641
- "type": "string",
3642
- "description": "Content type",
3643
- "example": "application/pdf"
3644
- },
3645
- "url": {
3646
- "type": "string",
3647
- "description": "URL to download the attachment.",
3648
- "example": "https://go.epilot.cloud/attachments/3e7c616a-3e89-4f92-b4c5-ea5ab140e3dd/Produktinformationen_epilot360_Double_Opt_in.pdf"
3649
- },
3650
- "bucket": {
3651
- "type": "string",
3652
- "description": "S3 bucket where file is stored",
3653
- "example": "893487340562-message-attachment"
3654
- },
3655
- "object_key": {
3656
- "type": "string",
3657
- "description": "S3 object apiKey",
3658
- "example": "attachments/3e7c616a-3e89-4f92-b4c5-ea5ab140e3dd/Produktinformationen_epilot360_Double_Opt_in.pdf"
3659
- },
3660
- "inline": {
3661
- "type": "boolean",
3662
- "description": "If true then this attachment should not be offered for download (at least not in the main attachments list).\\\nThe usecase is CID embedded image (aka inline image).\n",
3663
- "default": false
3664
- },
3665
- "send_as_link": {
3666
- "type": "boolean",
3667
- "description": "If true then this attachment is sent via link. The link is already inserted to email body by API caller. In this case, service doesn't process this attachment.",
3668
- "default": false
3669
- },
3670
- "copy_to_message": {
3671
- "type": "boolean",
3672
- "description": "If true then this attachment is copied to the message and replaces corresponding one. The new attachment has different `url`, `object_key`. This property supports for forwarding message and copying attachments from email template.\\\nIf both `send_as_link` and `copy_to_message` are provided, `copy_to_message` is discarded.\n",
3673
- "default": false
4371
+ "properties": {
4372
+ "$relation": {
4373
+ "type": "array",
4374
+ "description": "It's normal entity relation with some additional properties for sending message attachment.",
4375
+ "items": {
4376
+ "type": "object",
4377
+ "required": [
4378
+ "entity_id"
4379
+ ],
4380
+ "properties": {
4381
+ "entity_id": {
4382
+ "type": "string",
4383
+ "description": "File entity ID",
4384
+ "example": "f820ce3b-07b0-45ae-bcc6-babb2f53f79f"
4385
+ },
4386
+ "filename": {
4387
+ "type": "string",
4388
+ "description": "File name",
4389
+ "example": "Produktinformationen_epilot360_Double_Opt_in.pdf"
4390
+ },
4391
+ "is_message_attachment": {
4392
+ "type": "boolean",
4393
+ "description": "To indicate this file relation is message attachment. If false then this file will not be sent."
4394
+ },
4395
+ "cid": {
4396
+ "type": "string",
4397
+ "description": "Content ID",
4398
+ "example": "fb222496-a1a5-4639-94f2-07b5e35e4068"
4399
+ },
4400
+ "inline": {
4401
+ "type": "boolean",
4402
+ "description": "If true then this attachment should not be offered for download (at least not in the main attachments list).\\\nThe usecase is CID embedded image (aka inline image).\n",
4403
+ "default": false
4404
+ },
4405
+ "send_as_link": {
4406
+ "type": "boolean",
4407
+ "description": "If true then this attachment is sent via link. The link have to be inserted to email body by API caller.\\\nIn this case, service doesn't process this attachment.\n",
4408
+ "default": false
4409
+ }
4410
+ }
3674
4411
  }
3675
4412
  }
3676
4413
  }
@@ -3696,6 +4433,17 @@
3696
4433
  ]
3697
4434
  }
3698
4435
  },
4436
+ "org_read_message": {
4437
+ "type": "array",
4438
+ "description": "Ivy Organization ID of organization read the message.",
4439
+ "items": {
4440
+ "type": "string",
4441
+ "example": [
4442
+ "789372",
4443
+ "210291"
4444
+ ]
4445
+ }
4446
+ },
3699
4447
  "send_status": {
3700
4448
  "type": "array",
3701
4449
  "description": "Sent message status. The array contains sending message status corresponding to all recipients. For more detail, check `send_status` of each recipient in `to`, `cc`, `bcc`\\\nReference at <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html>\n",
@@ -3933,72 +4681,52 @@
3933
4681
  "type": "object",
3934
4682
  "description": "Information about reject, complaint or bounce event. Only available if `send_status` is REJECT, COMPLAINT, BOUNCE or ERROR.\\\nJSON object is defined by AWS SES. Reference at <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notification-contents.html>\n"
3935
4683
  }
3936
- }
3937
- }
3938
- },
3939
- "attachments": {
3940
- "type": "array",
3941
- "description": "Message attachments",
3942
- "items": {
3943
- "type": "object",
3944
- "required": [
3945
- "filename",
3946
- "size",
3947
- "content_type",
3948
- "url",
3949
- "bucket",
3950
- "object_key"
3951
- ],
3952
- "properties": {
3953
- "cid": {
3954
- "type": "string",
3955
- "description": "Attachment ID",
3956
- "example": "f820ce3b-07b0-45ae-bcc6-babb2f53f79f"
3957
- },
3958
- "filename": {
3959
- "type": "string",
3960
- "description": "File name",
3961
- "example": "Produktinformationen_epilot360_Double_Opt_in.pdf"
3962
- },
3963
- "size": {
3964
- "type": "number",
3965
- "description": "File size in bytes",
3966
- "example": 451349
3967
- },
3968
- "content_type": {
3969
- "type": "string",
3970
- "description": "Content type",
3971
- "example": "application/pdf"
3972
- },
3973
- "url": {
3974
- "type": "string",
3975
- "description": "URL to download the attachment.",
3976
- "example": "https://go.epilot.cloud/attachments/3e7c616a-3e89-4f92-b4c5-ea5ab140e3dd/Produktinformationen_epilot360_Double_Opt_in.pdf"
3977
- },
3978
- "bucket": {
3979
- "type": "string",
3980
- "description": "S3 bucket where file is stored",
3981
- "example": "893487340562-message-attachment"
3982
- },
3983
- "object_key": {
3984
- "type": "string",
3985
- "description": "S3 object apiKey",
3986
- "example": "attachments/3e7c616a-3e89-4f92-b4c5-ea5ab140e3dd/Produktinformationen_epilot360_Double_Opt_in.pdf"
3987
- },
3988
- "inline": {
3989
- "type": "boolean",
3990
- "description": "If true then this attachment should not be offered for download (at least not in the main attachments list).\\\nThe usecase is CID embedded image (aka inline image).\n",
3991
- "default": false
3992
- },
3993
- "send_as_link": {
3994
- "type": "boolean",
3995
- "description": "If true then this attachment is sent via link. The link is already inserted to email body by API caller. In this case, service doesn't process this attachment.",
3996
- "default": false
3997
- },
3998
- "copy_to_message": {
3999
- "type": "boolean",
4000
- "description": "If true then this attachment is copied to the message and replaces corresponding one. The new attachment has different `url`, `object_key`. This property supports for forwarding message and copying attachments from email template.\\\nIf both `send_as_link` and `copy_to_message` are provided, `copy_to_message` is discarded.\n",
4001
- "default": false
4684
+ }
4685
+ }
4686
+ },
4687
+ "file": {
4688
+ "type": "object",
4689
+ "description": "Message attachments",
4690
+ "properties": {
4691
+ "$relation": {
4692
+ "type": "array",
4693
+ "description": "It's normal entity relation with some additional properties for sending message attachment.",
4694
+ "items": {
4695
+ "type": "object",
4696
+ "required": [
4697
+ "entity_id"
4698
+ ],
4699
+ "properties": {
4700
+ "entity_id": {
4701
+ "type": "string",
4702
+ "description": "File entity ID",
4703
+ "example": "f820ce3b-07b0-45ae-bcc6-babb2f53f79f"
4704
+ },
4705
+ "filename": {
4706
+ "type": "string",
4707
+ "description": "File name",
4708
+ "example": "Produktinformationen_epilot360_Double_Opt_in.pdf"
4709
+ },
4710
+ "is_message_attachment": {
4711
+ "type": "boolean",
4712
+ "description": "To indicate this file relation is message attachment. If false then this file will not be sent."
4713
+ },
4714
+ "cid": {
4715
+ "type": "string",
4716
+ "description": "Content ID",
4717
+ "example": "fb222496-a1a5-4639-94f2-07b5e35e4068"
4718
+ },
4719
+ "inline": {
4720
+ "type": "boolean",
4721
+ "description": "If true then this attachment should not be offered for download (at least not in the main attachments list).\\\nThe usecase is CID embedded image (aka inline image).\n",
4722
+ "default": false
4723
+ },
4724
+ "send_as_link": {
4725
+ "type": "boolean",
4726
+ "description": "If true then this attachment is sent via link. The link have to be inserted to email body by API caller.\\\nIn this case, service doesn't process this attachment.\n",
4727
+ "default": false
4728
+ }
4729
+ }
4002
4730
  }
4003
4731
  }
4004
4732
  }
@@ -4024,6 +4752,17 @@
4024
4752
  ]
4025
4753
  }
4026
4754
  },
4755
+ "org_read_message": {
4756
+ "type": "array",
4757
+ "description": "Ivy Organization ID of organization read the message.",
4758
+ "items": {
4759
+ "type": "string",
4760
+ "example": [
4761
+ "789372",
4762
+ "210291"
4763
+ ]
4764
+ }
4765
+ },
4027
4766
  "send_status": {
4028
4767
  "type": "array",
4029
4768
  "description": "Sent message status. The array contains sending message status corresponding to all recipients. For more detail, check `send_status` of each recipient in `to`, `cc`, `bcc`\\\nReference at <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html>\n",
@@ -4266,69 +5005,49 @@
4266
5005
  }
4267
5006
  }
4268
5007
  },
4269
- "attachments": {
4270
- "type": "array",
5008
+ "file": {
5009
+ "type": "object",
4271
5010
  "description": "Message attachments",
4272
- "items": {
4273
- "type": "object",
4274
- "required": [
4275
- "filename",
4276
- "size",
4277
- "content_type",
4278
- "url",
4279
- "bucket",
4280
- "object_key"
4281
- ],
4282
- "properties": {
4283
- "cid": {
4284
- "type": "string",
4285
- "description": "Attachment ID",
4286
- "example": "f820ce3b-07b0-45ae-bcc6-babb2f53f79f"
4287
- },
4288
- "filename": {
4289
- "type": "string",
4290
- "description": "File name",
4291
- "example": "Produktinformationen_epilot360_Double_Opt_in.pdf"
4292
- },
4293
- "size": {
4294
- "type": "number",
4295
- "description": "File size in bytes",
4296
- "example": 451349
4297
- },
4298
- "content_type": {
4299
- "type": "string",
4300
- "description": "Content type",
4301
- "example": "application/pdf"
4302
- },
4303
- "url": {
4304
- "type": "string",
4305
- "description": "URL to download the attachment.",
4306
- "example": "https://go.epilot.cloud/attachments/3e7c616a-3e89-4f92-b4c5-ea5ab140e3dd/Produktinformationen_epilot360_Double_Opt_in.pdf"
4307
- },
4308
- "bucket": {
4309
- "type": "string",
4310
- "description": "S3 bucket where file is stored",
4311
- "example": "893487340562-message-attachment"
4312
- },
4313
- "object_key": {
4314
- "type": "string",
4315
- "description": "S3 object apiKey",
4316
- "example": "attachments/3e7c616a-3e89-4f92-b4c5-ea5ab140e3dd/Produktinformationen_epilot360_Double_Opt_in.pdf"
4317
- },
4318
- "inline": {
4319
- "type": "boolean",
4320
- "description": "If true then this attachment should not be offered for download (at least not in the main attachments list).\\\nThe usecase is CID embedded image (aka inline image).\n",
4321
- "default": false
4322
- },
4323
- "send_as_link": {
4324
- "type": "boolean",
4325
- "description": "If true then this attachment is sent via link. The link is already inserted to email body by API caller. In this case, service doesn't process this attachment.",
4326
- "default": false
4327
- },
4328
- "copy_to_message": {
4329
- "type": "boolean",
4330
- "description": "If true then this attachment is copied to the message and replaces corresponding one. The new attachment has different `url`, `object_key`. This property supports for forwarding message and copying attachments from email template.\\\nIf both `send_as_link` and `copy_to_message` are provided, `copy_to_message` is discarded.\n",
4331
- "default": false
5011
+ "properties": {
5012
+ "$relation": {
5013
+ "type": "array",
5014
+ "description": "It's normal entity relation with some additional properties for sending message attachment.",
5015
+ "items": {
5016
+ "type": "object",
5017
+ "required": [
5018
+ "entity_id"
5019
+ ],
5020
+ "properties": {
5021
+ "entity_id": {
5022
+ "type": "string",
5023
+ "description": "File entity ID",
5024
+ "example": "f820ce3b-07b0-45ae-bcc6-babb2f53f79f"
5025
+ },
5026
+ "filename": {
5027
+ "type": "string",
5028
+ "description": "File name",
5029
+ "example": "Produktinformationen_epilot360_Double_Opt_in.pdf"
5030
+ },
5031
+ "is_message_attachment": {
5032
+ "type": "boolean",
5033
+ "description": "To indicate this file relation is message attachment. If false then this file will not be sent."
5034
+ },
5035
+ "cid": {
5036
+ "type": "string",
5037
+ "description": "Content ID",
5038
+ "example": "fb222496-a1a5-4639-94f2-07b5e35e4068"
5039
+ },
5040
+ "inline": {
5041
+ "type": "boolean",
5042
+ "description": "If true then this attachment should not be offered for download (at least not in the main attachments list).\\\nThe usecase is CID embedded image (aka inline image).\n",
5043
+ "default": false
5044
+ },
5045
+ "send_as_link": {
5046
+ "type": "boolean",
5047
+ "description": "If true then this attachment is sent via link. The link have to be inserted to email body by API caller.\\\nIn this case, service doesn't process this attachment.\n",
5048
+ "default": false
5049
+ }
5050
+ }
4332
5051
  }
4333
5052
  }
4334
5053
  }
@@ -4354,6 +5073,17 @@
4354
5073
  ]
4355
5074
  }
4356
5075
  },
5076
+ "org_read_message": {
5077
+ "type": "array",
5078
+ "description": "Ivy Organization ID of organization read the message.",
5079
+ "items": {
5080
+ "type": "string",
5081
+ "example": [
5082
+ "789372",
5083
+ "210291"
5084
+ ]
5085
+ }
5086
+ },
4357
5087
  "send_status": {
4358
5088
  "type": "array",
4359
5089
  "description": "Sent message status. The array contains sending message status corresponding to all recipients. For more detail, check `send_status` of each recipient in `to`, `cc`, `bcc`\\\nReference at <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html>\n",
@@ -4413,66 +5143,50 @@
4413
5143
  }
4414
5144
  }
4415
5145
  },
4416
- "Attachment": {
5146
+ "File": {
4417
5147
  "type": "object",
4418
- "required": [
4419
- "filename",
4420
- "size",
4421
- "content_type",
4422
- "url",
4423
- "bucket",
4424
- "object_key"
4425
- ],
5148
+ "description": "Message attachments",
4426
5149
  "properties": {
4427
- "cid": {
4428
- "type": "string",
4429
- "description": "Attachment ID",
4430
- "example": "f820ce3b-07b0-45ae-bcc6-babb2f53f79f"
4431
- },
4432
- "filename": {
4433
- "type": "string",
4434
- "description": "File name",
4435
- "example": "Produktinformationen_epilot360_Double_Opt_in.pdf"
4436
- },
4437
- "size": {
4438
- "type": "number",
4439
- "description": "File size in bytes",
4440
- "example": 451349
4441
- },
4442
- "content_type": {
4443
- "type": "string",
4444
- "description": "Content type",
4445
- "example": "application/pdf"
4446
- },
4447
- "url": {
4448
- "type": "string",
4449
- "description": "URL to download the attachment.",
4450
- "example": "https://go.epilot.cloud/attachments/3e7c616a-3e89-4f92-b4c5-ea5ab140e3dd/Produktinformationen_epilot360_Double_Opt_in.pdf"
4451
- },
4452
- "bucket": {
4453
- "type": "string",
4454
- "description": "S3 bucket where file is stored",
4455
- "example": "893487340562-message-attachment"
4456
- },
4457
- "object_key": {
4458
- "type": "string",
4459
- "description": "S3 object apiKey",
4460
- "example": "attachments/3e7c616a-3e89-4f92-b4c5-ea5ab140e3dd/Produktinformationen_epilot360_Double_Opt_in.pdf"
4461
- },
4462
- "inline": {
4463
- "type": "boolean",
4464
- "description": "If true then this attachment should not be offered for download (at least not in the main attachments list).\\\nThe usecase is CID embedded image (aka inline image).\n",
4465
- "default": false
4466
- },
4467
- "send_as_link": {
4468
- "type": "boolean",
4469
- "description": "If true then this attachment is sent via link. The link is already inserted to email body by API caller. In this case, service doesn't process this attachment.",
4470
- "default": false
4471
- },
4472
- "copy_to_message": {
4473
- "type": "boolean",
4474
- "description": "If true then this attachment is copied to the message and replaces corresponding one. The new attachment has different `url`, `object_key`. This property supports for forwarding message and copying attachments from email template.\\\nIf both `send_as_link` and `copy_to_message` are provided, `copy_to_message` is discarded.\n",
4475
- "default": false
5150
+ "$relation": {
5151
+ "type": "array",
5152
+ "description": "It's normal entity relation with some additional properties for sending message attachment.",
5153
+ "items": {
5154
+ "type": "object",
5155
+ "required": [
5156
+ "entity_id"
5157
+ ],
5158
+ "properties": {
5159
+ "entity_id": {
5160
+ "type": "string",
5161
+ "description": "File entity ID",
5162
+ "example": "f820ce3b-07b0-45ae-bcc6-babb2f53f79f"
5163
+ },
5164
+ "filename": {
5165
+ "type": "string",
5166
+ "description": "File name",
5167
+ "example": "Produktinformationen_epilot360_Double_Opt_in.pdf"
5168
+ },
5169
+ "is_message_attachment": {
5170
+ "type": "boolean",
5171
+ "description": "To indicate this file relation is message attachment. If false then this file will not be sent."
5172
+ },
5173
+ "cid": {
5174
+ "type": "string",
5175
+ "description": "Content ID",
5176
+ "example": "fb222496-a1a5-4639-94f2-07b5e35e4068"
5177
+ },
5178
+ "inline": {
5179
+ "type": "boolean",
5180
+ "description": "If true then this attachment should not be offered for download (at least not in the main attachments list).\\\nThe usecase is CID embedded image (aka inline image).\n",
5181
+ "default": false
5182
+ },
5183
+ "send_as_link": {
5184
+ "type": "boolean",
5185
+ "description": "If true then this attachment is sent via link. The link have to be inserted to email body by API caller.\\\nIn this case, service doesn't process this attachment.\n",
5186
+ "default": false
5187
+ }
5188
+ }
5189
+ }
4476
5190
  }
4477
5191
  }
4478
5192
  },
@@ -4712,69 +5426,49 @@
4712
5426
  }
4713
5427
  }
4714
5428
  },
4715
- "attachments": {
4716
- "type": "array",
5429
+ "file": {
5430
+ "type": "object",
4717
5431
  "description": "Message attachments",
4718
- "items": {
4719
- "type": "object",
4720
- "required": [
4721
- "filename",
4722
- "size",
4723
- "content_type",
4724
- "url",
4725
- "bucket",
4726
- "object_key"
4727
- ],
4728
- "properties": {
4729
- "cid": {
4730
- "type": "string",
4731
- "description": "Attachment ID",
4732
- "example": "f820ce3b-07b0-45ae-bcc6-babb2f53f79f"
4733
- },
4734
- "filename": {
4735
- "type": "string",
4736
- "description": "File name",
4737
- "example": "Produktinformationen_epilot360_Double_Opt_in.pdf"
4738
- },
4739
- "size": {
4740
- "type": "number",
4741
- "description": "File size in bytes",
4742
- "example": 451349
4743
- },
4744
- "content_type": {
4745
- "type": "string",
4746
- "description": "Content type",
4747
- "example": "application/pdf"
4748
- },
4749
- "url": {
4750
- "type": "string",
4751
- "description": "URL to download the attachment.",
4752
- "example": "https://go.epilot.cloud/attachments/3e7c616a-3e89-4f92-b4c5-ea5ab140e3dd/Produktinformationen_epilot360_Double_Opt_in.pdf"
4753
- },
4754
- "bucket": {
4755
- "type": "string",
4756
- "description": "S3 bucket where file is stored",
4757
- "example": "893487340562-message-attachment"
4758
- },
4759
- "object_key": {
4760
- "type": "string",
4761
- "description": "S3 object apiKey",
4762
- "example": "attachments/3e7c616a-3e89-4f92-b4c5-ea5ab140e3dd/Produktinformationen_epilot360_Double_Opt_in.pdf"
4763
- },
4764
- "inline": {
4765
- "type": "boolean",
4766
- "description": "If true then this attachment should not be offered for download (at least not in the main attachments list).\\\nThe usecase is CID embedded image (aka inline image).\n",
4767
- "default": false
4768
- },
4769
- "send_as_link": {
4770
- "type": "boolean",
4771
- "description": "If true then this attachment is sent via link. The link is already inserted to email body by API caller. In this case, service doesn't process this attachment.",
4772
- "default": false
4773
- },
4774
- "copy_to_message": {
4775
- "type": "boolean",
4776
- "description": "If true then this attachment is copied to the message and replaces corresponding one. The new attachment has different `url`, `object_key`. This property supports for forwarding message and copying attachments from email template.\\\nIf both `send_as_link` and `copy_to_message` are provided, `copy_to_message` is discarded.\n",
4777
- "default": false
5432
+ "properties": {
5433
+ "$relation": {
5434
+ "type": "array",
5435
+ "description": "It's normal entity relation with some additional properties for sending message attachment.",
5436
+ "items": {
5437
+ "type": "object",
5438
+ "required": [
5439
+ "entity_id"
5440
+ ],
5441
+ "properties": {
5442
+ "entity_id": {
5443
+ "type": "string",
5444
+ "description": "File entity ID",
5445
+ "example": "f820ce3b-07b0-45ae-bcc6-babb2f53f79f"
5446
+ },
5447
+ "filename": {
5448
+ "type": "string",
5449
+ "description": "File name",
5450
+ "example": "Produktinformationen_epilot360_Double_Opt_in.pdf"
5451
+ },
5452
+ "is_message_attachment": {
5453
+ "type": "boolean",
5454
+ "description": "To indicate this file relation is message attachment. If false then this file will not be sent."
5455
+ },
5456
+ "cid": {
5457
+ "type": "string",
5458
+ "description": "Content ID",
5459
+ "example": "fb222496-a1a5-4639-94f2-07b5e35e4068"
5460
+ },
5461
+ "inline": {
5462
+ "type": "boolean",
5463
+ "description": "If true then this attachment should not be offered for download (at least not in the main attachments list).\\\nThe usecase is CID embedded image (aka inline image).\n",
5464
+ "default": false
5465
+ },
5466
+ "send_as_link": {
5467
+ "type": "boolean",
5468
+ "description": "If true then this attachment is sent via link. The link have to be inserted to email body by API caller.\\\nIn this case, service doesn't process this attachment.\n",
5469
+ "default": false
5470
+ }
5471
+ }
4778
5472
  }
4779
5473
  }
4780
5474
  }
@@ -4803,58 +5497,6 @@
4803
5497
  "default": 10
4804
5498
  }
4805
5499
  }
4806
- },
4807
- "CreateAttachmentUploadUrlParams": {
4808
- "type": "object",
4809
- "required": [
4810
- "filename",
4811
- "content_type"
4812
- ],
4813
- "properties": {
4814
- "filename": {
4815
- "type": "string",
4816
- "description": "File name",
4817
- "example": "Produktinformationen_epilot360_Double_Opt_in.pdf"
4818
- },
4819
- "content_type": {
4820
- "type": "string",
4821
- "description": "Content type",
4822
- "example": "application/pdf"
4823
- }
4824
- }
4825
- },
4826
- "AttachmentUploadUrl": {
4827
- "type": "object",
4828
- "required": [
4829
- "download_url",
4830
- "upload_url"
4831
- ],
4832
- "properties": {
4833
- "download_url": {
4834
- "type": "string",
4835
- "description": "URL to download the attachment. This URL is not accessible until attachment is uploaded successfully.",
4836
- "example": "https://go.epilot.cloud/attachments/3e7c616a-3e89-4f92-b4c5-ea5ab140e3dd/Produktinformationen_epilot360_Double_Opt_in.pdf"
4837
- },
4838
- "upload_url": {
4839
- "type": "object",
4840
- "required": [
4841
- "url",
4842
- "fields"
4843
- ],
4844
- "properties": {
4845
- "url": {
4846
- "type": "number",
4847
- "description": "URL to upload the attachment",
4848
- "example": "https://s3.eu-central-1.amazonaws.com/893487340562-message-attachment"
4849
- },
4850
- "fields": {
4851
- "type": "object",
4852
- "description": "Fields are provided by AWS to authenticate and validate the request. All fields should be included in form-data when performing upload request.",
4853
- "example": {}
4854
- }
4855
- }
4856
- }
4857
- }
4858
5500
  }
4859
5501
  }
4860
5502
  }