1+ openapi : 3.1.0
2+ info :
3+ title : TI Service Discovery
4+ description : |
5+ Statische JSON-Ressource (`catalog.json`) zur Lokalisierung der krankenkassenspezifischen
6+ FQDN (und damit des Diensteanbieters) für den ZETA (TI 2.0) Request-Flow.
7+
8+ Dieses API-Dokument spezifiziert den Vertrag zwischen einem Primärsystem und dem
9+ Endpunkt des TI-Service-Discovery-Dienstes.
10+
11+ Der Abruf der `catalog.json` ist Voraussetzung für die in der VSDM-2-OpenAPI-Definition
12+ beschriebenen Ressourcen-Anfragen sowie Auth-/Token-Flows.
13+ contact :
14+ name : gematik GmbH
15+ url : https://www.gematik.de
16+ license :
17+ name : Apache 2.0
18+ url : https://www.apache.org/licenses/LICENSE-2.0
19+ version : 1.0.0
20+ externalDocs :
21+ description : JSON Schema für catalog.json
22+ url : https://github.com/gematik/spec-VSDM2/tree/main/src/schemas/catalog.schema.json
23+ servers :
24+ - url : https://service-discovery.prod.ti-platform.de
25+ description : Produktivinstanz (PU)
26+ - url : https://service-discovery.ref.ti-platform.de
27+ description : Referenzinstanz (RU)
28+ - url : https://service-discovery.test.ti-platform.de
29+ description : Testinstanz (TU)
30+ - url : https://service-discovery.dev.ti-platform.de
31+ description : Entwicklungsinstanz (DEV)
32+ tags :
33+ - name : Service Discovery
34+ description : Endpunkt zur Lokalisierung von TI-Fachdiensten.
35+ paths :
36+ /catalog.json :
37+ get :
38+ tags :
39+ - Service Discovery
40+ summary : TI Service Catalog abrufen
41+ description : |
42+ Liefert ein Mapping von IK-Nummern auf krankenkassenspezifische FQDNs
43+ sowie die zugehörigen Service-Instanzen der TI.
44+
45+ Das Dokument ist eine statische JSON-Ressource und kann über `ETag`
46+ und `Cache-Control` Header effizient gecacht werden.
47+ operationId : getServiceCatalog
48+ responses :
49+ " 200 " :
50+ description : OK
51+ headers :
52+ ETag :
53+ description : Revisionsnummer als Entity-Tag für Caching.
54+ schema :
55+ type : string
56+ example : ' "rev-47"'
57+ Cache-Control :
58+ description : Caching-Direktive.
59+ schema :
60+ type : string
61+ example : max-age=3600
62+ content :
63+ application/json :
64+ schema :
65+ $ref : " #/components/schemas/Catalog"
66+ example :
67+ format_version : " 1.0.0"
68+ revision : 47
69+ env : prod
70+ service_instances :
71+ vsdm-1 :
72+ type : vsdm
73+ url : https://prod.vsdm.ti-dienste.tk.de
74+ erp :
75+ type : erp
76+ url : https://erp.ti-dienste.de
77+ idp :
78+ type : idp
79+ url : https://idp.ti-dienste.de/.well-known/openid-configuration
80+ vzd :
81+ type : vzd
82+ url : https://fhir-directory.ti-dienste.de/fhir
83+ routing :
84+ vsdm :
85+ " 101575519 " : vsdm-1
86+ " 500 " :
87+ description : Internal Server Error
88+ content :
89+ application/problem+json :
90+ schema :
91+ $ref : " #/components/schemas/Problem"
92+ example :
93+ type : https://service-discovery.ti-platform.de/errors/internal
94+ title : Internal Server Error
95+ status : 500
96+ detail : Failed to retrieve TI service discovery document.
97+ instance : /catalog.json
98+ components :
99+ schemas :
100+ Catalog :
101+ type : object
102+ description : TI Service Catalog — Verzeichnis aller Service-Instanzen und IK-basiertes Routing.
103+ required :
104+ - format_version
105+ - revision
106+ - env
107+ - service_instances
108+ additionalProperties : false
109+ properties :
110+ format_version :
111+ type : string
112+ pattern : ' ^[0-9]+\.[0-9]+\.[0-9]+$'
113+ description : Semantische Versionsnummer des Formats.
114+ examples :
115+ - " 1.0.0"
116+ revision :
117+ type : integer
118+ minimum : 1
119+ description : Fortlaufend steigende Nummer. Wird bei jeder Änderung erhöht.
120+ examples :
121+ - 47
122+ env :
123+ type : string
124+ enum :
125+ - dev
126+ - test
127+ - ref
128+ - prod
129+ description : Zielumgebung. Pro Stage/Umgebung existiert eine eigene Datei.
130+ service_instances :
131+ type : object
132+ description : Map von Service-Instanz-ID auf Service-Definition.
133+ minProperties : 1
134+ additionalProperties :
135+ $ref : " #/components/schemas/ServiceInstance"
136+ routing :
137+ type : object
138+ description : |
139+ Map von Diensttyp auf Routing-Tabelle.
140+ Jede Routing-Tabelle bildet IK-Nummern auf Service-Instanz-IDs ab.
141+ Nur nötig wenn mehrere Instanzen eines Diensttyps existieren.
142+ additionalProperties :
143+ $ref : " #/components/schemas/RoutingTable"
144+ ServiceInstance :
145+ type : object
146+ description : Einzelne Service-Instanz.
147+ required :
148+ - type
149+ - url
150+ additionalProperties : false
151+ properties :
152+ type :
153+ type : string
154+ pattern : ' ^[a-z][a-z0-9-]*$'
155+ description : Diensttyp-Bezeichner.
156+ examples :
157+ - vsdm
158+ - epa
159+ - erp
160+ - idp
161+ - vzd
162+ url :
163+ type : string
164+ format : uri
165+ description : URL der Service-Instanz.
166+ examples :
167+ - https://dev.vsdm.ti-dienste.tk.de
168+ RoutingTable :
169+ type : object
170+ description : |
171+ Routing-Tabelle für einen Diensttyp.
172+ Schlüssel ist eine IK-Nummer, Wert ist eine Service-Instanz-ID
173+ die als Schlüssel in `service_instances` existieren muss.
174+ minProperties : 1
175+ additionalProperties :
176+ type : string
177+ examples :
178+ - " 109519005 " : vsdm-1
179+ " 108310400 " : vsdm-1
180+ " 101575519 " : vsdm-2
181+ Problem :
182+ type : object
183+ description : Fehlerobjekt gemäß RFC 9457 (Problem Details for HTTP APIs).
184+ properties :
185+ type :
186+ type : string
187+ format : uri
188+ description : URI-Referenz die den Problemtyp identifiziert.
189+ title :
190+ type : string
191+ description : Kurze, menschenlesbare Zusammenfassung des Problemtyps.
192+ status :
193+ type : integer
194+ description : HTTP-Statuscode für dieses Auftreten des Problems.
195+ detail :
196+ type : string
197+ description : Menschenlesbare Erklärung spezifisch für dieses Auftreten.
198+ instance :
199+ type : string
200+ description : Referenz die das spezifische Auftreten identifiziert.
0 commit comments