Skip to navigation

Research a Company or Person by URL

View as Markdown

Files a research request for the company, Product, Service, or person at url and returns the run, owned by you. Send name when known. A url an existing profile owns refreshes that profile; any other url researches a new one, so this is how to add a subject that POST /v1/lookup answers NO_MATCH. A new run reserves one company or person research unit, spent only once the run saves research and returned when it ends without any. Your own queued or running run for the same subject, mode, and presets is returned instead, uncharged. A record is researched at most once per rolling 24 hours across all callers: while it is already being researched, or when research on it completed inside that window, nothing is filed or charged and the request answers 429 whose detail says when to retry. A url that matches more than one record answers 409, and a spent allowance answers 429. You may set only url, name, model, mode, userPrompt, taskPresetKey, and finding; any other field is refused with 403, and a userPrompt longer than 2000 characters is refused with 400. Follow progress with GET /v1/research-runs/{runId}; you are notified when the run completes.

Authentication

AuthorizationBearer

Your aVenture API key (https://aventure.vc/settings/api-keys) or OAuth access token

Request

This endpoint expects an object.
urlstringRequired

Official website or profile URL of the company, Product, Service, or person to research; a URL no current record owns researches a new one

findinglist of objects or nullOptional

Facts you already researched, each citing the page and exact text that support it. Send them with a taskPresetKey whose task accepts findings; the run checks each quote against its page and writes only the facts it confirms. Any other run refuses findings with 400.

modeenumOptional
Enrichment breadth. Omitted by older clients to request the comprehensive default.
Allowed values:
modelstring or nullOptional

Optional orchestrator model override; omitted uses the configured role default

namestring or nullOptional0-200 characters

Name of the subject at url, such as Clarity Health; the run verifies it and uses it to pick the right subject when the site names several

taskPresetKeylist of strings or nullOptional
Selected task preset keys that scoped or emphasized this run
userPromptstring or nullOptional
Optional steering prompt

Response headers

X-RateLimit-Limitinteger

Requests allowed per client IP in the current rate-limit window.

X-RateLimit-Remaininginteger

Requests left before the tightest applicable rate-limit bucket rejects.

X-RateLimit-Resetinteger

Seconds until the exhausted rate-limit bucket admits another request; 0 when none is exhausted.

Response

The filed or reused run.
attemptinteger
Retry attempt counter
chassisenum
Agent loop this run executes on
Allowed values:
chassisRoutedboolean

True when the chassis router, not a caller, picked chassis

createdAtdatetime
Creation timestamp
environmentenum
API environment
Allowed values:
hasSourceDocumentboolean
Whether this run consumes an immutable private source document
idstringformat: "uuid"
Run id
iterationinteger
Current loop iteration
laneenum
Queue lane for admission priority
Allowed values:
llmApienum
Gateway wire API every LLM call of this run uses
Allowed values:
maxIterationinteger
Loop iteration cap
maxScoutConcurrentinteger

Parallel read-only scout fan-out width N

modeenum
Enrichment breadth selected for this run
Allowed values:
modelstring
Model the run uses
statusenum
Current lifecycle state
Allowed values:
subagentModelstring

Read-only research, cohort, and completion sub-agent model id

typeenum

Run kind: ENRICHMENT for a research request a caller filed, TASK for a narrower run aVenture scheduled

Allowed values:
updatedAtdatetime
Last update timestamp
urlstring
URL of the company, Product, Service, or person under research
entitySlugstring or nullOptional
Slug of the profile the run produced
errorstring or nullOptional

Why the run failed; null unless failed

failureClassstring or nullOptional

Typed terminal-failure class from the harness retry classifier (e.g. runtime_cap, escalated, provider_capacity, context_overflow); null unless failed

finishedAtdatetime or nullOptional
Run completion timestamp
latestStatusstring or nullOptional

Latest enrich-loop status as an opaque JSON string

nextAttemptAtdatetime or nullOptional

Earliest re-claim time when waiting on retry backoff

resumeSafeUntildatetime or nullOptional

Instant past which a warm resume is no longer guaranteed; the harness writes it with session_resume from the model’s cache window. Warm-resumable now iff failed/stopped and this is in the future. Null when there is no resume window.

startedAtdatetime or nullOptional
Run start timestamp
taskPresetKeylist of strings or nullOptional
Research presets filed with the run
userPromptstring or nullOptional
Optional instructions filed with the run

Errors

400
Bad Request Error
401
Unauthorized Error
402
Payment Required Error
403
Forbidden Error
406
Not Acceptable Error
409
Conflict Error
415
Unsupported Media Type Error
422
Unprocessable Entity Error
429
Too Many Requests Error
500
Internal Server Error
503
Service Unavailable Error