priorauth.indocs

JSON-RPC methods

A2A is JSON-RPC 2.0 over HTTP. Three methods carry everything.

#message/send

Start a task, or continue one. Returns the task with its current state.

json
POST /api/a2a
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "message/send",
  "params": {
    "message": {
      "role": "user",
      "parts": [{ "kind": "data", "data": {
        "skill": "prior_auth_intake",
        "practiceId": "p_north",
        "serviceReview": { "payer": { "id": "BCBSF" }, "procedures": [{ "code": "27447" }] }
      }}]
    }
  }
}

#tasks/get

Poll a task. There is no streaming, so this is how a client learns that a human released something.

json
{ "jsonrpc": "2.0", "id": "2", "method": "tasks/get", "params": { "id": "task-1" } }

#tasks/cancel

Withdraw a task that has not completed. A task already transmitted to a payer cannot be cancelled here - that is a void, which is itself a gated action.

#Errors

CodeMeaning
-32600Invalid request - malformed JSON-RPC.
-32601Method not found.
-32602Invalid params - a required field is missing or a skill is unknown.
-32001Task not found.
-32003Not authorised - the channel does not reach that practice, or an atom is missing.
Denials are uniform
A denial does not distinguish "this practice does not exist" from "you cannot reach it". Both answer the same way, because the difference is itself information about who our customers are.