WlanInformationApi.yaml 111 KB
Newer Older
1
openapi: 3.1.0
Michel Roy's avatar
Michel Roy committed
2
3
4
info:
  title: ETSI GS MEC 028 - WLAN Access Information API
  description: The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI
5
6
7
  contact:
    url: https://forge.etsi.org/rep/mec/gs028-wai-api
  version: '2.2.1'
8
9
10
  license:
    name: BSD-3-Clause
    url: 'https://forge.etsi.org/legal-matters'
11
jsonSchemaDialect: https://json-schema.org/draft/2020-12/schema
Michel Roy's avatar
Michel Roy committed
12
servers:
13
14
- url: https://localhost/wai/v2
  variables: {}
15
16
17
18
19
20
21
externalDocs:
  description: ETSI MEC028 V2.2.1 WLAN Information API
  url: https://www.etsi.org/deliver/etsi_gs/MEC/001_099/028/02.02.01_60/gs_mec028v020201p.pdf

tags:
- name: wai

Michel Roy's avatar
Michel Roy committed
22
23
24
25
paths:
  /queries/ap/ap_information:
    get:
      tags:
26
      - wai
27
      summary: 'Queries information about existing WLAN Access Points'
Michel Roy's avatar
Michel Roy committed
28
      description: Queries information about existing WLAN Access Points
Michel Roy's avatar
Michel Roy committed
29
30
      operationId: apInfoGET
      parameters:
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
      - name: filter
        in: query
        description: Attribute-based filtering expression according to clause 6.19 of ETSI GS MEC 009. .
        style: form
        explode: true
        schema:
          type: string
      - name: all_fields
        in: query
        description: Include all complex attributes in the response. See clause 6.18 of ETSI GS MEC 009 for details.
        style: form
        explode: true
        schema:
          type: string
      - name: fields
        in: query
        description: Complex attributes to be included into the response. See clause 6.18 of ETSI GS MEC 009 for details.
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: exclude_fields
        in: query
        description: Complex attributes to be excluded from the response. See clause 6.18 of ETSI GS MEC 009 for details.
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: exclude_default
        in: query
        description: 'Indicates to exclude the following complex attributes from the response. See clause 6.18 of ETSI GS MEC 009 for details. The following attributes shall be excluded from the structure in the response body if this parameter is provided, or none of the parameters "all_fields", "fields", "exclude_fields", "exclude_default" are provided: Not applicable'
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
Michel Roy's avatar
Michel Roy committed
72
73
74
      responses:
        '200':
          description: Successful response to ap_info request
75
          headers: {}
Michel Roy's avatar
Michel Roy committed
76
77
78
79
80
81
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ApInfo'
82
83
                description: ''
                contentMediaType: application/json
Michel Roy's avatar
Michel Roy committed
84
        '400':
85
86
87
88
89
90
          description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
91
        '401':
92
93
94
95
96
97
          description: 'Unauthorized :  used when the client did not submit credentials.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
98
        '403':
99
100
101
102
103
104
          description: 'Forbidden :  operation is not allowed given the current status of the resource.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
105
        '404':
106
107
108
109
110
111
          description: 'Not Found :  used when a client provided a URI that cannot be mapped to a valid resource URI.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
112
        '406':
113
114
115
116
117
118
          description: 'Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
119
        '429':
120
121
122
123
124
125
126
127
          description: 'Too Many Requests : used when a rate limiter has triggered.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      deprecated: false
    parameters: []
Michel Roy's avatar
Michel Roy committed
128
129
130
  /queries/sta/sta_information:
    get:
      tags:
131
      - wai
132
      summary: 'Queries information about existing WLAN stations'
Michel Roy's avatar
Michel Roy committed
133
      description: Queries information about existing WLAN stations
Michel Roy's avatar
Michel Roy committed
134
135
      operationId: staInfoGET
      parameters:
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
      - name: filter
        in: query
        description: Attribute-based filtering expression according to clause 6.19 of ETSI GS MEC 009. .
        style: form
        explode: true
        schema:
          type: string
      - name: all_fields
        in: query
        description: Include all complex attributes in the response. See clause 6.18 of ETSI GS MEC 009 for details.
        style: form
        explode: true
        schema:
          type: string
      - name: fields
        in: query
        description: Complex attributes to be included into the response. See clause 6.18 of ETSI GS MEC 009 for details.
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: exclude_fields
        in: query
        description: Complex attributes to be excluded from the response. See clause 6.18 of ETSI GS MEC 009 for details.
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: exclude_default
        in: query
        description: 'Indicates to exclude the following complex attributes from the response. See clause 6.18 of ETSI GS MEC 009 for details. The following attributes shall be excluded from the structure in the response body if this parameter is provided, or none of the parameters "all_fields", "fields", "exclude_fields", "exclude_default" are provided: Not applicable'
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
Michel Roy's avatar
Michel Roy committed
177
178
179
      responses:
        '200':
          description: Successful response to sta_info request
