{
    "openapi": "3.0.0",
    "info": {
        "title": "KUPKAPI Generic API",
        "version": "1.2.0"
    },
    "servers": [
        {
            "url": "https:\/\/api.plzensky-kraj.cz\/"
        }
    ],
    "paths": {
        "\/auth\/login": {
            "post": {
                "summary": "Standard Login (HS256) - Symmetric HMAC authentication.",
                "tags": [
                    "auth"
                ],
                "requestBody": {
                    "content": {
                        "application\/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "apikey": {
                                        "type": "string",
                                        "description": "API KEY"
                                    }
                                },
                                "required": [
                                    "apikey"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/AuthLoginResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "\/auth\/login_rs256": {
            "post": {
                "summary": "Advanced Login (RS256) - Asymmetric RSA Authentication (Server-signed).",
                "tags": [
                    "auth"
                ],
                "requestBody": {
                    "content": {
                        "application\/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "apikey": {
                                        "type": "string",
                                        "description": "API KEY"
                                    }
                                },
                                "required": [
                                    "apikey"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/AuthLogin_rs256Response"
                                }
                            }
                        }
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "AuthLoginResponse": {
                "type": "object",
                "properties": {
                    "status": {
                        "description": "Request status",
                        "type": "string"
                    },
                    "token": {
                        "description": "JWT Token (HS256)",
                        "type": "string"
                    },
                    "expires_at": {
                        "description": "Expiration date and time",
                        "type": "string",
                        "format": "date-time"
                    },
                    "type": {
                        "description": "Token type (Bearer)",
                        "type": "string"
                    }
                },
                "required": [
                    "status",
                    "token",
                    "expires_at",
                    "type"
                ]
            },
            "AuthLogin_rs256Response": {
                "type": "object",
                "properties": {
                    "status": {
                        "description": "Request status",
                        "type": "string"
                    },
                    "token": {
                        "description": "JWT Token (RS256)",
                        "type": "string"
                    },
                    "expires_at": {
                        "description": "Expiration date and time",
                        "type": "string",
                        "format": "date-time"
                    },
                    "type": {
                        "description": "Token type (Bearer)",
                        "type": "string"
                    }
                },
                "required": [
                    "status",
                    "token",
                    "expires_at",
                    "type"
                ]
            }
        }
    }
}