Projet

Général

Profil

Relevant Art » writeAPI.yaml

API Rest de l'eBox - Pierre Cros, 04 janvier 2019 10:41

 
1
swagger: '2.0'
2
info:
3
  description: >-
4
    RESTful API designed as the Message Registry Contracts of the Federated ebox
5
    for citizens.
6
  version: '1.6'
7
  title: Ebox Citizen REST service
8
  contact:
9
    name: Ebox Development Team
10
    url: 'http://www.smals.be'
11
    email: citizenfedbox@smals.be
12
  license:
13
    name: digitalbelgium
14
    url: 'http://digitalbelgium.be/'
15
basePath: /ebox/citizen/v2
16
tags:
17
  - name: Documentation
18
  - name: Ebox
19
  - name: Messages
20
  - name: ReferenceData
21
  - name: MetaAPI
22
  - name: JsonWebKey
23
schemes:
24
  - https
25
paths:
26
  /api:
27
    get:
28
      tags:
29
        - Documentation
30
      summary: List links
31
      description: ''
32
      operationId: get
33
      produces:
34
        - application/json
35
      parameters: []
36
      responses:
37
        '200':
38
          description: successful operation
39
          schema:
40
            $ref: '#/definitions/HalResource'
41
          headers:
42
            Link:
43
              type: string
44
              description: RFC 5988 Link Header
45
    options:
46
      tags:
47
        - Documentation
48
      summary: List links
49
      description: ''
50
      operationId: options
51
      produces:
52
        - application/json
53
      parameters: []
54
      responses:
55
        '200':
56
          description: successful operation
57
          schema:
58
            $ref: '#/definitions/HalResource'
59
          headers:
60
            Link:
61
              type: string
62
              description: RFC 5988 Link Header
63
  /api/doc:
64
    get:
65
      tags:
66
        - Documentation
67
      summary: Returns the API documentation in HTML format
68
      description: ''
69
      operationId: getApiDoc
70
      produces:
71
        - text/html
72
      parameters: []
73
      responses:
74
        '200':
75
          description: successful operation
76
          schema:
77
            type: string
78
  '/api/doc/jsonSchemas/{jsonSchema}':
79
    get:
80
      tags:
81
        - Documentation
82
      summary: Returns the JSON Schemas
83
      description: ''
84
      operationId: getJsonSchema
85
      produces:
86
        - application/json
87
      parameters:
88
        - name: jsonSchema
89
          in: path
90
          description: JSON Schema name
91
          required: true
92
          type: string
93
          pattern: .+
94
      responses:
95
        '200':
96
          description: successful operation
97
          schema:
98
            type: string
99
  /api/doc/swagger.json:
100
    get:
101
      tags:
102
        - Documentation
103
      summary: Returns the API documentation in JSON Swagger format
104
      description: ''
105
      operationId: getSwagger
106
      produces:
107
        - application/json
108
      parameters: []
109
      responses:
110
        '200':
111
          description: successful operation
112
          schema:
113
            type: string
114
  /ebox:
115
    get:
116
      tags:
117
        - Ebox
118
      summary: >-
119
        Get an ebox. The identification of the given (citizen) ebox is deducted
120
        from the OAuth2 AccessToken (via introspect call on the Authorization
121
        Server) used to call the REST service.
122
      description: ''
123
      operationId: getEBoxById
124
      produces:
125
        - application/json
126
      parameters: []
127
      responses:
128
        '200':
129
          description: successful operation
130
          schema:
131
            $ref: '#/definitions/Ebox'
132
        '400':
133
          description: Invalid acess token
134
          schema:
135
            $ref: '#/definitions/StatusMessage'
136
        '401':
137
          description: Invalid authorization for ebox
138
          schema:
139
            $ref: '#/definitions/StatusMessage'
140
        '404':
141
          description: Ebox not found
142
          schema:
143
            $ref: '#/definitions/StatusMessage'
144
  /ebox/messages:
145
    get:
146
      tags:
147
        - Messages
148
      summary: >-
149
        Get a collection of messages. Messages are the main elements contained
150
        in an ebox. A message is basically composed of a set of metadata (e.g.
151
        subject, receipt date, etc.), one body, one or more attachments.
152
      description: ''
153
      operationId: getMessagesByEBoxId
154
      produces:
155
        - application/json
156
      parameters:
157
        - name: page
158
          in: query
159
          description: The index of the current page of items.
160
          required: false
161
          type: integer
162
          default: 1
163
          minimum: 1
164
          format: int32
165
        - name: pageSize
166
          in: query
167
          description: The maximal number of results per page.
168
          required: false
169
          type: integer
170
          default: 25
171
          maximum: 100
172
          minimum: 1
173
          format: int32
174
        - name: receivedBefore
175
          in: query
176
          description: >-
177
            Select only the messages received before the given date. e.g.
178
            ?receivedBefore:2017-07-01
179
          required: false
180
          type: string
181
          format: date
182
        - name: receivedAfter
183
          in: query
184
          description: >-
185
            Select only the messages received after the given date. e.g.
186
            ?receivedAfter:2017-07-01
187
          required: false
188
          type: string
189
          format: date
190
        - name: expiredBefore
191
          in: query
192
          description: >-
193
            Select only the messages that will expire before the given date.
194
            e.g. ?expiredBefore:2017-07-01
195
          required: false
196
          type: string
197
          format: date
198
        - name: expiredAfter
199
          in: query
200
          description: >-
201
            Select only the messages that will expire after the given date. e.g.
202
            ?expiredAfter:2020-01-01
203
          required: false
204
          type: string
205
          format: date
206
        - name: readStatus
207
          in: query
208
          description: Indication of the readStatus
209
          required: false
210
          type: boolean
211
        - name: registeredMail
212
          in: query
213
          description: Indication if the message is a registered mail item
214
          required: false
215
          type: boolean
216
        - name: messageTypeId
217
          in: query
218
          description: The messageTypeId linked to this message
219
          required: false
220
          type: string
221
        - name: senderOrganizationId
222
          in: query
223
          description: The companyId of the sender
224
          required: false
225
          type: string
226
        - name: senderApplicationId
227
          in: query
228
          description: The applicationId of the sender
229
          required: false
230
          type: string
231
        - name: subject
232
          in: query
233
          description: Subject of the message
234
          required: false
235
          type: string
236
        - name: sort
237
          in: query
238
          description: >-
239
            Indication on which properties the list needs to be sorted, using a
240
            comma-separated list with the property name as value for ascending
241
            order and the property prefixed with '-' for descending
242
          required: false
243
          type: string
244
          default: '-receiptDate'
245
          enum:
246
            - '-receiptDate'
247
            - receiptDate
248
            - '-expirationDate'
249
            - expirationDate
250
            - '-readStatus'
251
            - readStatus
252
            - '-subjectFr'
253
            - subjectFr
254
            - '-subjectNl'
255
            - subjectNl
256
            - '-subjectDe'
257
            - subjectDe
258
            - '-subjectEn'
259
            - subjectEn
260
          x-example: '?sort=receiptDate&sort=-expirationDate'
261
      responses:
262
        '200':
263
          description: successful operation
264
          schema:
265
            $ref: '#/definitions/Messages'
266
        '400':
267
          description: Invalid access token supplied
268
          schema:
269
            $ref: '#/definitions/StatusMessage'
270
        '401':
271
          description: Invalid authorization for message
272
          schema:
273
            $ref: '#/definitions/StatusMessage'
274
        '404':
275
          description: Message not found
276
          schema:
277
            $ref: '#/definitions/StatusMessage'
278
  '/ebox/messages/{messageId}':
279
    get:
280
      tags:
281
        - Messages
282
      summary: Get a message by its messageId
283
      description: ''
284
      operationId: getMessageById
285
      produces:
286
        - application/json
287
      parameters:
288
        - name: messageId
289
          in: path
290
          description: The identifier of the message
291
          required: true
292
          type: string
293
      responses:
294
        '200':
295
          description: successful operation
296
          schema:
297
            $ref: '#/definitions/Message'
298
        '400':
299
          description: Invalid messageId supplied
300
          schema:
301
            $ref: '#/definitions/StatusMessage'
302
        '401':
303
          description: Invalid authorization for message
304
          schema:
305
            $ref: '#/definitions/StatusMessage'
306
        '404':
307
          description: Message not found
308
          schema:
309
            $ref: '#/definitions/StatusMessage'
310
  '/ebox/messages/{messageId}/attachments':
311
    get:
312
      tags:
313
        - Messages
314
      summary: Get a collection of attachment metadata by the messageId
315
      description: ''
316
      operationId: getAttachmentByMessageId
317
      produces:
318
        - application/json
319
      parameters:
320
        - name: messageId
321
          in: path