180
          headers: {}
Michel Roy's avatar
Michel Roy committed
181
182
183
184
185
186
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/StaInfo'
187
188
                description: ''
                contentMediaType: application/json
Michel Roy's avatar
Michel Roy committed
189
        '400':
190
191
192
193
194
195
          description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
196
        '401':
197
198
199
200
201
202
          description: 'Unauthorized :  used when the client did not submit credentials.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
203
        '403':
204
205
206
207
208
209
          description: 'Forbidden :  operation is not allowed given the current status of the resource.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
210
        '404':
211
212
213
214
215
216
          description: 'Not Found :  used when a client provided a URI that cannot be mapped to a valid resource URI.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
217
        '406':
218
219
220
221
222
223
          description: 'Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
224
        '429':
225
226
227
228
229
230
231
232
          description: 'Too Many Requests : used when a rate limiter has triggered.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      deprecated: false
    parameters: []
Michel Roy's avatar
Michel Roy committed
233
234
235
  /subscriptions:
    get:
      tags:
236
      - wai
237
      summary: 'Queries information on subscriptions for notifications'
Michel Roy's avatar
Michel Roy committed
238
      description: Queries information on subscriptions for notifications
Michel Roy's avatar
Michel Roy committed
239
240
      operationId: subscriptionLinkList_subscriptionsGET
      parameters:
241
242
243
244
245
246
247
      - name: subscription_type
        in: query
        description: 'Filter on a specific subscription type. Permitted values: assoc_sta, sta_data_rate, measure_report.'
        style: form
        explode: true
        schema:
          type: string
Michel Roy's avatar
Michel Roy committed
248
249
      responses:
        '200':
250
251
          description: Response body contains the list of links to requestors subscriptions.
          headers: {}
Michel Roy's avatar
Michel Roy committed
252
253
254
255
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionLinkList'
256
257
258
259
260
261
262
263
264
              examples:
                example-of-subscription-link-list:
                  value:
                   _links:
                     self:
                       href: 'http://meAppServer.example.com/wai/v2/subscriptions'
                   subscription:
                    - href: http://meAppServer.example.com/wai/v2/subscriptions/sub123
                      subscriptionType: AssocStaSubscription
Michel Roy's avatar
Michel Roy committed
265
        '400':
266
267
268
269
270
271
          description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
272
        '401':
273
274
275
276
277
278
          description: 'Unauthorized :  used when the client did not submit credentials.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
279
        '403':
280
281
282
283
284
285
          description: 'Forbidden :  operation is not allowed given the current status of the resource.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
286
        '404':
287
288
289
290
291
292
          description: 'Not Found :  used when a client provided a URI that cannot be mapped to a valid resource URI.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
293
        '406':
294
295
296
297
298
299
          description: 'Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
300
        '429':
301
302
303
304
305
306
307
          description: 'Too Many Requests : used when a rate limiter has triggered.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      deprecated: false
Michel Roy's avatar
Michel Roy committed
308
309
    post:
      tags:
310
      - wai
311
      summary: 'Creates a new subscription to WLAN Access Information notifications'
Michel Roy's avatar
Michel Roy committed
312
      description: Creates a new subscription to WLAN Access Information notifications
Michel Roy's avatar
Michel Roy committed
313
      operationId: subscriptionsPOST
314
      parameters: []
Michel Roy's avatar
Michel Roy committed
315
316
317
318
319
      requestBody:
        description: Subscription to be created
        content:
          application/json:
            schema:
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
              oneOf:
              - $ref: '#/components/schemas/AssocStaSubscription'
              - $ref: '#/components/schemas/StaDataRateSubscription'
              - $ref: '#/components/schemas/MeasurementReportSubscription'
              description: Subscription to be created
              examples:
              - subscriptionType: AssocStaSubscription
                callbackReference: http://meAppClient.example.com/wai/v2/notifications/1
                expiryDeadline:
                  seconds: 1977836800
                  nanoSeconds: 0
                apId:
                  bssid: 005C0A0A0A0A
                  ssid:
                  - myNetworkSsid
                  ipAddress:
                  - 10.10.100.1
              contentMediaType: application/json
