Generate api.json 00/4800/4
authorPatrikBuhr <patrik.buhr@est.tech>
Fri, 2 Oct 2020 07:26:06 +0000 (09:26 +0200)
committerPatrikBuhr <patrik.buhr@est.tech>
Fri, 2 Oct 2020 09:49:28 +0000 (11:49 +0200)
Every time the ApplicationTest unittest is run, api.json is automaticall updated.

Change-Id: I6cd88fddbdb9f18ebc2eab99fe2b486a2e8d03fc
Issue-ID: NONRTRIC-173
Signed-off-by: PatrikBuhr <patrik.buhr@est.tech>
enrichment-coordinator-service/docs/api.json [new file with mode: 0644]
enrichment-coordinator-service/docs/api.yaml
enrichment-coordinator-service/src/test/java/org/oransc/enrichment/ApplicationTest.java

diff --git a/enrichment-coordinator-service/docs/api.json b/enrichment-coordinator-service/docs/api.json
new file mode 100644 (file)
index 0000000..e4f7660
--- /dev/null
@@ -0,0 +1,754 @@
+{
+    "basePath": "/",
+    "paths": {
+        "/producer_simulator/job_deleted_error": {"post": {
+            "summary": "Callback for EI job creation, returns error",
+            "deprecated": false,
+            "produces": ["application/json"],
+            "operationId": "jobDeletedCallbackReturnErrorUsingPOST",
+            "responses": {
+                "200": {"description": "OK"},
+                "201": {"description": "Created"},
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {"description": "Not Found"}
+            },
+            "parameters": [{
+                "schema": {"$ref": "#/definitions/producer_ei_job_request"},
+                "in": "body",
+                "name": "request",
+                "description": "request",
+                "required": true
+            }],
+            "tags": ["Producer Simulator"],
+            "consumes": ["application/json"]
+        }},
+        "/producer_simulator/supervision": {"get": {
+            "summary": "Producer supervision",
+            "deprecated": false,
+            "produces": ["application/json"],
+            "operationId": "producerSupervisionUsingGET",
+            "responses": {
+                "200": {
+                    "schema": {"type": "string"},
+                    "description": "OK"
+                },
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {"description": "Not Found"}
+            },
+            "tags": ["Producer Simulator"]
+        }},
+        "/A1-EI/v1/eitypes/{eiTypeId}/eijobs": {"get": {
+            "summary": "EI job identifiers",
+            "deprecated": false,
+            "produces": ["application/json"],
+            "operationId": "getEiJobIdsUsingGET",
+            "responses": {
+                "200": {
+                    "schema": {
+                        "type": "array",
+                        "items": {"type": "string"}
+                    },
+                    "description": "EI job identifiers"
+                },
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {
+                    "schema": {"$ref": "#/definitions/error_information"},
+                    "description": "Enrichment Information type is not found"
+                }
+            },
+            "parameters": [
+                {
+                    "in": "path",
+                    "name": "eiTypeId",
+                    "description": "eiTypeId",
+                    "type": "string",
+                    "required": true
+                },
+                {
+                    "schema": {"type": "string"},
+                    "in": "body",
+                    "name": "owner",
+                    "description": "identifies the owner of the job",
+                    "required": false
+                }
+            ],
+            "tags": ["A1-E Enrichment Data Consumer API"]
+        }},
+        "/A1-EI/v1/eitypes/{eiTypeId}": {"get": {
+            "summary": "Individual EI type",
+            "deprecated": false,
+            "produces": ["application/json"],
+            "operationId": "getEiTypeUsingGET",
+            "responses": {
+                "200": {
+                    "schema": {"$ref": "#/definitions/EiType"},
+                    "description": "EI type"
+                },
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {
+                    "schema": {"$ref": "#/definitions/error_information"},
+                    "description": "Enrichment Information type is not found"
+                }
+            },
+            "parameters": [{
+                "in": "path",
+                "name": "eiTypeId",
+                "description": "eiTypeId",
+                "type": "string",
+                "required": true
+            }],
+            "tags": ["A1-E Enrichment Data Consumer API"]
+        }},
+        "/ei-producer/v1/eitypes": {"get": {
+            "summary": "EI type identifiers",
+            "deprecated": false,
+            "produces": ["application/json"],
+            "operationId": "getEiTypeIdentifiersUsingGET_1",
+            "responses": {
+                "200": {
+                    "schema": {
+                        "type": "array",
+                        "items": {"type": "string"}
+                    },
+                    "description": "EI type identifiers"
+                },
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {"description": "Not Found"}
+            },
+            "tags": ["Enrichment Data Producer API"]
+        }},
+        "/A1-EI/v1/eitypes": {"get": {
+            "summary": "EI type identifiers",
+            "deprecated": false,
+            "produces": ["application/json"],
+            "operationId": "getEiTypeIdentifiersUsingGET",
+            "responses": {
+                "200": {
+                    "schema": {
+                        "type": "array",
+                        "items": {"type": "string"}
+                    },
+                    "description": "EI type identifiers"
+                },
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {"description": "Not Found"}
+            },
+            "tags": ["A1-E Enrichment Data Consumer API"]
+        }},
+        "/producer_simulator/job_deleted": {"post": {
+            "summary": "Callback for EI job deletion",
+            "deprecated": false,
+            "produces": ["application/json"],
+            "operationId": "jobDeletedCallbackUsingPOST",
+            "responses": {
+                "200": {"description": "OK"},
+                "201": {"description": "Created"},
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {"description": "Not Found"}
+            },
+            "parameters": [{
+                "schema": {"$ref": "#/definitions/producer_ei_job_request"},
+                "in": "body",
+                "name": "request",
+                "description": "request",
+                "required": true
+            }],
+            "tags": ["Producer Simulator"],
+            "consumes": ["application/json"]
+        }},
+        "/A1-EI/v1/eitypes/{eiTypeId}/eijobs/{eiJobId}/status": {"get": {
+            "summary": "EI Job status",
+            "deprecated": false,
+            "produces": ["application/json"],
+            "operationId": "getEiJobStatusUsingGET",
+            "responses": {
+                "200": {
+                    "schema": {"$ref": "#/definitions/EiJobStatus"},
+                    "description": "EI Job status"
+                },
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {
+                    "schema": {"$ref": "#/definitions/error_information"},
+                    "description": "Enrichment Information type or job is not found"
+                }
+            },
+            "parameters": [
+                {
+                    "in": "path",
+                    "name": "eiJobId",
+                    "description": "eiJobId",
+                    "type": "string",
+                    "required": true
+                },
+                {
+                    "in": "path",
+                    "name": "eiTypeId",
+                    "description": "eiTypeId",
+                    "type": "string",
+                    "required": true
+                }
+            ],
+            "tags": ["A1-E Enrichment Data Consumer API"]
+        }},
+        "/ei-producer/v1/eiproducers/{eiProducerId}/status": {"get": {
+            "summary": "EI producer status",
+            "deprecated": false,
+            "produces": ["application/json"],
+            "operationId": "getEiProducerStatusUsingGET",
+            "responses": {
+                "200": {
+                    "schema": {"$ref": "#/definitions/producer_status"},
+                    "description": "EI jobs"
+                },
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {
+                    "schema": {"$ref": "#/definitions/error_information"},
+                    "description": "Enrichment Information producer is not found"
+                }
+            },
+            "parameters": [{
+                "in": "path",
+                "name": "eiProducerId",
+                "description": "eiProducerId",
+                "type": "string",
+                "required": true
+            }],
+            "tags": ["Enrichment Data Producer API"]
+        }},
+        "/producer_simulator/supervision_error": {"get": {
+            "summary": "Producer supervision error",
+            "deprecated": false,
+            "produces": ["application/json"],
+            "operationId": "producerSupervisionErrorUsingGET",
+            "responses": {
+                "200": {
+                    "schema": {"type": "string"},
+                    "description": "OK"
+                },
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {"description": "Not Found"}
+            },
+            "tags": ["Producer Simulator"]
+        }},
+        "/ei-producer/v1/eiproducers": {"get": {
+            "summary": "EI producer identifiers",
+            "deprecated": false,
+            "produces": ["application/json"],
+            "operationId": "getEiProducerIdentifiersUsingGET",
+            "responses": {
+                "200": {
+                    "schema": {
+                        "type": "array",
+                        "items": {"type": "string"}
+                    },
+                    "description": "EI producer identifiers"
+                },
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {"description": "Not Found"}
+            },
+            "tags": ["Enrichment Data Producer API"]
+        }},
+        "/ei-producer/v1/eitypes/{eiTypeId}": {"get": {
+            "summary": "Individual EI Type",
+            "deprecated": false,
+            "produces": ["application/json"],
+            "operationId": "getEiTypeUsingGET_1",
+            "responses": {
+                "200": {
+                    "schema": {"$ref": "#/definitions/producer_ei_type_info"},
+                    "description": "EI type"
+                },
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {
+                    "schema": {"$ref": "#/definitions/error_information"},
+                    "description": "Enrichment Information type is not found"
+                }
+            },
+            "parameters": [{
+                "in": "path",
+                "name": "eiTypeId",
+                "description": "eiTypeId",
+                "type": "string",
+                "required": true
+            }],
+            "tags": ["Enrichment Data Producer API"]
+        }},
+        "/producer_simulator/job_created_error": {"post": {
+            "summary": "Callback for EI job creation, returns error",
+            "deprecated": false,
+            "produces": ["application/json"],
+            "operationId": "jobCreatedCallbackReturnErrorUsingPOST",
+            "responses": {
+                "200": {"description": "OK"},
+                "201": {"description": "Created"},
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {"description": "Not Found"}
+            },
+            "parameters": [{
+                "schema": {"$ref": "#/definitions/producer_ei_job_request"},
+                "in": "body",
+                "name": "request",
+                "description": "request",
+                "required": true
+            }],
+            "tags": ["Producer Simulator"],
+            "consumes": ["application/json"]
+        }},
+        "/A1-EI/v1/eitypes/{eiTypeId}/eijobs/{eiJobId}": {
+            "get": {
+                "summary": "Individual EI Job",
+                "deprecated": false,
+                "produces": ["application/json"],
+                "operationId": "getIndividualEiJobUsingGET",
+                "responses": {
+                    "200": {
+                        "schema": {"$ref": "#/definitions/EiJob"},
+                        "description": "EI Job"
+                    },
+                    "401": {"description": "Unauthorized"},
+                    "403": {"description": "Forbidden"},
+                    "404": {
+                        "schema": {"$ref": "#/definitions/error_information"},
+                        "description": "Enrichment Information type or job is not found"
+                    }
+                },
+                "parameters": [
+                    {
+                        "in": "path",
+                        "name": "eiJobId",
+                        "description": "eiJobId",
+                        "type": "string",
+                        "required": true
+                    },
+                    {
+                        "in": "path",
+                        "name": "eiTypeId",
+                        "description": "eiTypeId",
+                        "type": "string",
+                        "required": true
+                    }
+                ],
+                "tags": ["A1-E Enrichment Data Consumer API"]
+            },
+            "delete": {
+                "summary": "Individual EI Job",
+                "deprecated": false,
+                "produces": ["application/json"],
+                "operationId": "deleteIndividualEiJobUsingDELETE",
+                "responses": {
+                    "200": {"description": "Not used"},
+                    "401": {"description": "Unauthorized"},
+                    "204": {"description": "Job deleted"},
+                    "403": {"description": "Forbidden"},
+                    "404": {
+                        "schema": {"$ref": "#/definitions/error_information"},
+                        "description": "Enrichment Information type or job is not found"
+                    }
+                },
+                "parameters": [
+                    {
+                        "in": "path",
+                        "name": "eiJobId",
+                        "description": "eiJobId",
+                        "type": "string",
+                        "required": true
+                    },
+                    {
+                        "in": "path",
+                        "name": "eiTypeId",
+                        "description": "eiTypeId",
+                        "type": "string",
+                        "required": true
+                    }
+                ],
+                "tags": ["A1-E Enrichment Data Consumer API"]
+            },
+            "put": {
+                "summary": "Individual EI Job",
+                "deprecated": false,
+                "produces": ["application/json"],
+                "operationId": "putIndividualEiJobUsingPUT",
+                "responses": {
+                    "200": {"description": "Job updated"},
+                    "201": {"description": "Job created"},
+                    "401": {"description": "Unauthorized"},
+                    "403": {"description": "Forbidden"},
+                    "404": {
+                        "schema": {"$ref": "#/definitions/error_information"},
+                        "description": "Enrichment Information type is not found"
+                    }
+                },
+                "parameters": [
+                    {
+                        "in": "path",
+                        "name": "eiJobId",
+                        "description": "eiJobId",
+                        "type": "string",
+                        "required": true
+                    },
+                    {
+                        "schema": {"$ref": "#/definitions/EiJob"},
+                        "in": "body",
+                        "name": "eiJobInfo",
+                        "description": "eiJobInfo",
+                        "required": true
+                    },
+                    {
+                        "in": "path",
+                        "name": "eiTypeId",
+                        "description": "eiTypeId",
+                        "type": "string",
+                        "required": true
+                    }
+                ],
+                "tags": ["A1-E Enrichment Data Consumer API"],
+                "consumes": ["application/json"]
+            }
+        },
+        "/ei-producer/v1/eiproducers/{eiProducerId}": {
+            "get": {
+                "summary": "Individual EI producer",
+                "deprecated": false,
+                "produces": ["application/json"],
+                "operationId": "getEiProducerUsingGET",
+                "responses": {
+                    "200": {
+                        "schema": {"$ref": "#/definitions/producer_registration_info"},
+                        "description": "EI Jobs"
+                    },
+                    "401": {"description": "Unauthorized"},
+                    "403": {"description": "Forbidden"},
+                    "404": {
+                        "schema": {"$ref": "#/definitions/error_information"},
+                        "description": "Enrichment Information producer is not found"
+                    }
+                },
+                "parameters": [{
+                    "in": "path",
+                    "name": "eiProducerId",
+                    "description": "eiProducerId",
+                    "type": "string",
+                    "required": true
+                }],
+                "tags": ["Enrichment Data Producer API"]
+            },
+            "delete": {
+                "summary": "Individual EI producer",
+                "deprecated": false,
+                "produces": ["application/json"],
+                "operationId": "deleteEiProducerUsingDELETE",
+                "responses": {
+                    "200": {"description": "Not used"},
+                    "401": {"description": "Unauthorized"},
+                    "204": {"description": "Producer deleted"},
+                    "403": {"description": "Forbidden"},
+                    "404": {
+                        "schema": {"$ref": "#/definitions/error_information"},
+                        "description": "Producer is not found"
+                    }
+                },
+                "parameters": [{
+                    "in": "path",
+                    "name": "eiProducerId",
+                    "description": "eiProducerId",
+                    "type": "string",
+                    "required": true
+                }],
+                "tags": ["Enrichment Data Producer API"]
+            },
+            "put": {
+                "summary": "Individual EI producer",
+                "deprecated": false,
+                "produces": ["application/json"],
+                "operationId": "putEiProducerUsingPUT",
+                "responses": {
+                    "200": {"description": "Producer updated"},
+                    "201": {"description": "Producer created"},
+                    "401": {"description": "Unauthorized"},
+                    "403": {"description": "Forbidden"},
+                    "404": {"description": "Not Found"}
+                },
+                "parameters": [
+                    {
+                        "in": "path",
+                        "name": "eiProducerId",
+                        "description": "eiProducerId",
+                        "type": "string",
+                        "required": true
+                    },
+                    {
+                        "schema": {"$ref": "#/definitions/producer_registration_info"},
+                        "in": "body",
+                        "name": "registrationInfo",
+                        "description": "registrationInfo",
+                        "required": true
+                    }
+                ],
+                "tags": ["Enrichment Data Producer API"],
+                "consumes": ["application/json"]
+            }
+        },
+        "/ei-producer/v1/eiproducers/{eiProducerId}/eijobs": {"get": {
+            "summary": "EI job definitions",
+            "deprecated": false,
+            "produces": ["application/json"],
+            "description": "EI job definitions for one EI producer",
+            "operationId": "getEiProducerJobsUsingGET",
+            "responses": {
+                "200": {
+                    "schema": {
+                        "type": "array",
+                        "items": {"$ref": "#/definitions/producer_ei_job_request"}
+                    },
+                    "description": "EI jobs"
+                },
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {
+                    "schema": {"$ref": "#/definitions/error_information"},
+                    "description": "Enrichment Information producer is not found"
+                }
+            },
+            "parameters": [{
+                "in": "path",
+                "name": "eiProducerId",
+                "description": "eiProducerId",
+                "type": "string",
+                "required": true
+            }],
+            "tags": ["Enrichment Data Producer API"]
+        }},
+        "/producer_simulator/job_created": {"post": {
+            "summary": "Callback for EI job creation",
+            "deprecated": false,
+            "produces": ["application/json"],
+            "operationId": "jobCreatedCallbackUsingPOST",
+            "responses": {
+                "200": {"description": "OK"},
+                "201": {"description": "Created"},
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {"description": "Not Found"}
+            },
+            "parameters": [{
+                "schema": {"$ref": "#/definitions/producer_ei_job_request"},
+                "in": "body",
+                "name": "request",
+                "description": "request",
+                "required": true
+            }],
+            "tags": ["Producer Simulator"],
+            "consumes": ["application/json"]
+        }}
+    },
+    "host": "localhost:43453",
+    "definitions": {
+        "EiType": {
+            "description": "Information for an EI type",
+            "type": "object",
+            "title": "EiType",
+            "properties": {"eiJobParametersSchema": {
+                "description": "Json schema for the job data",
+                "type": "object"
+            }}
+        },
+        "producer_ei_job_request": {
+            "description": "The body of the EI producer callbacks for EI job creation and deletion",
+            "type": "object",
+            "title": "producer_ei_job_request",
+            "required": ["ei_job_identity"],
+            "properties": {
+                "ei_job_identity": {
+                    "description": "Idenitity of the EI job",
+                    "type": "string"
+                },
+                "ei_job_data": {
+                    "description": "Json for the job data",
+                    "type": "object"
+                },
+                "target_uri": {
+                    "description": "URI for the target of the EI",
+                    "type": "string"
+                },
+                "ei_type_identity": {
+                    "description": "Type idenitity for the job",
+                    "type": "string"
+                }
+            }
+        },
+        "error_information": {
+            "description": "Problem as defined in https://tools.ietf.org/html/rfc7807",
+            "type": "object",
+            "title": "error_information",
+            "properties": {
+                "detail": {
+                    "description": "A human-readable explanation specific to this occurrence of the problem.",
+                    "type": "string",
+                    "example": "EI job type not found"
+                },
+                "status": {
+                    "format": "int32",
+                    "description": "The HTTP status code generated by the origin server for this occurrence of the problem.",
+                    "type": "integer",
+                    "example": 404
+                }
+            }
+        },
+        "void": {
+            "description": "Void/empty",
+            "type": "object",
+            "title": "void"
+        },
+        "EiJob": {
+            "description": "Information for an Enrichment Information Job",
+            "type": "object",
+            "title": "EiJob",
+            "required": [
+                "jobOwner",
+                "jobParameters",
+                "targetUri"
+            ],
+            "properties": {
+                "targetUri": {
+                    "description": "The target of the EI data",
+                    "type": "string"
+                },
+                "jobOwner": {
+                    "description": "Identity of the owner of the job",
+                    "type": "string"
+                },
+                "jobParameters": {
+                    "description": "EI Type specific job data",
+                    "type": "object"
+                }
+            }
+        },
+        "producer_ei_type_registration_info": {
+            "description": "Information for an EI type",
+            "type": "object",
+            "title": "producer_ei_type_registration_info",
+            "required": ["ei_type_identity"],
+            "properties": {
+                "ei_type_identity": {
+                    "description": "EI type identity",
+                    "type": "string"
+                },
+                "ei_job_data_schema": {
+                    "description": "Json schema for the job data",
+                    "type": "object"
+                }
+            }
+        },
+        "EiJobStatus": {
+            "description": "Status for an EI Job",
+            "type": "object",
+            "title": "EiJobStatus",
+            "required": ["operationalState"],
+            "properties": {"operationalState": {
+                "description": "Operational state, values:\nENABLED: TBD\nDISABLED: TBD.",
+                "type": "string",
+                "enum": [
+                    "ENABLED",
+                    "DISABLED"
+                ]
+            }}
+        },
+        "Mono«ResponseEntity«object»»": {
+            "type": "object",
+            "title": "Mono«ResponseEntity«object»»"
+        },
+        "producer_ei_type_info": {
+            "description": "Information for an EI type",
+            "type": "object",
+            "title": "producer_ei_type_info",
+            "properties": {
+                "ei_producer_ids": {
+                    "description": "Registered producers",
+                    "type": "array",
+                    "items": {"type": "string"}
+                },
+                "ei_job_data_schema": {
+                    "description": "Json schema for the job data",
+                    "type": "object"
+                }
+            }
+        },
+        "producer_registration_info": {
+            "description": "Information for an EI producer",
+            "type": "object",
+            "title": "producer_registration_info",
+            "required": [
+                "ei_job_creation_callback_url",
+                "ei_job_deletion_callback_url",
+                "ei_producer_supervision_callback_url",
+                "supported_ei_types"
+            ],
+            "properties": {
+                "supported_ei_types": {
+                    "description": "Supported EI types",
+                    "type": "array",
+                    "items": {"$ref": "#/definitions/producer_ei_type_registration_info"}
+                },
+                "ei_job_creation_callback_url": {
+                    "description": "callback for job creation",
+                    "type": "string"
+                },
+                "ei_job_deletion_callback_url": {
+                    "description": "callback for job deletion",
+                    "type": "string"
+                },
+                "ei_producer_supervision_callback_url": {
+                    "description": "callback for producer supervision",
+                    "type": "string"
+                }
+            }
+        },
+        "producer_status": {
+            "description": "Status for an EI Producer",
+            "type": "object",
+            "title": "producer_status",
+            "required": ["operational_state"],
+            "properties": {"operational_state": {
+                "description": "Operational state, values:\nENABLED: TBD\nDISABLED: TBD.",
+                "type": "string",
+                "enum": [
+                    "ENABLED",
+                    "DISABLED"
+                ]
+            }}
+        }
+    },
+    "swagger": "2.0",
+    "info": {
+        "description": "This page lists all the rest apis for the service.",
+        "title": "Enrichment Data service",
+        "version": "1.0"
+    },
+    "tags": [
+        {
+            "name": "A1-E Enrichment Data Consumer API",
+            "description": "Consumer Controller"
+        },
+        {
+            "name": "Enrichment Data Producer API",
+            "description": "Producer Controller"
+        },
+        {
+            "name": "Producer Simulator",
+            "description": "Producer Simulator Controller"
+        }
+    ]
+}
\ No newline at end of file
index b643e8e..f3fa767 100644 (file)
-swagger: '2.0'
-info:
-  description: This page lists all the rest apis for the service.
-  version: '1.0'
-  title: Enrichment Data service
-host: 'localhost:8082'
 basePath: /