322
          description: The identifier of the message
323
          required: true
324
          type: string
325
      responses:
326
        '200':
327
          description: successful operation
328
          schema:
329
            $ref: '#/definitions/Attachments'
330
        '400':
331
          description: Invalid messageId supplied
332
          schema:
333
            $ref: '#/definitions/StatusMessage'
334
        '401':
335
          description: Invalid authorization for messageId
336
          schema:
337
            $ref: '#/definitions/StatusMessage'
338
        '404':
339
          description: messageId not found
340
          schema:
341
            $ref: '#/definitions/StatusMessage'
342
  '/ebox/messages/{messageId}/attachments/{attachmentId}':
343
    get:
344
      tags:
345
        - Messages
346
      summary: Get the attachment metadata by its attachmentId
347
      description: ''
348
      operationId: getAttachmentById
349
      produces:
350
        - application/json
351
      parameters:
352
        - name: messageId
353
          in: path
354
          description: The identifier of the message
355
          required: true
356
          type: string
357
        - name: attachmentId
358
          in: path
359
          description: The identifier of the attachment
360
          required: true
361
          type: string
362
      responses:
363
        '200':
364
          description: successful operation
365
          schema:
366
            $ref: '#/definitions/Attachment'
367
        '400':
368
          description: Invalid attachmentId supplied
369
          schema:
370
            $ref: '#/definitions/StatusMessage'
371
        '401':
372
          description: Invalid authorization for attachment
373
          schema:
374
            $ref: '#/definitions/StatusMessage'
375
        '404':
376
          description: Attachment not found
377
          schema:
378
            $ref: '#/definitions/StatusMessage'
379
  '/ebox/messages/{messageId}/attachments/{attachmentId}/content':
380
    get:
381
      tags:
382
        - Messages
383
      summary: Get the attachment content by its attachmentId
384
      description: ''
385
      operationId: getAttachmentContentById
386
      produces:
387
        - application/octet-stream
388
      parameters:
389
        - name: messageId
390
          in: path
391
          description: The identifier of the message
392
          required: true
393
          type: string
394
        - name: attachmentId
395
          in: path
396
          description: The identifier of the attachment
397
          required: true
398
          type: string
399
      responses:
400
        '200':
401
          description: successful operation
402
          schema:
403
            type: string
404
        '400':
405
          description: Invalid attachmentId supplied
406
          schema:
407
            $ref: '#/definitions/StatusMessage'
408
        '401':
409
          description: Invalid authorization for attachment
410
          schema:
411
            $ref: '#/definitions/StatusMessage'
412
        '404':
413
          description: Attachment not found
414
          schema:
415
            $ref: '#/definitions/StatusMessage'
416
  '/ebox/messages/{messageId}/body':
417
    get:
418
      tags:
419
        - Messages
420
      summary: Get the body content
421
      operationId: getBodyContent
422
      produces:
423
        - application/json
424
      parameters:
425
        - name: messageId
426
          in: path
427
          description: The identifier of the message
428
          required: true
429
          type: string
430
      responses:
431
        '200':
432
          description: successful operation
433
          schema:
434
            $ref: '#/definitions/TranslatedString'
435
        '400':
436
          description: Invalid messageId supplied
437
          schema:
438
            $ref: '#/definitions/StatusMessage'
439
        '401':
440
          description: Invalid authorization for body
441
          schema:
442
            $ref: '#/definitions/StatusMessage'
443
        '404':
444
          description: Body not found
445
          schema:
446
            $ref: '#/definitions/StatusMessage'
447
  '/ebox/messages/{messageId}/paymentData':
448
    get:
449
      tags:
450
        - Messages
451
      summary: Get the paymentData of a message
452
      description: ''
453
      operationId: getPaymentDataByMessageId
454
      produces:
455
        - application/json
456
      parameters:
457
        - name: messageId
458
          in: path
459
          description: The identifier of the message
460
          required: true
461
          type: string
462
      responses:
463
        '200':
464
          description: successful operation
465
          schema:
466
            $ref: '#/definitions/PaymentData'
467
        '401':
468
          description: Invalid authorization for paymentData
469
          schema:
470
            $ref: '#/definitions/StatusMessage'
471
        '404':
472
          description: PaymentData not found
473
          schema:
474
            $ref: '#/definitions/StatusMessage'
475
  /publishMessage:
476
    post:
477
      tags:
478
        - Messages
479
      summary: >-
480
        Publish a new message, using multipart request: one JSON as the message
481
        description and one or more attachments. The 'originalMessageId' tag in
482
        the JSON-part indicates a reply in a bidirectional flow.
483
      operationId: postMessage
484
      consumes:
485
        - multipart/form-data
486
      produces:
487
        - application/json
488
      parameters:
489
        - in: formData
490
          name: messageToPublish
491
          type: string
492
          required: true
493
          description: >-
494
            JSON-description of the message to Publish. See MessageToPublish
495
            definition.
496
          x-example: See MessageToPublish definition.
497
        - in: formData
498
          name: upfile1
499
          type: file
500
          required: false
501
        - in: formData
502
          name: upfile2
503
          type: file
504
          required: false
505
        - in: formData
506
          name: upfile3
507
          type: file
508
          required: false
509
      responses:
510
        '201':
511
          description: Created
512
          schema:
513
            $ref: '#/definitions/MessageSummary'
514
  /jwk:
515
    get:
516
      tags:
517
        - JsonWebKey
518
      summary: Returns its public RSA keys as a JSON Web Key (JWK) set.
519
      description: ''
520
      operationId: getPublicKey
521
      produces:
522
        - application/json
523
      parameters: []
524
      responses:
525
        '200':
526
          description: successful operation
527
          schema:
528
            type: string
529
  /referenceData/messagesOperations:
530
    get:
531
      tags:
532
        - MetaAPI
533
      summary: >-
534
        List all messagesOperations. This indicates which operations are
535
        available for the Messages resource on this messageProvider
536
      description: ''
537
      operationId: findAllMessagesOperations
538
      produces:
539
        - application/json
540
      parameters: []
541
      responses:
542
        '200':
543
          description: successful operation
544
          schema:
545
            $ref: '#/definitions/MessagesOperations'
546
        '404':
547
          description: messagesOperations not found
548
          schema:
549
            $ref: '#/definitions/StatusMessage'
550
  /referenceData/messageTypes:
551
    get:
552
      tags:
553
        - ReferenceData
554
      summary: >-
555
        Get a collection of messageTypeSummary. MessageTypes are the different
556
        types of messages defined by the senders. A messageType usually
557
        corresponds to a business category of a letter or document (e.g.
558
        attestation X., declaration Y., communication Z., etc.). 
559
      description: ''
560
      operationId: getAllMessagesTypes
561
      produces:
562
        - application/json
563
      parameters:
564
        - name: page
565
          in: query
566
          description: The index of the current page of items.
567
          required: false
568
          type: integer
569
          default: 1
570
          minimum: 1
571
          format: int32
572
        - name: pageSize
573
          in: query
574
          description: The maximal number of results per page.
575
          required: false
576
          type: integer
577
          default: 25
578
          maximum: 100
579
          minimum: 1
580
          format: int32
581
        - name: senderOrganizationId
582
          in: query
583
          description: The organizationId of the sender
584
          required: false
585
          type: string
586
        - name: senderApplicationId
587
          in: query
588
          description: The applicationId of the sender
589
          required: false
590
          type: string
591
        - name: name
592
          in: query
593
          description: Name of the messageType to search
594
          required: false
595
          type: string
596
        - name: sort
597
          in: query
598
          description: >-
599
            Indication on which properties the list needs to be sorted, using a
600
            comma-separated list with the property name as value for ascending
601
            order and the property prefixed with '-' for descending
602
          required: false
603
          type: string
604
          default: messageTypeId
605
          enum:
606
            - '-messageTypeId'
607
            - messageTypeId
608
            - '-messageTypeNameNl'
609
            - messageTypeNameNl
610
            - '-messageTypeNameFr'
611
            - messageTypeNameFr
612
            - '-messageTypeNameDe'
613
            - messageTypeNameDe
614
            - '-messageTypeNameEn'
615
            - messageTypeNameEn
616
            - '-validityPeriod'
617
            - validityPeriod
618
          x-example: '?sort=-validityPeriod&sort=messageTypeNameNl'
619
      responses:
620
        '200':
621
          description: successful operation
622
          schema:
623
            $ref: '#/definitions/MessageTypes'
624
        '401':
625
          description: Invalid authorization
626
          schema:
627
            $ref: '#/definitions/StatusMessage'
628
        '404':
629
          description: messageTypes not found
630
          schema:
631
            $ref: '#/definitions/StatusMessage'
632
  '/referenceData/messageTypes/{messageTypeId}':
