diff --git a/load-test/README.md b/load-test/README.md
index 307becc..cac88eb 100644
--- a/load-test/README.md
+++ b/load-test/README.md
@@ -7,3 +7,7 @@
 ## Run
 
 docker will open port 9000 for api hits
+
+## Start the load
++ Install https://artillery.io/
++ `artillery run artillery/deployment.yaml `
\ No newline at end of file
diff --git a/load-test/artillery/deployment.yaml b/load-test/artillery/deployment.yaml
new file mode 100644
index 0000000..d108142
--- /dev/null
+++ b/load-test/artillery/deployment.yaml
@@ -0,0 +1,26 @@
+config:
+  target: 'http://localhost:9090'
+  http:
+    timeout: 10
+  phases:
+    - duration: 120
+      arrivalRate: 1
+  processor: "./my-functions.js"
+  defaults:
+    headers:
+      x-my-service-auth: '987401838271002188298567'
+
+scenarios:
+  -
+    name: "Deployments ping"
+    flow:
+      -
+        get:
+          url: "/deployments"
+          afterResponse: "captureDeployments"
+      -
+        think: 1
+      -
+        put:
+          url: "/deployments"
+          beforeRequest: "fakeStatuses"
diff --git a/load-test/artillery/my-functions.js b/load-test/artillery/my-functions.js
new file mode 100644
index 0000000..aa93abe
--- /dev/null
+++ b/load-test/artillery/my-functions.js
@@ -0,0 +1,38 @@
+//
+// my-functions.js
+//
+module.exports = {
+  captureDeployments: captureDeployments,
+  fakeStatuses: fakeStatuses
+}
+
+function captureDeployments(requestParams, response, context, ee, next) {
+
+  var array = JSON.parse(response.body);
+  context.vars.captureDeployments = array;
+  return next(); // MUST be called for the scenario to continue
+}
+/*
+    requestParam are the parameters from this list
+    https://github.com/request/request#requestoptions-callback
+*/
+function fakeStatuses(requestParams, context, ee, next) {
+  //console.log("--------------------------");
+  //console.log(context.vars.captureDeployments)
+  var d = context.vars.captureDeployments;
+  var statusArray = [];
+
+  for (var i = 0; i< d.length; i++) {
+        var status = {
+            "id":d[i].id,
+            "status": (i>(d.length*0.1))?"FAIL":"SUCCESS",
+            "message": "Some random message long.Some random message long.Some random message long.Some random message long.Some random message long.Some random message long.Some random message long.",
+            "errorCode":1
+        };
+        statusArray.push(status);
+  }
+  requestParams.body = statusArray;
+  requestParams.json = true;
+  //console.log(requestParams.body);
+  return next();// MUST be called for the scenario to continue
+}
\ No newline at end of file