-tags:
-  - name: A1-E Enrichment Data Consumer API
-    description: Consumer Controller
-  - name: Enrichment Data Producer API
-    description: Producer Controller
-  - name: Producer Simulator
-    description: Producer Simulator Controller
 paths:
-  /A1-EI/v1/eitypes:
-    get:
-      tags:
-        - A1-E Enrichment Data Consumer API
-      summary: EI type identifiers
-      operationId: getEiTypeIdentifiersUsingGET
+  /producer_simulator/job_deleted_error:
+    post:
+      summary: 'Callback for EI job creation, returns error'
+      deprecated: false
       produces:
         - application/json
+      operationId: jobDeletedCallbackReturnErrorUsingPOST
       responses:
         '200':
-          description: EI type identifiers
-          schema:
-            type: array
-            items:
-              type: string
+          description: OK
+        '201':
+          description: Created
         '401':
           description: Unauthorized
         '403':
           description: Forbidden
         '404':
           description: Not Found
-      deprecated: false
-  '/A1-EI/v1/eitypes/{eiTypeId}':
-    get:
+      parameters:
+        - schema:
+            $ref: '#/definitions/producer_ei_job_request'
+          in: body
+          name: request
+          description: request
+          required: true
       tags:
-        - A1-E Enrichment Data Consumer API
-      summary: Individual EI type
-      operationId: getEiTypeUsingGET
+        - Producer Simulator
+      consumes:
+        - application/json
+  /producer_simulator/supervision:
+    get:
+      summary: Producer supervision
+      deprecated: false
       produces:
         - application/json