633
    get:
634
      tags:
635
        - ReferenceData
636
      summary: >-
637
        Get a messageType by its messageTypeId. A messageType usually
638
        corresponds to a business category of a letter or document (e.g. attest
639
        X., declaration Y., communication Z., etc.). A messageType gives all the
640
        detailed information about a type of message, such as the name or the
641
        description.
642
      description: ''
643
      operationId: getMessageTypeById
644
      produces:
645
        - application/json
646
      parameters:
647
        - name: messageTypeId
648
          in: path
649
          description: The identifier of the messageType
650
          required: true
651
          type: string
652
      responses:
653
        '200':
654
          description: successful operation
655
          schema:
656
            $ref: '#/definitions/MessageType'
657
        '400':
658
          description: Invalid messageTypeId supplied
659
          schema:
660
            $ref: '#/definitions/StatusMessage'
661
        '404':
662
          description: messageTypeId not found
663
          schema:
664
            $ref: '#/definitions/StatusMessage'
665
  /referenceData/messageTypesOperations:
666
    get:
667
      tags:
668
        - MetaAPI
669
      summary: >-
670
        List all mesageTypesOperations. This indicates which operations are
671
        available for the messageTypes resource on this messageProvider
672
      description: ''
673
      operationId: findAllMessageTypesOperations
674
      produces:
675
        - application/json
676
      parameters: []
677
      responses:
678
        '200':
679
          description: successful operation
680
          schema:
681
            $ref: '#/definitions/MessageTypesOperations'
682
        '404':
683
          description: mesageTypesOperations not found
684
          schema:
685
            $ref: '#/definitions/StatusMessage'
686
  /referenceData/senderApplications:
687
    get:
688
      tags:
689
        - ReferenceData
690
      summary: >-
691
        List all senderApplications. SenderApplications are the different
692
        applications (online services...) that send messages.
693
      description: ''
694
      operationId: findAllSenderApplications
695
      produces:
696
        - application/json
697
      parameters:
698
        - name: page
699
          in: query
700
          description: The index of the current page of items.
701
          required: false
702
          type: integer
703
          default: 1
704
          minimum: 1
705
          format: int32
706
        - name: pageSize
707
          in: query
708
          description: The maximal number of results per page
709
          required: false
710
          type: integer
711
          default: 25
712
          maximum: 100
713
          minimum: 1
714
          format: int32
715
        - name: senderOrganizationId
716
          in: query
717
          description: The organizationId of the sender
718
          required: false
719
          type: string
720
        - name: messageTypeId
721
          in: query
722
          description: The messageTypeId of the messageType
723
          required: false
724
          type: string
725
        - name: name
726
          in: query
727
          description: Name of the sender Application to search
728
          required: false
729
          type: string
730
        - name: sort
731
          in: query
732
          description: >-
733
            Indication on which properties the list needs to be sorted, using a
734
            comma-separated list with the property name as value for ascending
735
            order and the property prefixed with '-' for descending
736
          required: false
737
          type: string
738
          default: applicationId
739
          enum:
740
            - '-applicationId'
741
            - applicationId
742
            - '-applicationNameNl'
743
            - applicationNameNl
744
            - '-applicationNameFr'
745
            - applicationNameFr
746
            - '-applicationNameDe'
747
            - applicationNameDe
748
            - '-applicationNameEn'
749
            - applicationNameEn
750
          x-example: '?sort=-applicationNameNl'
751
      responses:
752
        '200':
753
          description: successful operation
754
          schema:
755
            $ref: '#/definitions/SenderApplications'
756
        '401':
757
          description: Invalid authorization for senderApplications
758
          schema:
759
            $ref: '#/definitions/StatusMessage'
760
        '404':
761
          description: senderApplications not found
762
          schema:
763
            $ref: '#/definitions/StatusMessage'
764
  '/referenceData/senderApplications/{senderApplicationId}':
765
    get:
766
      tags:
767
        - ReferenceData
768
      summary: Get a senderApplication by its senderApplicationId
769
      description: ''
770
      operationId: getSenderApplicationById
771
      produces:
772
        - application/json
773
      parameters:
774
        - name: senderApplicationId
775
          in: path
776
          description: The applicationId of the sender
777
          required: true
778
          type: string
779
      responses:
780
        '200':
781
          description: successful operation
782
          schema:
783
            $ref: '#/definitions/SenderApplication'
784
        '400':
785
          description: Invalid senderApplicationId supplied
786
          schema:
787
            $ref: '#/definitions/StatusMessage'
788
        '404':
789
          description: senderApplicationId not found
790
          schema:
791
            $ref: '#/definitions/StatusMessage'
792
  '/referenceData/senderApplications/{senderApplicationId}/images/{imageId}/{formatId}/content':
793
    get:
794
      tags:
795
        - ReferenceData
796
      summary: Get an image by its imageId
797
      description: ''
798
      operationId: getImageForSenderApplication
799
      produces:
800
        - application/octet-stream
801
      parameters:
802
        - name: imageId
803
          in: path
804
          description: The identifier of the image
805
          required: true
806
          type: string
807
        - name: senderApplicationId
808
          in: path
809
          description: The identifier of the application
810
          required: true
811
          type: string
812
        - name: formatId
813
          in: path
814
          description: The size of the image
815
          required: true
816
          type: string
817
      responses:
818
        '200':
819
          description: successful operation
820
          schema:
821
            type: string
822
        '400':
823
          description: Invalid imageId supplied
824
          schema:
825
            $ref: '#/definitions/StatusMessage'
826
        '404':
827
          description: Image not found
828
          schema:
829
            $ref: '#/definitions/StatusMessage'
830
  /referenceData/senderApplicationsOperations:
831
    get:
832
      tags:
833
        - MetaAPI
834
      summary: >-
835
        List all senderApplicationsOperations. This indicates which operations
836
        are available for the senderApplications resource on this
837
        messageProvider
838
      description: ''
839
      operationId: findAllSenderApplicationsOperations
840
      produces:
841
        - application/json
842
      parameters: []
843
      responses:
844
        '200':
845
          description: successful operation
846
          schema:
847
            $ref: '#/definitions/SenderApplicationsOperations'
848
        '404':
849
          description: senderApplicationsOperations not found
850
          schema:
851
            $ref: '#/definitions/StatusMessage'
852
  /referenceData/senderOrganizations:
853
    get:
854
      tags:
855
        - ReferenceData
856
      summary: >-
857
        List all senderOrganizations. SenderOrganizations are the different
858
        organizations (Institutions, companies...) that send messages.
859
      description: ''
860
      operationId: findAllSenderOrganizations
861
      produces:
862
        - application/json
863
      parameters:
864
        - name: page
865
          in: query
866
          description: The index of the current page of items
867
          required: false
868
          type: integer
869
          default: 1
870
          minimum: 1
871
          format: int32
872
        - name: pageSize
873
          in: query
874
          description: The maximal number of results per page
875
          required: false
876
          type: integer
877
          default: 25
878
          maximum: 100
879
          minimum: 1
880
          format: int32
881
        - name: senderApplicationId
882
          in: query
883
          description: The applicationId of the sender
884
          required: false
885
          type: string
886
        - name: messageTypeId
887
          in: query
888
          description: The messageTypeId of the messageType
889
          required: false
890
          type: string
891
        - name: name
892
          in: query
893
          description: Name of the sender to search
894
          required: false
895
          type: string
896
        - name: sort
897
          in: query
898
          description: >-
899
            Indication on which properties the list needs to be sorted, using a
900
            comma-separated list with the property name as value for ascending
901
            order and the property prefixed with '-' for descending
902
          required: false
903
          type: string
904
          default: organizationId
905
          enum:
906
            - '-organizationId'
907
            - organizationId
908
            - '-organizationShortNameNl'
909
            - organizationShortNameNl
910
            - '-organizationShortNameFr'
911
            - organizationShortNameFr
912
            - '-organizationShortNameDe'
913
            - organizationShortNameDe
914
            - '-organizationShortNameEn'
915
            - organizationShortNameEn
916
          x-example: '?sort=-organizationShortNameNl'
917
      responses:
918
        '200':
919
          description: successful operation
920
          schema:
921
            $ref: '#/definitions/SenderOrganizations'
922
        '401':
923
          description: Invalid authorization for senderOrganizations
924
          schema:
925
            $ref: '#/definitions/StatusMessage'
926
        '404':
927
          description: senderOrganizations not found
928
          schema:
929
            $ref: '#/definitions/StatusMessage'
930
  '/referenceData/senderOrganizations/{senderOrganizationId}':
931
    get:
932
      tags:
933
        - ReferenceData
934
      summary: Get a senderOrganization by its companyId
935
      description: ''
