diff --git a/features/connection/createConnection.feature b/features/connection/createConnection.feature
new file mode 100644
index 0000000000000000000000000000000000000000..b64bacd3c06afe637e274cb40370ad9cfc6515f7
--- /dev/null
+++ b/features/connection/createConnection.feature
@@ -0,0 +1,22 @@
+Feature: Webhook call for create connection
+
+    Scenario: Received validated DTO from NATS call .
+        Given Webhook valid object .
+        When  passed connection status as invited.
+        And   passed valid connection id.
+        And   role should be inviter.
+        Then  should create the connection.
+
+    Scenario: Received validated DTO from NATS call .
+        Given Webhook valid object .
+        When  passed connection status as invited.
+        And   passed invalid connection id.
+        And   role should be inviter.
+        Then  should return valid status code 400(BAD_REQUEST).
+
+    Scenario: Received validated DTO from NATS call .
+        Given Webhook valid object .
+        When  passed connection status as invited.
+        And   passed valid connection id.
+        And   role is invitee.
+        Then  should return valid status code 400(BAD_REQUEST).
\ No newline at end of file
diff --git a/features/connection/findByConnectionId.feature b/features/connection/findByConnectionId.feature
new file mode 100644
index 0000000000000000000000000000000000000000..7c9930ea67fb35808634a38860f0b723fffcb1cf
--- /dev/null
+++ b/features/connection/findByConnectionId.feature
@@ -0,0 +1,17 @@
+Feature: Get connection details By Id
+    Return the single connection details
+
+    Scenario: Provide valid connection ID
+        Given The connection ID available.
+        When  provide valid connection ID.
+        Then  should return connection details.
+
+    Scenario: Provide invalid connection ID.
+        Given The connection ID available.
+        When  provide invalid connection ID.
+        Then  should return no data found.
+
+    Scenario: Not Provide a connection ID.
+        Given The connection ID not available.
+        When  not provide connection ID.
+        Then  should return connection request required Connction ID.
\ No newline at end of file
diff --git a/features/connection/getConnection.feature b/features/connection/getConnection.feature
new file mode 100644
index 0000000000000000000000000000000000000000..23bf1d77b4c9524c167a2d2438845cbc93d1e28b
--- /dev/null
+++ b/features/connection/getConnection.feature
@@ -0,0 +1,25 @@
+Feature: Get Connection API
+    Return the list of connections or single conneection created on OCM environment
+
+    Scenario: Provide validated page and pageSize and partcipant ID.
+        When  passed valid page.
+        And   passed valid pageSize.
+        And   passed valid participant ID.
+        Then  should get connection list.
+
+    Scenario: Provide validated page and pageSize and partcipant ID.
+        When  passed valid page.
+        And   passed valid pageSize.
+        And   passed valid participant ID.
+        Then  should get http status 404.
+
+    Scenario: Provide invalid page and pageSize
+        When passed invalid page.
+        And  passed invalid pageSize.
+        Then should return no data available.
+
+    Scenario: Not Provide partcipant id OR Connction ID or participant DID
+        When  not provid participant ID
+        And not provid connection ID
+        And nor provid partcipant DID
+        Then should return message "Participant ID/ connection ID / participant DID must be provided" with status code 400.
diff --git a/features/connection/makeConnectionTrusted.feature b/features/connection/makeConnectionTrusted.feature
new file mode 100644
index 0000000000000000000000000000000000000000..c16f57ac13a378dc2160beac0689d978f8b7d057
--- /dev/null
+++ b/features/connection/makeConnectionTrusted.feature
@@ -0,0 +1,17 @@
+Feature: Make connection trusted against connection ID.
+    Update connection  status to trusted.
+
+    Scenario: Provide valid connection ID
+        Given The connection ID available.
+        When  provide valid connection ID.
+        Then  should update current connection state to trusted state.
+
+    Scenario: Provide invalid connection ID.
+        Given The connection ID available.
+        When  provide invalid connection ID.
+        Then  should return an exception.
+
+    Scenario: Not Provide a connection ID.
+        Given The connection ID not available.
+        When  not provide connection ID.
+        Then  should return connection request required Connction ID.
\ No newline at end of file
diff --git a/features/connection/membershipCredential.feature b/features/connection/membershipCredential.feature
new file mode 100644
index 0000000000000000000000000000000000000000..15c31bbab143b19974c0a14c0067bf90cf6b3d7e
--- /dev/null
+++ b/features/connection/membershipCredential.feature
@@ -0,0 +1,25 @@
+Feature: Create connection invitation URL
+
+    Scenario: Connction Invitation URL is created successfully as member
+        Given The participant is registered on GAIAX ecosystem
+        And The Principal is set to connect with Participant
+        When The Participant_id is provided in URL
+        And Alis is set to "member"
+        Then the Connection Invitation URL should be created.
+        And if user accepts the connection it should go in complete state.
+
+    Scenario: Connction Invitation URL is created successfully as subscriber.
+        Given The participant is registered on GAIAX ecosystem
+        And The Principal is set to connect with Participant
+        When The Participant_id is provided in URL
+        And Alis is set to "subscriber"
+        Then the Connection Invitation URL should be created
+        And if user accepts the connection it should go in complete state.
+
+    Scenario: Connction Invitation URL is created successfully but not as member or subscriber.
+        Given The participant is registered on GAIAX ecosystem
+        And The Principal is set to connect with Participant
+        When The Participant_id is provided in URL
+        Then the Connection Invitation URL should be created.
+        And if user accepts the connection it should go in complete state.
+        But connection will never goes in trusted state.
diff --git a/features/connection/updateConnection.feature b/features/connection/updateConnection.feature
new file mode 100644
index 0000000000000000000000000000000000000000..5ffb84d9fd6f82ee836b607fdebf4768694f2ae9
--- /dev/null
+++ b/features/connection/updateConnection.feature
@@ -0,0 +1,23 @@
+Feature: Webhook call for update connection
+
+    Scenario: Received validated DTO from NATS call .
+        Given Webhook valid object .
+        When  passed valid connection status other than invited.
+        And   passed valid connection id.
+        And   role should be inviter.
+        Then  should update the connection.
+
+    Scenario: Received validated DTO from NATS call .
+        Given Webhook valid object .
+        When  passed connection status as invited.
+        And   passed invalid connection id.
+        And   role should be inviter.
+        Then  should return valid status code 404(NOT_FOUND).
+
+    Scenario: Received validated DTO from NATS call .
+        Given Webhook valid object .
+        When  passed valid connection status other than invited.
+        And   passed valid connection id.
+        And   role is invitee.
+        Then  should return valid status code 400(BAD_REQUEST).
+