338
339
340
341
342
343
344
345
346
347
348
349
350
351
            examples:
              example-of-AssocStaSubscription:
                value:
                 subscriptionType: AssocStaSubscription
                 callbackReference: http://meAppClient.example.com/wai/v2/notifications/1
                 expiryDeadline:
                   seconds: 1977836800
                   nanoSeconds: 0
                 apId:
                   bssid: 005C0A0A0A0A
                   ssid:
                   - myNetworkSsid
                   ipAddress:
                   - 10.10.100.1
352
        required: true
Michel Roy's avatar
Michel Roy committed
353
354
355
      responses:
        '201':
          description: Successful subscription response
356
          headers: {}
Michel Roy's avatar
Michel Roy committed
357
358
359
          content:
            application/json:
              schema:
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
                oneOf:
                - $ref: '#/components/schemas/AssocStaSubscription'
                - $ref: '#/components/schemas/StaDataRateSubscription'
                - $ref: '#/components/schemas/MeasurementReportSubscription'
                examples:
                - subscriptionType: AssocStaSubscription
                  callbackReference: http://meAppClient.example.com/wai/v2/notifications/1
                  _links:
                    self:
                      href: http://meAppServer.example.com/wai/v2/subscriptions/sub123
                  expiryDeadline:
                    seconds: 1977836800
                    nanoSeconds: 0
                  apId:
                    bssid: 005C0A0A0A0A
                    ssid:
                    - myNetworkSsid
                    ipAddress:
                    - 10.10.100.1
                contentMediaType: application/json
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
              examples:
                example-of-assoc--sta-subscription:
                  value:
                   subscriptionType: AssocStaSubscription
                   callbackReference: http://meAppClient.example.com/wai/v2/notifications/1
                   _links:
                     self:
                       href: http://meAppServer.example.com/wai/v2/subscriptions/sub123
                   expiryDeadline:
                     seconds: 1977836800
                     nanoSeconds: 0
                   apId:
                     bssid: 005C0A0A0A0A
                     ssid:
                     - myNetworkSsid
                     ipAddress:
                     - 10.10.100.1
Michel Roy's avatar
Michel Roy committed
397
        '400':
398
399
400
401
402
403
          description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
404
        '401':
405
406
407
408
409
410
          description: 'Unauthorized :  used when the client did not submit credentials.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
411
        '403':
412
413
414
415
416
417
          description: 'Forbidden :  operation is not allowed given the current status of the resource.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
418
        '404':
419
420
421
422
423
424
          description: 'Not Found :  used when a client provided a URI that cannot be mapped to a valid resource URI.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
425
        '406':
426
427
428
429
430
431
          description: 'Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
432
        '415':
433
434
435
436
437
438
          description: 'Unsupported Media Type :  used to indicate that the server or the client does not support the content type of the entity body.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
439
        '422':
440
441
442
443
444
445
          description: 'Unprocessable Entity : used to indicate that the server understands the content type of the request entity and that the syntax of the request entity is correct but that the server is unable to process the contained instructions. This error condition can occur if an JSON request body is syntactically correct but semantically incorrect, for example if the target area for the request is considered too large. This error condition can also occur if the capabilities required by the request are not supported.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
446
              examples:
447
                application/problem+json:
448
449
450
451
452
453
                  value:
                   type: https://meAppServer.example.com/wai/v2/probs/too-many targets
                   title: Too many targets
                   status: 422
                   detail: The target area for the request is considered too large
                   instance: /meAppClient.example.com/77777/msgs/abc
Michel Roy's avatar
Michel Roy committed
454
        '429':
455
456
457
458
459
460
461
          description: 'Too Many Requests : used when a rate limiter has triggered.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      deprecated: false
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
      callbacks: 
        notification:
          '{$request.body#/callbackReference}':
            post:
              summary: Callback POST used to send a notification
              description: 'Notification from WAIS, content based on subscription type'
              operationId: notificationPOST
              requestBody:
                 description: Subscription notification
                 required: true
                 content:
                   application/json:
                     schema:
                       $ref: '#/components/schemas/InlineNotification'
                     examples:
                       example-assoc-sta-notification:
                         value:
                           notificationType: AssocStaNotification
                           timeStamp:
                             seconds: 1977836800
                             nanoSeconds: 0
                           apId:
                             bssid: 005C0A0A0A0A
                             ssid:
                               - myNetworkSsid
                             ipAddress:
                               - 10.10.100.1
                           staId:
                             macId: 005C01111111
                             ssid:
                               - myNetworkSsid
                               - myOtherNetworkSsid
                             aid: '1122'
                             ipAddress:
                               - 10.10.1.255
              responses:
                '204':
                 description: "No content"


502
503
    parameters: []
  /subscriptions/{subscriptionId}:
Michel Roy's avatar
Michel Roy committed
504
505
    get:
      tags:
506
      - wai
507
      summary: 'Queries information about an existing subscription, identified by its self-referring URI returned on creation (initial POST)'
508
      description: Queries information about an existing subscription, identified by its self-referring URI returned on creation (initial POST)
Michel Roy's avatar
Michel Roy committed
509
510
      operationId: subscriptionsGET
      parameters:
511
512
513
514
515
516
517
      - name: subscriptionId
        in: path
        description: Subscription Id, specifically the "self" returned in the subscription request
        required: true
        style: simple
        schema:
          type: string
Michel Roy's avatar
Michel Roy committed
518
519
520
      responses:
        '200':
          description: Subscription information regarding subscription notifications
521
          headers: {}
Michel Roy's avatar
Michel Roy committed
522
523
524
          content:
            application/json:
              schema:
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
                oneOf:
                - $ref: '#/components/schemas/AssocStaSubscription'
                - $ref: '#/components/schemas/StaDataRateSubscription'
                - $ref: '#/components/schemas/MeasurementReportSubscription'
                examples:
                - subscriptionType: AssocStaSubscription
                  callbackReference: http://meAppClient.example.com/wai/v2/notifications/1
                  _links:
                    self:
                      href: http://meAppServer.example.com/wai/v2/subscriptions/sub123
                  expiryDeadline:
                    seconds: 1977836800
                    nanoSeconds: 0
                  apId:
                    bssid: 005C0A0A0A0A
                    ssid:
                    - myNetworkSsid
                    ipAddress:
                    - 10.10.100.1
                contentMediaType: application/json
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
              examples:
                example-of-assoc-sta-subscription:
                 value:
                   subscriptionType: AssocStaSubscription
                   callbackReference: http://meAppClient.example.com/wai/v2/notifications/1
                   _links:
                     self:
                       href: http://meAppServer.example.com/wai/v2/subscriptions/sub123
                   expiryDeadline:
                     seconds: 1977836800
                     nanoSeconds: 0
                   apId:
                     bssid: 005C0A0A0A0A
                     ssid:
                     - myNetworkSsid
                     ipAddress:
                     - 10.10.100.1
Michel Roy's avatar
Michel Roy committed
562
        '400':
563
564
565
566
567
568
          description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
569
        '401':
570
571
572
573
574
575
          description: 'Unauthorized :  used when the client did not submit credentials.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
576
        '403':
577
578
579
580
581
582
          description: 'Forbidden :  operation is not allowed given the current status of the resource.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
583
        '404':
584
585
586
587
588
589
          description: 'Not Found :  used when a client provided a URI that cannot be mapped to a valid resource URI.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
590
        '406':
591
592
593
594
595
596
          description: 'Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
597
        '429':
598
599
600
601
602
603
604
          description: 'Too Many Requests : used when a rate limiter has triggered.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      deprecated: false
Michel Roy's avatar
Michel Roy committed
605
606
    put:
      tags:
607
      - wai
608
      summary: 'Updates an existing subscription, identified by its self-referring URI returned on creation (initial POST)'
609
      description: Updates an existing subscription, identified by its self-referring URI returned on creation (initial POST)
Michel Roy's avatar
Michel Roy committed
610
      operationId: subscriptionsPUT
611
612
613
614
615
616
617
618
      parameters:
      - name: subscriptionId
        in: path
        description: Subscription Id, specifically the "self" returned in the subscription request
        required: true
        style: simple
        schema:
          type: string
Michel Roy's avatar
Michel Roy committed
619
620
621
622
623
      requestBody:
        description: Subscription to be modified
        content:
          application/json:
            schema:
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
              oneOf:
              - $ref: '#/components/schemas/AssocStaSubscription'
              - $ref: '#/components/schemas/StaDataRateSubscription'
              - $ref: '#/components/schemas/MeasurementReportSubscription'
              description: Subscription to be modified
              examples:
              - subscriptionType: AssocStaSubscription
                callbackReference: http://meAppClient.example.com/wai/v2/notifications/1
                _links:
                  self:
                    href: http://meAppServer.example.com/wai/v2/subscriptions/sub123
                expiryDeadline:
                  seconds: 1977836800
                  nanoSeconds: 0
                apId:
                  bssid: 005C0A0A0A0A
                  ssid:
                  - myNetworkSsid
                  ipAddress:
                  - 10.10.100.1
              contentMediaType: application/json
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
            examples:
              example-of-assoc-sta-subscription:
                value:

                 subscriptionType: AssocStaSubscription
                 callbackReference: http://meAppClient.example.com/wai/v2/notifications/1
                 _links:
                   self:
                     href: http://meAppServer.example.com/wai/v2/subscriptions/sub123
                 expiryDeadline:
                   seconds: 1977836800
                   nanoSeconds: 0
                 apId:
                   bssid: 005C0A0A0A0A
                   ssid:
                   - myNetworkSsid
                   ipAddress:
                   - 10.10.100.1