-      parameters:
-        - name: eiTypeId
-          in: path
-          description: eiTypeId
-          required: true
-          type: string
+      operationId: producerSupervisionUsingGET
       responses:
         '200':
-          description: EI type
           schema:
-            $ref: '#/definitions/EiType'
+            type: string
+          description: OK
         '401':
           description: Unauthorized
         '403':
           description: Forbidden
         '404':
-          description: Enrichment Information type is not found
-          schema:
-            $ref: '#/definitions/error_information'
-      deprecated: false
+          description: Not Found
+      tags:
+        - Producer Simulator
   '/A1-EI/v1/eitypes/{eiTypeId}/eijobs':
     get:
-      tags:
-        - A1-E Enrichment Data Consumer API
       summary: EI job identifiers
-      operationId: getEiJobIdsUsingGET
+      deprecated: false
       produces:
         - application/json
-      parameters:
-        - name: eiTypeId
-          in: path
-          description: eiTypeId
-          required: true
-          type: string
-        - in: body
-          name: owner
-          description: identifies the owner of the job
-          required: false
-          schema:
-            type: string
+      operationId: getEiJobIdsUsingGET
       responses:
         '200':
-          description: EI job identifiers
           schema:
             type: array
             items:
               type: string
+          description: EI job identifiers
         '401':
           description: Unauthorized
         '403':
           description: Forbidden
         '404':
