Verified Workflows API Reference

Complete API reference with interactive try-it-out feature. Base URL: https://api.verifiedworkflows.com

API Version: 1.5.0 | OpenAPI Spec: /openapi.json

Authentication

All endpoints require a Bearer token in the Authorization header. Obtain keys from your Account Settings.

Authorization: Bearer vw_live_YOUR_API_KEY
Workspace-Id: default

Two authentication methods are supported:

  • API Keys: Long-lived keys for server-to-server integration
  • JWT Tokens: Short-lived tokens from /v1/auth/login for user sessions

Rate Limits

Sliding window: 5 requests per 10 seconds per API key. Headers included in every response:

HeaderDescription
X-RateLimit-LimitMaximum requests per window (5)
X-RateLimit-RemainingRemaining requests in current window
Retry-AfterSeconds to wait (only on 429 responses)

Error Handling

All errors return a consistent JSON structure:

{
  "type": "https://api.verifiedworkflows.com/errors/{error-type}",
  "title": "Error Title",
  "status": 400,
  "detail": "Human-readable error description",
  "instance": "/v1/tasks"
}
StatusTypeDescription
400bad-requestInvalid parameters
401unauthorizedMissing/invalid auth
403forbiddenKey revoked or insufficient scope
404not-foundResource not found
422validation-failedSchema validation error
429rate-limit-exceededToo many requests
500internal-errorServer error

Tasks

POST/v1/tasks

Create a new task for human review. Supports idempotency via Idempotency-Key header.

Request Body

FieldTypeRequiredDescription
typestringyesTask type
prioritystringyesstandard | express
titlestringyesTask title
instructionsstringyesReviewer instructions
payloadobjectyesTask content
consensus_totalintegernoNumber of reviewers (default: 1)
required_skillsstring[]noRequired certifications
workflow_stepsstring[]noMulti-step workflow labels
GET/v1/tasks/{task_id}

Retrieve a specific task by ID including status, results, and metadata.

ParameterInTypeDescription
task_idpathstringTask ID
GET/v1/tasks

List all tasks in the workspace. Filtered by Workspace-Id header.

POST/v1/tasks/{task_id}/votes

Submit a consensus vote for a task. When all votes are collected, the task is resolved.

PUT/v1/tasks/{task_id}/resolve

Directly resolve a task with a result payload, bypassing the consensus flow.

Client Endpoints

GET/v1/client/dashboard

Dashboard statistics: task counts, quality scores, balance, and completion metrics.

GET/v1/client/tasks

List all tasks for the authenticated client workspace with filtering support.

POST/v1/client/tasks/batch

Submit multiple tasks in a single request. Max 100 tasks per batch.

GET/v1/client/analytics/summary

Analytics overview with time-series data for tasks, quality, and costs.

GET/v1/client/analytics/quality

Quality metrics broken down by task type, reviewer, and time period.

GET/v1/client/analytics/costs

Cost breakdown by task type, priority, and time period.

GET/v1/client/billing/usage

Usage statistics and billing transaction history.

Templates

POST/v1/client/templates

Save a task template for reuse. Body: { "name": string, "config": object }

GET/v1/client/templates

List all saved task templates.

Webhooks & Keys

GET/v1/webhooks/deliveries

List webhook delivery attempts with status and retry information.

GET/v1/keys

List all API keys for the workspace.

POST/v1/keys

Create a new API key. Body: { "name": string, "scope": string }

DELETE/v1/keys/{key_token}

Revoke an API key. The key will be marked as "Revoked" and can no longer be used.

Billing

GET/v1/billing

List billing transactions for the workspace.

POST/v1/billing/refill

Add credits to workspace balance. Body: { "amount": float }