936
      operationId: getSenderOrganizationById
937
      produces:
938
        - application/json
939
      parameters:
940
        - name: senderOrganizationId
941
          in: path
942
          description: The organizationId of the sender
943
          required: true
944
          type: string
945
      responses:
946
        '200':
947
          description: successful operation
948
          schema:
949
            $ref: '#/definitions/SenderOrganization'
950
        '400':
951
          description: Invalid senderOrganizationId supplied
952
          schema:
953
            $ref: '#/definitions/StatusMessage'
954
        '404':
955
          description: senderOrganizationId not found
956
          schema:
957
            $ref: '#/definitions/StatusMessage'
958
  '/referenceData/senderOrganizations/{senderOrganizationId}/images/{imageId}/{formatId}/content':
959
    get:
960
      tags:
961
        - ReferenceData
962
      summary: Get an image by its imageId
963
      description: ''
964
      operationId: getImageForSenderOrganization
965
      produces:
966
        - application/octet-stream
967
      parameters:
968
        - name: imageId
969
          in: path
970
          description: The identifier of the image
971
          required: true
972
          type: string
973
        - name: senderOrganizationId
974
          in: path
975
          description: The identifier of the institution
976
          required: true
977
          type: string
978
        - name: formatId
979
          in: path
980
          description: The size of the image
981
          required: true
982
          type: string
983
      responses:
984
        '200':
985
          description: successful operation
986
          schema:
987
            type: string
988
        '400':
989
          description: Invalid imageId supplied
990
          schema:
991
            $ref: '#/definitions/StatusMessage'
992
        '404':
993
          description: Image not found
994
          schema:
995
            $ref: '#/definitions/StatusMessage'
996
  /referenceData/senderOrganizationsOperations:
997
    get:
998
      tags:
999
        - MetaAPI
1000
      summary: >-
1001
        List all senderOrganizationsOperations. This indicates which operations
1002
        are available for the senderOrganizations resource on this
1003
        messageProvider
1004
      description: ''
1005
      operationId: findAllSenderOrganizationsOperations
1006
      produces:
1007
        - application/json
1008
      parameters: []
1009
      responses:
1010
        '200':
1011
          description: successful operation
1012
          schema:
1013
            $ref: '#/definitions/SenderOrganizationsOperations'
1014
        '404':
1015
          description: senderOrganizationsOperations not found
1016
          schema:
1017
            $ref: '#/definitions/StatusMessage'
1018
definitions:
1019
  Attachment:
1020
    type: object
1021
    properties:
1022
      attachmentId:
1023
        type: string
1024
        description: Unique identifier of the attachment
1025
      attachmentTitle:
1026
        description: >-
1027
          Common type defined to provide a string value for each supported
1028
          language among nl, fr, de, en
1029
        $ref: '#/definitions/TranslatedString'
1030
      mainContent:
1031
        type: boolean
1032
        description: >-
1033
          Indicates the priority of this attachment: 'true' means that this
1034
          attachment is considered as main content of the message, 'false' means
1035
          this attachment is considered as an annex. Attention, the readStatus
1036
          of a message will be true as soon as a 'mainContent' is consulted.
1037
      mediaType:
1038
        type: string
1039
        description: Standardized identifier for file formats following RFC2046
1040
        enum:
1041
          - APPLICATION/PDF
1042
          - APPLICATION/ZIP
1043
          - TEXT/CSV
1044
          - TEXT/HTML
1045
          - TEXT/PLAIN
1046
          - TEXT/XML
1047
          - APPLICATION/VND.OASIS.OPENATTACHMENT.TEXT
1048
          - APPLICATION/VND.OASIS.OPENATTACHMENT.SPREADSHEET
1049
          - APPLICATION/VND.OASIS.OPENATTACHMENT.PRESENTATION
1050
          - APPLICATION/VND.OASIS.OPENATTACHMENT.GRAPHICS
1051
          - APPLICATION/VND.MS.EXCEL
1052
          - APPLICATION/VND.OPENXMLFORMATS.OFFICEATTACHMENT.SPREADSHEETML.SHEET
1053
          - APPLICATION/VND.MS.POWERPOINT
1054
          - APPLICATION/MSWORD
1055
          - >-
1056
            APPLICATION/VND.OPENXMLFORMATS.OFFICEDOCUMENT.WORDPROCESSINGML.DOCUMENT
1057
      size:
1058
        type: number
1059
        format: double
1060
        example: 1800
1061
        description: 'Size of the attachment, expressed in kB'
1062
      digest:
1063
        description: >-
1064
          Object containing the digestValue and digestMethod describing the
1065
          cryptographic hash function of an item
1066
        $ref: '#/definitions/Digest'
1067
      attachmentSigned:
1068
        type: boolean
1069
        description: Boolean used to indicate if the attachment is signed or not.
1070
        default: false
1071
      contentHref:
1072
        type: string
1073
        format: uri
1074
        description: URL to the content of the attachment
1075
      _links:
1076
        description: Object of links with the rels as the keys
1077
        $ref: '#/definitions/HalLinks'
1078
    description: >-
1079
      An attachment item contains all the metadata of an attachment and the link
1080
      to the attachtment content itself
1081
  Attachments:
1082
    type: object
1083
    properties:
1084
      items:
1085
        type: array
1086
        items:
1087
          $ref: '#/definitions/Attachment'
1088
      totalItems:
1089
        type: integer
1090
        format: int32
1091
      _links:
1092
        description: Object of links with the rels as the keys
1093
        $ref: '#/definitions/HalLinks'
1094
    description: >-
1095
      A paged list of attachments containing the metadata of the attachments and
1096
      link to the attachtment itself
1097
  Detail:
1098
    type: object
1099
    properties:
1100
      kind:
1101
        type: object
1102
      message:
1103
        type: object
1104
      ref:
1105
        type: object
1106
      value:
1107
        type: object
1108
  Digest:
1109
    type: object
1110
    required:
1111
      - digestMethod
1112
      - digestValue
1113
    properties:
1114
      digestValue:
1115
        type: string
1116
        description: Digest value returned by the cryptographic hash function
1117
      digestMethod:
1118
        type: string
1119
        description: Cryptographic hash function used to obtain the digest
1120
        enum:
1121
          - SHA_256
1122
          - SHA_512
1123
    description: >-
1124
      Object containing the digestValue and digestMethod describing the
1125
      cryptographic hash function of an item
1126
  Ebox:
1127
    type: object
1128
    required:
1129
      - numberOfMessages
1130
    properties:
1131
      numberOfMessages:
1132
        type: integer
1133
        format: int32
1134
        example: 36
1135
        description: Total number of messages available in this ebox.
1136
      numberOfUnreadMessages:
1137
        type: integer
1138
        format: int32
1139
        example: 2
1140
        description: Number of unread messages in this ebox.
1141
      lastReceiptDate:
1142
        type: string
1143
        format: date-time
1144
        example: '2017-07-24T09:26:00Z'
1145
        description: >-
1146
          Receipt date (date-time format: yyyy-MM-dd'T'HH:mm:ssXXX) of the most
1147
          recent message in this ebox.
1148
      lastConsultationDate:
1149
        type: string
1150
        format: date-time
1151
        example: '2017-08-01T15:34:00Z'
1152
        description: Date-time of the last moment when the ebox was accessed
1153
      eboxSize:
1154
        type: number
1155
        format: double
1156
        example: 1800
1157
        description: >-
1158
          Cumulative total of attachments sizes (related to all the available
1159
          messages in this ebox), expressed in kilobytes (1 kilobyte = 1024
1160
          bytes).
1161
      _links:
1162
        description: Object of links with the rels as the keys
1163
        $ref: '#/definitions/HalLinks'
1164
    description: >-
1165
      An ebox represents the electronic post-box, made available by a given
1166
      MessageRegistry Provider.
1167
  HalLink:
1168
    type: object
1169
    required:
1170
      - href
1171
    properties:
1172
      href:
1173
        type: string
1174
        format: uri
1175
        description: 'Its value is either a URI [RFC3986] or a URI Template [RFC6570].'
1176
      hreflang:
1177
        type: string
1178
        description: >-
1179
          When present, is a hint in RFC5646 format indicating what the language
1180
          of the result of dereferencing the link should be.  Note that this is
1181
          only a hint; for example, it does not override the Content-Language
1182
          header of a HTTP response obtained by actually following the link.
1183
        pattern: >-