-          description: Enrichment Information type is not found
           schema:
             $ref: '#/definitions/error_information'
-      deprecated: false
-  '/A1-EI/v1/eitypes/{eiTypeId}/eijobs/{eiJobId}':
-    get:
+          description: Enrichment Information type is not found
+      parameters:
+        - in: path
+          name: eiTypeId
+          description: eiTypeId
+          type: string
+          required: true
+        - schema:
+            type: string
+          in: body
+          name: owner
+          description: identifies the owner of the job
+          required: false
       tags:
         - A1-E Enrichment Data Consumer API
-      summary: Individual EI Job
-      operationId: getIndividualEiJobUsingGET
+  '/A1-EI/v1/eitypes/{eiTypeId}':
+    get:
+      summary: Individual EI type
+      deprecated: false
       produces:
         - application/json
-      parameters:
-        - name: eiJobId
-          in: path
-          description: eiJobId
-          required: true
-          type: string
-        - name: eiTypeId
-          in: path
-          description: eiTypeId
-          required: true
-          type: string
+      operationId: getEiTypeUsingGET
       responses:
         '200':
-          description: EI Job
           schema:
-            $ref: '#/definitions/EiJob'
+            $ref: '#/definitions/EiType'
+          description: EI type
         '401':
           description: Unauthorized
         '403':
           description: Forbidden
         '404':
