API v0 · Pilot phase

API reference

Get status and answers

Returns the status, the expert answers received so far, and the synthesis once complete.

GEThttps://api.synquery.com/v0/questions/{request_id}
Authentication: send your API key in the x-api-key header.

Use it to poll a request. It returns at once and does not start any new work.

  • pending: responses holds every confirmed answer so far, so you can read them as they arrive. The synthesis fields are null.
  • complete: adds the synthesis. The result no longer changes, except that follow_ups fills in when a follow-up round completes.
  • failed: includes a reason such as deadline_missed or no_matching_experts. Failed requests are not charged.

Path parameters

request_idstringRequired#
The ID returned by Submit a question.

Request status

status / partialstring / boolean#
pending, complete or failed; partial is true when fewer experts answered than requested.
Panel size asked for, answers delivered, and how many were reused.
The follow-up round, if one was asked: its status, deadline and free-text answers with a quote per expert.
When the request was submitted, when the latest answer arrived, and when the synthesis was finalized.

Synthesis fields

null while the request is pending.

answerstring#
The synthesis in one or two sentences, stating what the panel found and what kind of evidence it is.
summaryobject#
One entry per answer field, keyed by field name: low / high for numeric and range fields, top for lists, counts for choices; each with n (answers included), received (answers given) and basis where numeric.
{"agreeing": n, "total": n, "on": field}. How many experts agree on the first numeric or range field in your answer_fields, or on the first choice field if there is none; null when there is neither.
Where views group on a field: field, label, count and the sides in it.
Where experts differ and why. null if all agree.
stated (experts gave the reason) or inferred (the model inferred it).
high, medium or low. See Synthesis, agreement and confidence.
basisstring#
Most common basis across responses: first_hand, estimate or aggregate.
Anything Synquery changed or couldn't do: an unmet preference, a denominator mismatch, an unanswered field.
JSON Schema for responses[].fields, built from your answer_fields; every property is nullable.

responses[]

One entry per expert. Present while the request is pending, as each expert confirms.

Anonymous ID, stable across all requests in your workspace.
sidestring#
The perspective, using the values you sent in sides or Synquery's default labels.
The expert's profile.
A year, or current.
written, ai_interview or human_interview.
What the answer rests on, and the scope of that experience in the expert's words.
fieldsobject#
The expert's confirmed values for each answer field; null where unanswered.
Names of fields the expert couldn't answer.
commentstring#
The expert's free comment.
quotestring#
The expert's own words, verbatim.
Position in the interview transcript (hh:mm:ss); null for written answers.
Whether this expert sides with the combined answer.
true if reused from an earlier request.
When the answer came in, and when the expert confirmed the structured version. For past answers, the original dates.

Reading the example

The complete example shows 2 of the 5 responses. Note what it does and doesn't claim: the answer reports what this panel estimated, summary.robotic_share.basis says those are estimates, and the expert with a different denominator is reported but kept out of the combined range. The full sample is below.

Stability

Field names stay stable within this version. New optional fields may be added, so ignore keys you don't use. All timestamps are ISO 8601 in UTC, except quote_start / quote_end, which are positions in the transcript.

Sample responseGET /questions/{request_id}Fictional data
Question
What share of total knee replacements at US hospitals now use robotic assistance, and what is driving adoption?
answer
Four of five experts put robotic assistance at 20–30% of total knee replacements at the hospitals they know, higher at large systems and orthopedic-focused centers. These are practitioner estimates, not a measured national share.
agreement
4 of 5
on robotic_share
confidence
medium
Agreement within this panel, not factual accuracy
basis
First-hand
Most common basis across answers
experts
5 of 5
1 reused past answer
summary · one entry per answer field
robotic_share20–30%4 of 5 included · estimate
adoption_driversSurgeon training and recruitment · Patient demandtop answers · n 5
barriersCapital cost · OR time during learningtop answers · n 5
outlook_3yrincrease 5 · flat 0 · decrease 0counts · n 5
clusters · robotic_share
20–25%
2 · Surgeon, OR director
25–30%
2 · Surgeon, Seller
35–40%
1 · Seller
disagreement_summary
source: stated
The former device rep counts only hospitals that own a robot; the other four count all hospitals. His figure is reported separately and not blended into the range.
warnings: robotic_share: exp_2c7x1 used a different denominator (hospitals with a robot); excluded from the combined range.

Next

Search past answers →

Requestbash
curl https://api.synquery.com/v0/questions/q_8f2k1x \
  -H "x-api-key: YOUR_KEY"