1184
          ^([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){0,2})?(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-([a-zA-Z0-9]{5,8}|[0-9][a-zA-Z0-9]{3}))*([0-9A-WY-Za-wy-z](-[a-zA-Z0-9]{2,8}){1,})*(x-[a-zA-Z0-9]{2,8})?)|(x-[a-zA-Z0-9]{2,8})|(en-GB-oed)|(i-ami)|(i-bnn)|(i-default)|(i-enochian)|(i-hak)|(i-klingon)|(i-lux)|(i-mingo)|(i-navajo)|(i-pwn)|(i-tao)|(i-tay)|(i-tsu)|(sgn-BE-FR)|(sgn-BE-NL)|(sgn-CH-DE)|(art-lojban)|(cel-gaulish)|(no-bok)|(no-nyn)|(zh-guoyu)|(zh-hakka)|(zh-min)|(zh-min-nan)|(zh-xiang)$
1185
      templated:
1186
        type: boolean
1187
        description: >-
1188
          Its value is boolean and SHOULD be true when the Link Object's href
1189
          property is a URI Template.
1190
        default: false
1191
      type:
1192
        type: string
1193
        description: >-
1194
          Its value is a string used as a hint to indicate the media type
1195
          expected when dereferencing the target resource.
1196
      deprecation:
1197
        type: boolean
1198
        description: >-
1199
          Its presence indicates that the link is to be deprecated (i.e.
1200
          removed) at a future date. Its value is a URL that SHOULD provide
1201
          further information about the deprecation.
1202
        default: false
1203
      name:
1204
        type: string
1205
        description: >-
1206
          Its value MAY be used as a secondary key for selecting Link Objects
1207
          which share the same relation type.
1208
      title:
1209
        type: string
1210
        description: >-
1211
          Its value is a string and is intended for labelling the link with a
1212
          human-readable identifier (as defined by [RFC5988]).
1213
  HalLinks:
1214
    type: object
1215
    properties:
1216
      self:
1217
        $ref: '#/definitions/HalLink'
1218
    description: Object of links with the rels as the keys
1219
  HalResource:
1220
    type: object
1221
    properties:
1222
      _links:
1223
        description: Object of links with the rels as the keys
1224
        $ref: '#/definitions/HalLinks'
1225
    description: A resource modeled after the HAL specification
1226
  Image:
1227
    type: object
1228
    required:
1229
      - contentHref
1230
      - format
1231
      - size
1232
    properties:
1233
      imageId:
1234
        type: string
1235
        description: Identifier of the image
1236
      format:
1237
        type: string
1238
        description: >-
1239
          Size of the image defined in one of the available sizes: small (less
1240
          then 100px), medium (between 100px and 500px) and large (more than
1241
          500px)
1242
        enum:
1243
          - SMALL
1244
          - MEDIUM
1245
          - LARGE
1246
      size:
1247
        type: number
1248
        format: double
1249
        example: 1800
1250
        description: 'Size of the image, expressed in kB'
1251
      mediaType:
1252
        type: string
1253
        description: Format of the image following RFC2046
1254
        enum:
1255
          - IMAGE/JPG
1256
          - IMAGE/JPEG
1257
          - IMAGE/PNG
1258
          - IMAGE/GIF
1259
          - IMAGE/BMP
1260
          - IMAGE/SVG+XML
1261
      language:
1262
        type: string
1263
        description: Language of the image
1264
      contentHref:
1265
        type: string
1266
        format: uri
1267
      _links:
1268
        description: Object of links with the rels as the keys
1269
        $ref: '#/definitions/HalLinks'
1270
    description: An image gives the metadata and the base64 content of the image
1271
  Message:
1272
    type: object
1273
    required:
1274
      - expirationDate
1275
      - messageId
1276
      - messageTypeId
1277
      - readStatus
1278
      - receiptDate
1279
      - registeredMail
1280
      - senderOrganizationId
1281
      - subject
1282
    properties:
1283
      messageId:
1284
        type: string
1285
        description: Unique identifier of the message in the ebox.
1286
      originalMessageId:
1287
        type: string
1288
        description: Id of the original message (bidirectional use case).
1289
      subject:
1290
        description: >-
1291
          Common type defined to provide a string value for each supported
1292
          language among nl, fr, de, en
1293
        $ref: '#/definitions/TranslatedString'
1294
      receiptDate:
1295
        type: string
1296
        format: date-time
1297
        description: >-
1298
          Date-time (yyyy-MM-dd'T'HH:mm:ssXXX) when the message was received in
1299
          the ebox.
1300
      expirationDate:
1301
        type: string
1302
        format: date-time
1303
        description: >-
1304
          Date-time (yyyy-MM-dd'T'HH:mm:ssXXX) when the message will expire in
1305
          the ebox.
1306
      readStatus:
1307
        type: boolean
1308
        description: Indicates whether or not the message has already been opened.
1309
        default: false
1310
      registeredMail:
1311
        type: boolean
1312
        description: >-
1313
          Indicates whether or not the message was published as a registered
1314
          mail in the ebox.
1315
        default: false
1316
      messageTypeId:
1317
        type: string
1318
        description: Identifier of a messageType
1319
      senderOrganizationId:
1320
        type: string
1321
        example: 0406798006
1322
        description: Enterprise number (BCE - KBO number) of the sender organisation
1323
        pattern: '[0-1][0-9]{9}'
1324
      senderApplicationId:
1325
        type: string
1326
        description: Identifier of the senderApplication
1327
      attachments:
1328
        $ref: '#/definitions/Attachments'
1329
      bodyMainContent:
1330
        type: boolean
1331
        description: >-
1332
          This property must be present only if there is a body. Indicates the
1333
          priority of the bodyContent: 'true' means that the body is considered
1334
          as main content of the message, 'false' means it is considered as an
1335
          annex. Attention, the readStatus of a message will be true as soon as
1336
          a 'mainContent' is consulted.
1337
        default: false
1338
      paymentData:
1339
        description: Data concerning payments
1340
        $ref: '#/definitions/PaymentData'
1341
      _links:
1342
        description: Object of links with the rels as the keys
1343
        $ref: '#/definitions/HalLinks'
1344
    description: >-
1345
      A message is basically composed of a set of metadata (e.g. subject,
1346
      receipt date, read status, etc.), one body, one or more attachments.
1347
  MessageSummary:
1348
    type: object
1349
    required:
1350
      - messageId
1351
      - subject
1352
      - messageTypeId
1353
      - readStatus
1354
      - receiptDate
1355
      - registeredMail
1356
      - senderOrganizationId
1357
    properties:
1358
      messageId:
1359
        type: string
1360
        description: Unique identifier of the message in the ebox.
1361
      originalMessageId:
1362
        type: string
1363
        description: Id of the original message (bidirectional use case).
1364
      subject:
1365
        description: >-
1366
          Common type defined to provide a string value for each supported
1367
          language among nl, fr, de, en
1368
        $ref: '#/definitions/TranslatedString'
1369
      receiptDate:
1370
        type: string
1371
        format: date-time
1372
        description: >-
1373
          Date-time (yyyy-MM-dd'T'HH:mm:ssXXX) when the message was received in
1374
          the ebox.
1375
      expirationDate:
1376
        type: string
1377
        format: date-time
1378
        description: >-
1379
          Date-time (yyyy-MM-dd'T'HH:mm:ssXXX) when the message will expire in
1380
          the ebox.
1381
      readStatus:
1382
        type: boolean
1383
        description: Indicates whether or not the message has already been opened.
1384
        default: false
1385
      registeredMail:
1386
        type: boolean
1387
        description: >-
1388
          Indicates whether or not the message was published as a registered
1389
          mail in the ebox.
1390
        default: false
1391
      messageTypeId:
1392
        type: string
1393
        description: Identifier of a messageType
1394
      senderOrganizationId:
1395
        type: string
1396
        example: 0406798006
1397
        description: Enterprise number (BCE - KBO number) of the sender organisation
1398
        pattern: '[0-1][0-9]{9}'
1399
      senderApplicationId:
1400
        type: string
1401
        description: Identifier of the senderApplication
1402
      _links:
1403
        description: Object of links with the rels as the keys
1404
        $ref: '#/definitions/HalLinks'
1405
    description: A messageSummary contains the main attributes of a message
1406
  MessageToPublish:
1407
    type: object
1408
    description: >-
1409
      A messageToPublish is basically composed of a mandatory set of metadata
1410
      (e.g. recipient, subject, messageTypId, etc.), optional body, optional
1411
      attachment(s).
1412
    required:
1413
      - subject
1414
      - messageTypeId
1415
      - senderOrganizationId
1416
      - nrn
1417
    properties:
1418
      originalMessageId:
1419
        type: string
1420
        description: Id of the original message (bidirectional use case).
1421
      nrn:
1422
        description: >-
1423
          The national registry number (rijksregisternummer / numéro de registre
1424
          national) is the identifier of the recipient ebox.
1425
        type: string
1426
      subject:
1427
        description: Subject is the title of the message in each language.
1428
        $ref: '#/definitions/TranslatedString'