-          description: Enrichment Information type or job is not found
           schema:
             $ref: '#/definitions/error_information'
-      deprecated: false
-    put:
+          description: Enrichment Information type is not found
+      parameters:
+        - in: path
+          name: eiTypeId
+          description: eiTypeId
+          type: string
+          required: true
       tags:
         - A1-E Enrichment Data Consumer API
-      summary: Individual EI Job
-      operationId: putIndividualEiJobUsingPUT
-      consumes:
-        - application/json
+  /ei-producer/v1/eitypes:
+    get:
+      summary: EI type identifiers
+      deprecated: false
       produces:
         - application/json
-      parameters:
-        - name: eiJobId
-          in: path
-          description: eiJobId
-          required: true
-          type: string
-        - in: body
-          name: eiJobInfo
-          description: eiJobInfo
-          required: true
-          schema:
-            $ref: '#/definitions/EiJob'
-        - name: eiTypeId
-          in: path
-          description: eiTypeId
-          required: true
-          type: string
+      operationId: getEiTypeIdentifiersUsingGET_1
       responses:
         '200':
-          description: Job updated
-        '201':
-          description: Job created
+          schema:
+            type: array
+            items:
+              type: string
+          description: EI type identifiers
         '401':
           description: Unauthorized
         '403':
           description: Forbidden
         '404':
-          description: Enrichment Information type is not found
-          schema:
-            $ref: '#/definitions/error_information'
+          description: Not Found
+      tags:
+        - Enrichment Data Producer API
+  /A1-EI/v1/eitypes:
+    get:
+      summary: EI type identifiers
       deprecated: false
-    delete:
+      produces:
+        - application/json
+      operationId: getEiTypeIdentifiersUsingGET
+      responses:
+        '200':
+          schema:
+            type: array
+            items:
+              type: string
+          description: EI type identifiers
+        '401':
+          description: Unauthorized
+        '403':
+          description: Forbidden
+        '404':
+          description: Not Found
       tags:
         - A1-E Enrichment Data Consumer API
-      summary: Individual EI Job
-      operationId: deleteIndividualEiJobUsingDELETE
+  /producer_simulator/job_deleted:
+    post:
+      summary: Callback for EI job deletion
+      deprecated: false
       produces:
         - application/json
-      parameters:
-        - name: eiJobId
-          in: path
-          description: eiJobId
-          required: true
-          type: string
-        - name: eiTypeId
-          in: path
-          description: eiTypeId
-          required: true
-          type: string
+      operationId: jobDeletedCallbackUsingPOST
       responses:
         '200':
-          description: Not used
-        '204':
-          description: Job deleted
+          description: OK
+        '201':
+          description: Created
         '401':
           description: Unauthorized
         '403':
           description: Forbidden
         '404':
-          description: Enrichment Information type or job is not found
-          schema:
-            $ref: '#/definitions/error_information'
-      deprecated: false
+          description: Not Found
+      parameters:
+        - schema:
+            $ref: '#/definitions/producer_ei_job_request'
+          in: body
+          name: request
+          description: request
+          required: true
+      tags:
+        - Producer Simulator
+      consumes:
+        - application/json
   '/A1-EI/v1/eitypes/{eiTypeId}/eijobs/{eiJobId}/status':
     get:
-      tags:
-        - A1-E Enrichment Data Consumer API
       summary: EI Job status
-      operationId: getEiJobStatusUsingGET
+      deprecated: false
       produces:
         - application/json
-      parameters:
-        - name: eiJobId
-          in: path
-          description: eiJobId
-          required: true
-          type: string
-        - name: eiTypeId
-          in: path
-          description: eiTypeId
-          required: true
-          type: string
+      operationId: getEiJobStatusUsingGET
       responses:
         '200':
-          description: EI Job status
           schema:
             $ref: '#/definitions/EiJobStatus'
+          description: EI Job status
         '401':
           description: Unauthorized
         '403':
           description: Forbidden
         '404':
-          description: Enrichment Information type or job is not found
           schema:
             $ref: '#/definitions/error_information'
-      deprecated: false
-  /ei-producer/v1/eiproducers:
-    get:
+          description: Enrichment Information type or job is not found
+      parameters:
+        - in: path
+          name: eiJobId
+          description: eiJobId
+          type: string
+          required: true
+        - in: path
+          name: eiTypeId
+          description: eiTypeId
+          type: string
+          required: true
       tags:
-        - Enrichment Data Producer API
-      summary: EI producer identifiers
-      operationId: getEiProducerIdentifiersUsingGET
+        - A1-E Enrichment Data Consumer API
+  '/ei-producer/v1/eiproducers/{eiProducerId}/status':
+    get:
+      summary: EI producer status
+      deprecated: false
       produces:
         - application/json
+      operationId: getEiProducerStatusUsingGET
       responses:
         '200':
-          description: EI producer identifiers
           schema:
-            type: array
-            items:
-              type: string
+            $ref: '#/definitions/producer_status'
+          description: EI jobs
         '401':
           description: Unauthorized
         '403':
           description: Forbidden
         '404':
-          description: Not Found
-      deprecated: false
-  '/ei-producer/v1/eiproducers/{eiProducerId}':
-    get:
-      tags:
-        - Enrichment Data Producer API
-      summary: Individual EI producer
-      operationId: getEiProducerUsingGET
-      produces:
-        - application/json
+          schema:
+            $ref: '#/definitions/error_information'
+          description: Enrichment Information producer is not found
       parameters:
-        - name: eiProducerId
-          in: path
+        - in: path
+          name: eiProducerId
           description: eiProducerId
-          required: true
           type: string
-      responses:
-        '200':
-          description: EI Jobs
-          schema:
-            $ref: '#/definitions/producer_registration_info'
-        '401':
-          description: Unauthorized
-        '403':
-          description: Forbidden
-        '404':
-          description: Enrichment Information producer is not found
-          schema:
-            $ref: '#/definitions/error_information'
-      deprecated: false
-    put:
+          required: true
       tags:
         - Enrichment Data Producer API