663
        required: true
Michel Roy's avatar
Michel Roy committed
664
665
666
      responses:
        '200':
          description: Successful subscription modification
667
          headers: {}
Michel Roy's avatar
Michel Roy committed
668
669
670
          content:
            application/json:
              schema:
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
                oneOf:
                - $ref: '#/components/schemas/AssocStaSubscription'
                - $ref: '#/components/schemas/StaDataRateSubscription'
                - $ref: '#/components/schemas/MeasurementReportSubscription'
                examples:
                - _links:
                    self:
                      href: http://[hostIP]/sbox-xyz123/wai/v2/subscriptions/sub123
                  callbackReference: http://my.callback.com/wai/some-id
                  apId:
                    bssid: 005C0A0A0A0A
                    ssid:
                    - myNetworkSsid
                    ipAddress:
                    - 10.10.100.1
                contentMediaType: application/json
687
688
689
690
691
692
              examples:
                example-sub-type:
                 value:
                  subscriptionType: "AssocStaSubscription"
                  _links:
                   self:
693
                    href: http://[hostIP]/sbox-xyz123/wai/v2/subscriptions/sub123
694
695
696
697
698
699
700
                  callbackReference: http://my.callback.com/wai/some-id
                  apId:
                   bssid: 005C0A0A0A0A
                   ssid:
                   - myNetworkSsid
                   ipAddress:
                   - 10.10.100.1
Michel Roy's avatar
Michel Roy committed
701
        '400':
702
703
704
705
706
707
          description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
708
        '401':
709
710
711
712
713
714
          description: 'Unauthorized :  used when the client did not submit credentials.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
715
        '403':
716
717
718
719
720
721
          description: 'Forbidden :  operation is not allowed given the current status of the resource.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
722
        '404':
723
724
725
726
727
728
          description: 'Not Found :  used when a client provided a URI that cannot be mapped to a valid resource URI.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
729
        '406':
730
731
732
733
734
735
          description: 'Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
736
        '412':
737
738
739
740
741
742
          description: 'Precondition failed :  used when a condition has failed during conditional requests, e.g. when using ETags to avoid write conflicts when using PUT'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
743
        '422':
744
745
746
747
748
749
          description: 'Unprocessable Entity : used to indicate that the server understands the content type of the request entity and that the syntax of the request entity is correct but that the server is unable to process the contained instructions. This error condition can occur if an JSON request body is syntactically correct but semantically incorrect, for example if the target area for the request is considered too large. This error condition can also occur if the capabilities required by the request are not supported.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
750
              examples:
751
                application/problem+json:
752
753
754
755
756
757
                  value:
                   type: https://meAppServer.example.com/wai/v2/probs/too-many targets
                   title: Too many targets
                   status: 422
                   detail: The target area for the request is considered too large
                   instance: /meAppClient.example.com/77777/msgs/abc
Michel Roy's avatar
Michel Roy committed
758
        '429':
759
760
761
762
763
764
765
          description: 'Too Many Requests : used when a rate limiter has triggered.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      deprecated: false
Michel Roy's avatar
Michel Roy committed
766
767
    delete:
      tags:
768
      - wai
769
      summary: 'Cancels an existing subscription, identified by its self-referring URI returned on creation (initial POST)'
770
      description: Cancels an existing subscription, identified by its self-referring URI returned on creation (initial POST)
Michel Roy's avatar
Michel Roy committed
771
772
      operationId: subscriptionsDELETE
      parameters:
773
774
775
776
777
778
779
      - name: subscriptionId
        in: path
        description: Subscription Id, specifically the "self" returned in the subscription request
        required: true
        style: simple
        schema:
          type: string
Michel Roy's avatar
Michel Roy committed
780
781
      responses:
        '204':
782
783
784
          description: No Content
          headers: {}
          content: {}
Michel Roy's avatar
Michel Roy committed
785
        '401':
786
787
788
789
790
791
          description: 'Unauthorized :  used when the client did not submit credentials.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
792
        '403':
793
794
795
796
797
798
          description: 'Forbidden :  operation is not allowed given the current status of the resource.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
799
        '404':
800
801
802
803
804
805
          description: 'Not Found :  used when a client provided a URI that cannot be mapped to a valid resource URI.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
806
        '429':
807
808
809
810
811
812
813
814
          description: 'Too Many Requests : used when a rate limiter has triggered.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      deprecated: false
    parameters: []