1429
      messageTypeId:
1430
        type: string
1431
        description: Identifier of a messageType
1432
      senderOrganizationId:
1433
        type: string
1434
        example: 0406798006
1435
        description: Enterprise number (BCE - KBO number) of the sender organization
1436
        pattern: '[0-1][0-9]{9}'
1437
      senderApplicationId:
1438
        type: string
1439
        description: Identifier of the senderApplication
1440
      registeredMail:
1441
        type: boolean
1442
        description: >-
1443
          Indicates whether or not the message was published as a registered
1444
          mail in the ebox. Attention, publish a registeredMail to EBOX is only
1445
          possible for EPOST service.
1446
        default: false
1447
      attachments:
1448
        type: object
1449
        description: A list of attachments
1450
        properties:
1451
          items:
1452
            type: array
1453
            items:
1454
              $ref: '#/definitions/Attachment'
1455
          totalItems:
1456
            type: integer
1457
            format: int32
1458
          _links:
1459
            description: Object of links with the rels as the keys
1460
            $ref: '#/definitions/HalLinks'
1461
      bodyMainContent:
1462
        type: boolean
1463
        description: >-
1464
          This property must be present only if there is a body. Indicates the
1465
          priority of the bodyContent: 'true' means that the body is considered
1466
          as main content of the message, 'false' means it is considered as an
1467
          annex. Attention, the readStatus of a message will be true as soon as
1468
          a 'mainContent' is consulted.
1469
        default: false
1470
      bodyContent:
1471
        $ref: '#/definitions/TranslatedString'
1472
      paymentData:
1473
        type: object
1474
        description: The paymentData linked to the message being published
1475
        $ref: '#/definitions/PaymentData'
1476
  MessageType:
1477
    type: object
1478
    required:
1479
      - messageTypeId
1480
      - messageTypeName
1481
      - senderOrganizationIds
1482
    properties:
1483
      messageTypeId:
1484
        type: string
1485
        description: Identifier of a messageType
1486
      messageTypeName:
1487
        description: >-
1488
          Common type defined to provide a string value for each supported
1489
          language among nl, fr, de, en
1490
        $ref: '#/definitions/TranslatedString'
1491
      messageTypeDescription:
1492
        description: >-
1493
          Common type defined to provide a string value for each supported
1494
          language among nl, fr, de, en
1495
        $ref: '#/definitions/TranslatedString'
1496
      validityPeriod:
1497
        description: >-
1498
          Validity period of the messageType, indicating when messages of this
1499
          type expire and are no longer available
1500
        $ref: '#/definitions/ValidityPeriod'
1501
      senderOrganizationIds:
1502
        type: array
1503
        description: >-
1504
          Array of senderOrganization identifiers that can publish messages of
1505
          this messageType
1506
        items:
1507
          type: string
1508
      senderApplicationIds:
1509
        type: array
1510
        description: >-
1511
          Array of senderApplication identifiers that can publish messages of
1512
          this messageType
1513
        items:
1514
          type: string
1515
      _links:
1516
        description: Object of links with the rels as the keys
1517
        $ref: '#/definitions/HalLinks'
1518
    description: >-
1519
      A MessageType corresponds to a business category of a letter or document
1520
      (e.g. attestation X., declaration Y., communication Z., etc.). 
1521
  MessageTypeSummary:
1522
    type: object
1523
    required:
1524
      - messageTypeId
1525
      - messageTypeName
1526
      - senderOrganizationIds
1527
    properties:
1528
      messageTypeId:
1529
        type: string
1530
        description: Identifier of a messageType
1531
      messageTypeName:
1532
        description: >-
1533
          Common type defined to provide a string value for each supported
1534
          language among nl, fr, de, en
1535
        $ref: '#/definitions/TranslatedString'
1536
      senderOrganizationIds:
1537
        type: array
1538
        description: >-
1539
          Array of senderOrganization identifiers that can publish messages of
1540
          this messageType
1541
        items:
1542
          type: string
1543
      senderApplicationIds:
1544
        type: array
1545
        description: >-
1546
          Array of senderApplication identifiers that can publish messages of
1547
          this messageType
1548
        items:
1549
          type: string
1550
      _links:
1551
        description: Object of links with the rels as the keys
1552
        $ref: '#/definitions/HalLinks'
1553
    description: A messageTypeSummary contains the main attributes of a messageType
1554
  MessageTypes:
1555
    type: object
1556
    properties:
1557
      items:
1558
        type: array
1559
        items:
1560
          $ref: '#/definitions/MessageTypeSummary'
1561
      totalItems:
1562
        type: integer
1563
        format: int32
1564
      _links:
1565
        description: Object of links with the rels as the keys
1566
        $ref: '#/definitions/HalLinks'
1567
    description: >-
1568
      A paged list of messageTypeSummaries. MessageTypes are the different types
1569
      of messages defined by the senders. A messageType usually corresponds to a
1570
      business category of a letter or document (e.g. attestation X.,
1571
      declaration Y., communication Z., etc.). 
1572
  MessageTypesOperations:
1573
    type: object
1574
    required:
1575
      - name
1576
      - senderApplicationId
1577
      - senderOrganizationId
1578
      - sort
1579
    properties:
1580
      senderOrganizationId:
1581
        type: boolean
1582
        description: >-
1583
          Indication if the senderOrganizationId is supported as a query
1584
          parameter.
1585
        default: false
1586
      senderApplicationId:
1587
        type: boolean
1588
        description: >-
1589
          Indication if the senderApplicationId is supported as a query
1590
          parameter.
1591
        default: false
1592
      name:
1593
        type: boolean
1594
        description: Indication if searching on a name is supported as a query parameter.
1595
        default: false
1596
      sort:
1597
        description: Indication on which elements sorting is possible.
1598
        $ref: '#/definitions/MessageTypesSortOperations'
1599
    description: >-
1600
      The overview of operations that are available on the messageTypes resource
1601
      for the current messageProvider.
1602
  MessageTypesSortOperations:
1603
    type: object
1604
    required:
1605
      - messageTypeId
1606
      - messageTypeNameDe
1607
      - messageTypeNameEn
1608
      - messageTypeNameFr
1609
      - messageTypeNameNl
1610
    properties:
1611
      messageTypeId:
1612
        type: boolean
1613
        description: >-
1614
          Indication if order by messageTypeId is supported as a query
1615
          parameter.
1616
        default: false
1617
      messageTypeNameNl:
1618
        type: boolean
1619
        description: >-
1620
          Indication if order by messageTypeNameNl is supported as a query
1621
          parameter.
1622
        default: false
1623
      messageTypeNameFr:
1624
        type: boolean
1625
        description: >-
1626
          Indication if order by messageTypeNameFr is supported as a query
1627
          parameter.
1628
        default: false
1629
      messageTypeNameDe:
1630
        type: boolean
1631
        description: >-
1632
          Indication if order by messageTypeNameDe is supported as a query
1633
          parameter.
1634
        default: false
1635
      messageTypeNameEn:
1636
        type: boolean
1637
        description: >-
1638
          Indication if order by messageTypeNameEn is supported as a query
1639
          parameter.
1640
        default: false
1641
    description: Indication on which elements sorting is possible.
1642
  Messages:
1643
    type: object
1644
    properties:
1645
      items:
1646
        type: array
1647
        items:
1648
          $ref: '#/definitions/MessageSummary'
1649
      totalItems:
1650
        type: integer
1651
        format: int32
1652
      _links:
1653
        description: Object of links with the rels as the keys
1654
        $ref: '#/definitions/HalLinks'
1655
    description: >-
1656
      A paged list of messageSummaries. Messages are the main elements contained
1657
      in an ebox. A message is basically composed of a set of metadata (e.g.
1658
      subject, receipt date, etc.) and the content, being one body and/or one or
1659
      more attachments.
1660
  MessagesOperations:
1661
    type: object
1662
    required:
1663
      - expiredAfter
1664
      - expiredBefore
1665
      - messageTypeId
1666
      - readStatus
1667
      - registeredMail
1668
      - receivedAfter
1669
      - receivedBefore
1670
      - senderApplicationId
1671
      - senderOrganizationId
1672
      - sort
1673
      - subject
1674
    properties:
1675
      receivedBefore:
1676
        type: boolean
1677
        description: Indication if receivedBefore is supported as a query parameter.
1678
        default: false
1679
      receivedAfter:
1680
        type: boolean
1681
        description: Indication if receivedAfter is supported as a query parameter.
1682
        default: false
1683
      expiredBefore:
1684
        type: boolean
1685
        description: Indication if expiredBefore is supported as a query parameter.
1686
        default: false
1687
      expiredAfter:
1688
        type: boolean
1689
        description: Indication if expiredAfter is supported as a query parameter.