-      summary: Individual EI producer
-      operationId: putEiProducerUsingPUT
-      consumes:
-        - application/json
+  /producer_simulator/supervision_error:
+    get:
+      summary: Producer supervision error
+      deprecated: false
       produces:
         - application/json
-      parameters:
-        - name: eiProducerId
-          in: path
-          description: eiProducerId
-          required: true
-          type: string
-        - in: body
-          name: registrationInfo
-          description: registrationInfo
-          required: true
-          schema:
-            $ref: '#/definitions/producer_registration_info'
+      operationId: producerSupervisionErrorUsingGET
       responses:
         '200':
-          description: Producer updated
-        '201':
-          description: Producer created
+          schema:
+            type: string
+          description: OK
         '401':
           description: Unauthorized
         '403':
           description: Forbidden
         '404':
           description: Not Found
-      deprecated: false
-    delete:
       tags:
-        - Enrichment Data Producer API
-      summary: Individual EI producer
-      operationId: deleteEiProducerUsingDELETE
+        - Producer Simulator
+  /ei-producer/v1/eiproducers:
+    get:
+      summary: EI producer identifiers
+      deprecated: false
       produces:
         - application/json
-      parameters:
-        - name: eiProducerId
-          in: path
-          description: eiProducerId
-          required: true
-          type: string
+      operationId: getEiProducerIdentifiersUsingGET
       responses:
         '200':
-          description: Not used
-        '204':
-          description: Producer deleted
+          schema:
+            type: array
+            items:
+              type: string
+          description: EI producer identifiers
         '401':
           description: Unauthorized
         '403':
           description: Forbidden
         '404':
-          description: Producer is not found
-          schema:
-            $ref: '#/definitions/error_information'
-      deprecated: false
-  '/ei-producer/v1/eiproducers/{eiProducerId}/eijobs':
-    get:
+          description: Not Found
       tags:
         - Enrichment Data Producer API
-      summary: EI job definitions
-      description: EI job definitions for one EI producer
-      operationId: getEiProducerJobsUsingGET
+  '/ei-producer/v1/eitypes/{eiTypeId}':
+    get:
+      summary: Individual EI Type
+      deprecated: false
       produces:
         - application/json
-      parameters:
-        - name: eiProducerId
-          in: path
-          description: eiProducerId
-          required: true
-          type: string
+      operationId: getEiTypeUsingGET_1
       responses:
         '200':
-          description: EI jobs
           schema:
-            type: array
-            items:
-              $ref: '#/definitions/producer_ei_job_request'
+            $ref: '#/definitions/producer_ei_type_info'
+          description: EI type
         '401':
           description: Unauthorized
         '403':
           description: Forbidden
         '404':
-          description: Enrichment Information producer is not found
           schema:
             $ref: '#/definitions/error_information'
-      deprecated: false
-  '/ei-producer/v1/eiproducers/{eiProducerId}/status':
-    get:
+          description: Enrichment Information type is not found
+      parameters:
+        - in: path
+          name: eiTypeId
+          description: eiTypeId
+          type: string
+          required: true
       tags:
         - Enrichment Data Producer API
-      summary: EI producer status
-      operationId: getEiProducerStatusUsingGET
+  /producer_simulator/job_created_error:
+    post:
+      summary: 'Callback for EI job creation, returns error'
+      deprecated: false
       produces:
         - application/json
-      parameters:
-        - name: eiProducerId
-          in: path
-          description: eiProducerId
-          required: true
-          type: string
+      operationId: jobCreatedCallbackReturnErrorUsingPOST
       responses:
         '200':
-          description: EI jobs
-          schema:
-            $ref: '#/definitions/producer_status'
+          description: OK
+        '201':
+          description: Created
         '401':
           description: Unauthorized
         '403':
           description: Forbidden
         '404':
-          description: Enrichment Information producer is not found
-          schema:
-            $ref: '#/definitions/error_information'
-      deprecated: false
-  /ei-producer/v1/eitypes:
-    get:
+          description: Not Found
+      parameters:
+        - schema:
+            $ref: '#/definitions/producer_ei_job_request'
+          in: body
+          name: request
+          description: request
+          required: true
       tags:
-        - Enrichment Data Producer API
-      summary: EI type identifiers
-      operationId: getEiTypeIdentifiersUsingGET_1
+        - Producer Simulator
+      consumes:
+        - application/json
+  '/A1-EI/v1/eitypes/{eiTypeId}/eijobs/{eiJobId}':
+    get:
+      summary: Individual EI Job
+      deprecated: false
       produces:
         - application/json
+      operationId: getIndividualEiJobUsingGET
       responses:
         '200':
-          description: EI type identifiers
           schema:
-            type: array
-            items:
-              type: string
+            $ref: '#/definitions/EiJob'
+          description: EI Job
         '401':
           description: Unauthorized
         '403':
           description: Forbidden
         '404':
-          description: Not Found
-      deprecated: false
-  '/ei-producer/v1/eitypes/{eiTypeId}':
-    get:
-      tags:
-        - Enrichment Data Producer API
-      summary: Individual EI Type
-      operationId: getEiTypeUsingGET_1
-      produces:
-        - application/json
+          schema:
+            $ref: '#/definitions/error_information'
+          description: Enrichment Information type or job is not found
       parameters:
-        - name: eiTypeId
-          in: path
-          description: eiTypeId
+        - in: path
+          name: eiJobId
+          description: eiJobId
+          type: string
           required: true
+        - in: path
+          name: eiTypeId
+          description: eiTypeId
           type: string
+          required: true
+      tags:
+        - A1-E Enrichment Data Consumer API
+    delete:
+      summary: Individual EI Job
+      deprecated: false
+      produces:
+        - application/json
+      operationId: deleteIndividualEiJobUsingDELETE
       responses:
         '200':
-          description: EI type
-          schema:
-            $ref: '#/definitions/producer_ei_type_info'
+          description: Not used
+        '204':
+          description: Job deleted
         '401':
           description: Unauthorized
         '403':
           description: Forbidden
         '404':
-          description: Enrichment Information type is not found
           schema:
             $ref: '#/definitions/error_information'
-      deprecated: false
-  /producer_simulator/job_created:
-    post:
+          description: Enrichment Information type or job is not found
+      parameters:
+        - in: path
+          name: eiJobId
+          description: eiJobId
+          type: string
+          required: true
+        - in: path
+          name: eiTypeId
+          description: eiTypeId
+          type: string
+          required: true
       tags:
-        - Producer Simulator
-      summary: Callback for EI job creation
-      operationId: jobCreatedCallbackUsingPOST
-      consumes:
-        - application/json
+        - A1-E Enrichment Data Consumer API
+    put:
+      summary: Individual EI Job
+      deprecated: false
       produces:
         - application/json