Michel Roy's avatar
Michel Roy committed
815
816
817
  /measurements:
    get:
      tags:
818
      - wai
819
      summary: 'Queries information on measurements configuration'
Michel Roy's avatar
Michel Roy committed
820
821
      description: Queries information on measurements configuration
      operationId: measurementLinkList_measurementsGET
822
      parameters: []
Michel Roy's avatar
Michel Roy committed
823
824
      responses:
        '200':
825
826
          description: Response body contains the list of links to requestors measurement configurations.
          headers: {}
Michel Roy's avatar
Michel Roy committed
827
828
829
830
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MeasurementConfigLinkList'
831
832
833
834
835
836
837
838
839
              examples:
                example-measurement:
                  value:
                   _links:
                     self:
                       href: http://meAppServer.example.com/wai/v2/measurements
                   measurementConfig:
                   - href: http://meAppServer.example.com/wai/v2/measurements/meas123
                     measurementId: myId1
Michel Roy's avatar
Michel Roy committed
840
        '400':
841
842
843
844
845
846
          description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
847
        '401':
848
849
850
851
852
853
          description: 'Unauthorized :  used when the client did not submit credentials.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
854
        '403':
855
856
857
858
859
860
          description: 'Forbidden :  operation is not allowed given the current status of the resource.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
861
        '404':
862
863
864
865
866
867
          description: 'Not Found :  used when a client provided a URI that cannot be mapped to a valid resource URI.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
868
        '406':
869
870
871
872
873
874
          description: 'Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
875
        '429':
876
877
878
879
880
881
882
          description: 'Too Many Requests : used when a rate limiter has triggered.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      deprecated: false
Michel Roy's avatar
Michel Roy committed
883
884
    post:
      tags:
885
      - wai
886
      summary: 'Creates a new measurement configuration'
Michel Roy's avatar
Michel Roy committed
887
888
      description: Creates a new measurement configuration
      operationId: measurementsPOST
889
      parameters: []
Michel Roy's avatar
Michel Roy committed
890
891
892
893
894
895
      requestBody:
        description: Measurement configuration information
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MeasurementConfig'
896
897
898
899
900
901
902
903
904
905
            examples:
              example-body:
                value:
                 staId:
                 - macId: 005C01111111
                   ssid:
                     - myNetworkSsid
                     - myOtherNetworkSsid
                 measurementId: myId1
                 measurementInfo: {}
906
        required: true
Michel Roy's avatar
Michel Roy committed
907
908
909
      responses:
        '201':
          description: Successful measurement configuration response
910
          headers: {}
Michel Roy's avatar
Michel Roy committed
911
912
913
914
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MeasurementConfig'
915
916
917
918
919
920
921
922
923
924
925
926
927
              examples:
                example-response:
                  value:
                   _links:
                     self:
                       href: 'http://meAppServer.example.com/wai/v2/measurements/meas123'
                   staId:
                   - macId: 005C01111111
                     ssid:
                       - myNetworkSsid
                       - myOtherNetworkSsid
                   measurementId: myId1
                   measurementInfo: {}
Michel Roy's avatar
Michel Roy committed
928
        '400':
929
930
931
932
933
934
          description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
935
        '401':
936
937
938
939
940
941
          description: 'Unauthorized :  used when the client did not submit credentials.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
942
        '403':
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
          description: 'Forbidden :  operation is not allowed given the current status of the resource.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: 'Not Found :  used when a client provided a URI that cannot be mapped to a valid resource URI.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '406':
          description: 'Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
963
        '415':
964
965
966
967
968
969
          description: 'Unsupported Media Type :  used to indicate that the server or the client does not support the content type of the entity body.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
970
        '422':
971
972
973
974
975
976
          description: 'Unprocessable Entity : used to indicate that the server understands the content type of the request entity and that the syntax of the request entity is correct but that the server is unable to process the contained instructions. This error condition can occur if an JSON request body is syntactically correct but semantically incorrect, for example if the target area for the request is considered too large. This error condition can also occur if the capabilities required by the request are not supported.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
977
              examples:
978
                application/problem+json:
979
980
981
982
983
984
                  value:
                   type: https://meAppServer.example.com/wai/v2/probs/too-many targets
                   title: Too many targets
                   status: 422
                   detail: The target area for the request is considered too large
                   instance: /meAppClient.example.com/77777/msgs/abc
Michel Roy's avatar
Michel Roy committed
985
        '429':
986
987
988
989
990
991
992
993
994
          description: 'Too Many Requests : used when a rate limiter has triggered.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      deprecated: false
    parameters: []
  /measurements/{measurementConfigId}:
Michel Roy's avatar
Michel Roy committed
995
996
    get:
      tags:
997
      - wai
998
      summary: 'Queries information about an existing measurement configuration, identified by its self-referring URI returned on creation (initial POST)'
999
      description: Queries information about an existing measurement configuration, identified by its self-referring URI returned on creation (initial POST)
Michel Roy's avatar
Michel Roy committed
1000
1001
      operationId: measurementsGET
      parameters:
1002
1003
1004
1005
1006
1007
1008
      - name: measurementConfigId
        in: path
        description: Measurement configuration Id, specifically the "self" returned in the measurement configuration request
        required: true
        style: simple
        schema:
          type: string
Michel Roy's avatar
Michel Roy committed
1009
1010
1011
      responses:
        '200':
          description: Measurement configuration information
1012
          headers: {}
Michel Roy's avatar
Michel Roy committed
1013
1014
1015
1016
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MeasurementConfig'
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031

              examples:
                response-example:
                  value:
                   _links:
                     self:
                       href: 'http://meAppServer.example.com/wai/v2/measurements/meas123'
                   staId:
                   - macId: 005C01111111
                     ssid:
                       - myNetworkSsid
                       - myOtherNetworkSsid
                   measurementId: myId1
                   measurementInfo: {}

Michel Roy's avatar
Michel Roy committed
1032
        '400':
1033
1034
1035
1036
1037
1038
          description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
1039
        '401':
1040
1041
1042
1043
1044
1045
          description: 'Unauthorized :  used when the client did not submit credentials.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
1046
        '403':
1047
1048
1049
1050
1051
1052
          description: 'Forbidden :  operation is not allowed given the current status of the resource.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
1053
        '404':
1054
1055
1056
1057
1058
1059
          description: 'Not Found :  used when a client provided a URI that cannot be mapped to a valid resource URI.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
1060
        '406':
1061
1062
1063
1064
1065
1066
          description: 'Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
1067
        '429':
1068
1069
1070
1071
1072
1073
1074
          description: 'Too Many Requests : used when a rate limiter has triggered.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      deprecated: false
Michel Roy's avatar
Michel Roy committed
1075
1076
    put:
      tags:
1077
      - wai
1078
      summary: 'Updates an existing measurement configuration, identified by its self-referring URI returned on creation (initial POST)'
1079
      description: Updates an existing measurement configuration, identified by its self-referring URI returned on creation (initial POST)
Michel Roy's avatar
Michel Roy committed
1080
      operationId: measurementsPUT
1081
1082
1083
1084
1085
1086
1087
1088
      parameters:
      - name: measurementConfigId
        in: path
        description: Measurement configuration Id, specifically the "self" returned in the measurement configuration request
        required: true
        style: simple
        schema:
          type: string
Michel Roy's avatar
Michel Roy committed
1089
1090
1091
1092
1093
1094
      requestBody:
        description: Measurement configuration to be modified
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MeasurementConfig'
1095
        required: true
Michel Roy's avatar
Michel Roy committed
1096
1097
1098
      responses:
        '200':
          description: Successful measurement configuration modification
1099
          headers: {}
Michel Roy's avatar
Michel Roy committed
1100
1101
1102
1103
1104
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MeasurementConfig'
        '400':
1105
1106
1107
1108
1109
1110
          description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
1111
        '401':
1112
1113
1114
1115
1116
1117
          description: 'Unauthorized :  used when the client did not submit credentials.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
1118
        '403':
1119
1120
1121
1122
1123
1124
          description: 'Forbidden :  operation is not allowed given the current status of the resource.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
1125
        '404':
1126
1127
1128
1129
1130
1131
          description: 'Not Found :  used when a client provided a URI that cannot be mapped to a valid resource URI.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
1132
        '406':
1133
1134
1135
1136
1137
1138
          description: 'Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
1139
        '412':
1140
1141
1142
1143
1144
1145
          description: 'Precondition failed :  used when a condition has failed during conditional requests, e.g. when using ETags to avoid write conflicts when using PUT'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
1146
        '422':
1147
1148
1149
1150
1151
1152
          description: 'Unprocessable Entity : used to indicate that the server understands the content type of the request entity and that the syntax of the request entity is correct but that the server is unable to process the contained instructions. This error condition can occur if an JSON request body is syntactically correct but semantically incorrect, for example if the target area for the request is considered too large. This error condition can also occur if the capabilities required by the request are not supported.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
1153
              examples:
1154
                application/problem+json:
1155
1156
1157
1158
1159
1160
                  value:
                   type: https://meAppServer.example.com/wai/v2/probs/too-many targets
                   title: Too many targets
                   status: 422
                   detail: The target area for the request is considered too large
                   instance: /meAppClient.example.com/77777/msgs/abc