1690
        default: false
1691
      readStatus:
1692
        type: boolean
1693
        description: Indication if the readStatus is supported as a query parameter.
1694
        default: false
1695
      registeredMail:
1696
        type: boolean
1697
        description: Indication if registeredMail is supported as a query parameter.
1698
        default: false
1699
      messageTypeId:
1700
        type: boolean
1701
        description: Indication if the messageTypeId is supported as a query parameter.
1702
        default: false
1703
      senderOrganizationId:
1704
        type: boolean
1705
        description: >-
1706
          Indication if the senderOrganizationId is supported as a query
1707
          parameter.
1708
        default: false
1709
      senderApplicationId:
1710
        type: boolean
1711
        description: >-
1712
          Indication if the senderApplicationId is supported as a query
1713
          parameter.
1714
        default: false
1715
      subject:
1716
        type: boolean
1717
        description: >-
1718
          Indication if searching on a subject is supported as a query
1719
          parameter.
1720
        default: false
1721
      sort:
1722
        description: Indication on which elements sorting is possible.
1723
        $ref: '#/definitions/MessagesSortOperations'
1724
    description: >-
1725
      The overview of operations that are available on the messages resource for
1726
      the current messageProvider.
1727
  MessagesSortOperations:
1728
    type: object
1729
    required:
1730
      - expirationDate
1731
      - readStatus
1732
      - registeredMail
1733
      - receiptDate
1734
      - subjectDe
1735
      - subjectEn
1736
      - subjectFr
1737
      - subjectNl
1738
    properties:
1739
      receiptDate:
1740
        type: boolean
1741
        description: Indication if order by receiptDate is supported as a query parameter.
1742
        default: false
1743
      expirationDate:
1744
        type: boolean
1745
        description: >-
1746
          Indication if order by expirationDate is supported as a query
1747
          parameter.
1748
        default: false
1749
      readStatus:
1750
        type: boolean
1751
        description: Indication if order by readStatus is supported as a query parameter.
1752
        default: false
1753
      registeredMail:
1754
        type: boolean
1755
        description: >-
1756
          Indication if order by registeredMail is supported as a query
1757
          parameter.
1758
        default: false
1759
      subjectNl:
1760
        type: boolean
1761
        description: Indication if order by subjectNl is supported as a query parameter.
1762
        default: false
1763
      subjectFr:
1764
        type: boolean
1765
        description: Indication if order by subjectFr is supported as a query parameter.
1766
        default: false
1767
      subjectDe:
1768
        type: boolean
1769
        description: Indication if order by subjectDe is supported as a query parameter.
1770
        default: false
1771
      subjectEn:
1772
        type: boolean
1773
        description: Indication if order by subjectEn is supported as a query parameter.
1774
        default: false
1775
    description: Indication on which elements sorting is possible.
1776
  PaymentData:
1777
    type: object
1778
    required:
1779
      - amount
1780
      - currency
1781
      - iban
1782
      - paymentDataId
1783
      - vatAmount
1784
    properties:
1785
      paymentDataId:
1786
        type: string
1787
        description: Identifier of the paymentData
1788
      amount:
1789
        type: number
1790
        format: double
1791
        description: 'Amount that needs to be paid, vat not included'
1792
      vatAmount:
1793
        type: number
1794
        format: double
1795
        description: 'Amount of the vat, to be added to the base amount when applicable'
1796
      currency:
1797
        type: string
1798
        description: 'Currency in which the amount must be paid, following ISO 4217'
1799
      dueDate:
1800
        type: string
1801
        format: date-time
1802
        description: Date on which the payment needs to be fulfilled
1803
      iban:
1804
        type: string
1805
        description: >-
1806
          Bank account on which the amount must be paid, following ISO
1807
          13616:2007
1808
      reference:
1809
        type: object
1810
        description: Reference added to the payment
1811
      _links:
1812
        description: Object of links with the rels as the keys
1813
        $ref: '#/definitions/HalLinks'
1814
    description: Data concerning payments
1815
  SenderApplication:
1816
    type: object
1817
    required:
1818
      - applicationId
1819
      - applicationName
1820
    properties:
1821
      applicationId:
1822
        type: string
1823
        description: Identifier of the senderApplication
1824
      applicationName:
1825
        description: >-
1826
          Common type defined to provide a string value for each supported
1827
          language among nl, fr, de, en
1828
        $ref: '#/definitions/TranslatedString'
1829
      applicationDescription:
1830
        description: >-
1831
          Common type defined to provide a string value for each supported
1832
          language among nl, fr, de, en
1833
        $ref: '#/definitions/TranslatedString'
1834
      applicationLogo:
1835
        type: array
1836
        description: 'Logo used to represent the application, visible to the end user'
1837
        items:
1838
          $ref: '#/definitions/Image'
1839
      applicationUrl:
1840
        description: >-
1841
          Common type defined to provide a string value for each supported
1842
          language among nl, fr, de, en
1843
        $ref: '#/definitions/TranslatedString'
1844
      senderOrganizationIds:
1845
        type: array
1846
        description: >-
1847
          Array of senderOrganisationIds that are allowed to publish messages
1848
          emitted by this application
1849
        items:
1850
          type: string
1851
      messageTypeIds:
1852
        type: array
1853
        description: Array of messageTypeIds that can be published by this application
1854
        items:
1855
          type: string
1856
      contactBusiness:
1857
        type: string
1858
        description: >-
1859
          Contact informations (webform, phone, email...) that an end user could
1860
          use to ask a business question
1861
      contactTechnical:
1862
        type: string
1863
        description: >-
1864
          Contact data to join the technical team responsible for this
1865
          application (not to used by the end users)
1866
      _links:
1867
        description: Object of links with the rels as the keys
1868
        $ref: '#/definitions/HalLinks'
1869
    description: >-
1870
      SenderApplication represents an application (online service) that sends
1871
      messages.
1872
  SenderApplicationSummary:
1873
    type: object
1874
    required:
1875
      - applicationId
1876
      - applicationName
1877
    properties:
1878
      applicationId:
1879
        type: string
1880
        description: Identifier of the senderApplication
1881
      applicationName:
1882
        description: >-
1883
          Common type defined to provide a string value for each supported
1884
          language among nl, fr, de, en
1885
        $ref: '#/definitions/TranslatedString'
1886
      senderOrganizationIds:
1887
        type: array
1888
        description: >-
1889
          Array of senderOrganisationIds that are allowed to publish messages
1890
          emitted by this application
1891
        items:
1892
          type: string
1893
      messageTypeIds:
1894
        type: array
1895
        description: Array of messageTypeIds that can be published by this application
1896
        items:
1897
          type: string
1898
      _links:
1899
        description: Object of links with the rels as the keys
1900
        $ref: '#/definitions/HalLinks'
1901
    description: >-
1902
      A senderApplicationSummary contains the basic information of the
1903
      senderApplication.
1904
  SenderApplications:
1905
    type: object
1906
    properties:
1907
      items:
1908
        type: array
1909
        items:
1910
          $ref: '#/definitions/SenderApplicationSummary'
1911
      totalItems:
1912
        type: integer
1913
        format: int32
1914
      _links:
1915
        description: Object of links with the rels as the keys
1916
        $ref: '#/definitions/HalLinks'
1917
    description: >-
1918
      A paged list of senderApplicationsSummaries. SenderApplications are the
1919
      different applications (online services...) that send messages.
1920
  SenderApplicationsOperations:
1921
    type: object
1922
    required:
1923
      - messageTypeId
1924
      - name
1925
      - sort
1926
    properties:
1927
      senderOrganizationId:
1928
        type: boolean
1929
        description: >-
1930
          Indication if the senderOrganizationId is supported as a query
1931
          parameter.
1932
        default: false
1933
      messageTypeId:
1934
        type: boolean
1935
        description: Indication if the messageTypeId is supported as a query parameter.
1936
        default: false
1937
      name:
1938
        type: boolean
1939
        description: Indication if searching on a name is supported as a query parameter.
1940
        default: false
1941
      sort:
1942
        description: Indication on which elements sorting is possible.
1943
        $ref: '#/definitions/SenderApplicationsSortOperations'
1944
    description: >-
1945
      The overview of operations that are available on the senderApplications
1946
      resource for the current messageProvider.
1947
  SenderApplicationsSortOperations:
1948
    type: object
1949
    required:
1950
      - applicationId
1951
      - applicationNameDe
1952
      - applicationNameEn
1953
      - applicationNameFr
1954
      - applicationNameNl
1955
    properties:
1956
      applicationId:
1957
        type: boolean
1958
        description: >-
1959
          Indication if order by applicationId is supported as a query
1960
          parameter.
1961
        default: false
1962
      applicationNameNl:
