diff --git a/lso/playbook.py b/lso/playbook.py
index a2de84c9bddbf3893cc2ae10989d38ee999b6da3..972044fa969860bd433e47d86f9ec93a0bfd303d 100644
--- a/lso/playbook.py
+++ b/lso/playbook.py
@@ -147,7 +147,7 @@ def _run_playbook_proc(
     }
 
     request_result = requests.post(callback, json=payload, timeout=DEFAULT_REQUEST_TIMEOUT)
-    if request_result.status_code != status.HTTP_200_OK:
+    if request_result.status_code != status.HTTP_201_CREATED:
         msg = f"Callback failed: {request_result.text}"
         logger.error(msg)
 
diff --git a/test/routes/test_ip_trunk.py b/test/routes/test_ip_trunk.py
index aefb44d3ff12b698ee83f1ccb729b975cc10e218..0045b1e7a41026b6fc7c20a297c68035a4f6e69b 100644
--- a/test/routes/test_ip_trunk.py
+++ b/test/routes/test_ip_trunk.py
@@ -2,15 +2,12 @@ import time
 from collections.abc import Callable
 from unittest.mock import patch
 
-import jsonschema
 import pytest
 import responses
 from faker import Faker
 from fastapi import status
 from starlette.testclient import TestClient
 
-from lso.playbook import PlaybookLaunchResponse
-
 TEST_CALLBACK_URL = "https://fqdn.abc.xyz/api/resume"
 
 
@@ -171,7 +168,7 @@ def test_ip_trunk_provisioning(
     subscription_object: dict,
     mocked_ansible_runner_run: Callable,
 ) -> None:
-    responses.post(url=TEST_CALLBACK_URL, status=200)
+    responses.post(url=TEST_CALLBACK_URL, status=201)
 
     params = {
         "callback": TEST_CALLBACK_URL,
@@ -185,16 +182,15 @@ def test_ip_trunk_provisioning(
 
     with patch("lso.playbook.ansible_runner.run", new=mocked_ansible_runner_run) as _:
         rv = client.post("/api/ip_trunk/", json=params)
-        assert rv.status_code == status.HTTP_200_OK
+        assert rv.status_code == status.HTTP_201_CREATED
         response = rv.json()
         # wait a second for the run thread to finish
         time.sleep(1)
 
-    jsonschema.validate(response, PlaybookLaunchResponse.model_json_schema())
+    assert isinstance(response, dict)
+    assert isinstance(response["job_id"], str)
     responses.assert_call_count(TEST_CALLBACK_URL, 1)
 
-    assert response["status"] == "ok"
-
 
 @responses.activate
 def test_ip_trunk_modification(
@@ -202,7 +198,7 @@ def test_ip_trunk_modification(
     subscription_object: dict,
     mocked_ansible_runner_run: Callable,
 ) -> None:
-    responses.post(url=TEST_CALLBACK_URL, status=200)
+    responses.post(url=TEST_CALLBACK_URL, status=201)
 
     params = {
         "callback": TEST_CALLBACK_URL,
@@ -216,16 +212,15 @@ def test_ip_trunk_modification(
 
     with patch("lso.playbook.ansible_runner.run", new=mocked_ansible_runner_run) as _:
         rv = client.put("/api/ip_trunk/", json=params)
-        assert rv.status_code == status.HTTP_200_OK
+        assert rv.status_code == status.HTTP_201_CREATED
         response = rv.json()
         # wait a second for the run thread to finish
         time.sleep(1)
 
-    jsonschema.validate(response, PlaybookLaunchResponse.model_json_schema())
+    assert isinstance(response, dict)
+    assert isinstance(response["job_id"], str)
     responses.assert_call_count(TEST_CALLBACK_URL, 1)
 
-    assert response["status"] == "ok"
-
 
 @responses.activate
 def test_ip_trunk_deletion(client: TestClient, subscription_object: dict, mocked_ansible_runner_run: Callable) -> None:
@@ -242,16 +237,15 @@ def test_ip_trunk_deletion(client: TestClient, subscription_object: dict, mocked
 
     with patch("lso.playbook.ansible_runner.run", new=mocked_ansible_runner_run) as _:
         rv = client.request(url="/api/ip_trunk/", method=responses.DELETE, json=params)
-        assert rv.status_code == status.HTTP_200_OK
+        assert rv.status_code == status.HTTP_201_CREATED
         response = rv.json()
         # wait a second for the run thread to finish
         time.sleep(1)
 
-    jsonschema.validate(response, PlaybookLaunchResponse.model_json_schema())
+    assert isinstance(response, dict)
+    assert isinstance(response["job_id"], str)
     responses.assert_call_count(TEST_CALLBACK_URL, 1)
 
-    assert response["status"] == "ok"
-
 
 @responses.activate
 def test_ip_trunk_migration(
@@ -275,12 +269,11 @@ def test_ip_trunk_migration(
 
     with patch("lso.playbook.ansible_runner.run", new=mocked_ansible_runner_run) as _:
         rv = client.post(url="/api/ip_trunk/migrate", json=params)
-        assert rv.status_code == status.HTTP_200_OK
+        assert rv.status_code == status.HTTP_201_CREATED
         response = rv.json()
         #  Wait a second for the run to finish
         time.sleep(1)
 
-    jsonschema.validate(response, PlaybookLaunchResponse.model_json_schema())
+    assert isinstance(response, dict)
+    assert isinstance(response["job_id"], str)
     responses.assert_call_count(TEST_CALLBACK_URL, 1)
-
-    assert response["status"] == "ok"
diff --git a/test/routes/test_router.py b/test/routes/test_router.py
index 08f81881eaf7221b45d51fe34d30801e4c82fc03..29e956e43ff5c8fb4d98f4ea4a64847ec917450b 100644
--- a/test/routes/test_router.py
+++ b/test/routes/test_router.py
@@ -2,20 +2,17 @@ import time
 from collections.abc import Callable
 from unittest.mock import patch
 
-import jsonschema
 import responses
 from faker import Faker
 from fastapi import status
 from starlette.testclient import TestClient
 
-from lso.playbook import PlaybookLaunchResponse
-
 TEST_CALLBACK_URL = "https://fqdn.abc.xyz/api/resume"
 
 
 @responses.activate
 def test_router_provisioning(client: TestClient, faker: Faker, mocked_ansible_runner_run: Callable) -> None:
-    responses.put(url=TEST_CALLBACK_URL, status=200)
+    responses.put(url=TEST_CALLBACK_URL, status=201)
 
     params = {
         "callback": TEST_CALLBACK_URL,
@@ -48,12 +45,11 @@ def test_router_provisioning(client: TestClient, faker: Faker, mocked_ansible_ru
 
     with patch("lso.playbook.ansible_runner.run", new=mocked_ansible_runner_run) as _:
         rv = client.post("/api/router/", json=params)
-        assert rv.status_code == status.HTTP_200_OK
+        assert rv.status_code == status.HTTP_201_CREATED
         response = rv.json()
         # wait two seconds for the run thread to finish
         time.sleep(2)
 
-    jsonschema.validate(response, PlaybookLaunchResponse.model_json_schema())
+    assert isinstance(response, dict)
+    assert isinstance(response["job_id"], str)
     responses.assert_call_count(TEST_CALLBACK_URL, 1)
-
-    assert response["status"] == "ok"