-      parameters:
-        - in: body
-          name: request
-          description: request
-          required: true
-          schema:
-            $ref: '#/definitions/producer_ei_job_request'
+      operationId: putIndividualEiJobUsingPUT
       responses:
         '200':
-          description: OK
+          description: Job updated
         '201':
-          description: Created
+          description: Job created
         '401':
           description: Unauthorized
         '403':
           description: Forbidden
         '404':
-          description: Not Found
-      deprecated: false
-  /producer_simulator/job_created_error:
-    post:
+          schema:
+            $ref: '#/definitions/error_information'
+          description: Enrichment Information type is not found
+      parameters:
+        - in: path
+          name: eiJobId
+          description: eiJobId
+          type: string
+          required: true
+        - schema:
+            $ref: '#/definitions/EiJob'
+          in: body
+          name: eiJobInfo
+          description: eiJobInfo
+          required: true
+        - in: path
+          name: eiTypeId
+          description: eiTypeId
+          type: string
+          required: true
       tags:
-        - Producer Simulator
-      summary: 'Callback for EI job creation, returns error'
-      operationId: jobCreatedCallbackReturnErrorUsingPOST
+        - A1-E Enrichment Data Consumer API
       consumes:
         - application/json
+  '/ei-producer/v1/eiproducers/{eiProducerId}':
+    get:
+      summary: Individual EI producer
+      deprecated: false
       produces:
         - application/json
-      parameters:
-        - in: body
-          name: request
-          description: request
-          required: true
-          schema:
-            $ref: '#/definitions/producer_ei_job_request'
+      operationId: getEiProducerUsingGET
       responses:
         '200':
-          description: OK
-        '201':
-          description: Created
+          schema:
+            $ref: '#/definitions/producer_registration_info'
+          description: EI Jobs
         '401':
           description: Unauthorized
         '403':
           description: Forbidden
         '404':
-          description: Not Found
-      deprecated: false
-  /producer_simulator/job_deleted:
-    post:
+          schema:
+            $ref: '#/definitions/error_information'
+          description: Enrichment Information producer is not found
+      parameters:
+        - in: path
+          name: eiProducerId
+          description: eiProducerId
+          type: string
+          required: true
       tags:
-        - Producer Simulator
-      summary: Callback for EI job deletion
-      operationId: jobDeletedCallbackUsingPOST
-      consumes:
-        - application/json
+        - Enrichment Data Producer API
+    delete:
+      summary: Individual EI producer
+      deprecated: false
       produces:
         - application/json
-      parameters:
-        - in: body
-          name: request
-          description: request
-          required: true
-          schema:
-            $ref: '#/definitions/producer_ei_job_request'
+      operationId: deleteEiProducerUsingDELETE
       responses:
         '200':
-          description: OK
-        '201':
-          description: Created
+          description: Not used
+        '204':
+          description: Producer deleted
         '401':
           description: Unauthorized
         '403':
           description: Forbidden
         '404':
-          description: Not Found
-      deprecated: false
-  /producer_simulator/job_deleted_error:
-    post:
+          schema:
+            $ref: '#/definitions/error_information'
+          description: Producer is not found
+      parameters:
+        - in: path
+          name: eiProducerId
+          description: eiProducerId
+          type: string
+          required: true
       tags:
-        - Producer Simulator
-      summary: 'Callback for EI job creation, returns error'
-      operationId: jobDeletedCallbackReturnErrorUsingPOST
-      consumes:
-        - application/json
+        - Enrichment Data Producer API
+    put:
+      summary: Individual EI producer
+      deprecated: false
       produces:
         - application/json
-      parameters:
-        - in: body
-          name: request
-          description: request
-          required: true
-          schema:
-            $ref: '#/definitions/producer_ei_job_request'
+      operationId: putEiProducerUsingPUT
       responses:
         '200':
-          description: OK
+          description: Producer updated
         '201':
-          description: Created
+          description: Producer created
         '401':
           description: Unauthorized
         '403':
           description: Forbidden
         '404':
           description: Not Found
-      deprecated: false
-  /producer_simulator/supervision:
-    get:
+      parameters:
+        - in: path
+          name: eiProducerId
+          description: eiProducerId
+          type: string
+          required: true
+        - schema:
+            $ref: '#/definitions/producer_registration_info'
+          in: body
+          name: registrationInfo
+          description: registrationInfo
+          required: true
       tags:
-        - Producer Simulator
-      summary: Producer supervision
-      operationId: producerSupervisionUsingGET
+        - Enrichment Data Producer API
+      consumes:
+        - application/json
+  '/ei-producer/v1/eiproducers/{eiProducerId}/eijobs':
+    get:
+      summary: EI job definitions
+      deprecated: false
       produces:
         - application/json
+      description: EI job definitions for one EI producer
+      operationId: getEiProducerJobsUsingGET
       responses:
         '200':
-          description: OK
           schema:
-            type: string
+            type: array
+            items:
+              $ref: '#/definitions/producer_ei_job_request'
+          description: EI jobs
         '401':
           description: Unauthorized
         '403':
           description: Forbidden
         '404':
-          description: Not Found
-      deprecated: false
-  /producer_simulator/supervision_error:
-    get:
+          schema:
+            $ref: '#/definitions/error_information'
+          description: Enrichment Information producer is not found
+      parameters:
+        - in: path
+          name: eiProducerId
+          description: eiProducerId
+          type: string
+          required: true
       tags:
-        - Producer Simulator
-      summary: Producer supervision error
-      operationId: producerSupervisionErrorUsingGET
+        - Enrichment Data Producer API
+  /producer_simulator/job_created:
+    post:
+      summary: Callback for EI job creation
+      deprecated: false
       produces:
         - application/json
+      operationId: jobCreatedCallbackUsingPOST
       responses:
         '200':
           description: OK
-          schema:
-            type: string
+        '201':
+          description: Created
         '401':
           description: Unauthorized
         '403':
           description: Forbidden
         '404':
           description: Not Found
-      deprecated: false
+      parameters:
+        - schema:
+            $ref: '#/definitions/producer_ei_job_request'
+          in: body
+          name: request
+          description: request
+          required: true
+      tags:
+        - Producer Simulator
+      consumes:
+        - application/json
+host: 'localhost:43453'
 definitions:
