curl --request POST \
'https://wfa-team-tool-v1.bubbleapps.io/version-test/api/1.1/wf/rwa_update' \
--header "Authorization: Bearer $WFA_COMPANY_TOKEN" \
--header 'Content-Type: application/json' \
--data '{
"assessmentId": "YOUR_TEST_ASSESSMENT_ID",
"status": "Compliance Approved",
"complianceTeamMemberId": "COMPLIANCE-001",
"note": "Reviewed by the compliance team",
"externalEventId": "decision-001"
}'
// Run on your server. Set WFA_COMPANY_TOKEN in its environment.
const response = await fetch('https://wfa-team-tool-v1.bubbleapps.io/version-test/api/1.1/wf/rwa_update', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.WFA_COMPANY_TOKEN}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
"assessmentId": "YOUR_TEST_ASSESSMENT_ID",
"status": "Compliance Approved",
"complianceTeamMemberId": "COMPLIANCE-001",
"note": "Reviewed by the compliance team",
"externalEventId": "decision-001"
})
});
const result = await response.json();
// Check the JSON body as well as the HTTP status.
console.log(result);
# Run on your server. Set WFA_COMPANY_TOKEN in its environment.
import os
import requests
response = requests.post(
'https://wfa-team-tool-v1.bubbleapps.io/version-test/api/1.1/wf/rwa_update',
headers={
'Authorization': f"Bearer {os.environ['WFA_COMPANY_TOKEN']}",
'Content-Type': 'application/json',
},
json={
"assessmentId": "YOUR_TEST_ASSESSMENT_ID",
"status": "Compliance Approved",
"complianceTeamMemberId": "COMPLIANCE-001",
"note": "Reviewed by the compliance team",
"externalEventId": "decision-001"
},
timeout=45,
)
# Check the JSON body as well as the HTTP status.
print(response.json())
{
"status": "success",
"success": true,
"message": "RWA decision and note updated"
}
{
"status": "error",
"success": false,
"message": "Invalid Auth"
}
{
"status": "error",
"success": false,
"message": "RWA not found for this company"
}
{
"status": "error",
"success": false,
"errors": [
{
"field": "managerId",
"message": "Manager ID is required for Manager Approved"
}
]
}
{
"status": "error",
"success": false,
"errors": [
{
"field": "approverId",
"message": "Manager ID or Compliance Team Member ID is required for Rejected"
}
]
}
{
"status": "error",
"success": false,
"errors": [
{
"field": "complianceTeamMemberId",
"message": "Compliance Team Member ID is required for Compliance Approved"
}
]
}
{
"status": "error",
"success": false,
"errors": [
{
"field": "complianceTeamMemberId",
"message": "Compliance Team Member ID must match a registered, activated staff account in this company. The team member must complete account setup using their invitation before acting on an assessment."
}
]
}
{
"status": "error",
"success": false,
"errors": [
{
"field": "status",
"message": "Status must be Pending, Manager Approved, Compliance Approved, Rejected, or Canceled. Approved is also accepted as a legacy alias for Compliance Approved."
}
]
}
API reference
Update a decision
Record an approval, rejection, cancellation or pending decision.
POST
/
version-test
/
api
/
1.1
/
wf
/
rwa_update
curl --request POST \
'https://wfa-team-tool-v1.bubbleapps.io/version-test/api/1.1/wf/rwa_update' \
--header "Authorization: Bearer $WFA_COMPANY_TOKEN" \
--header 'Content-Type: application/json' \
--data '{
"assessmentId": "YOUR_TEST_ASSESSMENT_ID",
"status": "Compliance Approved",
"complianceTeamMemberId": "COMPLIANCE-001",
"note": "Reviewed by the compliance team",
"externalEventId": "decision-001"
}'
// Run on your server. Set WFA_COMPANY_TOKEN in its environment.
const response = await fetch('https://wfa-team-tool-v1.bubbleapps.io/version-test/api/1.1/wf/rwa_update', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.WFA_COMPANY_TOKEN}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
"assessmentId": "YOUR_TEST_ASSESSMENT_ID",
"status": "Compliance Approved",
"complianceTeamMemberId": "COMPLIANCE-001",
"note": "Reviewed by the compliance team",
"externalEventId": "decision-001"
})
});
const result = await response.json();
// Check the JSON body as well as the HTTP status.
console.log(result);
# Run on your server. Set WFA_COMPANY_TOKEN in its environment.
import os
import requests
response = requests.post(
'https://wfa-team-tool-v1.bubbleapps.io/version-test/api/1.1/wf/rwa_update',
headers={
'Authorization': f"Bearer {os.environ['WFA_COMPANY_TOKEN']}",
'Content-Type': 'application/json',
},
json={
"assessmentId": "YOUR_TEST_ASSESSMENT_ID",
"status": "Compliance Approved",
"complianceTeamMemberId": "COMPLIANCE-001",
"note": "Reviewed by the compliance team",
"externalEventId": "decision-001"
},
timeout=45,
)
# Check the JSON body as well as the HTTP status.
print(response.json())
{
"status": "success",
"success": true,
"message": "RWA decision and note updated"
}
{
"status": "error",
"success": false,
"message": "Invalid Auth"
}
{
"status": "error",
"success": false,
"message": "RWA not found for this company"
}
{
"status": "error",
"success": false,
"errors": [
{
"field": "managerId",
"message": "Manager ID is required for Manager Approved"
}
]
}
{
"status": "error",
"success": false,
"errors": [
{
"field": "approverId",
"message": "Manager ID or Compliance Team Member ID is required for Rejected"
}
]
}
{
"status": "error",
"success": false,
"errors": [
{
"field": "complianceTeamMemberId",
"message": "Compliance Team Member ID is required for Compliance Approved"
}
]
}
{
"status": "error",
"success": false,
"errors": [
{
"field": "complianceTeamMemberId",
"message": "Compliance Team Member ID must match a registered, activated staff account in this company. The team member must complete account setup using their invitation before acting on an assessment."
}
]
}
{
"status": "error",
"success": false,
"errors": [
{
"field": "status",
"message": "Status must be Pending, Manager Approved, Compliance Approved, Rejected, or Canceled. Approved is also accepted as a legacy alias for Compliance Approved."
}
]
}
POST /rwa_update
Decision rules
Decision rules
| Status | Required actor |
|---|---|
| Pending | No decision-maker identifier required. |
| Manager Approved | managerId is required. |
| Compliance Approved | complianceTeamMemberId is required. The staff member must belong to the company and have completed account activation. |
| Rejected | managerId or complianceTeamMemberId is required. |
| Canceled | cancelledByStaffId is required. |
Approved alias represents compliance approval. Retry deduplication is pending verification.Authorization
string
required
Company Bearer token. Keep it on your server.
Body parameters
string
required
Assessment identifier returned by the create endpoint.
string
required
Decision status; see the decision rules below.
string
Registered, activated compliance Staff ID in the token’s company. Required for the applicable decision status.
string
Note to accompany the decision.
string
Your event identifier. Retry deduplication has not been verified. Required by the current test client; the upstream requirement needs verification.
string
External manager Staff ID. Required for the applicable decision status.
string
Company Staff ID of the person cancelling the assessment. Required for the applicable decision status.
Error responses
| Message or field | When returned |
|---|---|
Invalid Auth | Company authorization did not match. |
RWA not found for this company | The assessment was not found for the authenticated company. |
managerId | Manager ID is required for Manager Approved |
approverId | Manager ID or Compliance Team Member ID is required for Rejected |
complianceTeamMemberId | Compliance Team Member ID is required for Compliance Approved |
complianceTeamMemberId | Compliance Team Member ID must match a registered, activated staff account in this company. The team member must complete account setup using their invitation before acting on an assessment. |
status | Status must be Pending, Manager Approved, Compliance Approved, Rejected, or Canceled. Approved is also accepted as a legacy alias for Compliance Approved. |
complianceTeamMemberId is checked for an activated staff account in the company, including when supplied with another status. The staff member must complete setup from their invitation before acting on an assessment.
Response
The documented success message isRWA decision and note updated.
Check the JSON response as well as HTTP status. HTTP 200 can contain an API error. If a request times out, check the assessment before retrying. Retry deduplication is not verified.
curl --request POST \
'https://wfa-team-tool-v1.bubbleapps.io/version-test/api/1.1/wf/rwa_update' \
--header "Authorization: Bearer $WFA_COMPANY_TOKEN" \
--header 'Content-Type: application/json' \
--data '{
"assessmentId": "YOUR_TEST_ASSESSMENT_ID",
"status": "Compliance Approved",
"complianceTeamMemberId": "COMPLIANCE-001",
"note": "Reviewed by the compliance team",
"externalEventId": "decision-001"
}'
// Run on your server. Set WFA_COMPANY_TOKEN in its environment.
const response = await fetch('https://wfa-team-tool-v1.bubbleapps.io/version-test/api/1.1/wf/rwa_update', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.WFA_COMPANY_TOKEN}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
"assessmentId": "YOUR_TEST_ASSESSMENT_ID",
"status": "Compliance Approved",
"complianceTeamMemberId": "COMPLIANCE-001",
"note": "Reviewed by the compliance team",
"externalEventId": "decision-001"
})
});
const result = await response.json();
// Check the JSON body as well as the HTTP status.
console.log(result);
# Run on your server. Set WFA_COMPANY_TOKEN in its environment.
import os
import requests
response = requests.post(
'https://wfa-team-tool-v1.bubbleapps.io/version-test/api/1.1/wf/rwa_update',
headers={
'Authorization': f"Bearer {os.environ['WFA_COMPANY_TOKEN']}",
'Content-Type': 'application/json',
},
json={
"assessmentId": "YOUR_TEST_ASSESSMENT_ID",
"status": "Compliance Approved",
"complianceTeamMemberId": "COMPLIANCE-001",
"note": "Reviewed by the compliance team",
"externalEventId": "decision-001"
},
timeout=45,
)
# Check the JSON body as well as the HTTP status.
print(response.json())
{
"status": "success",
"success": true,
"message": "RWA decision and note updated"
}
{
"status": "error",
"success": false,
"message": "Invalid Auth"
}
{
"status": "error",
"success": false,
"message": "RWA not found for this company"
}
{
"status": "error",
"success": false,
"errors": [
{
"field": "managerId",
"message": "Manager ID is required for Manager Approved"
}
]
}
{
"status": "error",
"success": false,
"errors": [
{
"field": "approverId",
"message": "Manager ID or Compliance Team Member ID is required for Rejected"
}
]
}
{
"status": "error",
"success": false,
"errors": [
{
"field": "complianceTeamMemberId",
"message": "Compliance Team Member ID is required for Compliance Approved"
}
]
}
{
"status": "error",
"success": false,
"errors": [
{
"field": "complianceTeamMemberId",
"message": "Compliance Team Member ID must match a registered, activated staff account in this company. The team member must complete account setup using their invitation before acting on an assessment."
}
]
}
{
"status": "error",
"success": false,
"errors": [
{
"field": "status",
"message": "Status must be Pending, Manager Approved, Compliance Approved, Rejected, or Canceled. Approved is also accepted as a legacy alias for Compliance Approved."
}
]
}
.avif?fit=max&auto=format&n=D14pPx7nwaebT2G5&q=85&s=4c6d67fe3600ae0af1af440b290c4e21)