curl --request GET \
--url https://api.example.com/api/v1/contracts/{contract_id}/status{
"contract_id": "<string>",
"status": "<string>",
"created_at": "<string>",
"confirmed_at": "<string>",
"signatures": [
{}
],
"progress": {}
}Get contract status and signature progress
curl --request GET \
--url https://api.example.com/api/v1/contracts/{contract_id}/status{
"contract_id": "<string>",
"status": "<string>",
"created_at": "<string>",
"confirmed_at": "<string>",
"signatures": [
{}
],
"progress": {}
}pending: Awaiting signaturesconfirmed: All parties have signedactive: Contract is in effectcompleted: Contract has been fulfilledcancelled: Contract was cancelledphone_number: Party’s phone numberstatus: Signature status (“pending” or “signed”)signed_at: ISO 8601 timestamp of signature (null if not signed)signed: Number of parties who have signedtotal: Total number of partiescomplete: Boolean indicating if contract is fully executedcurl -X GET https://api.voicepact.com/api/v1/contracts/AGRI-2026-001234/status \
-H "Content-Type: application/json"
{
"contract_id": "AGRI-2026-001234",
"status": "pending",
"created_at": "2026-03-06T10:30:00Z",
"confirmed_at": null,
"signatures": [
{
"phone_number": "+254712345678",
"status": "signed",
"signed_at": "2026-03-06T11:15:00Z"
},
{
"phone_number": "+254787654321",
"status": "pending",
"signed_at": null
}
],
"progress": {
"signed": 1,
"total": 2,
"complete": false
}
}
{
"contract_id": "AGRI-2026-001234",
"status": "confirmed",
"created_at": "2026-03-06T10:30:00Z",
"confirmed_at": "2026-03-06T14:45:00Z",
"signatures": [
{
"phone_number": "+254712345678",
"status": "signed",
"signed_at": "2026-03-06T11:15:00Z"
},
{
"phone_number": "+254787654321",
"status": "signed",
"signed_at": "2026-03-06T14:45:00Z"
}
],
"progress": {
"signed": 2,
"total": 2,
"complete": true
}
}
{
"detail": "Contract not found"
}
{
"detail": "Failed to get contract status"
}
# Check status periodically
while true; do
curl -s https://api.voicepact.com/api/v1/contracts/AGRI-2026-001234/status | jq '.progress'
sleep 30
done
curl -s https://api.voicepact.com/api/v1/contracts/AGRI-2026-001234/status | jq '.progress.complete'
curl -s https://api.voicepact.com/api/v1/contracts/AGRI-2026-001234/status | \
jq '.signatures[] | select(.status == "pending") | .phone_number'
progress.complete field is true when the contract status is “confirmed”, “active”, or “completed”