 public struct Context {
 
     /// The unique identifier of the conversation.
-    public var conversationID: String
+    public var conversationID: String?
 
     /// For internal use only.
-    public var system: SystemResponse
+    public var system: SystemResponse?
 
     /// Additional properties associated with this model.
     public var additionalProperties: [String: JSON]


    public init(from decoder: Decoder) throws {
        let container = try decoder.container(keyedBy: CodingKeys.self)
        conversationID = try container.decode(String.self, forKey: .conversationID)
        system = try container.decode(SystemResponse.self, forKey: .system)
        let dynamicContainer = try decoder.container(keyedBy: DynamicKeys.self)
        additionalProperties = try dynamicContainer.decode([String: JSON].self, excluding: CodingKeys.allValues)
    }

    public func encode(to encoder: Encoder) throws {
        var container = encoder.container(keyedBy: CodingKeys.self)
        try container.encode(conversationID, forKey: .conversationID)
        try container.encode(system, forKey: .system)
        var dynamicContainer = encoder.container(keyedBy: DynamicKeys.self)
        try dynamicContainer.encodeIfPresent(additionalProperties)
    }


     - returns: An initialized `Context`.
    */
    public init(conversationID: String? = nil, system: SystemResponse? = nil, additionalProperties: [String: JSON] = [:]) {
        self.conversationID = conversationID
        self.system = system
        self.additionalProperties = additionalProperties
