OpportunitiesIdRefresh

Start a check on whether an opportunity is still live

Runs a research agent against one opportunity: re-reads its sources, looks the record up in Bellwork's procurement corpus where relevant, and searches for current evidence. Intended to be called once per row as it crosses into a CRM, and again by hand later — there is no background re-verification sweep. ASYNCHRONOUS. Returns 202 with a `poll` URL; GET the same path for the verdict. Runs take tens of seconds because establishing a bid's real close date can take several searches. A verdict from the last 6 hours is returned immediately (200, `started: false`) unless `force=true`. The verdict has TWO parts and callers must read both — see the GET response.

POST
/opportunities/{id}/refresh

Runs a research agent against one opportunity: re-reads its sources, looks the record up in Bellwork's procurement corpus where relevant, and searches for current evidence. Intended to be called once per row as it crosses into a CRM, and again by hand later — there is no background re-verification sweep.

ASYNCHRONOUS. Returns 202 with a poll URL; GET the same path for the verdict. Runs take tens of seconds because establishing a bid's real close date can take several searches. A verdict from the last 6 hours is returned immediately (200, started: false) unless force=true.

The verdict has TWO parts and callers must read both — see the GET response.

AuthorizationBearer <token>

API key (sk_live_... prefix). Generate keys in the UI under Settings > API Keys, then send it as Authorization: Bearer sk_live_...

In: header

Path Parameters

id*string

Opportunity id

Formatuuid

Query Parameters

force?string

Re-check even when a recent verdict exists

Value in"true" | "false"

Response Body

application/json

application/json

curl -X POST "https://loading/api/v1/opportunities/497f6eca-6276-4993-bfeb-53cbbbba6f08/refresh"
Empty
Empty
{
  "error": "string",
  "message": "string",
  "statusCode": -9007199254740991
}
Empty
Empty
{
  "error": "string",
  "message": "string",
  "statusCode": -9007199254740991
}
Empty