1963
        type: boolean
1964
        description: >-
1965
          Indication if order by applicationNameNl is supported as a query
1966
          parameter.
1967
        default: false
1968
      applicationNameFr:
1969
        type: boolean
1970
        description: >-
1971
          Indication if order by applicationNameFr is supported as a query
1972
          parameter.
1973
        default: false
1974
      applicationNameDe:
1975
        type: boolean
1976
        description: >-
1977
          Indication if order by applicationNameDe is supported as a query
1978
          parameter.
1979
        default: false
1980
      applicationNameEn:
1981
        type: boolean
1982
        description: >-
1983
          Indication if order by applicationNameEn is supported as a query
1984
          parameter.
1985
        default: false
1986
    description: Indication on which elements sorting is possible.
1987
  SenderOrganization:
1988
    type: object
1989
    required:
1990
      - organizationId
1991
      - organizationShortName
1992
    properties:
1993
      organizationId:
1994
        type: string
1995
        example: 0406798006
1996
        description: Enterprise number (BCE - KBO number) of the sender organisation
1997
        pattern: '[0-1][0-9]{9}'
1998
      organizationShortName:
1999
        description: >-
2000
          Common type defined to provide a string value for each supported
2001
          language among nl, fr, de, en
2002
        $ref: '#/definitions/TranslatedString'
2003
      organizationLongName:
2004
        description: >-
2005
          Common type defined to provide a string value for each supported
2006
          language among nl, fr, de, en
2007
        $ref: '#/definitions/TranslatedString'
2008
      organizationLogo:
2009
        type: array
2010
        description: 'Logo used to represent the organization, visible to the end user'
2011
        items:
2012
          $ref: '#/definitions/Image'
2013
      organizationUrl:
2014
        description: >-
2015
          Common type defined to provide a string value for each supported
2016
          language among nl, fr, de, en
2017
        $ref: '#/definitions/TranslatedString'
2018
      senderApplicationIds:
2019
        type: array
2020
        description: >-
2021
          Array of senderApplications for which the senderOrganization can
2022
          publish messages
2023
        items:
2024
          type: string
2025
      messageTypeIds:
2026
        type: array
2027
        description: >-
2028
          Array of messageTypeIds for which the senderOrganization can publish
2029
          messages
2030
        items:
2031
          type: string
2032
      contactBusiness:
2033
        type: string
2034
        description: >-
2035
          Contact informations (webform, phone, email...) that an end user could
2036
          use to ask a business question
2037
      contactTechnical:
2038
        type: string
2039
        description: >-
2040
          Contact data to join the technical team responsible for this
2041
          organization (not to used by the end users)
2042
      _links:
2043
        description: Object of links with the rels as the keys
2044
        $ref: '#/definitions/HalLinks'
2045
    description: >-
2046
      SenderOrganization represents an organization (institution, company...)
2047
      that can publish messages.
2048
  SenderOrganizationSummary:
2049
    type: object
2050
    required:
2051
      - organizationId
2052
      - organizationLogo
2053
      - organizationShortName
2054
    properties:
2055
      organizationId:
2056
        type: string
2057
        example: 0406798006
2058
        description: Enterprise number (BCE - KBO number) of the sender organisation
2059
        pattern: '[0-1][0-9]{9}'
2060
      organizationShortName:
2061
        description: >-
2062
          Common type defined to provide a string value for each supported
2063
          language among nl, fr, de, en
2064
        $ref: '#/definitions/TranslatedString'
2065
      organizationLogo:
2066
        type: array
2067
        description: 'Logo used to represent the organization, visible to the end user'
2068
        items:
2069
          $ref: '#/definitions/Image'
2070
      senderApplicationIds:
2071
        type: array
2072
        description: >-
2073
          Array of senderApplications for which the senderOrganization can
2074
          publish messages
2075
        items:
2076
          type: string
2077
      messageTypeIds:
2078
        type: array
2079
        description: >-
2080
          Array of messageTypeIds for which the senderOrganization can publish
2081
          messages
2082
        items:
2083
          type: string
2084
      _links:
2085
        description: Object of links with the rels as the keys
2086
        $ref: '#/definitions/HalLinks'
2087
    description: >-
2088
      A senderOrganizationSummary contains basic information about the
2089
      senderOrganization
2090
  SenderOrganizations:
2091
    type: object
2092
    properties:
2093
      items:
2094
        type: array
2095
        items:
2096
          $ref: '#/definitions/SenderOrganizationSummary'
2097
      totalItems:
2098
        type: integer
2099
        format: int32
2100
      _links:
2101
        description: Object of links with the rels as the keys
2102
        $ref: '#/definitions/HalLinks'
2103
    description: >-
2104
      A paged list of senderOrganizationsSummaries. SenderOrganizations are the
2105
      different organizations (institutions, companies...) that send messages.
2106
  SenderOrganizationsOperations:
2107
    type: object
2108
    required:
2109
      - messageTypeId
2110
      - name
2111
      - senderApplicationId
2112
      - sort
2113
    properties:
2114
      senderApplicationId:
2115
        type: boolean
2116
        description: >-
2117
          Indication if the senderOrganizationId is supported as a query
2118
          parameter.
2119
        default: false
2120
      messageTypeId:
2121
        type: boolean
2122
        description: Indication if the messageTypeId is supported as a query parameter.
2123
        default: false
2124
      name:
2125
        type: boolean
2126
        description: Indication if searching on a name is supported as a query parameter.
2127
        default: false
2128
      sort:
2129
        description: Indication on which elements sorting is possible.
2130
        $ref: '#/definitions/SenderOrganizationsSortOperations'
2131
    description: >-
2132
      The overview of operations that are available on the senderOrganizations
2133
      resource for the current messageProvider.
2134
  SenderOrganizationsSortOperations:
2135
    type: object
2136
    required:
2137
      - organizationId
2138
      - organizationShortNameDe
2139
      - organizationShortNameEn
2140
      - organizationShortNameFr
2141
      - organizationShortNameNl
2142
    properties:
2143
      organizationId:
2144
        type: boolean
2145
        description: >-
2146
          Indication if order by organizationId is supported as a query
2147
          parameter.
2148
        default: false
2149
      organizationShortNameNl:
2150
        type: boolean
2151
        description: >-
2152
          Indication if order by organizationShortNameNl is supported as a query
2153
          parameter.
2154
        default: false
2155
      organizationShortNameFr:
2156
        type: boolean
2157
        description: >-
2158
          Indication if order by organizationShortNameFr is supported as a query
2159
          parameter.
2160
        default: false
2161
      organizationShortNameDe:
2162
        type: boolean
2163
        description: >-
2164
          Indication if order by organizationShortNameDe is supported as a query
2165
          parameter.
2166
        default: false
2167
      organizationShortNameEn:
2168
        type: boolean
2169
        description: >-
2170
          Indication if order by organizationShortNameEn is supported as a query
2171
          parameter.
2172
        default: false
2173
    description: Indication on which elements sorting is possible.
2174
  StatusMessage:
2175
    type: object
2176
    required:
2177
      - code
2178
      - id
2179
      - message
2180
    properties:
2181
      id:
2182
        type: string
2183
        format: uuid
2184
      code:
2185
        type: string
2186
      message:
2187
        type: string
2188
      contact:
2189
        type: string
2190
      environment:
2191
        type: string
2192
        enum:
2193
          - DEVELOPMENT
2194
          - TEST
2195
          - INTEGRATION
2196
          - ACCEPTATION
2197
          - SIMULATION
2198
          - PRODUCTION
2199
      stackTrace:
2200
        type: array
2201
        items:
2202
          type: array
2203
          items:
2204
            type: string
2205
      details:
2206
        type: array
2207
        items:
2208
          $ref: '#/definitions/Detail'
2209
    description: A representation of a generic error message
2210
  TranslatedString:
2211
    type: object
2212
    properties:
2213
      nl:
2214
        type: string
2215
      fr:
2216
        type: string
2217
      de:
2218
        type: string
2219
      en:
2220
        type: string
2221
    description: >-
2222
      Common type defined to provide a string value for each supported language
2223
      among nl, fr, de, en
2224
  ValidityPeriod:
2225
    type: object
2226
    required:
2227
      - validityPeriodNumber
2228
      - validityPeriodUnit
2229
    properties:
2230
      validityPeriodNumber:
2231
        type: integer
2232
        format: int32
2233
        description: Number of validityPeriodUnits
2234
      validityPeriodUnit:
2235
        type: string
2236
        description: Period unit used for the definition of the validationPeriod
2237
        enum:
2238
          - DAY
2239
          - MONTH
2240
          - YEAR
2241
    description: >-
2242
      Validity period of the messageType, indicating when messages of this type
2243
      expire and are no longer available