diff --git a/corporate-actions/proxyvoting/README.md b/corporate-actions/proxyvoting/README.md
new file mode 100644
index 0000000..22ce8f9
--- /dev/null
+++ b/corporate-actions/proxyvoting/README.md
@@ -0,0 +1,5 @@
+# Client-side Sample for Corporate Action Events
+
+This is a demonstration on how to get corporate action events with different Corporate action types (Mandatory or Voluntary).
+
+Live demo: https://saxobank.github.io/openapi-samples-js/corporate-actions/events
\ No newline at end of file
diff --git a/corporate-actions/proxyvoting/demo.js b/corporate-actions/proxyvoting/demo.js
new file mode 100644
index 0000000..24be6f1
--- /dev/null
+++ b/corporate-actions/proxyvoting/demo.js
@@ -0,0 +1,48 @@
+/*jslint browser: true, long: true, unordered: true */
+/*global window console demonstrationHelper */
+
+(function () {
+ // Create a helper function to remove some boilerplate code from the example itself.
+ const demo = demonstrationHelper({
+ "responseElm": document.getElementById("idResponse"),
+ "javaScriptElm": document.getElementById("idJavaScript"),
+ "accessTokenElm": document.getElementById("idBearerToken"),
+ "retrieveTokenHref": document.getElementById("idHrefRetrieveToken"),
+ "tokenValidateButton": document.getElementById("idBtnValidate"),
+ "accountsList": document.getElementById("idCbxAccount"),
+ "footerElm": document.getElementById("idFooter")
+ });
+
+
+ /**
+ * This is an example of getting proxy voting events.
+ * @return {void}
+ */
+ function getProxyVotingEvents() {
+ const clientKey = document.getElementById("idClientKey").value;
+ fetch(
+ demo.apiUrl + "/ca/v1/proxyvoting/events/?ClientKey=" + clientKey,
+ {
+ "method": "GET",
+ "headers": {
+ "Authorization": "Bearer " + document.getElementById("idBearerToken").value
+ }
+ }
+ ).then(function (response) {
+ if (response.ok) {
+ response.json().then(function (responseJson) {
+ console.log("These are the details of this event:\n\n" + JSON.stringify(responseJson, null, 4));
+ });
+ } else {
+ demo.processError(response);
+ }
+ }).catch(function (error) {
+ console.error(error);
+ });
+ }
+
+ demo.setupEvents([
+ {"evt": "click", "elmId": "idBtnGetEvents", "func": getProxyVotingEvents, "funcsToDisplay": [getProxyVotingEvents]}
+ ]);
+ demo.displayVersion("ref");
+}());
\ No newline at end of file
diff --git a/corporate-actions/proxyvoting/index.html b/corporate-actions/proxyvoting/index.html
new file mode 100644
index 0000000..cdb53ab
--- /dev/null
+++ b/corporate-actions/proxyvoting/index.html
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
+
+ Demo for Corporate Actions
+
+
+
+
+
+
\ No newline at end of file