+  EiType:
+    description: Information for an EI type
+    type: object
+    title: EiType
+    properties:
+      eiJobParametersSchema:
+        description: Json schema for the job data
+        type: object
+  producer_ei_job_request:
+    description: The body of the EI producer callbacks for EI job creation and deletion
+    type: object
+    title: producer_ei_job_request
+    required:
+      - ei_job_identity
+    properties:
+      ei_job_identity:
+        description: Idenitity of the EI job
+        type: string
+      ei_job_data:
+        description: Json for the job data
+        type: object
+      target_uri:
+        description: URI for the target of the EI
+        type: string
+      ei_type_identity:
+        description: Type idenitity for the job
+        type: string
+  error_information:
+    description: 'Problem as defined in https://tools.ietf.org/html/rfc7807'
+    type: object
+    title: error_information
+    properties:
+      detail:
+        description: A human-readable explanation specific to this occurrence of the problem.
+        type: string
+        example: EI job type not found
+      status:
+        format: int32
+        description: The HTTP status code generated by the origin server for this occurrence of the problem.
+        type: integer
+        example: 404
+  void:
+    description: Void/empty
+    type: object
+    title: void
   EiJob:
+    description: Information for an Enrichment Information Job
     type: object
+    title: EiJob
     required:
       - jobOwner
       - jobParameters
       - targetUri
     properties:
-      jobOwner:
+      targetUri:
+        description: The target of the EI data
         type: string
+      jobOwner:
         description: Identity of the owner of the job
+        type: string
       jobParameters:
-        type: object
         description: EI Type specific job data
-      targetUri:
+        type: object
+  producer_ei_type_registration_info:
+    description: Information for an EI type
+    type: object
+    title: producer_ei_type_registration_info
+    required:
+      - ei_type_identity
+    properties:
+      ei_type_identity:
+        description: EI type identity
         type: string
-        description: The target of the EI data
-    title: EiJob
-    description: Information for an Enrichment Information Job
+      ei_job_data_schema:
+        description: Json schema for the job data
+        type: object
   EiJobStatus:
+    description: Status for an EI Job
     type: object
+    title: EiJobStatus
     required:
       - operationalState
     properties:
       operationalState:
-        type: string
         description: |-
           Operational state, values:
           ENABLED: TBD
           DISABLED: TBD.
+        type: string
         enum:
           - ENABLED
           - DISABLED
-    title: EiJobStatus
-    description: Status for an EI Job
-  EiType:
-    type: object
-    properties:
-      eiJobParametersSchema:
-        type: object
-        description: Json schema for the job data
-    title: EiType
-    description: Information for an EI type
   Mono«ResponseEntity«object»»:
     type: object
     title: Mono«ResponseEntity«object»»
-  error_information:
-    type: object
-    properties:
-      detail:
-        type: string
-        example: EI job type not found
-        description: A human-readable explanation specific to this occurrence of the problem.
-      status:
-        type: integer
-        format: int32
-        example: 404
-        description: The HTTP status code generated by the origin server for this occurrence of the problem.
-    title: error_information
-    description: 'Problem as defined in https://tools.ietf.org/html/rfc7807'
-  producer_ei_job_request:
-    type: object
-    required:
-      - ei_job_identity
-    properties:
-      ei_job_data:
-        type: object
-        description: Json for the job data
-      ei_job_identity:
-        type: string
-        description: Idenitity of the EI job
-      ei_type_identity:
-        type: string
-        description: Type idenitity for the job
-      target_uri:
-        type: string
-        description: URI for the target of the EI
-    title: producer_ei_job_request
-    description: The body of the EI producer callbacks for EI job creation and deletion
   producer_ei_type_info:
+    description: Information for an EI type
     type: object
+    title: producer_ei_type_info
     properties:
-      ei_job_data_schema:
-        type: object
-        description: Json schema for the job data
       ei_producer_ids:
-        type: array
         description: Registered producers
+        type: array
         items:
           type: string
-    title: producer_ei_type_info
-    description: Information for an EI type
-  producer_ei_type_registration_info:
-    type: object
-    required:
-      - ei_type_identity
-    properties:
       ei_job_data_schema:
-        type: object
         description: Json schema for the job data
-      ei_type_identity:
-        type: string
-        description: EI type identity
-    title: producer_ei_type_registration_info
-    description: Information for an EI type
+        type: object
   producer_registration_info:
+    description: Information for an EI producer
     type: object
+    title: producer_registration_info
     required:
       - ei_job_creation_callback_url
       - ei_job_deletion_callback_url
       - ei_producer_supervision_callback_url
       - supported_ei_types
     properties:
+      supported_ei_types:
+        description: Supported EI types
+        type: array
+        items:
+          $ref: '#/definitions/producer_ei_type_registration_info'
       ei_job_creation_callback_url:
-        type: string
         description: callback for job creation
-      ei_job_deletion_callback_url:
         type: string
+      ei_job_deletion_callback_url:
         description: callback for job deletion
-      ei_producer_supervision_callback_url:
         type: string
+      ei_producer_supervision_callback_url:
         description: callback for producer supervision
-      supported_ei_types:
-        type: array
-        description: Supported EI types
-        items:
-          $ref: '#/definitions/producer_ei_type_registration_info'
-    title: producer_registration_info
-    description: Information for an EI producer
+        type: string
   producer_status:
+    description: Status for an EI Producer
     type: object
+    title: producer_status
     required:
       - operational_state
     properties:
       operational_state:
-        type: string
         description: |-
           Operational state, values:
           ENABLED: TBD
           DISABLED: TBD.
+        type: string
         enum:
           - ENABLED
           - DISABLED
-    title: producer_status
-    description: Status for an EI Producer
-  void:
-    type: object
-    title: void
-    description: Void/empty
+swagger: '2.0'
+info:
+  description: This page lists all the rest apis for the service.
+  title: Enrichment Data service
+  version: '1.0'
+tags:
+  - name: A1-E Enrichment Data Consumer API
+    description: Consumer Controller
+  - name: Enrichment Data Producer API
+    description: Producer Controller
+  - name: Producer Simulator
+    description: Producer Simulator Controller
 
index 9cfe222..67b0d8a 100644 (file)
@@ -30,9 +30,13 @@ import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
 import com.google.gson.JsonParser;
 
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.PrintStream;
 import java.util.ArrayList;
 import java.util.Collection;
 
+import org.json.JSONObject;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
@@ -139,6 +143,18 @@ class ApplicationTest {
         assertThat(this.producerSimulator.getTestResults().errorFound).isFalse();
     }
 
+    @Test
+    void createApiDoc() throws FileNotFoundException {
+        String url = "/v2/api-docs";
+        ResponseEntity<String> resp = restClient().getForEntity(url).block();
+        assertThat(resp.getStatusCode()).isEqualTo(HttpStatus.OK);
+
+        String indented = (new JSONObject(resp.getBody())).toString(4);
+        try (PrintStream out = new PrintStream(new FileOutputStream("docs/api.json"))) {
+            out.print(indented);
+        }
+    }
+
     @Test
     void testGetEiTypes() throws Exception {
         putEiProducerWithOneType(EI_PRODUCER_ID, "test");