Skip to main content

Disapprove Task

Disapprove a task to remove it from AI model learning. When you disapprove a task, its data is removed from the training dataset to prevent the model from learning incorrect patterns.

Request​

POST /v2/{team_id}/project/{project_id}/task/{task_id}/disapprove

Path Parameters​

ParameterTypeDescription
team_idstringYour team identifier
project_idstringProject identifier
task_idstringTask identifier

Request Body​

This endpoint does not require a request body.

Response​

Returns the full public task object with approved: false.

{
"payload": {
"id": "task_abcdef123456",
"name": "Document Analysis Task",
"created_at": "2024-01-15T10:30:00Z",
"meta": [{ "name": "category", "value": "invoice" }],
"status": "COMPLETED",
"step_type": "EXTRACT",
"upload_id": "upl_123456789",
"project_id": "proj_123456",
"approved": false,
"exported_at": null,
"export_failed_at": null,
"last_opened_at": null,
"pages": [
{
"id": "page_1",
"width": 2480,
"height": 3508,
"annotations": [
{
"id": "ann_1",
"entity_id": "total_amount",
"confidence": 0.98,
"content": "$1,234.56",
"top": 120.5,
"left_of_line": 340.0
}
],
"checkboxes": [
{
"id": "cb_1",
"confidence": 0.92,
"checked": true,
"coordinates": [
[100, 100],
[120, 100],
[120, 120],
[100, 120]
]
}
],
"segments": [
{
"id": "seg_1",
"confidence": 0.87,
"coordinates": [
[50, 50],
[400, 50],
[400, 200],
[50, 200]
]
}
],
"signatures": [
{
"id": "sig_1",
"confidence": 0.83,
"coordinates": [
[800, 600],
[1100, 600],
[1100, 750],
[800, 750]
]
}
]
}
]
}
}

Example Request​

curl -X POST \
'https://api.send.ai/v2/team_123456/project/proj_123456/task/task_abcdef123456/disapprove' \
-H 'Authorization: Bearer YOUR_API_KEY'

Business Logic​

Validation Rules​

  • Processing State: Tasks cannot be disapproved while in PROCESSING state
  • Already Disapproved: Cannot disapprove a task that is already disapproved
  • All Other States: Tasks can be disapproved in any state except PROCESSING

What Happens When You Disapprove​

  1. Task Update: The task's approved field is set to false
  2. AI Unlearning: The task data is removed from the training dataset
  3. Audit Trail: Approval timestamp and approver are cleared
  4. Lifecycle Event: A task_de_approved event is published for tracking

Use Cases​

  • Poor Quality: Remove low-quality extractions from model training
  • Incorrect Data: Flag incorrectly processed tasks to prevent model degradation
  • Edge Cases: Remove unusual examples that might confuse the model
  • Data Correction: After identifying errors, disapprove to prevent the model from learning mistakes

Error Handling​

Status CodeErrorDescription
400Bad RequestTask is already disapproved
400Bad RequestTask cannot be disapproved while being processed
404Not FoundTask not found
401UnauthorizedInvalid or missing API key