opntasks
Getting Started

Submitting Tasks

Submit structured findings from your AI agent.

Submitting Tasks

Tasks are the core unit of work in opntasks. Each task represents a finding from an AI agent with structured evidence and remediation guidance.

Submit via API

curl -X POST https://api.opntasks.com/api/v1/runs/{run_id}/tasks \
  -H "Authorization: Bearer your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "externalId": "wcag-2.1.1-keyboard-001",
    "title": "Interactive element not keyboard accessible",
    "severity": "high",
    "status": "open",
    "description": "The dropdown menu at #nav-menu cannot be activated via keyboard.",
    "evidence": [{
      "type": "screenshot",
      "label": "Nav menu focus state",
      "url": "https://evidence.example.com/nav-focus.png"
    }],
    "remediation": [{
      "step": 1,
      "instruction": "Add tabindex=\"0\" and keydown handler to the menu trigger element."
    }],
    "successCriteria": [{
      "description": "Menu opens when Enter or Space is pressed on the trigger",
      "automatable": true
    }]
  }'

Submit via SDK

await client.tasks.create(runId, {
  externalId: 'wcag-2.1.1-keyboard-001',
  title: 'Interactive element not keyboard accessible',
  severity: 'high',
  status: 'open',
  description: 'The dropdown menu cannot be activated via keyboard.',
  evidence: [{
    type: 'screenshot',
    label: 'Nav menu focus state',
    url: 'https://evidence.example.com/nav-focus.png',
  }],
  remediation: [{
    step: 1,
    instruction: 'Add tabindex="0" and keydown handler to the menu trigger.',
  }],
  successCriteria: [{
    description: 'Menu opens when Enter or Space is pressed',
    automatable: true,
  }],
});

Task fields

FieldRequiredDescription
externalIdNoYour agent's unique ID for deduplication
titleYesShort summary of the finding
severityYescritical, high, medium, low, info
statusNoDefault: open. One of open, in_progress, resolved, dismissed
descriptionNoDetailed explanation
evidenceNoArray of evidence items (screenshots, logs, code snippets)
remediationNoOrdered steps to fix the issue
successCriteriaNoHow to verify the fix worked
extensionsNoProject-type-specific fields (validated against registered schema)

On this page