Skip to main content
POST
https://agentgate.mynewapi.com
/
api
/
v1
/
work-orders
/
purge
Purge Work Orders
curl --request POST \
  --url https://agentgate.mynewapi.com/api/v1/work-orders/purge \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "statuses": [
    {}
  ],
  "olderThanDays": 123,
  "dryRun": true
}
'
{
  "success": true,
  "data": {
    "deletedCount": 123,
    "deletedIds": [
      {}
    ],
    "wouldDelete": 123
  }
}

Purge Work Orders

Bulk deletes work orders matching specified criteria. Supports filtering by status and age, with a dry-run mode to preview deletions.
Purged work orders and their associated runs are permanently deleted. This action cannot be undone.

Request

statuses
array
Filter by work order statuses. If omitted, applies to all statuses. Valid values: queued, running, waiting_for_children, integrating, succeeded, failed, canceled
olderThanDays
number
Only delete work orders older than this many days
dryRun
boolean
default:"false"
If true, returns what would be deleted without actually deleting
curl -X POST https://agentgate.mynewapi.com/api/v1/work-orders/purge \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "statuses": ["failed", "canceled"],
    "olderThanDays": 30,
    "dryRun": false
  }'

Dry Run Example

curl -X POST https://agentgate.mynewapi.com/api/v1/work-orders/purge \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "statuses": ["succeeded"],
    "olderThanDays": 90,
    "dryRun": true
  }'

Response

success
boolean
required
Indicates if the request was successful
data
object
required
Purge result

Example Responses

Actual Purge

{
  "success": true,
  "data": {
    "deletedCount": 15,
    "deletedIds": [
      "wo_abc123",
      "wo_def456",
      "wo_ghi789",
      "wo_jkl012",
      "wo_mno345"
    ]
  },
  "requestId": "req_xyz789"
}

Dry Run

{
  "success": true,
  "data": {
    "deletedCount": 0,
    "deletedIds": [],
    "wouldDelete": 42
  },
  "requestId": "req_xyz789"
}

No Matches

{
  "success": true,
  "data": {
    "deletedCount": 0,
    "deletedIds": []
  },
  "requestId": "req_xyz789"
}

Common Purge Patterns

Clean Up Old Failures

Delete failed work orders older than 7 days:
curl -X POST https://agentgate.mynewapi.com/api/v1/work-orders/purge \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "statuses": ["failed"],
    "olderThanDays": 7
  }'

Archive Completed Work

Delete successful work orders older than 90 days:
curl -X POST https://agentgate.mynewapi.com/api/v1/work-orders/purge \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "statuses": ["succeeded"],
    "olderThanDays": 90
  }'

Clean All Terminal States

Delete all completed (success, fail, cancel) work orders older than 30 days:
curl -X POST https://agentgate.mynewapi.com/api/v1/work-orders/purge \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "statuses": ["succeeded", "failed", "canceled"],
    "olderThanDays": 30
  }'

Preview Before Delete

Always use dry run first to verify:
# Step 1: Check what would be deleted
curl -X POST https://agentgate.mynewapi.com/api/v1/work-orders/purge \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "statuses": ["failed"],
    "olderThanDays": 7,
    "dryRun": true
  }'

# Step 2: If results look correct, run actual purge
curl -X POST https://agentgate.mynewapi.com/api/v1/work-orders/purge \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "statuses": ["failed"],
    "olderThanDays": 7,
    "dryRun": false
  }'

What Gets Deleted

When a work order is purged:
  • The work order record
  • All associated runs
  • All run audit records
  • All iteration snapshots
Logs stored externally (e.g., in a log aggregation service) are not affected by purge.

Best Practices

Recommendations:
  • Always use dryRun: true first to preview deletions
  • Set up automated purge for old successful work orders
  • Keep failed work orders longer for debugging
  • Export important data before purging