{"openapi":"3.1.0","info":{"title":"CISS TDI Geospatial Data Procurement APIs","description":"APIs for Geospatial Data-as-a-Service (DaaS). Powered by the CISS Workflow Management System (CWMS), enabling users to import, convert, export, and order geospatial data products on demand.","contact":{"name":"CISS GmbH","url":"https://www.ciss.de/","email":"team@ciss.de"},"version":"ed35818"},"paths":{"/pc/v1/calculate_price":{"post":{"tags":["CWMS Price Calculator","Protected"],"summary":"Calculate Price Post","description":"Calculate price (POST JSON body).\n\nPreferred for programmatic clients (GUI). Use `PriceRequest` JSON body.","operationId":"calculate_price_post_pc_v1_calculate_price_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PriceRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PriceListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["CWMS Price Calculator","Protected"],"summary":"Calculate Price Get","description":"Compatibility GET wrapper to preserve Swagger query fields and enum dropdowns.\n\nThis constructs a `PriceRequest` from query params and delegates to the same\ncompute logic used by the POST endpoint.","operationId":"calculate_price_get_pc_v1_calculate_price_get","parameters":[{"name":"wkt_input","in":"query","required":true,"schema":{"type":"string","description":"Well-known text (WKT) representation of the geometry.","title":"Wkt Input"},"description":"Well-known text (WKT) representation of the geometry."},{"name":"produkt_type","in":"query","required":false,"schema":{"$ref":"#/components/schemas/ProduktEnum","description":"Product type for price calculation.","default":"Grafik"},"description":"Product type for price calculation."},{"name":"srs","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SRS","description":"Spatial Reference System. E.g., `EPSG:25832`.","default":"EPSG:25832"},"description":"Spatial Reference System. E.g., `EPSG:25832`."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PriceListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/pc/v1/calculate_price_form":{"post":{"tags":["CWMS Price Calculator","Protected"],"summary":"Calculate Price Post Form","description":"Compatibility POST that accepts form-encoded fields so Swagger UI shows.\n\nseparate input widgets and enum dropdowns (similar to `/v1/simple_order`).\n\nThis endpoint exists to improve developer UX in Swagger; programmatic\nclients should continue to use the JSON POST `/v1/calculate_price`.","operationId":"calculate_price_post_form_pc_v1_calculate_price_form_post","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_calculate_price_post_form_pc_v1_calculate_price_form_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PriceListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tiles/{state}/{z}/{x}/{y}.png":{"get":{"tags":["ALKIS Tiles"],"summary":"Get Alkis Tile","description":"Fetch a WMS map tile for the requested state.","operationId":"get_alkis_tile_tiles__state___z___x___y__png_get","parameters":[{"name":"state","in":"path","required":true,"schema":{"type":"string","description":"State ISO code, e.g. BE","title":"State"},"description":"State ISO code, e.g. BE"},{"name":"z","in":"path","required":true,"schema":{"type":"integer","minimum":0,"title":"Z"}},{"name":"x","in":"path","required":true,"schema":{"type":"integer","minimum":0,"title":"X"}},{"name":"y","in":"path","required":true,"schema":{"type":"integer","minimum":0,"title":"Y"}}],"responses":{"200":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/simple_order":{"post":{"tags":["CWMS DaaS","Protected"],"summary":"Create Simple Order","description":"Order new geospatial data.","operationId":"create_simple_order_v1_simple_order_post","parameters":[{"name":"output_format","in":"query","required":true,"schema":{"$ref":"#/components/schemas/Format","description":"Output format."},"description":"Output format."},{"name":"project","in":"query","required":true,"schema":{"type":"string","description":"Project ID.","title":"Project"},"description":"Project ID."},{"name":"srs","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SRS","description":"The Spatial Reference System."},"description":"The Spatial Reference System."},{"name":"wkt","in":"query","required":true,"schema":{"type":"string","description":"Well-known text (WKT) representation of the geometry. E.g. `POLYGON((376031 5600742,376045 5600742,376045 5600756,376031 5600756,376031 5600742))`","title":"Wkt"},"description":"Well-known text (WKT) representation of the geometry. E.g. `POLYGON((376031 5600742,376045 5600742,376045 5600756,376031 5600756,376031 5600742))`"},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/State"},{"type":"null"}],"description":"German state. Will be identified automatically otherwise.","title":"State"},"description":"German state. Will be identified automatically otherwise."},{"name":"product","in":"query","required":false,"schema":{"$ref":"#/components/schemas/ProduktEnum","description":"Type of product.","default":"Komplett"},"description":"Type of product."},{"name":"price","in":"query","required":false,"schema":{"$ref":"#/components/schemas/JaNeinEnum","description":"Calculate price for the product.","default":"nein"},"description":"Calculate price for the product."},{"name":"comment","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Comment for the order.","title":"Comment"},"description":"Comment for the order."},{"name":"response_mail","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"email"},{"type":"null"}],"description":"Email address for the response.","title":"Response Mail"},"description":"Email address for the response."}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_create_simple_order_v1_simple_order_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TicketCreateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/status":{"get":{"tags":["CWMS DaaS","Protected"],"summary":"Get Order Status","description":"Get status of ticket.","operationId":"get_order_status_v1_status_get","parameters":[{"name":"ticket_id","in":"query","required":true,"schema":{"type":"string","description":"Ticket ID.","title":"Ticket Id"},"description":"Ticket ID."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TicketStatusResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/download":{"get":{"tags":["CWMS DaaS","Protected"],"summary":"Get Download","description":"Get status of ticket.","operationId":"get_download_v1_download_get","parameters":[{"name":"ticket_id","in":"query","required":true,"schema":{"type":"string","description":"Ticket ID.","title":"Ticket Id"},"description":"Ticket ID."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_calculate_price_post_form_pc_v1_calculate_price_form_post":{"properties":{"wkt_input":{"type":"string","title":"Wkt Input","description":"Well-known text (WKT) representation of the geometry."},"produkt_type":{"$ref":"#/components/schemas/ProduktEnum","description":"Product type for price calculation.","default":"Grafik"},"srs":{"$ref":"#/components/schemas/SRS","description":"Spatial Reference System. E.g., `EPSG:25832`.","default":"EPSG:25832"}},"type":"object","required":["wkt_input"],"title":"Body_calculate_price_post_form_pc_v1_calculate_price_form_post"},"Body_create_simple_order_v1_simple_order_post":{"properties":{"file":{"anyOf":[{"type":"string","format":"binary"},{"type":"string"}],"title":"File","description":"Attachment for the order.","default":""}},"type":"object","title":"Body_create_simple_order_v1_simple_order_post"},"Format":{"type":"string","enum":["NAS","CSV","DXF","SHP"],"title":"Format","description":"Output format."},"HTTPStatus":{"type":"integer","enum":[100,101,102,103,200,201,202,203,204,205,206,207,208,226,300,301,302,303,304,305,307,308,400,401,402,403,404,405,406,407,408,409,410,411,412,413,413,414,414,415,416,416,417,418,421,422,422,423,424,425,426,428,429,431,451,500,501,502,503,504,505,506,507,508,510,511],"title":"HTTPStatus","description":"HTTP status codes and reason phrases\n\nStatus codes from the following RFCs are all observed:\n\n    * RFC 9110: HTTP Semantics, obsoletes 7231, which obsoleted 2616\n    * RFC 6585: Additional HTTP Status Codes\n    * RFC 3229: Delta encoding in HTTP\n    * RFC 4918: HTTP Extensions for WebDAV, obsoletes 2518\n    * RFC 5842: Binding Extensions to WebDAV\n    * RFC 7238: Permanent Redirect\n    * RFC 2295: Transparent Content Negotiation in HTTP\n    * RFC 2774: An HTTP Extension Framework\n    * RFC 7725: An HTTP Status Code to Report Legal Obstacles\n    * RFC 7540: Hypertext Transfer Protocol Version 2 (HTTP/2)\n    * RFC 2324: Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0)\n    * RFC 8297: An HTTP Status Code for Indicating Hints\n    * RFC 8470: Using Early Data in HTTP"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"JaNeinEnum":{"type":"string","enum":["ja","nein"],"title":"JaNeinEnum","description":"Ja/Nein-Enum für die Preisberechnung."},"PriceListResponse":{"properties":{"prices":{"items":{"$ref":"#/components/schemas/PriceResponse"},"type":"array","title":"Prices"},"detail":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Detail"}},"type":"object","required":["prices"],"title":"PriceListResponse","description":"Response model for price calculation returning multiple per-state entries.","example":{"detail":{"code":"manual_pricing_required","i18n_key":"price.status.manualRequired","message":"Manuelle Preisberechnung erforderlich"},"prices":[{"area":212.372,"data":0,"error_code":"manual_pricing_required","fsk":0,"k1":100,"k2":0.485,"price":0,"service":0,"state":"DE-BY"}]}},"PriceRequest":{"properties":{"wkt_input":{"type":"string","title":"Wkt Input","description":"Well-known text (WKT) polygon.","example":"POLYGON((376031 5600742,376045 5600742,376045 5600756,376031 5600756,376031 5600742))"},"produkt_type":{"$ref":"#/components/schemas/ProduktEnum","description":"Product type for price calculation.","example":"Grafik"},"srs":{"$ref":"#/components/schemas/SRS","description":"Spatial Reference System.","default":"EPSG:25832","example":"EPSG:25832"}},"type":"object","required":["wkt_input","produkt_type"],"title":"PriceRequest","description":"Request model for price calculation endpoint."},"PriceResponse":{"properties":{"price":{"anyOf":[{"type":"number"},{"type":"string"}],"title":"Price"},"area":{"anyOf":[{"type":"number"},{"type":"integer"}],"title":"Area"},"k1":{"type":"number","title":"K1"},"k2":{"type":"number","title":"K2"},"state":{"type":"string","title":"State"},"fsk":{"type":"integer","title":"Fsk"},"data":{"type":"number","title":"Data"},"service":{"type":"number","title":"Service"}},"type":"object","required":["price","area","k1","k2","state","fsk","data","service"],"title":"PriceResponse","description":"Response model for price calculation endpoint.","example":{"area":0.12,"data":10.0,"fsk":42,"k1":1.2,"k2":0.5,"price":123.45,"service":5.0,"state":"DE-BY"}},"ProduktEnum":{"type":"string","enum":["Komplett","Grafik"],"title":"ProduktEnum","description":"Produkttypen für die Preisberechnung."},"SRS":{"type":"string","enum":["EPSG:25832","EPSG:25833","EPSG:4326"],"title":"SRS","description":"The Spatial Reference System."},"State":{"type":"string","enum":["Berlin","Brandenburg","Baden-Württemberg","Bayern","Bremen","Hessen","Hamburg","Mecklenburg-Vorpommern","Niedersachsen","Nordrhein-Westfalen","Rheinland-Pfalz","Schleswig-Holstein","Saarland","Sachsen","Sachsen-Anhalt","Thüringen"],"title":"State","description":"The German state."},"TicketCreateDetailResponse":{"properties":{"ticket":{"type":"string","title":"Ticket","description":"Ticket ID."},"error":{"type":"string","title":"Error","description":"Error message."}},"type":"object","required":["ticket","error"],"title":"TicketCreateDetailResponse","description":"Ticket create detail response."},"TicketCreateResponse":{"properties":{"status_code":{"$ref":"#/components/schemas/HTTPStatus","description":"HTTP status enumeration."},"content":{"$ref":"#/components/schemas/TicketCreateDetailResponse"}},"type":"object","required":["status_code","content"],"title":"TicketCreateResponse","description":"Ticket create response."},"TicketStatusEnum":{"type":"string","enum":["NEW","OPEN","CLOSED_NOACTION","CLOSED_SUCCESS","CLOSED_FAIL","UNKNOWN"],"title":"TicketStatusEnum","description":"Ticket status enumeration."},"TicketStatusResponse":{"properties":{"status":{"$ref":"#/components/schemas/TicketStatusEnum"}},"type":"object","required":["status"],"title":"TicketStatusResponse","description":"Ticket status response."},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}