{
    "openapi": "3.0.1",
    "info": {
        "title": "OpenAPI definition",
        "version": "v0"
    },
    "servers": [
        {
            "url": "",
            "description": "Generated server url"
        }
    ],
    "paths": {
        "/pushNetexDownloadLink": {
            "post": {
                "tags": [
                    "test-swagger"
                ],
                "operationId": "pushNetexDownloadLink",
                "requestBody": {
                    "description": "Input per notificare al maas operator la disponibilità del file NeTEx corrispondente allo snapshotId selezionato",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PushNetexDownloadLinkInputDTO"
                            },
                            "examples": {
                                "Invio di una richiesta con descrizione viaggio in netex": {
                                    "description": "Invio di una richiesta per notificare al maas operator la disponibilità del file NeTEx corrispondente allo snapshotId selezionato",
                                    "value": {
                                        "snapshotId": "1234abc",
                                        "neTExLevel": 1,
                                        "areaType": "",
                                        "areaNutsCode": "ITF33",
                                        "creationTime": "2024-01-16T10:15:30+01:00",
                                        "modificationTime": "2024-01-16T10:15:30+01:00",
                                        "requestId": "abcd1234",
                                        "snapshotParts": {
                                          "downloadLink": "http://dowloand.link/file.netex",
                                        "integrityHash": "061b7b9cf45ab93c0735978999b92aebac45c805",
                                            "validityPeriod": {
                                              "timestampInizio": "2024-01-16T10:15:30+01:00",
                                              "timestampFine": "2024-01-16T10:15:30+01:00"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "500": {
                        "description": "Risposta restituita in caso di errore non gestito",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/RestReturnValue"
                                },
                                "examples": {
                                    "Errore di sistema": {
                                        "description": "Errore di sistema",
                                        "value": {
                                            "result": {
                                                "exitCode": "500",
                                                "text": "Si &egrave; verificato un errore di sistema"
                                            },
                                            "payload": null
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "content": {
                            "*/*": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "content": {
                            "*/*": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "200": {
                        "description": "OK",
                        "content": {
                            "*/*": {
                                "schema": {
                                    "$ref": "#/components/schemas/RestReturnValue"
                                }
                            }
                        }
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "RestReturnValue": {
                "type": "object",
                "properties": {
                    "result": {
                        "$ref": "#/components/schemas/Result"
                    },
                    "payload": {
                        "type": "object"
                    }
                }
            },
            "Result": {
                "type": "object",
                "properties": {
                    "exitCode": {
                        "type": "string"
                    },
                    "text": {
                        "type": "string"
                    }
                }
            },
            "SnapshotPart": {
                "type": "object",
                "properties": {
                    "downloadLink": {
                        "type": "string"
                    },
                    "integrityHash": {
                        "type": "string"
                    },
                    "validityPeriod": {
                        "$ref": "#/components/schemas/IntervalloTemporaleDTO"
                    }
                }
            },
            "IntervalloTemporaleDTO": {
                "type": "object",
                "properties": {
                    "timestampInizio": {
                        "type": "string"
                    },
                    "timestampFine": {
                        "type": "string"
                    }
                }
            },
            "PushNetexDownloadLinkInputDTO": {
                "type": "object",
                "properties": {
                    "snapshotId": {
                        "type": "string"
                    },
                    "neTExLevel": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "areaType": {
                        "type": "string"
                    },
                    "areaNutsCode": {
                        "type": "string"
                    },
                    "creationTime": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "modificationTime": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "requestId": {
                        "type": "string"
                    },
                    "downloadLink": {
                        "type": "string"
                    },
                    "integrityHash": {
                        "type": "string"
                    },
                    "snapshotParts": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/SnapshotPart"
                        }
                    }
                }
            }
        }
    }
}