1 {
2 "openapi" : "3.0.4",
3 "info" : {
4 "title" : "EZCA2 - Sprava certifikatu",
5 "description" : "<p>\n <strong>EZCA II Správa certifikátů REST API</strong> slouží ke správě přístupových systémových certifikátů\n pro služby elektronického zdravotnictví.\n</p>\n\n<p>\n API umožňuje vytvořit požadavek na vystavení nového certifikátu EZCA II, vytvořit požadavek na obnovu\n stávajícího certifikátu EZCA II, přeregistrovat certifikát EZCA I na EZCA II a revokovat certifikát.\n</p>\n\n<p>\n <a href=\"https://mzcr.atlassian.net/wiki/spaces/EPZS/pages/560398339/API+EZCA+II+-+Spr+va+certifik+t\">API EZCA II - Správa certifikátů - Confluence</a>\n</p>\n\n<h2 style=\"border-top: 1px solid #d0d7de; margin-top: 24px; padding-top: 16px;\">Doporučený proces volání API metod</h2>\n\n<ol>\n <li>\n Vytvoření požadavku jednou z operací\n <code>/vystavit</code>, <code>/preregistrovat</code> nebo <code>/obnovit</code>.\n </li>\n <li>\n Sledování stavu požadavku přes <code>/stav</code>, dokud požadavek není úspěšně zpracován.\n </li>\n <li>\n Načtení detailu přes <code>/detail</code> pro získání sériového čísla certifikátu.\n </li>\n <li>\n Stažení certifikátu přes <code>/stahnout</code>. Data certifikátu jsou vrácena jako Base64 řetězec.\n </li>\n</ol>\n\n<h2 style=\"border-top: 1px solid #d0d7de; margin-top: 24px; padding-top: 16px;\">Stavy požadavku certifikátu</h2>\n\n<p>\n Hodnota <code>stavPozadavku.stav</code> popisuje průběh zpracování požadavku na vystavení, obnovu nebo revokaci\n certifikátu. U chybových stavů je současně vyplněna hodnota <code>stavPozadavku.kod</code>.\n</p>\n\n<table>\n <thead>\n <tr>\n <th>Hodnota</th>\n <th>Význam</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td><code>New</code></td>\n <td>Požadavek byl přijat a čeká na zahájení zpracování.</td>\n </tr>\n <tr>\n <td><code>InProgress</code></td>\n <td>Požadavek se právě zpracovává.</td>\n </tr>\n <tr>\n <td><code>Ok</code></td>\n <td>Požadavek byl úspěšně zpracován.</td>\n </tr>\n <tr>\n <td><code>Manual</code></td>\n <td>Požadavek čeká na ruční zásah nebo ruční dořešení v navazujícím procesu.</td>\n </tr>\n <tr>\n <td><code>Error</code></td>\n <td>Požadavek skončil chybou.</td>\n </tr>\n <tr>\n <td><code>FatalError</code></td>\n <td>Požadavek skončil fatální chybou.</td>\n </tr>\n </tbody>\n</table>\n\n<h2 style=\"border-top: 1px solid #d0d7de; margin-top: 24px; padding-top: 16px;\">Seznam změn</h2>\n\n<details open>\n<summary><strong>Aktuální verze 1.0.4</strong></summary>\n<h4>Změněno</h4>\n<ul>\n<li>\nDoplněn popis pravidel pro heslo certifikátu, včetně délky a povinných znaků.\n</li>\n</ul>\n</details>\n\n<details>\n<summary><strong>Verze 1.0.3</strong></summary>\n<h4>Breaking changes</h4>\n<ul>\n<li>\nVylepšená bezpečnostní validace hesla pro nové požadavky na vystavení, přeregistraci a obnovu certifikátu.\n</li>\n</ul>\n<h4>Přidáno</h4>\n<ul>\n<li>\nV detailu certifikátu se nově vrací hodnota <code>krzpId</code>.\n</li>\n<li>\nDo popisu rozhraní přidán odkaz na Confluence dokumentaci\n<em>API EZCA II - Správa certifikátů - Confluence</em>.\n</li>\n</ul>\n</details>\n",
6 "version" : "v1.0.4"
7 },
8 "servers" : [
9 {
10 "url" : "/ezca2Certifikaty"
11 }
12 ],
13 "paths" : {
14 "/api/v1/stav" : {
15 "get" : {
16 "tags" : [
17 "Certifikaty"
18 ],
19 "summary" : "Metoda pro zjištění stavu požadavku operací vystavit, přeregistrovat a obnovit.",
20 "description" : "Zjišťuje stav požadavku ve frontě, tj. zda byl požadavek zpracován.\r\nCílový stav požadavku je `Ok`.",
21 "parameters" : [
22 {
23 "name" : "ExterniIdentifikator",
24 "in" : "query",
25 "description" : "Vyplňuje pouze nadřazený systém PZS. Pokud volá přímo PZS, hodnota se ignoruje a IČO se přebírá z client_id.",
26 "schema" : {
27 "type" : "string",
28 "example" : "25488627"
29 },
30 "example" : "25488627"
31 },
32 {
33 "name" : "IczId",
34 "in" : "query",
35 "schema" : {
36 "maximum" : 9.2233720368547758E+18,
37 "minimum" : 1,
38 "type" : "integer",
39 "format" : "int64",
40 "example" : 6359
41 },
42 "example" : 6359
43 }
44 ],
45 "responses" : {
46 "400" : {
47 "description" : "Bad Request",
48 "content" : {
49 "text/plain" : {
50 "schema" : {
51 "$ref" : "#/components/schemas/ChybaResponse"
52 }
53 },
54 "application/json" : {
55 "schema" : {
56 "$ref" : "#/components/schemas/ChybaResponse"
57 }
58 },
59 "text/json" : {
60 "schema" : {
61 "$ref" : "#/components/schemas/ChybaResponse"
62 }
63 }
64 }
65 },
66 "401" : {
67 "description" : "Unauthorized",
68 "content" : {
69 "text/plain" : {
70 "schema" : {
71 "$ref" : "#/components/schemas/ChybaResponse"
72 }
73 },
74 "application/json" : {
75 "schema" : {
76 "$ref" : "#/components/schemas/ChybaResponse"
77 }
78 },
79 "text/json" : {
80 "schema" : {
81 "$ref" : "#/components/schemas/ChybaResponse"
82 }
83 }
84 }
85 },
86 "403" : {
87 "description" : "Forbidden",
88 "content" : {
89 "text/plain" : {
90 "schema" : {
91 "$ref" : "#/components/schemas/ChybaResponse"
92 }
93 },
94 "application/json" : {
95 "schema" : {
96 "$ref" : "#/components/schemas/ChybaResponse"
97 }
98 },
99 "text/json" : {
100 "schema" : {
101 "$ref" : "#/components/schemas/ChybaResponse"
102 }
103 }
104 }
105 },
106 "500" : {
107 "description" : "Internal Server Error",
108 "content" : {
109 "text/plain" : {
110 "schema" : {
111 "$ref" : "#/components/schemas/ChybaResponse"
112 }
113 },
114 "application/json" : {
115 "schema" : {
116 "$ref" : "#/components/schemas/ChybaResponse"
117 }
118 },
119 "text/json" : {
120 "schema" : {
121 "$ref" : "#/components/schemas/ChybaResponse"
122 }
123 }
124 }
125 },
126 "200" : {
127 "description" : "OK",
128 "content" : {
129 "text/plain" : {
130 "schema" : {
131 "$ref" : "#/components/schemas/StavCertifikatuResponse"
132 }
133 },
134 "application/json" : {
135 "schema" : {
136 "$ref" : "#/components/schemas/StavCertifikatuResponse"
137 }
138 },
139 "text/json" : {
140 "schema" : {
141 "$ref" : "#/components/schemas/StavCertifikatuResponse"
142 }
143 }
144 }
145 },
146 "404" : {
147 "description" : "Not Found",
148 "content" : {
149 "text/plain" : {
150 "schema" : {
151 "$ref" : "#/components/schemas/ChybaResponse"
152 }
153 },
154 "application/json" : {
155 "schema" : {
156 "$ref" : "#/components/schemas/ChybaResponse"
157 }
158 },
159 "text/json" : {
160 "schema" : {
161 "$ref" : "#/components/schemas/ChybaResponse"
162 }
163 }
164 }
165 }
166 }
167 }
168 },
169 "/api/v1/detail" : {
170 "get" : {
171 "tags" : [
172 "Certifikaty"
173 ],
174 "summary" : "Metoda vrací informace o vystaveném nebo revokovaném certifikátu.",
175 "description" : "Je nutné zadat sériové číslo certifikátu, nebo IczId (popř. oba identifikátory).",
176 "parameters" : [
177 {
178 "name" : "ExterniIdentifikator",
179 "in" : "query",
180 "description" : "Vyplňuje pouze nadřazený systém PZS. Pokud volá přímo PZS, hodnota se ignoruje a IČO se přebírá z client_id.",
181 "schema" : {
182 "type" : "string",
183 "example" : "25488627"
184 },
185 "example" : "25488627"
186 },
187 {
188 "name" : "IczId",
189 "in" : "query",
190 "schema" : {
191 "maximum" : 9.2233720368547758E+18,
192 "minimum" : 1,
193 "type" : "integer",
194 "format" : "int64",
195 "example" : 6370
196 },
197 "example" : 6370
198 },
199 {
200 "name" : "SerioveCislo",
201 "in" : "query",
202 "schema" : {
203 "type" : "string",
204 "example" : "210000016E0861F223C70C3FE000000000016E"
205 },
206 "example" : "210000016E0861F223C70C3FE000000000016E"
207 }
208 ],
209 "responses" : {
210 "400" : {
211 "description" : "Bad Request",
212 "content" : {
213 "text/plain" : {
214 "schema" : {
215 "$ref" : "#/components/schemas/ChybaResponse"
216 }
217 },
218 "application/json" : {
219 "schema" : {
220 "$ref" : "#/components/schemas/ChybaResponse"
221 }
222 },
223 "text/json" : {
224 "schema" : {
225 "$ref" : "#/components/schemas/ChybaResponse"
226 }
227 }
228 }
229 },
230 "401" : {
231 "description" : "Unauthorized",
232 "content" : {
233 "text/plain" : {
234 "schema" : {
235 "$ref" : "#/components/schemas/ChybaResponse"
236 }
237 },
238 "application/json" : {
239 "schema" : {
240 "$ref" : "#/components/schemas/ChybaResponse"
241 }
242 },
243 "text/json" : {
244 "schema" : {
245 "$ref" : "#/components/schemas/ChybaResponse"
246 }
247 }
248 }
249 },
250 "403" : {
251 "description" : "Forbidden",
252 "content" : {
253 "text/plain" : {
254 "schema" : {
255 "$ref" : "#/components/schemas/ChybaResponse"
256 }
257 },
258 "application/json" : {
259 "schema" : {
260 "$ref" : "#/components/schemas/ChybaResponse"
261 }
262 },
263 "text/json" : {
264 "schema" : {
265 "$ref" : "#/components/schemas/ChybaResponse"
266 }
267 }
268 }
269 },
270 "500" : {
271 "description" : "Internal Server Error",
272 "content" : {
273 "text/plain" : {
274 "schema" : {
275 "$ref" : "#/components/schemas/ChybaResponse"
276 }
277 },
278 "application/json" : {
279 "schema" : {
280 "$ref" : "#/components/schemas/ChybaResponse"
281 }
282 },
283 "text/json" : {
284 "schema" : {
285 "$ref" : "#/components/schemas/ChybaResponse"
286 }
287 }
288 }
289 },
290 "200" : {
291 "description" : "OK",
292 "content" : {
293 "text/plain" : {
294 "schema" : {
295 "$ref" : "#/components/schemas/DetailCertifikatuResponse"
296 }
297 },
298 "application/json" : {
299 "schema" : {
300 "$ref" : "#/components/schemas/DetailCertifikatuResponse"
301 }
302 },
303 "text/json" : {
304 "schema" : {
305 "$ref" : "#/components/schemas/DetailCertifikatuResponse"
306 }
307 }
308 }
309 },
310 "404" : {
311 "description" : "Not Found",
312 "content" : {
313 "text/plain" : {
314 "schema" : {
315 "$ref" : "#/components/schemas/ChybaResponse"
316 }
317 },
318 "application/json" : {
319 "schema" : {
320 "$ref" : "#/components/schemas/ChybaResponse"
321 }
322 },
323 "text/json" : {
324 "schema" : {
325 "$ref" : "#/components/schemas/ChybaResponse"
326 }
327 }
328 }
329 }
330 }
331 }
332 },
333 "/api/v1/stahnout" : {
334 "get" : {
335 "tags" : [
336 "Certifikaty"
337 ],
338 "summary" : "Metoda umožňuje stažení dat nově vydaného certifikátu.",
339 "description" : "Hodnotu atributu `SerioveCislo` zjistíte pomocí metody `/detail`.\r\nData odpovědi jsou ve formátu Base64 a výsledný formát souboru je `.pfx`.\r\n \r\nCertifikát lze stáhnout pouze jednou.",
340 "parameters" : [
341 {
342 "name" : "ExterniIdentifikator",
343 "in" : "query",
344 "description" : "Vyplňuje pouze nadřazený systém PZS. Pokud volá přímo PZS, hodnota se ignoruje a IČO se přebírá z client_id.",
345 "schema" : {
346 "type" : "string",
347 "example" : "25488627"
348 },
349 "example" : "25488627"
350 },
351 {
352 "name" : "SerioveCislo",
353 "in" : "query",
354 "required" : true,
355 "schema" : {
356 "type" : "string",
357 "example" : "210000016E0861F223C70C3FE000000000016E"
358 },
359 "example" : "210000016E0861F223C70C3FE000000000016E"
360 }
361 ],
362 "responses" : {
363 "400" : {
364 "description" : "Bad Request",
365 "content" : {
366 "text/plain" : {
367 "schema" : {
368 "$ref" : "#/components/schemas/ChybaResponse"
369 }
370 },
371 "application/json" : {
372 "schema" : {
373 "$ref" : "#/components/schemas/ChybaResponse"
374 }
375 },
376 "text/json" : {
377 "schema" : {
378 "$ref" : "#/components/schemas/ChybaResponse"
379 }
380 }
381 }
382 },
383 "401" : {
384 "description" : "Unauthorized",
385 "content" : {
386 "text/plain" : {
387 "schema" : {
388 "$ref" : "#/components/schemas/ChybaResponse"
389 }
390 },
391 "application/json" : {
392 "schema" : {
393 "$ref" : "#/components/schemas/ChybaResponse"
394 }
395 },
396 "text/json" : {
397 "schema" : {
398 "$ref" : "#/components/schemas/ChybaResponse"
399 }
400 }
401 }
402 },
403 "403" : {
404 "description" : "Forbidden",
405 "content" : {
406 "text/plain" : {
407 "schema" : {
408 "$ref" : "#/components/schemas/ChybaResponse"
409 }
410 },
411 "application/json" : {
412 "schema" : {
413 "$ref" : "#/components/schemas/ChybaResponse"
414 }
415 },
416 "text/json" : {
417 "schema" : {
418 "$ref" : "#/components/schemas/ChybaResponse"
419 }
420 }
421 }
422 },
423 "500" : {
424 "description" : "Internal Server Error",
425 "content" : {
426 "text/plain" : {
427 "schema" : {
428 "$ref" : "#/components/schemas/ChybaResponse"
429 }
430 },
431 "application/json" : {
432 "schema" : {
433 "$ref" : "#/components/schemas/ChybaResponse"
434 }
435 },
436 "text/json" : {
437 "schema" : {
438 "$ref" : "#/components/schemas/ChybaResponse"
439 }
440 }
441 }
442 },
443 "200" : {
444 "description" : "OK",
445 "content" : {
446 "text/plain" : {
447 "schema" : {
448 "$ref" : "#/components/schemas/StahnoutCertifikatResponse"
449 }
450 },
451 "application/json" : {
452 "schema" : {
453 "$ref" : "#/components/schemas/StahnoutCertifikatResponse"
454 }
455 },
456 "text/json" : {
457 "schema" : {
458 "$ref" : "#/components/schemas/StahnoutCertifikatResponse"
459 }
460 }
461 }
462 },
463 "404" : {
464 "description" : "Not Found",
465 "content" : {
466 "text/plain" : {
467 "schema" : {
468 "$ref" : "#/components/schemas/ChybaResponse"
469 }
470 },
471 "application/json" : {
472 "schema" : {
473 "$ref" : "#/components/schemas/ChybaResponse"
474 }
475 },
476 "text/json" : {
477 "schema" : {
478 "$ref" : "#/components/schemas/ChybaResponse"
479 }
480 }
481 }
482 }
483 }
484 }
485 },
486 "/api/v1/seznam" : {
487 "get" : {
488 "tags" : [
489 "Certifikaty"
490 ],
491 "summary" : "Metoda vrací seznam certifikátů pro aktuální subjekt.",
492 "description" : "Na základě vybraného typu seznamu jsou vráceny certifikáty v příslušném stavu.",
493 "parameters" : [
494 {
495 "name" : "ExterniIdentifikator",
496 "in" : "query",
497 "description" : "Vyplňuje pouze nadřazený systém PZS. Pokud volá přímo PZS, hodnota se ignoruje a IČO se přebírá z client_id.",
498 "schema" : {
499 "type" : "string",
500 "example" : "25488627"
501 },
502 "example" : "25488627"
503 },
504 {
505 "name" : "TypSeznamu",
506 "in" : "query",
507 "schema" : {
508 "$ref" : "#/components/schemas/TypSeznamuCertifikatuEnum"
509 }
510 },
511 {
512 "name" : "HledanyNazev",
513 "in" : "query",
514 "schema" : {
515 "type" : "string",
516 "example" : "Systemovy"
517 },
518 "example" : "Systemovy"
519 },
520 {
521 "name" : "Stranka",
522 "in" : "query",
523 "schema" : {
524 "maximum" : 2147483647,
525 "minimum" : 1,
526 "type" : "integer",
527 "format" : "int32",
528 "example" : 1
529 },
530 "example" : 1
531 },
532 {
533 "name" : "VelikostStranky",
534 "in" : "query",
535 "schema" : {
536 "maximum" : 200,
537 "minimum" : 1,
538 "type" : "integer",
539 "format" : "int32",
540 "example" : 20
541 },
542 "example" : 20
543 },
544 {
545 "name" : "SeraditPodle",
546 "in" : "query",
547 "schema" : {
548 "$ref" : "#/components/schemas/SeraditSeznamCertifikatuPodleEnum"
549 },
550 "example" : "PlatnostDo"
551 },
552 {
553 "name" : "SmerRazeni",
554 "in" : "query",
555 "schema" : {
556 "$ref" : "#/components/schemas/SmerRazeniEnum"
557 },
558 "example" : "Sestupne"
559 }
560 ],
561 "responses" : {
562 "400" : {
563 "description" : "Bad Request",
564 "content" : {
565 "text/plain" : {
566 "schema" : {
567 "$ref" : "#/components/schemas/ChybaResponse"
568 }
569 },
570 "application/json" : {
571 "schema" : {
572 "$ref" : "#/components/schemas/ChybaResponse"
573 }
574 },
575 "text/json" : {
576 "schema" : {
577 "$ref" : "#/components/schemas/ChybaResponse"
578 }
579 }
580 }
581 },
582 "401" : {
583 "description" : "Unauthorized",
584 "content" : {
585 "text/plain" : {
586 "schema" : {
587 "$ref" : "#/components/schemas/ChybaResponse"
588 }
589 },
590 "application/json" : {
591 "schema" : {
592 "$ref" : "#/components/schemas/ChybaResponse"
593 }
594 },
595 "text/json" : {
596 "schema" : {
597 "$ref" : "#/components/schemas/ChybaResponse"
598 }
599 }
600 }
601 },
602 "403" : {
603 "description" : "Forbidden",
604 "content" : {
605 "text/plain" : {
606 "schema" : {
607 "$ref" : "#/components/schemas/ChybaResponse"
608 }
609 },
610 "application/json" : {
611 "schema" : {
612 "$ref" : "#/components/schemas/ChybaResponse"
613 }
614 },
615 "text/json" : {
616 "schema" : {
617 "$ref" : "#/components/schemas/ChybaResponse"
618 }
619 }
620 }
621 },
622 "500" : {
623 "description" : "Internal Server Error",
624 "content" : {
625 "text/plain" : {
626 "schema" : {
627 "$ref" : "#/components/schemas/ChybaResponse"
628 }
629 },
630 "application/json" : {
631 "schema" : {
632 "$ref" : "#/components/schemas/ChybaResponse"
633 }
634 },
635 "text/json" : {
636 "schema" : {
637 "$ref" : "#/components/schemas/ChybaResponse"
638 }
639 }
640 }
641 },
642 "200" : {
643 "description" : "OK",
644 "content" : {
645 "text/plain" : {
646 "schema" : {
647 "$ref" : "#/components/schemas/SeznamCertifikatuResponse"
648 }
649 },
650 "application/json" : {
651 "schema" : {
652 "$ref" : "#/components/schemas/SeznamCertifikatuResponse"
653 }
654 },
655 "text/json" : {
656 "schema" : {
657 "$ref" : "#/components/schemas/SeznamCertifikatuResponse"
658 }
659 }
660 }
661 }
662 }
663 }
664 },
665 "/api/v1/crl-list" : {
666 "get" : {
667 "tags" : [
668 "Certifikaty"
669 ],
670 "summary" : "Metoda vrací kompletní seznam certifikátů, které byly revokované.",
671 "description" : "Pokud není zadán ani jeden parametr, pak je vrácen kompletní seznam.",
672 "parameters" : [
673 {
674 "name" : "ExterniIdentifikator",
675 "in" : "query",
676 "description" : "Vyplňuje pouze nadřazený systém PZS. Pokud volá přímo PZS, hodnota se ignoruje a IČO se přebírá z client_id.",
677 "schema" : {
678 "type" : "string",
679 "example" : "25488627"
680 },
681 "example" : "25488627"
682 },
683 {
684 "name" : "Stat",
685 "in" : "query",
686 "description" : "Stát subjektu. Vyplňuje pouze nadřazený systém PZS; pokud hodnota chybí, použije se CZ.",
687 "schema" : {
688 "type" : "string",
689 "example" : "CZ"
690 },
691 "example" : "CZ"
692 },
693 {
694 "name" : "DatumOd",
695 "in" : "query",
696 "schema" : {
697 "type" : "string",
698 "format" : "date-time",
699 "example" : "2026-04-01T00:00:00+00:00"
700 },
701 "example" : "2026-04-01T00:00:00+00:00"
702 },
703 {
704 "name" : "SerioveCislo",
705 "in" : "query",
706 "schema" : {
707 "type" : "string",
708 "example" : "210000016E0861F223C70C3FE000000000016E"
709 },
710 "example" : "210000016E0861F223C70C3FE000000000016E"
711 }
712 ],
713 "responses" : {
714 "400" : {
715 "description" : "Bad Request",
716 "content" : {
717 "text/plain" : {
718 "schema" : {
719 "$ref" : "#/components/schemas/ChybaResponse"
720 }
721 },
722 "application/json" : {
723 "schema" : {
724 "$ref" : "#/components/schemas/ChybaResponse"
725 }
726 },
727 "text/json" : {
728 "schema" : {
729 "$ref" : "#/components/schemas/ChybaResponse"
730 }
731 }
732 }
733 },
734 "401" : {
735 "description" : "Unauthorized",
736 "content" : {
737 "text/plain" : {
738 "schema" : {
739 "$ref" : "#/components/schemas/ChybaResponse"
740 }
741 },
742 "application/json" : {
743 "schema" : {
744 "$ref" : "#/components/schemas/ChybaResponse"
745 }
746 },
747 "text/json" : {
748 "schema" : {
749 "$ref" : "#/components/schemas/ChybaResponse"
750 }
751 }
752 }
753 },
754 "403" : {
755 "description" : "Forbidden",
756 "content" : {
757 "text/plain" : {
758 "schema" : {
759 "$ref" : "#/components/schemas/ChybaResponse"
760 }
761 },
762 "application/json" : {
763 "schema" : {
764 "$ref" : "#/components/schemas/ChybaResponse"
765 }
766 },
767 "text/json" : {
768 "schema" : {
769 "$ref" : "#/components/schemas/ChybaResponse"
770 }
771 }
772 }
773 },
774 "500" : {
775 "description" : "Internal Server Error",
776 "content" : {
777 "text/plain" : {
778 "schema" : {
779 "$ref" : "#/components/schemas/ChybaResponse"
780 }
781 },
782 "application/json" : {
783 "schema" : {
784 "$ref" : "#/components/schemas/ChybaResponse"
785 }
786 },
787 "text/json" : {
788 "schema" : {
789 "$ref" : "#/components/schemas/ChybaResponse"
790 }
791 }
792 }
793 },
794 "200" : {
795 "description" : "OK",
796 "content" : {
797 "text/plain" : {
798 "schema" : {
799 "type" : "array",
800 "items" : {
801 "$ref" : "#/components/schemas/PolozkaSeznamuRevokovanychCertifikatuResponse"
802 }
803 }
804 },
805 "application/json" : {
806 "schema" : {
807 "type" : "array",
808 "items" : {
809 "$ref" : "#/components/schemas/PolozkaSeznamuRevokovanychCertifikatuResponse"
810 }
811 }
812 },
813 "text/json" : {
814 "schema" : {
815 "type" : "array",
816 "items" : {
817 "$ref" : "#/components/schemas/PolozkaSeznamuRevokovanychCertifikatuResponse"
818 }
819 }
820 }
821 }
822 },
823 "404" : {
824 "description" : "Not Found",
825 "content" : {
826 "text/plain" : {
827 "schema" : {
828 "$ref" : "#/components/schemas/ChybaResponse"
829 }
830 },
831 "application/json" : {
832 "schema" : {
833 "$ref" : "#/components/schemas/ChybaResponse"
834 }
835 },
836 "text/json" : {
837 "schema" : {
838 "$ref" : "#/components/schemas/ChybaResponse"
839 }
840 }
841 }
842 }
843 }
844 }
845 },
846 "/api/v1/seznam-chyb" : {
847 "get" : {
848 "tags" : [
849 "Certifikaty"
850 ],
851 "summary" : "Metoda vrací seznam možných chyb.",
852 "description" : "Seznam se bude rozšiřovat s ohledem na chybové stavy certifikátu.",
853 "responses" : {
854 "400" : {
855 "description" : "Bad Request",
856 "content" : {
857 "text/plain" : {
858 "schema" : {
859 "$ref" : "#/components/schemas/ChybaResponse"
860 }
861 },
862 "application/json" : {
863 "schema" : {
864 "$ref" : "#/components/schemas/ChybaResponse"
865 }
866 },
867 "text/json" : {
868 "schema" : {
869 "$ref" : "#/components/schemas/ChybaResponse"
870 }
871 }
872 }
873 },
874 "401" : {
875 "description" : "Unauthorized",
876 "content" : {
877 "text/plain" : {
878 "schema" : {
879 "$ref" : "#/components/schemas/ChybaResponse"
880 }
881 },
882 "application/json" : {
883 "schema" : {
884 "$ref" : "#/components/schemas/ChybaResponse"
885 }
886 },
887 "text/json" : {
888 "schema" : {
889 "$ref" : "#/components/schemas/ChybaResponse"
890 }
891 }
892 }
893 },
894 "403" : {
895 "description" : "Forbidden",
896 "content" : {
897 "text/plain" : {
898 "schema" : {
899 "$ref" : "#/components/schemas/ChybaResponse"
900 }
901 },
902 "application/json" : {
903 "schema" : {
904 "$ref" : "#/components/schemas/ChybaResponse"
905 }
906 },
907 "text/json" : {
908 "schema" : {
909 "$ref" : "#/components/schemas/ChybaResponse"
910 }
911 }
912 }
913 },
914 "500" : {
915 "description" : "Internal Server Error",
916 "content" : {
917 "text/plain" : {
918 "schema" : {
919 "$ref" : "#/components/schemas/ChybaResponse"
920 }
921 },
922 "application/json" : {
923 "schema" : {
924 "$ref" : "#/components/schemas/ChybaResponse"
925 }
926 },
927 "text/json" : {
928 "schema" : {
929 "$ref" : "#/components/schemas/ChybaResponse"
930 }
931 }
932 }
933 },
934 "200" : {
935 "description" : "OK",
936 "content" : {
937 "text/plain" : {
938 "schema" : {
939 "type" : "array",
940 "items" : {
941 "$ref" : "#/components/schemas/PolozkaChyby"
942 }
943 }
944 },
945 "application/json" : {
946 "schema" : {
947 "type" : "array",
948 "items" : {
949 "$ref" : "#/components/schemas/PolozkaChyby"
950 }
951 }
952 },
953 "text/json" : {
954 "schema" : {
955 "type" : "array",
956 "items" : {
957 "$ref" : "#/components/schemas/PolozkaChyby"
958 }
959 }
960 }
961 }
962 },
963 "404" : {
964 "description" : "Not Found",
965 "content" : {
966 "text/plain" : {
967 "schema" : {
968 "$ref" : "#/components/schemas/ChybaResponse"
969 }
970 },
971 "application/json" : {
972 "schema" : {
973 "$ref" : "#/components/schemas/ChybaResponse"
974 }
975 },
976 "text/json" : {
977 "schema" : {
978 "$ref" : "#/components/schemas/ChybaResponse"
979 }
980 }
981 }
982 }
983 }
984 }
985 },
986 "/api/v1/preregistrovat" : {
987 "post" : {
988 "tags" : [
989 "Certifikaty"
990 ],
991 "summary" : "Metoda vystaví nový EZCA II certifikát na základě stávajícího EZCA I certifikátu.",
992 "description" : "Certifikát musí být registrovaný manuálně přes EZCA II portál nebo automaticky přes rozhraní SÚKL, tzn. že certifikáty musí být evidovány v systému EZCA II nebo původním EZCA I, jiné certifikáty není možné přeregistrovat.",
993 "requestBody" : {
994 "content" : {
995 "application/json" : {
996 "schema" : {
997 "$ref" : "#/components/schemas/PreregistrovatPristupovyCertifikatRequest"
998 }
999 },
1000 "text/json" : {
1001 "schema" : {
1002 "$ref" : "#/components/schemas/PreregistrovatPristupovyCertifikatRequest"
1003 }
1004 },
1005 "application/*+json" : {
1006 "schema" : {
1007 "$ref" : "#/components/schemas/PreregistrovatPristupovyCertifikatRequest"
1008 }
1009 }
1010 }
1011 },
1012 "responses" : {
1013 "400" : {
1014 "description" : "Bad Request",
1015 "content" : {
1016 "text/plain" : {
1017 "schema" : {
1018 "$ref" : "#/components/schemas/ChybaResponse"
1019 }
1020 },
1021 "application/json" : {
1022 "schema" : {
1023 "$ref" : "#/components/schemas/ChybaResponse"
1024 }
1025 },
1026 "text/json" : {
1027 "schema" : {
1028 "$ref" : "#/components/schemas/ChybaResponse"
1029 }
1030 }
1031 }
1032 },
1033 "401" : {
1034 "description" : "Unauthorized",
1035 "content" : {
1036 "text/plain" : {
1037 "schema" : {
1038 "$ref" : "#/components/schemas/ChybaResponse"
1039 }
1040 },
1041 "application/json" : {
1042 "schema" : {
1043 "$ref" : "#/components/schemas/ChybaResponse"
1044 }
1045 },
1046 "text/json" : {
1047 "schema" : {
1048 "$ref" : "#/components/schemas/ChybaResponse"
1049 }
1050 }
1051 }
1052 },
1053 "403" : {
1054 "description" : "Forbidden",
1055 "content" : {
1056 "text/plain" : {
1057 "schema" : {
1058 "$ref" : "#/components/schemas/ChybaResponse"
1059 }
1060 },
1061 "application/json" : {
1062 "schema" : {
1063 "$ref" : "#/components/schemas/ChybaResponse"
1064 }
1065 },
1066 "text/json" : {
1067 "schema" : {
1068 "$ref" : "#/components/schemas/ChybaResponse"
1069 }
1070 }
1071 }
1072 },
1073 "500" : {
1074 "description" : "Internal Server Error",
1075 "content" : {
1076 "text/plain" : {
1077 "schema" : {
1078 "$ref" : "#/components/schemas/ChybaResponse"
1079 }
1080 },
1081 "application/json" : {
1082 "schema" : {
1083 "$ref" : "#/components/schemas/ChybaResponse"
1084 }
1085 },
1086 "text/json" : {
1087 "schema" : {
1088 "$ref" : "#/components/schemas/ChybaResponse"
1089 }
1090 }
1091 }
1092 },
1093 "201" : {
1094 "description" : "Created",
1095 "content" : {
1096 "text/plain" : {
1097 "schema" : {
1098 "$ref" : "#/components/schemas/VysledekOperaceResponse"
1099 }
1100 },
1101 "application/json" : {
1102 "schema" : {
1103 "$ref" : "#/components/schemas/VysledekOperaceResponse"
1104 }
1105 },
1106 "text/json" : {
1107 "schema" : {
1108 "$ref" : "#/components/schemas/VysledekOperaceResponse"
1109 }
1110 }
1111 }
1112 }
1113 }
1114 }
1115 },
1116 "/api/v1/vystavit" : {
1117 "post" : {
1118 "tags" : [
1119 "Certifikaty"
1120 ],
1121 "summary" : "Metoda vytvoří požadavek na vydání nového EZCA II systémového přístupového certifikátu.",
1122 "description" : "Stav požadavku lze sledovat přes metodu `/stav`.",
1123 "requestBody" : {
1124 "content" : {
1125 "application/json" : {
1126 "schema" : {
1127 "$ref" : "#/components/schemas/VystavitPristupovyCertifikatRequest"
1128 }
1129 },
1130 "text/json" : {
1131 "schema" : {
1132 "$ref" : "#/components/schemas/VystavitPristupovyCertifikatRequest"
1133 }
1134 },
1135 "application/*+json" : {
1136 "schema" : {
1137 "$ref" : "#/components/schemas/VystavitPristupovyCertifikatRequest"
1138 }
1139 }
1140 }
1141 },
1142 "responses" : {
1143 "400" : {
1144 "description" : "Bad Request",
1145 "content" : {
1146 "text/plain" : {
1147 "schema" : {
1148 "$ref" : "#/components/schemas/ChybaResponse"
1149 }
1150 },
1151 "application/json" : {
1152 "schema" : {
1153 "$ref" : "#/components/schemas/ChybaResponse"
1154 }
1155 },
1156 "text/json" : {
1157 "schema" : {
1158 "$ref" : "#/components/schemas/ChybaResponse"
1159 }
1160 }
1161 }
1162 },
1163 "401" : {
1164 "description" : "Unauthorized",
1165 "content" : {
1166 "text/plain" : {
1167 "schema" : {
1168 "$ref" : "#/components/schemas/ChybaResponse"
1169 }
1170 },
1171 "application/json" : {
1172 "schema" : {
1173 "$ref" : "#/components/schemas/ChybaResponse"
1174 }
1175 },
1176 "text/json" : {
1177 "schema" : {
1178 "$ref" : "#/components/schemas/ChybaResponse"
1179 }
1180 }
1181 }
1182 },
1183 "403" : {
1184 "description" : "Forbidden",
1185 "content" : {
1186 "text/plain" : {
1187 "schema" : {
1188 "$ref" : "#/components/schemas/ChybaResponse"
1189 }
1190 },
1191 "application/json" : {
1192 "schema" : {
1193 "$ref" : "#/components/schemas/ChybaResponse"
1194 }
1195 },
1196 "text/json" : {
1197 "schema" : {
1198 "$ref" : "#/components/schemas/ChybaResponse"
1199 }
1200 }
1201 }
1202 },
1203 "500" : {
1204 "description" : "Internal Server Error",
1205 "content" : {
1206 "text/plain" : {
1207 "schema" : {
1208 "$ref" : "#/components/schemas/ChybaResponse"
1209 }
1210 },
1211 "application/json" : {
1212 "schema" : {
1213 "$ref" : "#/components/schemas/ChybaResponse"
1214 }
1215 },
1216 "text/json" : {
1217 "schema" : {
1218 "$ref" : "#/components/schemas/ChybaResponse"
1219 }
1220 }
1221 }
1222 },
1223 "201" : {
1224 "description" : "Created",
1225 "content" : {
1226 "text/plain" : {
1227 "schema" : {
1228 "$ref" : "#/components/schemas/VysledekOperaceResponse"
1229 }
1230 },
1231 "application/json" : {
1232 "schema" : {
1233 "$ref" : "#/components/schemas/VysledekOperaceResponse"
1234 }
1235 },
1236 "text/json" : {
1237 "schema" : {
1238 "$ref" : "#/components/schemas/VysledekOperaceResponse"
1239 }
1240 }
1241 }
1242 }
1243 }
1244 }
1245 },
1246 "/api/v1/obnovit" : {
1247 "put" : {
1248 "tags" : [
1249 "Certifikaty"
1250 ],
1251 "summary" : "Metoda vytvoří požadavek na obnovu certifikátu EZCA II na základě dat původního systémového přístupového certifikátu.",
1252 "description" : "Stav požadavku lze sledovat přes metodu `/stav`.\r\nObnova certifikátu prodlouží jeho platnost o 3 měsíce.\r\nObnovit lze pouze stažený certifikát který už je registrovaný v systému EZCA II.",
1253 "requestBody" : {
1254 "content" : {
1255 "application/json" : {
1256 "schema" : {
1257 "$ref" : "#/components/schemas/ObnovitCertifikatRequest"
1258 }
1259 },
1260 "text/json" : {
1261 "schema" : {
1262 "$ref" : "#/components/schemas/ObnovitCertifikatRequest"
1263 }
1264 },
1265 "application/*+json" : {
1266 "schema" : {
1267 "$ref" : "#/components/schemas/ObnovitCertifikatRequest"
1268 }
1269 }
1270 }
1271 },
1272 "responses" : {
1273 "400" : {
1274 "description" : "Bad Request",
1275 "content" : {
1276 "text/plain" : {
1277 "schema" : {
1278 "$ref" : "#/components/schemas/ChybaResponse"
1279 }
1280 },
1281 "application/json" : {
1282 "schema" : {
1283 "$ref" : "#/components/schemas/ChybaResponse"
1284 }
1285 },
1286 "text/json" : {
1287 "schema" : {
1288 "$ref" : "#/components/schemas/ChybaResponse"
1289 }
1290 }
1291 }
1292 },
1293 "401" : {
1294 "description" : "Unauthorized",
1295 "content" : {
1296 "text/plain" : {
1297 "schema" : {
1298 "$ref" : "#/components/schemas/ChybaResponse"
1299 }
1300 },
1301 "application/json" : {
1302 "schema" : {
1303 "$ref" : "#/components/schemas/ChybaResponse"
1304 }
1305 },
1306 "text/json" : {
1307 "schema" : {
1308 "$ref" : "#/components/schemas/ChybaResponse"
1309 }
1310 }
1311 }
1312 },
1313 "403" : {
1314 "description" : "Forbidden",
1315 "content" : {
1316 "text/plain" : {
1317 "schema" : {
1318 "$ref" : "#/components/schemas/ChybaResponse"
1319 }
1320 },
1321 "application/json" : {
1322 "schema" : {
1323 "$ref" : "#/components/schemas/ChybaResponse"
1324 }
1325 },
1326 "text/json" : {
1327 "schema" : {
1328 "$ref" : "#/components/schemas/ChybaResponse"
1329 }
1330 }
1331 }
1332 },
1333 "500" : {
1334 "description" : "Internal Server Error",
1335 "content" : {
1336 "text/plain" : {
1337 "schema" : {
1338 "$ref" : "#/components/schemas/ChybaResponse"
1339 }
1340 },
1341 "application/json" : {
1342 "schema" : {
1343 "$ref" : "#/components/schemas/ChybaResponse"
1344 }
1345 },
1346 "text/json" : {
1347 "schema" : {
1348 "$ref" : "#/components/schemas/ChybaResponse"
1349 }
1350 }
1351 }
1352 },
1353 "200" : {
1354 "description" : "OK",
1355 "content" : {
1356 "text/plain" : {
1357 "schema" : {
1358 "$ref" : "#/components/schemas/VysledekOperaceResponse"
1359 }
1360 },
1361 "application/json" : {
1362 "schema" : {
1363 "$ref" : "#/components/schemas/VysledekOperaceResponse"
1364 }
1365 },
1366 "text/json" : {
1367 "schema" : {
1368 "$ref" : "#/components/schemas/VysledekOperaceResponse"
1369 }
1370 }
1371 }
1372 },
1373 "404" : {
1374 "description" : "Not Found",
1375 "content" : {
1376 "text/plain" : {
1377 "schema" : {
1378 "$ref" : "#/components/schemas/ChybaResponse"
1379 }
1380 },
1381 "application/json" : {
1382 "schema" : {
1383 "$ref" : "#/components/schemas/ChybaResponse"
1384 }
1385 },
1386 "text/json" : {
1387 "schema" : {
1388 "$ref" : "#/components/schemas/ChybaResponse"
1389 }
1390 }
1391 }
1392 }
1393 }
1394 }
1395 },
1396 "/api/v1/revokovat" : {
1397 "post" : {
1398 "tags" : [
1399 "Certifikaty"
1400 ],
1401 "summary" : "Metoda vytvoří požadavek na revokaci certifikátu.",
1402 "description" : "Je nutné zadat sériové číslo certifikátu, nebo IczId (popř. oba identifikátory).\r\n \r\n<b>Po dokončení akce nebudete moci dále využívat certifikát v systémech elektronického zdravotnictví. Revokace je nevratná.</b>",
1403 "requestBody" : {
1404 "content" : {
1405 "application/json" : {
1406 "schema" : {
1407 "$ref" : "#/components/schemas/RevokovatCertifikatRequest"
1408 }
1409 },
1410 "text/json" : {
1411 "schema" : {
1412 "$ref" : "#/components/schemas/RevokovatCertifikatRequest"
1413 }
1414 },
1415 "application/*+json" : {
1416 "schema" : {
1417 "$ref" : "#/components/schemas/RevokovatCertifikatRequest"
1418 }
1419 }
1420 }
1421 },
1422 "responses" : {
1423 "400" : {
1424 "description" : "Bad Request",
1425 "content" : {
1426 "text/plain" : {
1427 "schema" : {
1428 "$ref" : "#/components/schemas/ChybaResponse"
1429 }
1430 },
1431 "application/json" : {
1432 "schema" : {
1433 "$ref" : "#/components/schemas/ChybaResponse"
1434 }
1435 },
1436 "text/json" : {
1437 "schema" : {
1438 "$ref" : "#/components/schemas/ChybaResponse"
1439 }
1440 }
1441 }
1442 },
1443 "401" : {
1444 "description" : "Unauthorized",
1445 "content" : {
1446 "text/plain" : {
1447 "schema" : {
1448 "$ref" : "#/components/schemas/ChybaResponse"
1449 }
1450 },
1451 "application/json" : {
1452 "schema" : {
1453 "$ref" : "#/components/schemas/ChybaResponse"
1454 }
1455 },
1456 "text/json" : {
1457 "schema" : {
1458 "$ref" : "#/components/schemas/ChybaResponse"
1459 }
1460 }
1461 }
1462 },
1463 "403" : {
1464 "description" : "Forbidden",
1465 "content" : {
1466 "text/plain" : {
1467 "schema" : {
1468 "$ref" : "#/components/schemas/ChybaResponse"
1469 }
1470 },
1471 "application/json" : {
1472 "schema" : {
1473 "$ref" : "#/components/schemas/ChybaResponse"
1474 }
1475 },
1476 "text/json" : {
1477 "schema" : {
1478 "$ref" : "#/components/schemas/ChybaResponse"
1479 }
1480 }
1481 }
1482 },
1483 "500" : {
1484 "description" : "Internal Server Error",
1485 "content" : {
1486 "text/plain" : {
1487 "schema" : {
1488 "$ref" : "#/components/schemas/ChybaResponse"
1489 }
1490 },
1491 "application/json" : {
1492 "schema" : {
1493 "$ref" : "#/components/schemas/ChybaResponse"
1494 }
1495 },
1496 "text/json" : {
1497 "schema" : {
1498 "$ref" : "#/components/schemas/ChybaResponse"
1499 }
1500 }
1501 }
1502 },
1503 "201" : {
1504 "description" : "Created",
1505 "content" : {
1506 "text/plain" : {
1507 "schema" : {
1508 "$ref" : "#/components/schemas/VysledekOperaceResponse"
1509 }
1510 },
1511 "application/json" : {
1512 "schema" : {
1513 "$ref" : "#/components/schemas/VysledekOperaceResponse"
1514 }
1515 },
1516 "text/json" : {
1517 "schema" : {
1518 "$ref" : "#/components/schemas/VysledekOperaceResponse"
1519 }
1520 }
1521 }
1522 },
1523 "404" : {
1524 "description" : "Not Found",
1525 "content" : {
1526 "text/plain" : {
1527 "schema" : {
1528 "$ref" : "#/components/schemas/ChybaResponse"
1529 }
1530 },
1531 "application/json" : {
1532 "schema" : {
1533 "$ref" : "#/components/schemas/ChybaResponse"
1534 }
1535 },
1536 "text/json" : {
1537 "schema" : {
1538 "$ref" : "#/components/schemas/ChybaResponse"
1539 }
1540 }
1541 }
1542 }
1543 }
1544 }
1545 },
1546 "/simple-health" : {
1547 "get" : {
1548 "tags" : [
1549 "Health"
1550 ],
1551 "operationId" : "SimpleHealth",
1552 "responses" : {
1553 "200" : {
1554 "description" : "OK",
1555 "content" : {
1556 "application/json" : {
1557 "schema" : {
1558 "$ref" : "#/components/schemas/JednoduchaHealthResponse"
1559 }
1560 }
1561 }
1562 }
1563 }
1564 }
1565 },
1566 "/health" : {
1567 "get" : {
1568 "tags" : [
1569 "Health"
1570 ],
1571 "operationId" : "Health",
1572 "responses" : {
1573 "200" : {
1574 "description" : "OK",
1575 "content" : {
1576 "application/json" : {
1577 "schema" : {
1578 "$ref" : "#/components/schemas/HealthResponse"
1579 }
1580 }
1581 }
1582 },
1583 "503" : {
1584 "description" : "Service Unavailable",
1585 "content" : {
1586 "application/json" : {
1587 "schema" : {
1588 "$ref" : "#/components/schemas/HealthResponse"
1589 }
1590 }
1591 }
1592 }
1593 }
1594 }
1595 },
1596 "/detail-health" : {
1597 "get" : {
1598 "tags" : [
1599 "Health"
1600 ],
1601 "operationId" : "DetailHealth",
1602 "responses" : {
1603 "200" : {
1604 "description" : "OK",
1605 "content" : {
1606 "application/json" : {
1607 "schema" : {
1608 "$ref" : "#/components/schemas/HealthResponse"
1609 }
1610 }
1611 }
1612 },
1613 "503" : {
1614 "description" : "Service Unavailable",
1615 "content" : {
1616 "application/json" : {
1617 "schema" : {
1618 "$ref" : "#/components/schemas/HealthResponse"
1619 }
1620 }
1621 }
1622 }
1623 }
1624 }
1625 }
1626 },
1627 "components" : {
1628 "schemas" : {
1629 "Certifikat" : {
1630 "type" : "object",
1631 "properties" : {
1632 "serioveCislo" : {
1633 "type" : "string",
1634 "nullable" : true,
1635 "example" : "1B000001674E82ED676FEA7373000000000167"
1636 },
1637 "stav" : {
1638 "$ref" : "#/components/schemas/StavCertifikatuEnum"
1639 },
1640 "typDrzitele" : {
1641 "$ref" : "#/components/schemas/TypDrziteleCertifikatuEnum"
1642 },
1643 "krzpId" : {
1644 "type" : "integer",
1645 "format" : "int64",
1646 "example" : 102129137
1647 },
1648 "ucel" : {
1649 "$ref" : "#/components/schemas/UcelCertifikatuEnum"
1650 },
1651 "zpusobVyuzi" : {
1652 "$ref" : "#/components/schemas/ZpusobVyuziPodpisovehoCertifikatuEnum"
1653 },
1654 "platnostOd" : {
1655 "type" : "string",
1656 "format" : "date-time",
1657 "example" : "2026-04-23T13:25:59+00:00"
1658 },
1659 "platnostDo" : {
1660 "type" : "string",
1661 "format" : "date-time",
1662 "example" : "2027-04-23T13:25:59+00:00"
1663 },
1664 "subjekt" : {
1665 "$ref" : "#/components/schemas/SubjektInfo"
1666 },
1667 "datumRevokace" : {
1668 "type" : "string",
1669 "format" : "date-time",
1670 "nullable" : true,
1671 "example" : "2026-04-23T13:37:10.4691395+00:00"
1672 },
1673 "datumStazeni" : {
1674 "type" : "string",
1675 "format" : "date-time",
1676 "nullable" : true,
1677 "example" : "2026-04-23T13:37:10.4691395+00:00"
1678 },
1679 "vydavatelCertifikatu" : {
1680 "type" : "string",
1681 "nullable" : true,
1682 "example" : "T1 CSEZ CA 1"
1683 },
1684 "typKanalu" : {
1685 "type" : "string",
1686 "nullable" : true,
1687 "example" : "PortalWeb"
1688 },
1689 "sablona" : {
1690 "type" : "string",
1691 "nullable" : true,
1692 "example" : "ExtendedSignSubject"
1693 },
1694 "typCertifikatuText" : {
1695 "type" : "string",
1696 "nullable" : true,
1697 "example" : "Pečetící certifikát pro subjekt"
1698 }
1699 },
1700 "additionalProperties" : false
1701 },
1702 "ChybaResponse" : {
1703 "type" : "object",
1704 "properties" : {
1705 "httpStatusKod" : {
1706 "type" : "integer",
1707 "format" : "int32"
1708 },
1709 "chyby" : {
1710 "type" : "array",
1711 "items" : {
1712 "$ref" : "#/components/schemas/DetailChyby"
1713 },
1714 "nullable" : true
1715 }
1716 },
1717 "additionalProperties" : false
1718 },
1719 "DetailCertifikatuResponse" : {
1720 "type" : "object",
1721 "properties" : {
1722 "iczId" : {
1723 "type" : "integer",
1724 "format" : "int64",
1725 "example" : 3360
1726 },
1727 "uid" : {
1728 "type" : "string",
1729 "nullable" : true,
1730 "example" : "f888d100-f53e-415a-9d4c-6238e21d1134"
1731 },
1732 "nazevSluzby" : {
1733 "type" : "string",
1734 "nullable" : true,
1735 "example" : "PZSSystemovyPristupovy"
1736 },
1737 "technickyKontakt" : {
1738 "$ref" : "#/components/schemas/TechnickyKontakt"
1739 },
1740 "certifikat" : {
1741 "$ref" : "#/components/schemas/Certifikat"
1742 }
1743 },
1744 "additionalProperties" : false
1745 },
1746 "DetailChyby" : {
1747 "type" : "object",
1748 "properties" : {
1749 "nazevPole" : {
1750 "type" : "string",
1751 "nullable" : true
1752 },
1753 "zprava" : {
1754 "type" : "string",
1755 "nullable" : true
1756 },
1757 "uzivatelskaZprava" : {
1758 "type" : "string",
1759 "nullable" : true
1760 },
1761 "idChyby" : {
1762 "type" : "integer",
1763 "format" : "int32"
1764 }
1765 },
1766 "additionalProperties" : false
1767 },
1768 "HealthCheckResponse" : {
1769 "type" : "object",
1770 "properties" : {
1771 "name" : {
1772 "type" : "string",
1773 "nullable" : true
1774 },
1775 "status" : {
1776 "type" : "string",
1777 "nullable" : true
1778 },
1779 "description" : {
1780 "type" : "string",
1781 "nullable" : true
1782 },
1783 "durationMs" : {
1784 "type" : "number",
1785 "format" : "double"
1786 },
1787 "data" : {
1788 "type" : "object",
1789 "additionalProperties" : {
1790 "nullable" : true
1791 },
1792 "nullable" : true
1793 }
1794 },
1795 "additionalProperties" : false
1796 },
1797 "HealthResponse" : {
1798 "type" : "object",
1799 "properties" : {
1800 "status" : {
1801 "type" : "string",
1802 "nullable" : true
1803 },
1804 "version" : {
1805 "type" : "string",
1806 "nullable" : true
1807 },
1808 "releaseId" : {
1809 "type" : "string",
1810 "nullable" : true
1811 },
1812 "notes" : {
1813 "type" : "array",
1814 "items" : {
1815 "type" : "string"
1816 },
1817 "nullable" : true
1818 },
1819 "checks" : {
1820 "type" : "array",
1821 "items" : {
1822 "$ref" : "#/components/schemas/HealthCheckResponse"
1823 },
1824 "nullable" : true
1825 }
1826 },
1827 "additionalProperties" : false
1828 },
1829 "JednoduchaHealthResponse" : {
1830 "type" : "object",
1831 "properties" : {
1832 "status" : {
1833 "type" : "string",
1834 "nullable" : true
1835 },
1836 "notes" : {
1837 "type" : "array",
1838 "items" : {
1839 "type" : "string"
1840 },
1841 "nullable" : true
1842 }
1843 },
1844 "additionalProperties" : false
1845 },
1846 "ObnovitCertifikatRequest" : {
1847 "required" : [
1848 "heslo",
1849 "serioveCislo"
1850 ],
1851 "type" : "object",
1852 "properties" : {
1853 "serioveCislo" : {
1854 "minLength" : 1,
1855 "type" : "string",
1856 "example" : "210000016E0861F223C70C3FE000000000016E"
1857 },
1858 "heslo" : {
1859 "maxLength" : 100,
1860 "minLength" : 17,
1861 "type" : "string",
1862 "description" : "Heslo: 17-100 znaků, alespoň 3 ze 4 skupin znaků (A-Z, a-z, 0-9, speciální znaky).",
1863 "example" : "MojeSilneHeslo2026@"
1864 }
1865 },
1866 "additionalProperties" : false
1867 },
1868 "PolozkaChyby" : {
1869 "type" : "object",
1870 "properties" : {
1871 "kod" : {
1872 "type" : "integer",
1873 "format" : "int32",
1874 "example" : 2101
1875 },
1876 "popis" : {
1877 "type" : "string",
1878 "nullable" : true,
1879 "example" : "Certifikát je revokovaný."
1880 },
1881 "kategorie" : {
1882 "type" : "string",
1883 "nullable" : true,
1884 "example" : "Stav certifikátu"
1885 }
1886 },
1887 "additionalProperties" : false
1888 },
1889 "PolozkaSeznamuCertifikatuResponse" : {
1890 "type" : "object",
1891 "properties" : {
1892 "id" : {
1893 "type" : "integer",
1894 "format" : "int64",
1895 "example" : 3359
1896 },
1897 "iczId" : {
1898 "type" : "integer",
1899 "format" : "int64",
1900 "example" : 3360
1901 },
1902 "nazevSluzby" : {
1903 "type" : "string",
1904 "nullable" : true,
1905 "example" : "PZSSystemovyPristupovy"
1906 },
1907 "zpusobVyuzi" : {
1908 "$ref" : "#/components/schemas/ZpusobVyuziPodpisovehoCertifikatuEnum"
1909 },
1910 "serioveCislo" : {
1911 "type" : "string",
1912 "nullable" : true,
1913 "example" : "1B000001674E82ED676FEA7373000000000167"
1914 },
1915 "revokovany" : {
1916 "type" : "boolean",
1917 "example" : false
1918 },
1919 "stav" : {
1920 "$ref" : "#/components/schemas/StavCertifikatuEnum"
1921 },
1922 "platnostOd" : {
1923 "type" : "string",
1924 "format" : "date-time",
1925 "example" : "2026-04-23T13:25:59+00:00"
1926 },
1927 "platnostDo" : {
1928 "type" : "string",
1929 "format" : "date-time",
1930 "example" : "2027-04-23T13:25:59+00:00"
1931 },
1932 "datumStazeni" : {
1933 "type" : "string",
1934 "format" : "date-time",
1935 "nullable" : true,
1936 "example" : "2026-04-23T13:37:10.4691395+00:00"
1937 },
1938 "externiIdentifikator" : {
1939 "type" : "string",
1940 "nullable" : true,
1941 "example" : "25488627"
1942 },
1943 "nazevSubjektu" : {
1944 "type" : "string",
1945 "nullable" : true,
1946 "example" : "Ordinace Pokorná a Bezdíčková s.r.o."
1947 },
1948 "uid" : {
1949 "type" : "string",
1950 "nullable" : true,
1951 "example" : "f888d100-f53e-415a-9d4c-6238e21d1134"
1952 },
1953 "krzpId" : {
1954 "type" : "integer",
1955 "format" : "int64",
1956 "example" : 102129137
1957 },
1958 "typDrzitele" : {
1959 "$ref" : "#/components/schemas/TypDrziteleCertifikatuEnum"
1960 },
1961 "ucel" : {
1962 "$ref" : "#/components/schemas/UcelCertifikatuEnum"
1963 },
1964 "sablona" : {
1965 "type" : "string",
1966 "nullable" : true,
1967 "example" : "ExtendedSignSubject"
1968 },
1969 "typCertifikatuText" : {
1970 "type" : "string",
1971 "nullable" : true,
1972 "example" : "Pečetící certifikát pro subjekt"
1973 }
1974 },
1975 "additionalProperties" : false
1976 },
1977 "PolozkaSeznamuRevokovanychCertifikatuResponse" : {
1978 "type" : "object",
1979 "properties" : {
1980 "serioveCislo" : {
1981 "type" : "string",
1982 "nullable" : true,
1983 "example" : "1B000001449CA1708F7E0444EB000000000144"
1984 },
1985 "platnostOd" : {
1986 "type" : "string",
1987 "format" : "date-time",
1988 "example" : "2026-04-07T15:03:17+00:00"
1989 },
1990 "platnostDo" : {
1991 "type" : "string",
1992 "format" : "date-time",
1993 "example" : "2026-04-09T09:53:23.3833333+00:00"
1994 },
1995 "datumRevokace" : {
1996 "type" : "string",
1997 "format" : "date-time",
1998 "example" : "2026-04-07T15:21:31.0166213+00:00"
1999 }
2000 },
2001 "additionalProperties" : false
2002 },
2003 "PreregistrovatPristupovyCertifikatRequest" : {
2004 "required" : [
2005 "heslo"
2006 ],
2007 "type" : "object",
2008 "properties" : {
2009 "iczId" : {
2010 "maximum" : 9.2233720368547758E+18,
2011 "minimum" : 1,
2012 "type" : "integer",
2013 "format" : "int64",
2014 "nullable" : true,
2015 "example" : 6371
2016 },
2017 "serioveCislo" : {
2018 "type" : "string",
2019 "nullable" : true,
2020 "example" : "210000016F31DB9FF631DDFD8700000000016F"
2021 },
2022 "nazevSluzby" : {
2023 "maxLength" : 150,
2024 "minLength" : 0,
2025 "pattern" : "^[^,]*$",
2026 "type" : "string",
2027 "nullable" : true,
2028 "example" : "PZSTESTSystemovyPristupovy"
2029 },
2030 "heslo" : {
2031 "maxLength" : 100,
2032 "minLength" : 17,
2033 "type" : "string",
2034 "description" : "Heslo: 17-100 znaků, alespoň 3 ze 4 skupin znaků (A-Z, a-z, 0-9, speciální znaky).",
2035 "example" : "MojeSilneHeslo2026@"
2036 },
2037 "technickyKontakt" : {
2038 "$ref" : "#/components/schemas/TechnickyKontaktPozadavku"
2039 },
2040 "subjekt" : {
2041 "$ref" : "#/components/schemas/SubjektPozadavku"
2042 }
2043 },
2044 "additionalProperties" : false
2045 },
2046 "RevokovatCertifikatRequest" : {
2047 "type" : "object",
2048 "properties" : {
2049 "externiIdentifikator" : {
2050 "type" : "string",
2051 "description" : "Vyplňuje pouze nadřazený systém PZS. Pokud volá přímo PZS, hodnota se ignoruje a IČO se přebírá z client_id.",
2052 "nullable" : true,
2053 "example" : "25488627"
2054 },
2055 "serioveCislo" : {
2056 "type" : "string",
2057 "nullable" : true,
2058 "example" : "210000016F31DB9FF631DDFD8700000000016F"
2059 },
2060 "iczId" : {
2061 "maximum" : 9.2233720368547758E+18,
2062 "minimum" : 1,
2063 "type" : "integer",
2064 "format" : "int64",
2065 "nullable" : true,
2066 "example" : 6371
2067 }
2068 },
2069 "additionalProperties" : false
2070 },
2071 "SeraditSeznamCertifikatuPodleEnum" : {
2072 "enum" : [
2073 "Id",
2074 "IczId",
2075 "NazevSluzby",
2076 "SerioveCislo",
2077 "PlatnostOd",
2078 "PlatnostDo",
2079 "DatumStazeni",
2080 "ExterniIdentifikator",
2081 "NazevSubjektu",
2082 "Uid",
2083 "Sablona"
2084 ],
2085 "type" : "string"
2086 },
2087 "SeznamCertifikatuResponse" : {
2088 "type" : "object",
2089 "properties" : {
2090 "celkovyPocet" : {
2091 "type" : "integer",
2092 "format" : "int64",
2093 "example" : 1007
2094 },
2095 "stranka" : {
2096 "type" : "integer",
2097 "format" : "int32",
2098 "example" : 1
2099 },
2100 "velikostStranky" : {
2101 "type" : "integer",
2102 "format" : "int32",
2103 "example" : 20
2104 },
2105 "polozky" : {
2106 "type" : "array",
2107 "items" : {
2108 "$ref" : "#/components/schemas/PolozkaSeznamuCertifikatuResponse"
2109 },
2110 "nullable" : true
2111 }
2112 },
2113 "additionalProperties" : false
2114 },
2115 "SmerRazeniEnum" : {
2116 "enum" : [
2117 "Vzestupne",
2118 "Sestupne"
2119 ],
2120 "type" : "string"
2121 },
2122 "StahnoutCertifikatResponse" : {
2123 "type" : "object",
2124 "properties" : {
2125 "data" : {
2126 "type" : "string",
2127 "nullable" : true,
2128 "example" : "MII..."
2129 },
2130 "serioveCislo" : {
2131 "type" : "string",
2132 "nullable" : true,
2133 "example" : "1B00000164AFFDEE6530523AFB000000000164"
2134 },
2135 "hash" : {
2136 "type" : "string",
2137 "nullable" : true,
2138 "example" : "8D35F20B6F6A4D34D13D5E760F1F2D646A82F0B2C7240D1E7C10E04A51B6AA21"
2139 }
2140 },
2141 "additionalProperties" : false
2142 },
2143 "StavCertifikatuEnum" : {
2144 "enum" : [
2145 "NA",
2146 "Valid",
2147 "Revoked",
2148 "Expirovany"
2149 ],
2150 "type" : "string"
2151 },
2152 "StavCertifikatuResponse" : {
2153 "type" : "object",
2154 "properties" : {
2155 "iczId" : {
2156 "type" : "integer",
2157 "format" : "int64",
2158 "example" : 3360
2159 },
2160 "uid" : {
2161 "type" : "string",
2162 "nullable" : true,
2163 "example" : "f888d100-f53e-415a-9d4c-6238e21d1134"
2164 },
2165 "stavPozadavku" : {
2166 "$ref" : "#/components/schemas/StavPozadavku"
2167 }
2168 },
2169 "additionalProperties" : false
2170 },
2171 "StavOperaceEnum" : {
2172 "enum" : [
2173 "Ok",
2174 "Warn",
2175 "Error"
2176 ],
2177 "type" : "string"
2178 },
2179 "StavPozadavku" : {
2180 "type" : "object",
2181 "properties" : {
2182 "kod" : {
2183 "type" : "integer",
2184 "format" : "int32",
2185 "nullable" : true,
2186 "example" : 1101
2187 },
2188 "stav" : {
2189 "$ref" : "#/components/schemas/StavPozadavkuEnum"
2190 },
2191 "typPozadavku" : {
2192 "$ref" : "#/components/schemas/TypPozadavkuEnum"
2193 }
2194 },
2195 "additionalProperties" : false
2196 },
2197 "StavPozadavkuEnum" : {
2198 "enum" : [
2199 "Manual",
2200 "New",
2201 "InProgress",
2202 "Ok",
2203 "Error",
2204 "FatalError"
2205 ],
2206 "type" : "string"
2207 },
2208 "SubjektInfo" : {
2209 "type" : "object",
2210 "properties" : {
2211 "externiIdentifikator" : {
2212 "type" : "string",
2213 "nullable" : true,
2214 "example" : "25488627"
2215 },
2216 "nazev" : {
2217 "type" : "string",
2218 "nullable" : true,
2219 "example" : "Ordinace Pokorná a Bezdíčková s.r.o."
2220 },
2221 "stat" : {
2222 "type" : "string",
2223 "nullable" : true,
2224 "example" : "CZ"
2225 },
2226 "email" : {
2227 "type" : "string",
2228 "nullable" : true,
2229 "example" : "ordinace.pokorna@example.cz"
2230 },
2231 "telefonniCislo" : {
2232 "type" : "string",
2233 "nullable" : true,
2234 "example" : "+420123456789"
2235 }
2236 },
2237 "additionalProperties" : false
2238 },
2239 "SubjektPozadavku" : {
2240 "required" : [
2241 "nazev"
2242 ],
2243 "type" : "object",
2244 "properties" : {
2245 "externiIdentifikator" : {
2246 "maxLength" : 50,
2247 "minLength" : 3,
2248 "type" : "string",
2249 "description" : "Vyplňuje pouze nadřazený systém PZS. Pokud volá přímo PZS, hodnota se ignoruje a IČO se přebírá z client_id.",
2250 "nullable" : true,
2251 "example" : "25488627"
2252 },
2253 "nazev" : {
2254 "maxLength" : 150,
2255 "minLength" : 0,
2256 "type" : "string",
2257 "example" : "Krajská zdravotní"
2258 },
2259 "stat" : {
2260 "maxLength" : 2,
2261 "minLength" : 2,
2262 "type" : "string",
2263 "description" : "Stát subjektu. Vyplňuje pouze nadřazený systém PZS; pokud hodnota chybí, použije se CZ.",
2264 "nullable" : true,
2265 "example" : "CZ"
2266 },
2267 "email" : {
2268 "type" : "string",
2269 "format" : "email",
2270 "nullable" : true,
2271 "example" : "test@example.cz"
2272 },
2273 "telefonniCislo" : {
2274 "type" : "string",
2275 "nullable" : true,
2276 "example" : "+420123456789"
2277 }
2278 },
2279 "additionalProperties" : false
2280 },
2281 "TechnickyKontakt" : {
2282 "type" : "object",
2283 "properties" : {
2284 "telefon" : {
2285 "type" : "string",
2286 "nullable" : true,
2287 "example" : "+420123456789"
2288 },
2289 "email" : {
2290 "type" : "string",
2291 "nullable" : true,
2292 "example" : "ordinace.pokorna@example.cz"
2293 }
2294 },
2295 "additionalProperties" : false
2296 },
2297 "TechnickyKontaktPozadavku" : {
2298 "required" : [
2299 "email"
2300 ],
2301 "type" : "object",
2302 "properties" : {
2303 "telefon" : {
2304 "type" : "string",
2305 "nullable" : true,
2306 "example" : "+420123456789"
2307 },
2308 "email" : {
2309 "minLength" : 1,
2310 "type" : "string",
2311 "format" : "email",
2312 "example" : "test@example.cz"
2313 }
2314 },
2315 "additionalProperties" : false
2316 },
2317 "TypDrziteleCertifikatuEnum" : {
2318 "enum" : [
2319 "Neznamy",
2320 "Osoba",
2321 "Subjekt"
2322 ],
2323 "type" : "string"
2324 },
2325 "TypPozadavkuEnum" : {
2326 "enum" : [
2327 "Issue",
2328 "Revoke",
2329 "Renew"
2330 ],
2331 "type" : "string"
2332 },
2333 "TypSeznamuCertifikatuEnum" : {
2334 "enum" : [
2335 "Platne",
2336 "Stazene",
2337 "Revokovane",
2338 "Expirovane"
2339 ],
2340 "type" : "string"
2341 },
2342 "UcelCertifikatuEnum" : {
2343 "enum" : [
2344 "Neznamy",
2345 "Autentizace",
2346 "Podpis"
2347 ],
2348 "type" : "string"
2349 },
2350 "VysledekOperaceResponse" : {
2351 "type" : "object",
2352 "properties" : {
2353 "iczId" : {
2354 "type" : "integer",
2355 "format" : "int64",
2356 "example" : 3360
2357 },
2358 "uid" : {
2359 "type" : "string",
2360 "nullable" : true,
2361 "example" : "f888d100-f53e-415a-9d4c-6238e21d1134"
2362 },
2363 "zprava" : {
2364 "type" : "string",
2365 "nullable" : true,
2366 "example" : "Požadavek byl úspěšně přijat ke zpracování."
2367 },
2368 "stav" : {
2369 "$ref" : "#/components/schemas/StavOperaceEnum"
2370 }
2371 },
2372 "additionalProperties" : false
2373 },
2374 "VystavitPristupovyCertifikatRequest" : {
2375 "required" : [
2376 "heslo",
2377 "nazevSluzby",
2378 "subjekt",
2379 "technickyKontakt"
2380 ],
2381 "type" : "object",
2382 "properties" : {
2383 "nazevSluzby" : {
2384 "maxLength" : 150,
2385 "minLength" : 0,
2386 "pattern" : "^[^,]*$",
2387 "type" : "string",
2388 "example" : "PZSTESTSystemovyPristupovy"
2389 },
2390 "heslo" : {
2391 "maxLength" : 100,
2392 "minLength" : 17,
2393 "type" : "string",
2394 "description" : "Heslo: 17-100 znaků, alespoň 3 ze 4 skupin znaků (A-Z, a-z, 0-9, speciální znaky).",
2395 "example" : "MojeSilneHeslo2026@"
2396 },
2397 "technickyKontakt" : {
2398 "$ref" : "#/components/schemas/TechnickyKontaktPozadavku"
2399 },
2400 "subjekt" : {
2401 "$ref" : "#/components/schemas/SubjektPozadavku"
2402 }
2403 },
2404 "additionalProperties" : false
2405 },
2406 "ZpusobVyuziPodpisovehoCertifikatuEnum" : {
2407 "enum" : [
2408 "Neznamy",
2409 "Lokalni",
2410 "Vzdalene"
2411 ],
2412 "type" : "string"
2413 }
2414 },
2415 "securitySchemes" : {
2416 "bearerAuth" : {
2417 "scheme" : "bearer",
2418 "description" : "Zadejde `Assertion Token (JWT)`",
2419 "type" : "http",
2420 "bearerFormat" : "JWT"
2421 }
2422 }
2423 },
2424 "tags" : [
2425 {
2426 "name" : "Certifikaty"
2427 },
2428 {
2429 "name" : "Health"
2430 }
2431 ],
2432 "security" : [
2433 {
2434 "bearerAuth" : [
2435
2436 ]
2437 }
2438 ]
2439 }