{
  "$schema": "https://json-schema.org/draft/2019-09/schema",
  "$id": "urn:cps:org.onap.cps.ncmp.events:dmi-async-request-response-event-schema:v1",
  "$ref": "#/definitions/DmiAsyncRequestResponseEvent",
  "definitions": {
    "DmiAsyncRequestResponseEvent": {
      "description": "The payload for NCMP async request response event.",
      "type": "object",
      "properties": {
        "eventId": {
          "description": "The unique id identifying the event generated by DMI.",
          "type": "string"
        },
        "eventCorrelationId": {
          "description": "The request id passed by NCMP.",
          "type": "string"
        },
        "eventTime": {
          "description": "The time of the event. The expected format is 'yyyy-MM-dd'T'HH:mm:ss.SSSZ'.",
          "type": "string"
        },
        "eventTarget": {
          "description": "The target of the event.",
          "type": "string"
        },
        "eventType": {
          "description": "The type of the event.",
          "type": "string"
        },
        "eventSchema": {
          "description": "The event schema for async request response events.",
          "type": "string"
        },
        "eventSchemaVersion": {
          "description": "The event schema version for async request response events.",
          "type": "string"
        },
        "eventSource": {
          "description": "The source of the event.",
          "type": "string"
        },
        "eventContent": {
          "$ref": "#/definitions/Event-Content"
        }
      },
      "required": [
        "eventId",
        "eventCorrelationId",
        "eventTime",
        "eventTarget",
        "eventType",
        "eventSchema",
        "eventSchemaVersion",
        "eventSource",
        "eventContent"
      ]
    },
    "Event-Content": {
      "description": "The event content.",
      "type": "object",
      "properties": {
        "response-data-schema": {
          "description": "The schema of response data",
          "type": "string"
        },
        "response-status": {
          "description": "The status of the response.",
          "type": "string"
        },
        "response-code": {
          "description": "The code of the response.",
          "type": "string"
        },
        "response-data": {
          "description": "The data payload",
          "type": "object",
          "properties": {
            "payload": {
              "type": "object"
            }
          }
        },
        "required": [
          "response-data-schema",
          "response-status",
          "response-code",
          "response-data"
        ]
      }
    }
  }
}