diff --git a/proxies/live/apiproxy/policies/AssignMessage.OAuthPolicyErrorResponse.xml b/proxies/live/apiproxy/policies/AssignMessage.OAuthPolicyErrorResponse.xml
deleted file mode 100644
index 3d278de..0000000
--- a/proxies/live/apiproxy/policies/AssignMessage.OAuthPolicyErrorResponse.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
- 401
-
- {
- "resourceType": "OperationOutcome",
- "issue": [
- {
- "severity": "error",
- "code": "forbidden",
- "details": {
- "coding": [
- {
- "system": "https://fhir.nhs.uk/R4/CodeSystem/Spine-ErrorOrWarningCode",
- "version": "1",
- "code": "ACCESS_DENIED",
- "display": "{faultstring}"
- }
- ]
- }
- }
- ]
- }
-
-
- true
-
-
diff --git a/proxies/live/apiproxy/policies/ExtractVariables.OAuthErrorFaultString.xml b/proxies/live/apiproxy/policies/ExtractVariables.OAuthErrorFaultString.xml
deleted file mode 100644
index e3955e3..0000000
--- a/proxies/live/apiproxy/policies/ExtractVariables.OAuthErrorFaultString.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
- true
-
-
- $.fault.faultstring
-
-
-
-
diff --git a/proxies/live/apiproxy/policies/RaiseFault.404NotFound.xml b/proxies/live/apiproxy/policies/RaiseFault.404NotFound.xml
new file mode 100644
index 0000000..45a0df5
--- /dev/null
+++ b/proxies/live/apiproxy/policies/RaiseFault.404NotFound.xml
@@ -0,0 +1,42 @@
+
+
+
+ RaiseFault.404NotFound
+
+
+
+
+ 404
+ NotFound
+
+{
+ "issue": [
+ {
+ "code": "processing",
+ "details": {
+ "coding": [
+ {
+ "code": "INVALIDATED_RESOURCE",
+ "display": "Resource that has been marked as invalid was requested - invalid resources cannot be retrieved",
+ "system": "https://fhir.nhs.uk/R4/CodeSystem/ValidatedRelationships-ErrorOrWarningCode",
+ "version": "1"
+ }
+ ]
+ },
+ "severity": "error"
+ }
+ ],
+ "resourceType": "OperationOutcome"
+}
+
+
+
+ true
+
diff --git a/proxies/live/apiproxy/targets/target.xml b/proxies/live/apiproxy/targets/target.xml
index 49f1d02..7ffc2e8 100644
--- a/proxies/live/apiproxy/targets/target.xml
+++ b/proxies/live/apiproxy/targets/target.xml
@@ -26,23 +26,20 @@
+
+
+ RaiseFault.404NotFound
+
+ response.header.x-amzn-ErrorType = "IncompleteSignatureException"
+
RaiseFault.401Unauthorized
- oauthV2.OauthV2.VerifyAccessToken.failed = true or fault.name = "invalid_access_token" or fault.name = "InvalidAccessToken" or fault.name = "access_token_not_approved" or fault.name = "apiresource_doesnot_exist" or fault.name = "InvalidAPICallAsNo" or fault.name = "ApiProductMatchFound"
+ oauthV2.OauthV2.VerifyAccessToken.failed = true or fault.name = "invalid_access_token" or fault.name = "InvalidAccessToken" or fault.name = "access_token_not_approved" or fault.name = "apiresource_doesnot_exist" or fault.name = "InvalidAPICallAsNo" or fault.name = "ApiProductMatchFound" or fault.name = "access_token_expired"
-
-
- ExtractVariables.OAuthErrorFaultString
-
-
- AssignMessage.OAuthPolicyErrorResponse
-
- oauthV2.OauthV2.VerifyAccessToken.failed
-