Bug 31378: Rename Auth Provider to Identity Provider and add Client.t tests
[koha.git] / api / v1 / swagger / paths / auth.yaml
1 ---
2 /auth/otp/token_delivery:
3   post:
4     x-mojo-to: TwoFactorAuth#send_otp_token
5     operationId: send_otp_token
6     tags:
7       - 2fa
8     summary: Send OTP token for second step authentication
9     produces:
10       - application/json
11     responses:
12       "200":
13         description: OK
14         schema:
15           type: object
16           properties:
17             access_token:
18               type: string
19             token_type:
20               type: string
21             expires_in:
22               type: integer
23           additionalProperties: false
24       "400":
25         description: Bad Request
26         schema:
27           $ref: "../swagger.yaml#/definitions/error"
28       "403":
29         description: Access forbidden
30         schema:
31           $ref: "../swagger.yaml#/definitions/error"
32       "500":
33         description: |
34           Internal server error. Possible `error_code` attribute values:
35
36           * `internal_server_error`
37         schema:
38           $ref: "../swagger.yaml#/definitions/error"
39     x-koha-authorization:
40       permissions:
41         catalogue: "1"
42
43 /auth/two-factor/registration:
44   post:
45     x-mojo-to: TwoFactorAuth#registration
46     operationId: Two factor register
47     tags:
48       - 2fa
49     summary: Generate a secret
50     produces:
51       - application/json
52     responses:
53       "201":
54         description: OK
55         schema:
56           type: object
57           properties:
58             secret32:
59               type: string
60             qr_code:
61               type: string
62             issuer:
63               type: string
64             key_id:
65               type: string
66           additionalProperties: false
67       "400":
68         description: Bad Request
69         schema:
70           $ref: "../swagger.yaml#/definitions/error"
71       "403":
72         description: Access forbidden
73         schema:
74           $ref: "../swagger.yaml#/definitions/error"
75       "500":
76         description: |
77           Internal server error. Possible `error_code` attribute values:
78
79           * `internal_server_error`
80         schema:
81           $ref: "../swagger.yaml#/definitions/error"
82     x-koha-authorization:
83       permissions:
84         catalogue: "1"
85
86 /auth/two-factor/registration/verification:
87   post:
88     x-mojo-to: TwoFactorAuth#verification
89     operationId: Two factor register verification
90     tags:
91       - 2fa
92     summary: Verify two-factor registration
93     parameters:
94       - name: secret32
95         in: formData
96         description: the secret
97         required: true
98         type: string
99       - name: pin_code
100         in: formData
101         description: the pin code
102         required: true
103         type: string
104     produces:
105       - application/json
106     responses:
107       "204":
108         description: OK
109       "401":
110         description: Authentication required
111         schema:
112           $ref: "../swagger.yaml#/definitions/error"
113       "400":
114         description: Bad Request
115         schema:
116           $ref: "../swagger.yaml#/definitions/error"
117       "403":
118         description: Access forbidden
119         schema:
120           $ref: "../swagger.yaml#/definitions/error"
121       "500":
122         description: |
123           Internal server error. Possible `error_code` attribute values:
124
125           * `internal_server_error`
126         schema:
127           $ref: "../swagger.yaml#/definitions/error"
128     x-koha-authorization:
129       permissions:
130         catalogue: "1"
131 /auth/providers:
132   get:
133     x-mojo-to: Auth::Providers#list
134     operationId: listAuthProviders
135     tags:
136       - auth_providers
137     summary: List configured authentication providers
138     parameters:
139       - $ref: ../swagger.yaml#/parameters/match
140       - $ref: ../swagger.yaml#/parameters/order_by
141       - $ref: ../swagger.yaml#/parameters/page
142       - $ref: ../swagger.yaml#/parameters/per_page
143       - $ref: ../swagger.yaml#/parameters/q_param
144       - $ref: ../swagger.yaml#/parameters/q_body
145       - $ref: ../swagger.yaml#/parameters/q_header
146       - $ref: ../swagger.yaml#/parameters/request_id_header
147       - name: x-koha-embed
148         in: header
149         required: false
150         description: Embed list sent as a request header
151         type: array
152         items:
153           type: string
154           enum:
155             - domains
156         collectionFormat: csv
157     produces:
158       - application/json
159     responses:
160       "200":
161         description: A list of authentication providers
162         schema:
163           type: array
164           items:
165             $ref: ../swagger.yaml#/definitions/auth_provider
166       "400":
167         description: Bad Request
168         schema:
169           $ref: ../swagger.yaml#/definitions/error
170       "403":
171         description: Access forbidden
172         schema:
173           $ref: ../swagger.yaml#/definitions/error
174       "500":
175         description: |
176           Internal server error. Possible `error_code` attribute values:
177
178           * `internal_server_error`
179         schema:
180           $ref: ../swagger.yaml#/definitions/error
181       "503":
182         description: Under maintenance
183         schema:
184           $ref: ../swagger.yaml#/definitions/error
185     x-koha-authorization:
186       permissions:
187         parameters: manage_authentication_providers
188   post:
189     x-mojo-to: Auth::Providers#add
190     operationId: addAuthProvider
191     tags:
192       - auth_providers
193     summary: Add a new authentication provider
194     parameters:
195       - name: body
196         in: body
197         description: |
198           A JSON object containing OAuth provider parameters.
199
200           The `config` object required attributes depends on the chosen `protocol`
201
202           ## OAuth
203
204           Requires:
205
206           * key
207           * secret
208           * authorize_url
209           * token_url
210
211           ## OIDC
212
213           Requires:
214
215           * key
216           * secret
217           * well_known_url
218         required: true
219         schema:
220           $ref: ../swagger.yaml#/definitions/auth_provider
221     produces:
222       - application/json
223     responses:
224       "201":
225         description: The generated authentication provider
226         schema:
227           $ref: ../swagger.yaml#/definitions/auth_provider
228       "400":
229         description: Bad Request
230         schema:
231           $ref: ../swagger.yaml#/definitions/error
232       "403":
233         description: Access forbidden
234         schema:
235           $ref: ../swagger.yaml#/definitions/error
236       "500":
237         description: |
238           Internal server error. Possible `error_code` attribute values:
239
240           * `internal_server_error`
241         schema:
242           $ref: ../swagger.yaml#/definitions/error
243       "503":
244         description: Under maintenance
245         schema:
246           $ref: ../swagger.yaml#/definitions/error
247     x-koha-authorization:
248       permissions:
249         parameters: manage_authentication_providers
250 "/auth/providers/{auth_provider_id}":
251   get:
252     x-mojo-to: Auth::Providers#get
253     operationId: getAuthProvider
254     tags:
255       - auth_providers
256     summary: Get authentication provider
257     parameters:
258       - $ref: ../swagger.yaml#/parameters/auth_provider_id_pp
259       - name: x-koha-embed
260         in: header
261         required: false
262         description: Embed list sent as a request header
263         type: array
264         items:
265           type: string
266           enum:
267             - domains
268         collectionFormat: csv
269     produces:
270       - application/json
271     responses:
272       "200":
273         description: An authentication provider
274         schema:
275           $ref: ../swagger.yaml#/definitions/auth_provider
276       "404":
277         description: Object not found
278         schema:
279           $ref: ../swagger.yaml#/definitions/error
280       "500":
281         description: |
282           Internal server error. Possible `error_code` attribute values:
283
284           * `internal_server_error`
285         schema:
286           $ref: ../swagger.yaml#/definitions/error
287       "503":
288         description: Under maintenance
289         schema:
290           $ref: ../swagger.yaml#/definitions/error
291     x-koha-authorization:
292       permissions:
293         parameters: manage_authentication_providers
294   put:
295     x-mojo-to: Auth::Providers#update
296     operationId: updateAuthProvider
297     tags:
298       - auth_providers
299     summary: Update an authentication provider
300     parameters:
301       - $ref: ../swagger.yaml#/parameters/auth_provider_id_pp
302       - name: body
303         in: body
304         description: |
305           A JSON object containing OAuth provider parameters.
306
307           The `config` object required attributes depends on the chosen `protocol`
308
309           ## OAuth
310
311           Requires:
312
313           * key
314           * secret
315           * authorize_url
316           * token_url
317
318           ## OIDC
319
320           Requires:
321
322           * key
323           * secret
324           * well_known_url
325         required: true
326         schema:
327           $ref: ../swagger.yaml#/definitions/auth_provider
328     produces:
329       - application/json
330     responses:
331       "200":
332         description: Updated authentication provider
333         schema:
334           $ref: ../swagger.yaml#/definitions/auth_provider
335       "400":
336         description: Bad Request
337         schema:
338           $ref: ../swagger.yaml#/definitions/error
339       "403":
340         description: Access forbidden
341         schema:
342           $ref: ../swagger.yaml#/definitions/error
343       "404":
344         description: Object not found
345         schema:
346           $ref: ../swagger.yaml#/definitions/error
347       "500":
348         description: |
349           Internal server error. Possible `error_code` attribute values:
350
351           * `internal_server_error`
352         schema:
353           $ref: ../swagger.yaml#/definitions/error
354       "503":
355         description: Under maintenance
356         schema:
357           $ref: ../swagger.yaml#/definitions/error
358     x-koha-authorization:
359       permissions:
360         parameters: manage_authentication_providers
361   delete:
362     x-mojo-to: Auth::Providers#delete
363     operationId: delAuthProvider
364     tags:
365       - auth_providers
366     summary: Delete authentication provider
367     parameters:
368       - $ref: ../swagger.yaml#/parameters/auth_provider_id_pp
369     produces:
370       - application/json
371     responses:
372       "204":
373         description: Authentication provider deleted
374       "401":
375         description: Authentication required
376         schema:
377           $ref: ../swagger.yaml#/definitions/error
378       "403":
379         description: Access forbidden
380         schema:
381           $ref: ../swagger.yaml#/definitions/error
382       "404":
383         description: City not found
384         schema:
385           $ref: ../swagger.yaml#/definitions/error
386       "500":
387         description: |
388           Internal server error. Possible `error_code` attribute values:
389
390           * `internal_server_error`
391       "503":
392         description: Under maintenance
393         schema:
394           $ref: ../swagger.yaml#/definitions/error
395     x-koha-authorization:
396       permissions:
397         parameters: manage_authentication_providers
398 "/auth/providers/{auth_provider_id}/domains":
399   get:
400     x-mojo-to: Auth::Provider::Domains#list
401     operationId: listAuthProviderDomains
402     tags:
403       - auth_providers
404     summary: Get authentication provider configured domains
405     parameters:
406       - $ref: ../swagger.yaml#/parameters/auth_provider_id_pp
407       - $ref: ../swagger.yaml#/parameters/match
408       - $ref: ../swagger.yaml#/parameters/order_by
409       - $ref: ../swagger.yaml#/parameters/page
410       - $ref: ../swagger.yaml#/parameters/per_page
411       - $ref: ../swagger.yaml#/parameters/q_param
412       - $ref: ../swagger.yaml#/parameters/q_body
413       - $ref: ../swagger.yaml#/parameters/q_header
414       - $ref: ../swagger.yaml#/parameters/request_id_header
415       - name: x-koha-embed
416         in: header
417         required: false
418         description: Embed list sent as a request header
419         type: array
420         items:
421           type: string
422           enum:
423             - domains
424         collectionFormat: csv
425     produces:
426       - application/json
427     responses:
428       "200":
429         description: An authentication provider
430         schema:
431           items:
432             $ref: ../swagger.yaml#/definitions/auth_provider_domain
433       "404":
434         description: Object not found
435         schema:
436           $ref: ../swagger.yaml#/definitions/error
437       "500":
438         description: |
439           Internal server error. Possible `error_code` attribute values:
440
441           * `internal_server_error`
442         schema:
443           $ref: ../swagger.yaml#/definitions/error
444       "503":
445         description: Under maintenance
446         schema:
447           $ref: ../swagger.yaml#/definitions/error
448     x-koha-authorization:
449       permissions:
450         parameters: manage_authentication_providers
451   post:
452     x-mojo-to: Auth::Provider::Domains#add
453     operationId: addAuthProviderDomain
454     tags:
455       - auth_providers
456     summary: Add an authentication provider domain
457     parameters:
458       - $ref: ../swagger.yaml#/parameters/auth_provider_id_pp
459       - name: body
460         in: body
461         description: An authentication provider domain object
462         required: true
463         schema:
464           $ref: ../swagger.yaml#/definitions/auth_provider_domain
465     produces:
466       - application/json
467     responses:
468       "201":
469         description: Updated authentication provider domain
470         schema:
471           $ref: ../swagger.yaml#/definitions/auth_provider_domain
472       "400":
473         description: Bad Request
474         schema:
475           $ref: ../swagger.yaml#/definitions/error
476       "403":
477         description: Access forbidden
478         schema:
479           $ref: ../swagger.yaml#/definitions/error
480       "404":
481         description: Object not found
482         schema:
483           $ref: ../swagger.yaml#/definitions/error
484       "500":
485         description: |
486           Internal server error. Possible `error_code` attribute values:
487
488           * `internal_server_error`
489         schema:
490           $ref: ../swagger.yaml#/definitions/error
491       "503":
492         description: Under maintenance
493         schema:
494           $ref: ../swagger.yaml#/definitions/error
495     x-koha-authorization:
496       permissions:
497         parameters: manage_authentication_providers
498 "/auth/providers/{auth_provider_id}/domains/{auth_provider_domain_id}":
499   get:
500     x-mojo-to: Auth::Provider::Domains#get
501     operationId: getAuthProviderDomain
502     tags:
503       - auth_providers
504     summary: Get authentication provider domain
505     parameters:
506       - $ref: ../swagger.yaml#/parameters/auth_provider_id_pp
507       - $ref: ../swagger.yaml#/parameters/auth_provider_domain_id_pp
508     produces:
509       - application/json
510     responses:
511       "200":
512         description: An authentication provider
513         schema:
514           $ref: ../swagger.yaml#/definitions/auth_provider_domain
515       "404":
516         description: Object not found
517         schema:
518           $ref: ../swagger.yaml#/definitions/error
519       "500":
520         description: |
521           Internal server error. Possible `error_code` attribute values:
522
523           * `internal_server_error`
524         schema:
525           $ref: ../swagger.yaml#/definitions/error
526       "503":
527         description: Under maintenance
528         schema:
529           $ref: ../swagger.yaml#/definitions/error
530     x-koha-authorization:
531       permissions:
532         parameters: manage_authentication_providers
533   delete:
534     x-mojo-to: Auth::Provider::Domains#delete
535     operationId: delAuthProviderDomain
536     tags:
537       - auth_providers
538     summary: Delete authentication provider
539     parameters:
540       - $ref: ../swagger.yaml#/parameters/auth_provider_id_pp
541       - $ref: ../swagger.yaml#/parameters/auth_provider_domain_id_pp
542     produces:
543       - application/json
544     responses:
545       "204":
546         description: Authentication provider deleted
547       "401":
548         description: Authentication required
549         schema:
550           $ref: ../swagger.yaml#/definitions/error
551       "403":
552         description: Access forbidden
553         schema:
554           $ref: ../swagger.yaml#/definitions/error
555       "404":
556         description: City not found
557         schema:
558           $ref: ../swagger.yaml#/definitions/error
559       "500":
560         description: |
561           Internal server error. Possible `error_code` attribute values:
562
563           * `internal_server_error`
564       "503":
565         description: Under maintenance
566         schema:
567           $ref: ../swagger.yaml#/definitions/error
568     x-koha-authorization:
569       permissions:
570         parameters: manage_authentication_providers
571 /auth/identity_providers:
572   get:
573     x-mojo-to: Auth::Identity::Providers#list
574     operationId: listIdentityProviders
575     tags:
576       - identity_providers
577     summary: List configured authentication providers
578     parameters:
579       - $ref: ../swagger.yaml#/parameters/match
580       - $ref: ../swagger.yaml#/parameters/order_by
581       - $ref: ../swagger.yaml#/parameters/page
582       - $ref: ../swagger.yaml#/parameters/per_page
583       - $ref: ../swagger.yaml#/parameters/q_param
584       - $ref: ../swagger.yaml#/parameters/q_body
585       - $ref: ../swagger.yaml#/parameters/q_header
586       - $ref: ../swagger.yaml#/parameters/request_id_header
587       - name: x-koha-embed
588         in: header
589         required: false
590         description: Embed list sent as a request header
591         type: array
592         items:
593           type: string
594           enum:
595             - domains
596         collectionFormat: csv
597     produces:
598       - application/json
599     responses:
600       "200":
601         description: A list of authentication providers
602         schema:
603           type: array
604           items:
605             $ref: ../swagger.yaml#/definitions/identity_provider
606       "400":
607         description: Bad Request
608         schema:
609           $ref: ../swagger.yaml#/definitions/error
610       "403":
611         description: Access forbidden
612         schema:
613           $ref: ../swagger.yaml#/definitions/error
614       "500":
615         description: |
616           Internal server error. Possible `error_code` attribute values:
617
618           * `internal_server_error`
619         schema:
620           $ref: ../swagger.yaml#/definitions/error
621       "503":
622         description: Under maintenance
623         schema:
624           $ref: ../swagger.yaml#/definitions/error
625     x-koha-authorization:
626       permissions:
627         parameters: manage_identity_providers
628   post:
629     x-mojo-to: Auth::Identity::Providers#add
630     operationId: addIdentityProvider
631     tags:
632       - identity_providers
633     summary: Add a new authentication provider
634     parameters:
635       - name: body
636         in: body
637         description: |
638           A JSON object containing OAuth provider parameters.
639
640           The `config` object required attributes depends on the chosen `protocol`
641
642           ## OAuth
643
644           Requires:
645
646           * key
647           * secret
648           * authorize_url
649           * token_url
650
651           ## OIDC
652
653           Requires:
654
655           * key
656           * secret
657           * well_known_url
658         required: true
659         schema:
660           $ref: ../swagger.yaml#/definitions/identity_provider
661     produces:
662       - application/json
663     responses:
664       "201":
665         description: The generated authentication provider
666         schema:
667           $ref: ../swagger.yaml#/definitions/identity_provider
668       "400":
669         description: Bad Request
670         schema:
671           $ref: ../swagger.yaml#/definitions/error
672       "403":
673         description: Access forbidden
674         schema:
675           $ref: ../swagger.yaml#/definitions/error
676       "500":
677         description: |
678           Internal server error. Possible `error_code` attribute values:
679
680           * `internal_server_error`
681         schema:
682           $ref: ../swagger.yaml#/definitions/error
683       "503":
684         description: Under maintenance
685         schema:
686           $ref: ../swagger.yaml#/definitions/error
687     x-koha-authorization:
688       permissions:
689         parameters: manage_identity_providers
690 "/auth/identity_providers/{identity_provider_id}":
691   get:
692     x-mojo-to: Auth::Identity::Providers#get
693     operationId: getIdentityProvider
694     tags:
695       - identity_providers
696     summary: Get authentication provider
697     parameters:
698       - $ref: ../swagger.yaml#/parameters/identity_provider_id_pp
699       - name: x-koha-embed
700         in: header
701         required: false
702         description: Embed list sent as a request header
703         type: array
704         items:
705           type: string
706           enum:
707             - domains
708         collectionFormat: csv
709     produces:
710       - application/json
711     responses:
712       "200":
713         description: An authentication provider
714         schema:
715           $ref: ../swagger.yaml#/definitions/identity_provider
716       "404":
717         description: Object not found
718         schema:
719           $ref: ../swagger.yaml#/definitions/error
720       "500":
721         description: |
722           Internal server error. Possible `error_code` attribute values:
723
724           * `internal_server_error`
725         schema:
726           $ref: ../swagger.yaml#/definitions/error
727       "503":
728         description: Under maintenance
729         schema:
730           $ref: ../swagger.yaml#/definitions/error
731     x-koha-authorization:
732       permissions:
733         parameters: manage_identity_providers
734   put:
735     x-mojo-to: Auth::Identity::Providers#update
736     operationId: updateIdentityProvider
737     tags:
738       - identity_providers
739     summary: Update an authentication provider
740     parameters:
741       - $ref: ../swagger.yaml#/parameters/identity_provider_id_pp
742       - name: body
743         in: body
744         description: |
745           A JSON object containing OAuth provider parameters.
746
747           The `config` object required attributes depends on the chosen `protocol`
748
749           ## OAuth
750
751           Requires:
752
753           * key
754           * secret
755           * authorize_url
756           * token_url
757
758           ## OIDC
759
760           Requires:
761
762           * key
763           * secret
764           * well_known_url
765         required: true
766         schema:
767           $ref: ../swagger.yaml#/definitions/identity_provider
768     produces:
769       - application/json
770     responses:
771       "200":
772         description: Updated authentication provider
773         schema:
774           $ref: ../swagger.yaml#/definitions/identity_provider
775       "400":
776         description: Bad Request
777         schema:
778           $ref: ../swagger.yaml#/definitions/error
779       "403":
780         description: Access forbidden
781         schema:
782           $ref: ../swagger.yaml#/definitions/error
783       "404":
784         description: Object not found
785         schema:
786           $ref: ../swagger.yaml#/definitions/error
787       "500":
788         description: |
789           Internal server error. Possible `error_code` attribute values:
790
791           * `internal_server_error`
792         schema:
793           $ref: ../swagger.yaml#/definitions/error
794       "503":
795         description: Under maintenance
796         schema:
797           $ref: ../swagger.yaml#/definitions/error
798     x-koha-authorization:
799       permissions:
800         parameters: manage_identity_providers
801   delete:
802     x-mojo-to: Auth::Identity::Providers#delete
803     operationId: delIdentityProvider
804     tags:
805       - identity_providers
806     summary: Delete authentication provider
807     parameters:
808       - $ref: ../swagger.yaml#/parameters/identity_provider_id_pp
809     produces:
810       - application/json
811     responses:
812       "204":
813         description: Authentication provider deleted
814       "401":
815         description: Authentication required
816         schema:
817           $ref: ../swagger.yaml#/definitions/error
818       "403":
819         description: Access forbidden
820         schema:
821           $ref: ../swagger.yaml#/definitions/error
822       "404":
823         description: City not found
824         schema:
825           $ref: ../swagger.yaml#/definitions/error
826       "500":
827         description: |
828           Internal server error. Possible `error_code` attribute values:
829
830           * `internal_server_error`
831       "503":
832         description: Under maintenance
833         schema:
834           $ref: ../swagger.yaml#/definitions/error
835     x-koha-authorization:
836       permissions:
837         parameters: manage_identity_providers
838 "/auth/identity_providers/{identity_provider_id}/domains":
839   get:
840     x-mojo-to: Auth::Identity::Provider::Domains#list
841     operationId: listIdentityProviderDomains
842     tags:
843       - identity_providers
844     summary: Get authentication provider configured domains
845     parameters:
846       - $ref: ../swagger.yaml#/parameters/identity_provider_id_pp
847       - $ref: ../swagger.yaml#/parameters/match
848       - $ref: ../swagger.yaml#/parameters/order_by
849       - $ref: ../swagger.yaml#/parameters/page
850       - $ref: ../swagger.yaml#/parameters/per_page
851       - $ref: ../swagger.yaml#/parameters/q_param
852       - $ref: ../swagger.yaml#/parameters/q_body
853       - $ref: ../swagger.yaml#/parameters/q_header
854       - $ref: ../swagger.yaml#/parameters/request_id_header
855       - name: x-koha-embed
856         in: header
857         required: false
858         description: Embed list sent as a request header
859         type: array
860         items:
861           type: string
862           enum:
863             - domains
864         collectionFormat: csv
865     produces:
866       - application/json
867     responses:
868       "200":
869         description: An authentication provider
870         schema:
871           items:
872             $ref: ../swagger.yaml#/definitions/identity_provider_domain
873       "404":
874         description: Object not found
875         schema:
876           $ref: ../swagger.yaml#/definitions/error
877       "500":
878         description: |
879           Internal server error. Possible `error_code` attribute values:
880
881           * `internal_server_error`
882         schema:
883           $ref: ../swagger.yaml#/definitions/error
884       "503":
885         description: Under maintenance
886         schema:
887           $ref: ../swagger.yaml#/definitions/error
888     x-koha-authorization:
889       permissions:
890         parameters: manage_identity_providers
891   post:
892     x-mojo-to: Auth::Identity::Provider::Domains#add
893     operationId: addIdentityProviderDomain
894     tags:
895       - identity_providers
896     summary: Add an authentication provider domain
897     parameters:
898       - $ref: ../swagger.yaml#/parameters/identity_provider_id_pp
899       - name: body
900         in: body
901         description: An authentication provider domain object
902         required: true
903         schema:
904           $ref: ../swagger.yaml#/definitions/identity_provider_domain
905     produces:
906       - application/json
907     responses:
908       "201":
909         description: Updated authentication provider domain
910         schema:
911           $ref: ../swagger.yaml#/definitions/identity_provider_domain
912       "400":
913         description: Bad Request
914         schema:
915           $ref: ../swagger.yaml#/definitions/error
916       "403":
917         description: Access forbidden
918         schema:
919           $ref: ../swagger.yaml#/definitions/error
920       "404":
921         description: Object not found
922         schema:
923           $ref: ../swagger.yaml#/definitions/error
924       "500":
925         description: |
926           Internal server error. Possible `error_code` attribute values:
927
928           * `internal_server_error`
929         schema:
930           $ref: ../swagger.yaml#/definitions/error
931       "503":
932         description: Under maintenance
933         schema:
934           $ref: ../swagger.yaml#/definitions/error
935     x-koha-authorization:
936       permissions:
937         parameters: manage_identity_providers
938 "/auth/identity_providers/{identity_provider_id}/domains/{identity_provider_domain_id}":
939   get:
940     x-mojo-to: Auth::Identity::Provider::Domains#get
941     operationId: getIdentityProviderDomain
942     tags:
943       - identity_providers
944     summary: Get authentication provider domain
945     parameters:
946       - $ref: ../swagger.yaml#/parameters/identity_provider_id_pp
947       - $ref: ../swagger.yaml#/parameters/identity_provider_domain_id_pp
948     produces:
949       - application/json
950     responses:
951       "200":
952         description: An authentication provider
953         schema:
954           $ref: ../swagger.yaml#/definitions/identity_provider_domain
955       "404":
956         description: Object not found
957         schema:
958           $ref: ../swagger.yaml#/definitions/error
959       "500":
960         description: |
961           Internal server error. Possible `error_code` attribute values:
962
963           * `internal_server_error`
964         schema:
965           $ref: ../swagger.yaml#/definitions/error
966       "503":
967         description: Under maintenance
968         schema:
969           $ref: ../swagger.yaml#/definitions/error
970     x-koha-authorization:
971       permissions:
972         parameters: manage_identity_providers
973   put:
974     x-mojo-to: Auth::Identity::Provider::Domains#update
975     operationId: updateIdentityProviderDomain
976     tags:
977       - identity_providers
978     summary: Update an authentication provider domain
979     parameters:
980       - $ref: ../swagger.yaml#/parameters/identity_provider_id_pp
981       - $ref: ../swagger.yaml#/parameters/identity_provider_domain_id_pp
982       - name: body
983         in: body
984         description: An authentication provider domain object
985         required: true
986         schema:
987           $ref: ../swagger.yaml#/definitions/identity_provider_domain
988     produces:
989       - application/json
990     responses:
991       "200":
992         description: Updated authentication provider domain
993         schema:
994           $ref: ../swagger.yaml#/definitions/identity_provider_domain
995       "400":
996         description: Bad Request
997         schema:
998           $ref: ../swagger.yaml#/definitions/error
999       "403":
1000         description: Access forbidden
1001         schema:
1002           $ref: ../swagger.yaml#/definitions/error
1003       "404":
1004         description: Object not found
1005         schema:
1006           $ref: ../swagger.yaml#/definitions/error
1007       "500":
1008         description: |
1009           Internal server error. Possible `error_code` attribute values:
1010
1011           * `internal_server_error`
1012         schema:
1013           $ref: ../swagger.yaml#/definitions/error
1014       "503":
1015         description: Under maintenance
1016         schema:
1017           $ref: ../swagger.yaml#/definitions/error
1018     x-koha-authorization:
1019       permissions:
1020         parameters: manage_identity_providers
1021   delete:
1022     x-mojo-to: Auth::Identity::Provider::Domains#delete
1023     operationId: delIdentityProviderDomain
1024     tags:
1025       - identity_providers
1026     summary: Delete authentication provider
1027     parameters:
1028       - $ref: ../swagger.yaml#/parameters/identity_provider_id_pp
1029       - $ref: ../swagger.yaml#/parameters/identity_provider_domain_id_pp
1030     produces:
1031       - application/json
1032     responses:
1033       "204":
1034         description: Authentication provider deleted
1035       "401":
1036         description: Authentication required
1037         schema:
1038           $ref: ../swagger.yaml#/definitions/error
1039       "403":
1040         description: Access forbidden
1041         schema:
1042           $ref: ../swagger.yaml#/definitions/error
1043       "404":
1044         description: City not found
1045         schema:
1046           $ref: ../swagger.yaml#/definitions/error
1047       "500":
1048         description: |
1049           Internal server error. Possible `error_code` attribute values:
1050
1051           * `internal_server_error`
1052       "503":
1053         description: Under maintenance
1054         schema:
1055           $ref: ../swagger.yaml#/definitions/error
1056     x-koha-authorization:
1057       permissions:
1058         parameters: manage_identity_providers