Update account status
curl --request POST \
--url https://v3-api.cleargrid.ai/admin/v3/lenders/{lenderPublicId}/accounts/update-status \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"accounts": [
{
"status": 5,
"debtorCompanyId": "customer_001",
"accountId": "ORD-2025-001"
},
{
"status": 6,
"debtorCompanyId": "customer_002",
"accountId": "ORD-2025-045"
}
]
}
'import requests
url = "https://v3-api.cleargrid.ai/admin/v3/lenders/{lenderPublicId}/accounts/update-status"
payload = { "accounts": [
{
"status": 5,
"debtorCompanyId": "customer_001",
"accountId": "ORD-2025-001"
},
{
"status": 6,
"debtorCompanyId": "customer_002",
"accountId": "ORD-2025-045"
}
] }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
accounts: [
{status: 5, debtorCompanyId: 'customer_001', accountId: 'ORD-2025-001'},
{status: 6, debtorCompanyId: 'customer_002', accountId: 'ORD-2025-045'}
]
})
};
fetch('https://v3-api.cleargrid.ai/admin/v3/lenders/{lenderPublicId}/accounts/update-status', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"code": 200,
"message": "success",
"body": "Processing started successfully",
"errors": []
}{
"code": 400,
"message": null,
"body": "",
"errors": [
{
"accountId": "ORD-2025-001",
"errors": [
"Invalid status value. Accepted values: 5, 6"
]
}
]
}{
"error": "Unauthorized"
}Accounts
Update Account Status
Update account statuses such as disputed or do-not-contact
POST
/
admin
/
v3
/
lenders
/
{lenderPublicId}
/
accounts
/
update-status
Update account status
curl --request POST \
--url https://v3-api.cleargrid.ai/admin/v3/lenders/{lenderPublicId}/accounts/update-status \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"accounts": [
{
"status": 5,
"debtorCompanyId": "customer_001",
"accountId": "ORD-2025-001"
},
{
"status": 6,
"debtorCompanyId": "customer_002",
"accountId": "ORD-2025-045"
}
]
}
'import requests
url = "https://v3-api.cleargrid.ai/admin/v3/lenders/{lenderPublicId}/accounts/update-status"
payload = { "accounts": [
{
"status": 5,
"debtorCompanyId": "customer_001",
"accountId": "ORD-2025-001"
},
{
"status": 6,
"debtorCompanyId": "customer_002",
"accountId": "ORD-2025-045"
}
] }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
accounts: [
{status: 5, debtorCompanyId: 'customer_001', accountId: 'ORD-2025-001'},
{status: 6, debtorCompanyId: 'customer_002', accountId: 'ORD-2025-045'}
]
})
};
fetch('https://v3-api.cleargrid.ai/admin/v3/lenders/{lenderPublicId}/accounts/update-status', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"code": 200,
"message": "success",
"body": "Processing started successfully",
"errors": []
}{
"code": 400,
"message": null,
"body": "",
"errors": [
{
"accountId": "ORD-2025-001",
"errors": [
"Invalid status value. Accepted values: 5, 6"
]
}
]
}{
"error": "Unauthorized"
}This endpoint is used for updating account-level statuses, such as marking an account as disputed or flagging a customer as do not contact. Unlike the Create & Update Account endpoint which handles financial data, this endpoint specifically manages operational statuses that affect how accounts are handled within Command.
The access token is missing, invalid, or expired. Re-authenticate using the Lender Login or Refresh Token endpoint.An unexpected server error occurred. If this persists, contact ClearGrid support.
Request
Endpoint
POST {{base_url}}/lenders/{{lenderPublicId}}/accounts/update-status
| Environment | Base URL |
|---|---|
| Production | https://v3-api.cleargrid.ai/admin/v3 |
| Staging | https://stage-v3-api.cleargrid.ai/admin/v3 |
Headers
string
required
Bearer token obtained from the Lender Login endpoint. Format:
Bearer <access_token>Body Parameters
array
required
An array of account status update objects.
Show Account status object fields
Show Account status object fields
integer
required
The new status to apply to the account.
| Value | Status | Description |
|---|---|---|
5 | Disputed | Marks the specified account as disputed. The account will be flagged in Command and collection activity may be paused pending resolution. |
6 | Do Not Contact | Marks the specified customer as do-not-contact. All communication channels will be blocked for this customer across all their accounts. |
string
required
The unique identifier for the debtor/customer in your system.
string
required
The main account identifier to update.
Example Request
{
"accounts": [
{
"status": 5,
"debtorCompanyId": "customer_001",
"accountId": "ORD-2025-001"
},
{
"status": 6,
"debtorCompanyId": "customer_002",
"accountId": "ORD-2025-045"
}
]
}
curl -X POST https://v3-api.cleargrid.ai/admin/v3/lenders/{lenderPublicId}/accounts/update-status \
-H "Authorization: Bearer <access_token>" \
-H "Content-Type: application/json" \
-d '{
"accounts": [
{
"status": 5,
"debtorCompanyId": "customer_001",
"accountId": "ORD-2025-001"
}
]
}'
const response = await fetch(
`https://v3-api.cleargrid.ai/admin/v3/lenders/${lenderPublicId}/accounts/update-status`,
{
method: 'POST',
headers: {
'Authorization': `Bearer ${accessToken}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
accounts: [
{
status: 5,
debtorCompanyId: 'customer_001',
accountId: 'ORD-2025-001'
}
]
})
}
);
const data = await response.json();
console.log(data);
import requests
response = requests.post(
f"https://v3-api.cleargrid.ai/admin/v3/lenders/{lender_public_id}/accounts/update-status",
headers={
"Authorization": f"Bearer {access_token}",
"Content-Type": "application/json"
},
json={
"accounts": [
{
"status": 5,
"debtorCompanyId": "customer_001",
"accountId": "ORD-2025-001"
}
]
}
)
data = response.json()
print(data)
Status Definitions
Disputed (5)
Marks the specified account as disputed. When an account is flagged as disputed:
- The account is visually flagged in Command’s CRM interface
- Collection agents are alerted to the dispute status
- Depending on your organization’s configuration, automated communications may be paused
- The dispute should be resolved before collection activities resume
Do Not Contact (6)
Marks the specified customer as do not contact. This is a customer-level flag that:
- Blocks all outbound communication channels (WhatsApp, Email, SMS, Voice) for the customer
- Applies across all accounts belonging to this customer
- Overrides any automated communication workflows
- Remains in effect until explicitly removed
The Do Not Contact (status
6) flag applies at the customer level, meaning it affects all accounts linked to that debtorCompanyId, not just the specified accountId. Use this status carefully, as it will halt all outbound communications across the customer’s entire portfolio.Response
- 200 — Success
- 400 — Validation Error
- 401 — Unauthorized
- 500 — Server Error
Status updates have been accepted and processing has started in the background.
{
"code": 200,
"message": "success",
"body": "Processing started successfully",
"errors": []
}
One or more accounts in the request failed validation.
{
"code": 400,
"message": null,
"body": "",
"errors": [
{
"accountId": "ORD-2025-001",
"errors": [
"Invalid status value. Accepted values: 5, 6"
]
}
]
}
{
"error": "Unauthorized"
}
{
"error": "Something went wrong. Please try again later."
}
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Lender public ID (UUID) returned by the Lender Login endpoint.
Body
application/json
Array of account status update objects.
Show child attributes
Show child attributes