Michel Roy's avatar
Michel Roy committed
1161
        '429':
1162
1163
1164
1165
1166
1167
1168
          description: 'Too Many Requests : used when a rate limiter has triggered.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      deprecated: false
Michel Roy's avatar
Michel Roy committed
1169
1170
    delete:
      tags:
1171
      - wai
1172
      summary: 'Cancels an existing measurement configuration, identified by its self-referring URI returned on creation (initial POST)'
1173
      description: Cancels an existing measurement configuration, identified by its self-referring URI returned on creation (initial POST)
Michel Roy's avatar
Michel Roy committed
1174
1175
      operationId: measurementsDELETE
      parameters:
1176
1177
1178
1179
1180
1181
1182
      - name: measurementConfigId
        in: path
        description: Measurement configuration Id, specifically the "self" returned in the measurement configuration request
        required: true
        style: simple
        schema:
          type: string
Michel Roy's avatar
Michel Roy committed
1183
1184
      responses:
        '204':
1185
1186
1187
          description: No Content
          headers: {}
          content: {}
Michel Roy's avatar
Michel Roy committed
1188
        '401':
1189
1190
1191
1192
1193
1194
          description: 'Unauthorized :  used when the client did not submit credentials.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
1195
        '403':
1196
1197
1198
1199
1200
1201
          description: 'Forbidden :  operation is not allowed given the current status of the resource.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
1202
        '404':
1203
1204
1205
1206
1207
1208
          description: 'Not Found :  used when a client provided a URI that cannot be mapped to a valid resource URI.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
1209
        '429':
1210
1211
1212
1213
1214
1215
1216
1217
          description: 'Too Many Requests : used when a rate limiter has triggered.'
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      deprecated: false
    parameters: []
Michel Roy's avatar
Michel Roy committed
1218
1219
1220
components:
  schemas:
    ApAssociated:
1221
1222
1223
1224
      title: ApAssociated
      required:
      - bssid
      type: object
Michel Roy's avatar
Michel Roy committed
1225
1226
1227
      properties:
        assocId:
          type: string
1228
          description: Unique number which identifies a particular association between the station and Access Point.
Michel Roy's avatar
Michel Roy committed
1229
1230
        bssid:
          type: string
1231
          description: Basic Service Set Identifier (BSSID) is a unique identifier assigned to the Access Point (as network interface controller) for communications at the data link layer of a network segment. BSSID is typically set to an access point's MAC address.
Michel Roy's avatar
Michel Roy committed
1232
1233
1234
1235
1236
        ipAddress:
          minItems: 0
          type: array
          items:
            type: string
1237
1238
          description: IPv4 or IPv6 address allocated for the Access Point.
        ssid:
Michel Roy's avatar
Michel Roy committed
1239
1240
          minItems: 0
          type: array
1241
1242
1243
1244
1245
          items:
            type: string
          description: Service Set Identifier to identify logical networks.
    ApIdentity:
      title: ApIdentity
Michel Roy's avatar
Michel Roy committed
1246
      required:
1247
      - bssid
Michel Roy's avatar
Michel Roy committed
1248
1249
      type: object
      properties:
Michel Roy's avatar
Michel Roy committed
1250
1251
        bssid:
          type: string
1252
          description: Basic Service Set Identifier (BSSID) is a unique Identifier assigned to an Access Point (as network interface controller) for communications at the data link layer of a network segment. BSSID is typically set to an access point's MAC address.
Michel Roy's avatar
Michel Roy committed
1253
1254
1255
1256
1257
        ipAddress:
          minItems: 0
          type: array
          items:
            type: string
1258
1259
          description: IPv4 or IPv6 address allocated for the Access Point.
        ssid:
Michel Roy's avatar
Michel Roy committed
1260
1261
          minItems: 0
          type: array
1262
1263
1264
1265
1266
          items:
            type: string
          description: Service Set Identifier (SSID) to identify logical WLAN networks available via the Access Point.
    ApInfo:
      title: ApInfo
Michel Roy's avatar
Michel Roy committed
1267
      required:
1268
      - apId
Michel Roy's avatar
Michel Roy committed
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
      type: object
      properties:
        apId:
          $ref: '#/components/schemas/ApIdentity'
        apLocation:
          $ref: '#/components/schemas/ApLocation'
        bssLoad:
          $ref: '#/components/schemas/BssLoad'
        channel:
          type: integer
1279
1280
          description: Channel configured for the Access Point.
          contentEncoding: int32
Michel Roy's avatar
Michel Roy committed
1281
1282