Response · pendingjson
{
  "request_id": "q_8f2k1x",
  "status": "pending",
  "experts_requested": 5,
  "experts_delivered": 2,
  "reused_answers": 1,
  "submitted_at": "2026-10-27T14:00:00Z",
  "eta": "2026-10-28T10:00:00Z",
  "last_received_at": "2026-10-27T15:10:00Z",
  "answer": null,
  "summary": null,
  "responses": ["…the 2 confirmed answers so far…"]
}
Response · completejson
{
  "request_id": "q_8f2k1x",
  "status": "complete",
  "partial": false,
  "experts_requested": 5,
  "experts_delivered": 5,
  "reused_answers": 1,
  "company_domain": "acme-surgical.com",
  "product": "Acme robotic knee system",
  "question": "What share of total knee replacements at US hospitals now use robotic assistance, and what is driving adoption?",
  "answer": "Four of five experts put robotic assistance at 20–30% of total knee replacements at the hospitals they know, higher at large systems and orthopedic-focused centers. These are practitioner estimates, not a measured national share.",
  "summary": {
    "robotic_share": {"low": 20, "high": 30, "basis": "estimate", "n": 4, "received": 5},
    "adoption_drivers": {"top": ["Surgeon training and recruitment", "Patient demand"], "n": 5},
    "barriers": {"top": ["Capital cost", "OR time during learning"], "n": 5},
    "outlook_3yr": {"counts": {"increase": 5, "flat": 0, "decrease": 0}, "n": 5}
  },
  "agreement": {"agreeing": 4, "total": 5, "on": "robotic_share"},
  "clusters": [
    {"field": "robotic_share", "label": "20–25%", "count": 2, "sides": ["surgeon", "or_director"]},
    {"field": "robotic_share", "label": "25–30%", "count": 2, "sides": ["surgeon", "seller"]},
    {"field": "robotic_share", "label": "35–40%", "count": 1, "sides": ["seller"]}
  ],
  "disagreement_summary": "The former device rep counts only hospitals that own a robot; the other four count all hospitals. His figure is reported separately and not blended into the range.",
  "disagreement_source": "stated",
  "confidence": "medium",
  "basis": "first_hand",
  "warnings": [
    "robotic_share: exp_2c7x1 used a different denominator (hospitals with a robot); excluded from the combined range."
  ],
  "responses": [
    {
      "respondent_id": "exp_4k9a2",
      "side": "surgeon",
      "title": "Orthopedic Surgeon, joint replacement",
      "seniority": "Attending",
      "company_type": "Academic medical center, US Northeast",
      "last_in_role": "current",
      "collection": "ai_interview",
      "basis": "first_hand",
      "basis_scope": "Own institution; national figure is an estimate",
      "fields": {
        "robotic_share": {"low": 25, "high": 30},
        "adoption_drivers": ["New surgeons trained on robots", "Patient demand"],
        "barriers": ["Longer OR time while learning"],
        "outlook_3yr": "increase"
      },
      "unanswered": [],
      "comment": "Adoption follows hiring: fellows now train on robots.",
      "quote": "Every fellow we hire now expects a robot in the room. That's what's moving our numbers.",
      "quote_start": "00:04:12",
      "quote_end": "00:04:31",
      "agrees_with_consensus": true,
      "is_past_answer": false,
      "received_at": "2026-10-27T15:10:00Z",
      "confirmed_at": "2026-10-27T15:30:00Z"
    },
    {
      "respondent_id": "exp_7m3q8",
      "side": "or_director",
      "title": "Former Director of Perioperative Services",
      "seniority": "Director",
      "company_type": "Community hospital system, 5–10 hospitals",
      "last_in_role": "2025",
      "collection": "written",
      "basis": "first_hand",
      "basis_scope": "Own system of 7 hospitals",
      "fields": {
        "robotic_share": {"low": 20, "high": 25},
        "adoption_drivers": ["Surgeon recruitment and retention", "Competition from surgery centers"],
        "barriers": ["Capital cost for smaller hospitals", "Block time"],
        "outlook_3yr": "increase"
      },
      "unanswered": [],
      "comment": "Only our two largest hospitals could justify a robot.",
      "quote": "We bought the robot to keep two surgeons from leaving, not because the volume justified it.",
      "quote_start": null,
      "quote_end": null,
      "agrees_with_consensus": true,
      "is_past_answer": true,
      "received_at": "2026-08-14T16:05:00Z",
      "confirmed_at": "2026-08-14T16:40:00Z"
    }
  ],
  "follow_ups": [],
  "metadata": {"memo_id": "ortho-2026-q4"},
  "submitted_at": "2026-10-27T14:00:00Z",
  "completed_at": "2026-10-28T09:42:00Z"
}
Unknown request · 404json
{
  "error": {
    "code": "not_found",
    "message": "Unknown request_id, or not visible to this key"
  }
}