Backwork
API Reference

Research prior authorization requirements

Use AI-powered web research to find prior authorization requirements directly from payer websites.

Endpoint: POST /api/v1/prior-auth/research

Availability: Live in production.

Authentication: API key in Authorization: Bearer <key> with the read scope.

Use AI-powered web research to find prior authorization requirements directly from payer websites. Supports async mode (returns research_id and poll_url for polling) or synchronous mode (sync: true, waits up to two minutes). Every source in result.sources is a page the research cited for a field of the result. clinical_context is rejected: submit only rule-level structured_coverage_context fields. If the research provider is unavailable the call fails with a retryable SERVER_UPSTREAM_UNAVAILABLE and is not charged. Cost: 8 requests per call.

Parameters

  • procedure_codes (body, required): CPT/HCPCS codes to research
  • payer (body): Specific payer name (e.g., "UnitedHealthcare", "Aetna")
  • state (body): Two-letter state code for jurisdiction-specific policies
  • diagnosis_codes (body): ICD-10 diagnosis codes for rule-level context
  • structured_coverage_context (body): Optional allowlisted, non-identifying coverage context. payer and state must match the top-level values when both are given.
  • sync (body): If true, wait up to two minutes for completion; a run still going after that comes back with its poll_url. If false, return research_id for polling.

Example request

curl -X POST "https://backworkhealth.com/api/v1/prior-auth/research" \
  -H "Authorization: Bearer $BACKWORK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "procedure_codes": [
    "27447"
  ]
}'

Example response (200)

{
  "success": true,
  "data": {
    "research_id": "res_abc123",
    "status": "pending",
    "created_at": "2026-01-15T10:30:00Z",
    "finished_at": "2026-01-15T10:30:00Z",
    "poll_url": "/api/v1/prior-auth/research/res_abc123",
    "result": {
      "determination": {
        "pa_required": true,
        "confidence": "high",
        "reasoning": "string"
      },
      "payer_policies": [
        {
          "payer_name": "string",
          "policy_name": "string",
          "policy_url": "string",
          "effective_date": "string",
          "summary": "string"
        }
      ],
      "documentation_requirements": [
        {
          "requirement": "string",
          "mandatory": true,
          "notes": "string"
        }
      ],
      "medical_necessity_criteria": [
        {
          "criterion": "string",
          "category": "diagnosis"
        }
      ],
      "coverage_limitations": [
        {
          "limitation": "string",
          "applies_to": "string"
        }
      ],
      "timeline": {
        "standard_review_days": 0,
        "expedited_review_days": 0,
        "approval_validity_days": 0
      },
      "appeal_process": {
        "levels": 0,
        "timeframe_days": 0,
        "notes": "string"
      },
      "sources": [
        {
          "title": "string",
          "url": "string",
          "relevance": "string"
        }
      ]
    },
    "cost": {
      "num_searches": 0,
      "num_pages": 0,
      "reasoning_tokens": 0,
      "total_dollars": 0
    },
    "error": "string"
  },
  "meta": {
    "request_id": "string",
    "timestamp": "2026-01-15T10:30:00Z"
  }
}
POST
/prior-auth/research

Authorization

bearerAuth
AuthorizationBearer <token>

API key in format: bwk_live_xxxxx. Keys issued before the rename (vrt_live_) remain valid. bwk_test_ keys work only on the sandbox.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/prior-auth/research" \  -H "Content-Type: application/json" \  -d '{    "procedure_codes": [      "27447"    ]  }'
{  "success": true,  "data": {    "research_id": "res_abc123",    "status": "pending",    "created_at": "2019-08-24T14:15:22Z",    "finished_at": "2019-08-24T14:15:22Z",    "poll_url": "/api/v1/prior-auth/research/res_abc123",    "result": {      "determination": {        "pa_required": true,        "confidence": "high",        "reasoning": "string"      },      "payer_policies": [        {          "payer_name": "string",          "policy_name": "string",          "policy_url": "string",          "effective_date": "string",          "summary": "string"        }      ],      "documentation_requirements": [        {          "requirement": "string",          "mandatory": true,          "notes": "string"        }      ],      "medical_necessity_criteria": [        {          "criterion": "string",          "category": "diagnosis"        }      ],      "coverage_limitations": [        {          "limitation": "string",          "applies_to": "string"        }      ],      "timeline": {        "standard_review_days": 0,        "expedited_review_days": 0,        "approval_validity_days": 0      },      "appeal_process": {        "levels": 0,        "timeframe_days": 0,        "notes": "string"      },      "sources": [        {          "title": "string",          "url": "string",          "relevance": "string"        }      ]    },    "cost": {      "num_searches": 0,      "num_pages": 0,      "reasoning_tokens": 0,      "total_dollars": 0    },    "error": "string"  },  "meta": {    "request_id": "string",    "timestamp": "2019-08-24T14:15:22Z"  }}

Last updated on