diff --git a/src/Packages/ZkEvmApi/Documentation~/SessionActivityContract.md b/src/Packages/ZkEvmApi/Documentation~/SessionActivityContract.md
new file mode 100644
index 000000000..1c6701acf
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/SessionActivityContract.md
@@ -0,0 +1,17 @@
+# Immutable.Api.ZkEvm.Model.SessionActivityContract
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Id** | **int** | The unique identifier of the session activity contract | [optional]
+**Name** | **string** | The name of the session activity contract | [optional]
+**ContractAddress** | **string** | The smart contract address | [optional]
+**ClientId** | **string** | The client ID associated with the session activity contract | [optional]
+**ChainId** | **string** | The chain ID for the session activity contract | [optional]
+**OrganisationId** | **Guid** | The organisation ID that owns this session activity contract (UUID format) | [optional]
+**Enabled** | **bool** | Whether the session activity contract is enabled | [optional]
+**CreatedAt** | **DateTime** | The timestamp when the session activity contract was created | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/SessionActivityContractResponse.md b/src/Packages/ZkEvmApi/Documentation~/SessionActivityContractResponse.md
new file mode 100644
index 000000000..ffdf64541
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/SessionActivityContractResponse.md
@@ -0,0 +1,17 @@
+# Immutable.Api.ZkEvm.Model.SessionActivityContractResponse
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Id** | **int** | The unique identifier of the session activity contract |
+**Name** | **string** | The name of the session activity contract |
+**ContractAddress** | **string** | The smart contract address |
+**ClientId** | **string** | The client ID associated with the session activity contract |
+**ChainId** | **string** | The chain ID for the session activity contract |
+**OrganisationId** | **Guid** | The organisation ID that owns this session activity contract (UUID format) |
+**Enabled** | **bool** | Whether the session activity contract is enabled |
+**CreatedAt** | **DateTime** | The timestamp when the session activity contract was created |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/UpsertSessionActivityContractReq.md b/src/Packages/ZkEvmApi/Documentation~/UpsertSessionActivityContractReq.md
new file mode 100644
index 000000000..1518d363f
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/UpsertSessionActivityContractReq.md
@@ -0,0 +1,17 @@
+# Immutable.Api.ZkEvm.Model.UpsertSessionActivityContractReq
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Id** | **int** | The unique identifier of the session activity contract | [optional]
+**Name** | **string** | The name of the session activity contract |
+**ContractAddress** | **string** | The smart contract address |
+**ClientId** | **string** | The client ID associated with the session activity contract |
+**ChainId** | **string** | The chain ID for the session activity contract |
+**OrganisationId** | **Guid** | The organisation ID that owns this session activity contract (UUID format) |
+**Enabled** | **bool** | Whether the session activity contract is enabled |
+**CreatedAt** | **DateTime** | The timestamp when the session activity contract was created | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/UpsertSessionActivityContractResp.md b/src/Packages/ZkEvmApi/Documentation~/UpsertSessionActivityContractResp.md
new file mode 100644
index 000000000..7819444ae
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/UpsertSessionActivityContractResp.md
@@ -0,0 +1,17 @@
+# Immutable.Api.ZkEvm.Model.UpsertSessionActivityContractResp
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Id** | **int** | The unique identifier of the session activity contract | [optional]
+**Name** | **string** | The name of the session activity contract | [optional]
+**ContractAddress** | **string** | The smart contract address | [optional]
+**ClientId** | **string** | The client ID associated with the session activity contract | [optional]
+**ChainId** | **string** | The chain ID for the session activity contract | [optional]
+**OrganisationId** | **Guid** | The organisation ID that owns this session activity contract (UUID format) | [optional]
+**Enabled** | **bool** | Whether the session activity contract is enabled | [optional]
+**CreatedAt** | **DateTime** | The timestamp when the session activity contract was created | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Runtime/Model/SessionActivityContract.cs b/src/Packages/ZkEvmApi/Runtime/Model/SessionActivityContract.cs
new file mode 100644
index 000000000..6e49eea7c
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Runtime/Model/SessionActivityContract.cs
@@ -0,0 +1,152 @@
+/*
+ * Immutable zkEVM API
+ *
+ * Immutable Multi Rollup API
+ *
+ * The version of the OpenAPI document: 1.0.0
+ * Contact: support@immutable.com
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.IO;
+using System.Runtime.Serialization;
+using System.Text;
+using System.Text.RegularExpressions;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+using Newtonsoft.Json.Linq;
+using OpenAPIDateConverter = Immutable.Api.ZkEvm.Client.OpenAPIDateConverter;
+
+namespace Immutable.Api.ZkEvm.Model
+{
+ ///
+ /// SessionActivityContract
+ ///
+ [DataContract(Name = "SessionActivityContract")]
+ public partial class SessionActivityContract
+ {
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The unique identifier of the session activity contract.
+ /// The name of the session activity contract.
+ /// The smart contract address.
+ /// The client ID associated with the session activity contract.
+ /// The chain ID for the session activity contract.
+ /// The organisation ID that owns this session activity contract (UUID format).
+ /// Whether the session activity contract is enabled.
+ /// The timestamp when the session activity contract was created.
+ public SessionActivityContract(int id = default(int), string name = default(string), string contractAddress = default(string), string clientId = default(string), string chainId = default(string), Guid organisationId = default(Guid), bool enabled = default(bool), DateTime createdAt = default(DateTime))
+ {
+ this.Id = id;
+ this.Name = name;
+ this.ContractAddress = contractAddress;
+ this.ClientId = clientId;
+ this.ChainId = chainId;
+ this.OrganisationId = organisationId;
+ this.Enabled = enabled;
+ this.CreatedAt = createdAt;
+ }
+
+ ///
+ /// The unique identifier of the session activity contract
+ ///
+ /// The unique identifier of the session activity contract
+ /// 1
+ [DataMember(Name = "id", EmitDefaultValue = false)]
+ public int Id { get; set; }
+
+ ///
+ /// The name of the session activity contract
+ ///
+ /// The name of the session activity contract
+ /// Session Activity Contract 1
+ [DataMember(Name = "name", EmitDefaultValue = false)]
+ public string Name { get; set; }
+
+ ///
+ /// The smart contract address
+ ///
+ /// The smart contract address
+ /// 0x1234567890abcdef1234567890abcdef12345678
+ [DataMember(Name = "contract_address", EmitDefaultValue = false)]
+ public string ContractAddress { get; set; }
+
+ ///
+ /// The client ID associated with the session activity contract
+ ///
+ /// The client ID associated with the session activity contract
+ /// ZabAMafQRA9bWE1XatAtBYNe6DRamgqE
+ [DataMember(Name = "client_id", EmitDefaultValue = false)]
+ public string ClientId { get; set; }
+
+ ///
+ /// The chain ID for the session activity contract
+ ///
+ /// The chain ID for the session activity contract
+ /// eip155:13371
+ [DataMember(Name = "chain_id", EmitDefaultValue = false)]
+ public string ChainId { get; set; }
+
+ ///
+ /// The organisation ID that owns this session activity contract (UUID format)
+ ///
+ /// The organisation ID that owns this session activity contract (UUID format)
+ /// 550e8400-e29b-41d4-a716-446655440000
+ [DataMember(Name = "organisation_id", EmitDefaultValue = false)]
+ public Guid OrganisationId { get; set; }
+
+ ///
+ /// Whether the session activity contract is enabled
+ ///
+ /// Whether the session activity contract is enabled
+ /// true
+ [DataMember(Name = "enabled", EmitDefaultValue = true)]
+ public bool Enabled { get; set; }
+
+ ///
+ /// The timestamp when the session activity contract was created
+ ///
+ /// The timestamp when the session activity contract was created
+ /// 2023-12-07T10:30Z
+ [DataMember(Name = "created_at", EmitDefaultValue = false)]
+ public DateTime CreatedAt { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ StringBuilder sb = new StringBuilder();
+ sb.Append("class SessionActivityContract {\n");
+ sb.Append(" Id: ").Append(Id).Append("\n");
+ sb.Append(" Name: ").Append(Name).Append("\n");
+ sb.Append(" ContractAddress: ").Append(ContractAddress).Append("\n");
+ sb.Append(" ClientId: ").Append(ClientId).Append("\n");
+ sb.Append(" ChainId: ").Append(ChainId).Append("\n");
+ sb.Append(" OrganisationId: ").Append(OrganisationId).Append("\n");
+ sb.Append(" Enabled: ").Append(Enabled).Append("\n");
+ sb.Append(" CreatedAt: ").Append(CreatedAt).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public virtual string ToJson()
+ {
+ return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
+ }
+
+ }
+
+}
diff --git a/src/Packages/ZkEvmApi/Runtime/Model/SessionActivityContract.cs.meta b/src/Packages/ZkEvmApi/Runtime/Model/SessionActivityContract.cs.meta
new file mode 100644
index 000000000..dea6bbd85
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Runtime/Model/SessionActivityContract.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: dedb6719f1955d61098cbc217456b7fc
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/src/Packages/ZkEvmApi/Runtime/Model/SessionActivityContractResponse.cs b/src/Packages/ZkEvmApi/Runtime/Model/SessionActivityContractResponse.cs
new file mode 100644
index 000000000..19bcf9317
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Runtime/Model/SessionActivityContractResponse.cs
@@ -0,0 +1,177 @@
+/*
+ * Immutable zkEVM API
+ *
+ * Immutable Multi Rollup API
+ *
+ * The version of the OpenAPI document: 1.0.0
+ * Contact: support@immutable.com
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.IO;
+using System.Runtime.Serialization;
+using System.Text;
+using System.Text.RegularExpressions;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+using Newtonsoft.Json.Linq;
+using OpenAPIDateConverter = Immutable.Api.ZkEvm.Client.OpenAPIDateConverter;
+
+namespace Immutable.Api.ZkEvm.Model
+{
+ ///
+ /// SessionActivityContractResponse
+ ///
+ [DataContract(Name = "SessionActivityContractResponse")]
+ public partial class SessionActivityContractResponse
+ {
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ [JsonConstructorAttribute]
+ protected SessionActivityContractResponse() { }
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The unique identifier of the session activity contract (required).
+ /// The name of the session activity contract (required).
+ /// The smart contract address (required).
+ /// The client ID associated with the session activity contract (required).
+ /// The chain ID for the session activity contract (required).
+ /// The organisation ID that owns this session activity contract (UUID format) (required).
+ /// Whether the session activity contract is enabled (required).
+ /// The timestamp when the session activity contract was created (required).
+ public SessionActivityContractResponse(int id = default(int), string name = default(string), string contractAddress = default(string), string clientId = default(string), string chainId = default(string), Guid organisationId = default(Guid), bool enabled = default(bool), DateTime createdAt = default(DateTime))
+ {
+ this.Id = id;
+ // to ensure "name" is required (not null)
+ if (name == null)
+ {
+ throw new ArgumentNullException("name is a required property for SessionActivityContractResponse and cannot be null");
+ }
+ this.Name = name;
+ // to ensure "contractAddress" is required (not null)
+ if (contractAddress == null)
+ {
+ throw new ArgumentNullException("contractAddress is a required property for SessionActivityContractResponse and cannot be null");
+ }
+ this.ContractAddress = contractAddress;
+ // to ensure "clientId" is required (not null)
+ if (clientId == null)
+ {
+ throw new ArgumentNullException("clientId is a required property for SessionActivityContractResponse and cannot be null");
+ }
+ this.ClientId = clientId;
+ // to ensure "chainId" is required (not null)
+ if (chainId == null)
+ {
+ throw new ArgumentNullException("chainId is a required property for SessionActivityContractResponse and cannot be null");
+ }
+ this.ChainId = chainId;
+ this.OrganisationId = organisationId;
+ this.Enabled = enabled;
+ this.CreatedAt = createdAt;
+ }
+
+ ///
+ /// The unique identifier of the session activity contract
+ ///
+ /// The unique identifier of the session activity contract
+ /// 1
+ [DataMember(Name = "id", IsRequired = true, EmitDefaultValue = true)]
+ public int Id { get; set; }
+
+ ///
+ /// The name of the session activity contract
+ ///
+ /// The name of the session activity contract
+ /// Session Activity Contract 1
+ [DataMember(Name = "name", IsRequired = true, EmitDefaultValue = true)]
+ public string Name { get; set; }
+
+ ///
+ /// The smart contract address
+ ///
+ /// The smart contract address
+ /// 0x1234567890abcdef1234567890abcdef12345678
+ [DataMember(Name = "contract_address", IsRequired = true, EmitDefaultValue = true)]
+ public string ContractAddress { get; set; }
+
+ ///
+ /// The client ID associated with the session activity contract
+ ///
+ /// The client ID associated with the session activity contract
+ /// ZabAMafQRA9bWE1XatAtBYNe6DRamgqE
+ [DataMember(Name = "client_id", IsRequired = true, EmitDefaultValue = true)]
+ public string ClientId { get; set; }
+
+ ///
+ /// The chain ID for the session activity contract
+ ///
+ /// The chain ID for the session activity contract
+ /// eip155:13371
+ [DataMember(Name = "chain_id", IsRequired = true, EmitDefaultValue = true)]
+ public string ChainId { get; set; }
+
+ ///
+ /// The organisation ID that owns this session activity contract (UUID format)
+ ///
+ /// The organisation ID that owns this session activity contract (UUID format)
+ /// 550e8400-e29b-41d4-a716-446655440000
+ [DataMember(Name = "organisation_id", IsRequired = true, EmitDefaultValue = true)]
+ public Guid OrganisationId { get; set; }
+
+ ///
+ /// Whether the session activity contract is enabled
+ ///
+ /// Whether the session activity contract is enabled
+ /// true
+ [DataMember(Name = "enabled", IsRequired = true, EmitDefaultValue = true)]
+ public bool Enabled { get; set; }
+
+ ///
+ /// The timestamp when the session activity contract was created
+ ///
+ /// The timestamp when the session activity contract was created
+ /// 2023-12-07T10:30Z
+ [DataMember(Name = "created_at", IsRequired = true, EmitDefaultValue = true)]
+ public DateTime CreatedAt { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ StringBuilder sb = new StringBuilder();
+ sb.Append("class SessionActivityContractResponse {\n");
+ sb.Append(" Id: ").Append(Id).Append("\n");
+ sb.Append(" Name: ").Append(Name).Append("\n");
+ sb.Append(" ContractAddress: ").Append(ContractAddress).Append("\n");
+ sb.Append(" ClientId: ").Append(ClientId).Append("\n");
+ sb.Append(" ChainId: ").Append(ChainId).Append("\n");
+ sb.Append(" OrganisationId: ").Append(OrganisationId).Append("\n");
+ sb.Append(" Enabled: ").Append(Enabled).Append("\n");
+ sb.Append(" CreatedAt: ").Append(CreatedAt).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public virtual string ToJson()
+ {
+ return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
+ }
+
+ }
+
+}
diff --git a/src/Packages/ZkEvmApi/Runtime/Model/SessionActivityContractResponse.cs.meta b/src/Packages/ZkEvmApi/Runtime/Model/SessionActivityContractResponse.cs.meta
new file mode 100644
index 000000000..7c11fafdb
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Runtime/Model/SessionActivityContractResponse.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 09036cbe651976752ae56ab1c4153ef0
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/src/Packages/ZkEvmApi/Runtime/Model/UpsertSessionActivityContractReq.cs b/src/Packages/ZkEvmApi/Runtime/Model/UpsertSessionActivityContractReq.cs
new file mode 100644
index 000000000..3064c337f
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Runtime/Model/UpsertSessionActivityContractReq.cs
@@ -0,0 +1,177 @@
+/*
+ * Immutable zkEVM API
+ *
+ * Immutable Multi Rollup API
+ *
+ * The version of the OpenAPI document: 1.0.0
+ * Contact: support@immutable.com
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.IO;
+using System.Runtime.Serialization;
+using System.Text;
+using System.Text.RegularExpressions;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+using Newtonsoft.Json.Linq;
+using OpenAPIDateConverter = Immutable.Api.ZkEvm.Client.OpenAPIDateConverter;
+
+namespace Immutable.Api.ZkEvm.Model
+{
+ ///
+ /// UpsertSessionActivityContractReq
+ ///
+ [DataContract(Name = "UpsertSessionActivityContractReq")]
+ public partial class UpsertSessionActivityContractReq
+ {
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ [JsonConstructorAttribute]
+ protected UpsertSessionActivityContractReq() { }
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The unique identifier of the session activity contract.
+ /// The name of the session activity contract (required).
+ /// The smart contract address (required).
+ /// The client ID associated with the session activity contract (required).
+ /// The chain ID for the session activity contract (required).
+ /// The organisation ID that owns this session activity contract (UUID format) (required).
+ /// Whether the session activity contract is enabled (required).
+ /// The timestamp when the session activity contract was created.
+ public UpsertSessionActivityContractReq(int id = default(int), string name = default(string), string contractAddress = default(string), string clientId = default(string), string chainId = default(string), Guid organisationId = default(Guid), bool enabled = default(bool), DateTime createdAt = default(DateTime))
+ {
+ // to ensure "name" is required (not null)
+ if (name == null)
+ {
+ throw new ArgumentNullException("name is a required property for UpsertSessionActivityContractReq and cannot be null");
+ }
+ this.Name = name;
+ // to ensure "contractAddress" is required (not null)
+ if (contractAddress == null)
+ {
+ throw new ArgumentNullException("contractAddress is a required property for UpsertSessionActivityContractReq and cannot be null");
+ }
+ this.ContractAddress = contractAddress;
+ // to ensure "clientId" is required (not null)
+ if (clientId == null)
+ {
+ throw new ArgumentNullException("clientId is a required property for UpsertSessionActivityContractReq and cannot be null");
+ }
+ this.ClientId = clientId;
+ // to ensure "chainId" is required (not null)
+ if (chainId == null)
+ {
+ throw new ArgumentNullException("chainId is a required property for UpsertSessionActivityContractReq and cannot be null");
+ }
+ this.ChainId = chainId;
+ this.OrganisationId = organisationId;
+ this.Enabled = enabled;
+ this.Id = id;
+ this.CreatedAt = createdAt;
+ }
+
+ ///
+ /// The unique identifier of the session activity contract
+ ///
+ /// The unique identifier of the session activity contract
+ /// 1
+ [DataMember(Name = "id", EmitDefaultValue = false)]
+ public int Id { get; set; }
+
+ ///
+ /// The name of the session activity contract
+ ///
+ /// The name of the session activity contract
+ /// Session Activity Contract 1
+ [DataMember(Name = "name", IsRequired = true, EmitDefaultValue = true)]
+ public string Name { get; set; }
+
+ ///
+ /// The smart contract address
+ ///
+ /// The smart contract address
+ /// 0x1234567890abcdef1234567890abcdef12345678
+ [DataMember(Name = "contract_address", IsRequired = true, EmitDefaultValue = true)]
+ public string ContractAddress { get; set; }
+
+ ///
+ /// The client ID associated with the session activity contract
+ ///
+ /// The client ID associated with the session activity contract
+ /// ZabAMafQRA9bWE1XatAtBYNe6DRamgqE
+ [DataMember(Name = "client_id", IsRequired = true, EmitDefaultValue = true)]
+ public string ClientId { get; set; }
+
+ ///
+ /// The chain ID for the session activity contract
+ ///
+ /// The chain ID for the session activity contract
+ /// eip155:13371
+ [DataMember(Name = "chain_id", IsRequired = true, EmitDefaultValue = true)]
+ public string ChainId { get; set; }
+
+ ///
+ /// The organisation ID that owns this session activity contract (UUID format)
+ ///
+ /// The organisation ID that owns this session activity contract (UUID format)
+ /// 550e8400-e29b-41d4-a716-446655440000
+ [DataMember(Name = "organisation_id", IsRequired = true, EmitDefaultValue = true)]
+ public Guid OrganisationId { get; set; }
+
+ ///
+ /// Whether the session activity contract is enabled
+ ///
+ /// Whether the session activity contract is enabled
+ /// true
+ [DataMember(Name = "enabled", IsRequired = true, EmitDefaultValue = true)]
+ public bool Enabled { get; set; }
+
+ ///
+ /// The timestamp when the session activity contract was created
+ ///
+ /// The timestamp when the session activity contract was created
+ /// 2023-12-07T10:30Z
+ [DataMember(Name = "created_at", EmitDefaultValue = false)]
+ public DateTime CreatedAt { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ StringBuilder sb = new StringBuilder();
+ sb.Append("class UpsertSessionActivityContractReq {\n");
+ sb.Append(" Id: ").Append(Id).Append("\n");
+ sb.Append(" Name: ").Append(Name).Append("\n");
+ sb.Append(" ContractAddress: ").Append(ContractAddress).Append("\n");
+ sb.Append(" ClientId: ").Append(ClientId).Append("\n");
+ sb.Append(" ChainId: ").Append(ChainId).Append("\n");
+ sb.Append(" OrganisationId: ").Append(OrganisationId).Append("\n");
+ sb.Append(" Enabled: ").Append(Enabled).Append("\n");
+ sb.Append(" CreatedAt: ").Append(CreatedAt).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public virtual string ToJson()
+ {
+ return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
+ }
+
+ }
+
+}
diff --git a/src/Packages/ZkEvmApi/Runtime/Model/UpsertSessionActivityContractReq.cs.meta b/src/Packages/ZkEvmApi/Runtime/Model/UpsertSessionActivityContractReq.cs.meta
new file mode 100644
index 000000000..47437c720
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Runtime/Model/UpsertSessionActivityContractReq.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 092ab75d8447dfebbba738796703ff28
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/src/Packages/ZkEvmApi/Runtime/Model/UpsertSessionActivityContractResp.cs b/src/Packages/ZkEvmApi/Runtime/Model/UpsertSessionActivityContractResp.cs
new file mode 100644
index 000000000..fb484fb14
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Runtime/Model/UpsertSessionActivityContractResp.cs
@@ -0,0 +1,152 @@
+/*
+ * Immutable zkEVM API
+ *
+ * Immutable Multi Rollup API
+ *
+ * The version of the OpenAPI document: 1.0.0
+ * Contact: support@immutable.com
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.IO;
+using System.Runtime.Serialization;
+using System.Text;
+using System.Text.RegularExpressions;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+using Newtonsoft.Json.Linq;
+using OpenAPIDateConverter = Immutable.Api.ZkEvm.Client.OpenAPIDateConverter;
+
+namespace Immutable.Api.ZkEvm.Model
+{
+ ///
+ /// UpsertSessionActivityContractResp
+ ///
+ [DataContract(Name = "UpsertSessionActivityContractResp")]
+ public partial class UpsertSessionActivityContractResp
+ {
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The unique identifier of the session activity contract.
+ /// The name of the session activity contract.
+ /// The smart contract address.
+ /// The client ID associated with the session activity contract.
+ /// The chain ID for the session activity contract.
+ /// The organisation ID that owns this session activity contract (UUID format).
+ /// Whether the session activity contract is enabled.
+ /// The timestamp when the session activity contract was created.
+ public UpsertSessionActivityContractResp(int id = default(int), string name = default(string), string contractAddress = default(string), string clientId = default(string), string chainId = default(string), Guid organisationId = default(Guid), bool enabled = default(bool), DateTime createdAt = default(DateTime))
+ {
+ this.Id = id;
+ this.Name = name;
+ this.ContractAddress = contractAddress;
+ this.ClientId = clientId;
+ this.ChainId = chainId;
+ this.OrganisationId = organisationId;
+ this.Enabled = enabled;
+ this.CreatedAt = createdAt;
+ }
+
+ ///
+ /// The unique identifier of the session activity contract
+ ///
+ /// The unique identifier of the session activity contract
+ /// 1
+ [DataMember(Name = "id", EmitDefaultValue = false)]
+ public int Id { get; set; }
+
+ ///
+ /// The name of the session activity contract
+ ///
+ /// The name of the session activity contract
+ /// Session Activity Contract 1
+ [DataMember(Name = "name", EmitDefaultValue = false)]
+ public string Name { get; set; }
+
+ ///
+ /// The smart contract address
+ ///
+ /// The smart contract address
+ /// 0x1234567890abcdef1234567890abcdef12345678
+ [DataMember(Name = "contract_address", EmitDefaultValue = false)]
+ public string ContractAddress { get; set; }
+
+ ///
+ /// The client ID associated with the session activity contract
+ ///
+ /// The client ID associated with the session activity contract
+ /// ZabAMafQRA9bWE1XatAtBYNe6DRamgqE
+ [DataMember(Name = "client_id", EmitDefaultValue = false)]
+ public string ClientId { get; set; }
+
+ ///
+ /// The chain ID for the session activity contract
+ ///
+ /// The chain ID for the session activity contract
+ /// eip155:13371
+ [DataMember(Name = "chain_id", EmitDefaultValue = false)]
+ public string ChainId { get; set; }
+
+ ///
+ /// The organisation ID that owns this session activity contract (UUID format)
+ ///
+ /// The organisation ID that owns this session activity contract (UUID format)
+ /// 550e8400-e29b-41d4-a716-446655440000
+ [DataMember(Name = "organisation_id", EmitDefaultValue = false)]
+ public Guid OrganisationId { get; set; }
+
+ ///
+ /// Whether the session activity contract is enabled
+ ///
+ /// Whether the session activity contract is enabled
+ /// true
+ [DataMember(Name = "enabled", EmitDefaultValue = true)]
+ public bool Enabled { get; set; }
+
+ ///
+ /// The timestamp when the session activity contract was created
+ ///
+ /// The timestamp when the session activity contract was created
+ /// 2023-12-07T10:30Z
+ [DataMember(Name = "created_at", EmitDefaultValue = false)]
+ public DateTime CreatedAt { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ StringBuilder sb = new StringBuilder();
+ sb.Append("class UpsertSessionActivityContractResp {\n");
+ sb.Append(" Id: ").Append(Id).Append("\n");
+ sb.Append(" Name: ").Append(Name).Append("\n");
+ sb.Append(" ContractAddress: ").Append(ContractAddress).Append("\n");
+ sb.Append(" ClientId: ").Append(ClientId).Append("\n");
+ sb.Append(" ChainId: ").Append(ChainId).Append("\n");
+ sb.Append(" OrganisationId: ").Append(OrganisationId).Append("\n");
+ sb.Append(" Enabled: ").Append(Enabled).Append("\n");
+ sb.Append(" CreatedAt: ").Append(CreatedAt).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public virtual string ToJson()
+ {
+ return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
+ }
+
+ }
+
+}
diff --git a/src/Packages/ZkEvmApi/Runtime/Model/UpsertSessionActivityContractResp.cs.meta b/src/Packages/ZkEvmApi/Runtime/Model/UpsertSessionActivityContractResp.cs.meta
new file mode 100644
index 000000000..177cbd59b
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Runtime/Model/UpsertSessionActivityContractResp.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: b9d689a84b7129fdf9afa43508c0d482
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/src/Packages/ZkEvmApi/api~/openapi.yaml b/src/Packages/ZkEvmApi/api~/openapi.yaml
index c84b40487..3582037b0 100644
--- a/src/Packages/ZkEvmApi/api~/openapi.yaml
+++ b/src/Packages/ZkEvmApi/api~/openapi.yaml
@@ -9379,6 +9379,78 @@ components:
- title
- type
- url
+ SessionActivityContractResponse:
+ allOf:
+ - $ref: '#/components/schemas/SessionActivityContract'
+ - type: object
+ - required:
+ - chain_id
+ - client_id
+ - contract_address
+ - created_at
+ - enabled
+ - id
+ - name
+ - organisation_id
+ UpsertSessionActivityContractReq:
+ allOf:
+ - $ref: '#/components/schemas/SessionActivityContract'
+ - type: object
+ - required:
+ - chain_id
+ - client_id
+ - contract_address
+ - enabled
+ - name
+ - organisation_id
+ UpsertSessionActivityContractResp:
+ allOf:
+ - $ref: '#/components/schemas/SessionActivityContract'
+ - type: object
+ SessionActivityContract:
+ properties:
+ id:
+ description: The unique identifier of the session activity contract
+ example: 1
+ type: integer
+ name:
+ description: The name of the session activity contract
+ example: Session Activity Contract 1
+ type: string
+ contract_address:
+ description: The smart contract address
+ example: 0x1234567890abcdef1234567890abcdef12345678
+ maxLength: 42
+ minLength: 42
+ pattern: "^0x[0-9a-fA-F]{40}$"
+ type: string
+ client_id:
+ description: The client ID associated with the session activity contract
+ example: ZabAMafQRA9bWE1XatAtBYNe6DRamgqE
+ maxLength: 32
+ minLength: 32
+ pattern: "^[a-zA-Z0-9]{32}$"
+ type: string
+ chain_id:
+ description: The chain ID for the session activity contract
+ example: eip155:13371
+ type: string
+ organisation_id:
+ description: The organisation ID that owns this session activity contract
+ (UUID format)
+ example: 550e8400-e29b-41d4-a716-446655440000
+ format: uuid
+ type: string
+ enabled:
+ description: Whether the session activity contract is enabled
+ example: true
+ type: boolean
+ created_at:
+ description: The timestamp when the session activity contract was created
+ example: 2023-12-07T10:30:00Z
+ format: date-time
+ type: string
+ type: object
FilterValue:
example:
- value: Common