synth_ai.research.factories
client.research.factories — Factory domain (Tag under factories.tag).
Classes
ResearchFactoriesTagSessionsMessagesAPI
Send steering messages to an active Factory Tag session.
Methods:
send
session_id: Tag session id fromsessions.create.message:TagMessageRequest, mapping, or plain string body.metadata: Optional message metadata.idempotency_key: Optional idempotency key for safe retries.
- Updated
TagSessionafter the message is accepted.
ResearchFactoriesTagSessionsAPI
Create and inspect Factory Tag sessions.
Methods:
messages
create
request: Fully typed Tag session request.
- Created
TagSessionwith ids needed formessages.send.
get
list
factory_id: Only sessions bound to this factory.effort_id: Only sessions bound to this effort.limit: Maximum sessions returned (newest first).
- Tuple of
TagSessionrecords.
watch
session_id: Tag session to observe.
TagSessionWatchiterator of session state snapshots.
control
session_id: Tag session to control.action:TagSessionControlActionor its string value.
- Updated
TagSessionafter the action is applied.
get_factory_context
ResearchFactoriesTagScopesAPI
Resolve default Tag scopes for an organization.
Methods:
get_default
scope_id is omitted.
get_factory_context
ResearchFactoriesTagAPI
Factory Tag namespace — delegate short research tasks from your IDE.
Methods:
sessions
scopes
ResearchFactoryCandidatesAPI
Immutable Factory candidates and benchmark-owned grading intake.
Methods:
list
record_grading
ResearchFactoryChampionsAPI
Deterministic champion selection and append-only decision history.
Methods:
select
rollback
list_events
ResearchFactoriesAPI
Research Factory workflow API.
The status projection is the shared workflow model for SDK, MCP, and the
dashboard: experiments, outputs, decisions, limits, health, and next wake
all come from the backend rather than being reconstructed by each client.
Methods:
candidates
champions
tag
list
get
status
open
pause
PATCH /smr/factories/{factory_id}.
resume
PATCH /smr/factories/{factory_id}.
archive
PATCH /smr/factories/{factory_id}.
watch_status
GET /smr/factories/{factory_id}/status.
usage
GET /smr/factories/{factory_id}/usage
(query window: month_to_date | last_7_days).
events
GET /smr/factories/{factory_id}/events
(query limit 1-500, cursor).
iter_events
next_cursor drains.
Backend route: repeated GET /smr/factories/{factory_id}/events.
Stops when next_cursor is null or repeats (bounded; no sleeps).