Execute Specific Operator
/v1/graphs/{graph_id}/operator/{operator_type}Part of Operator.
Available: analyst (natural-language questions over the graph — curated financial reads, documents, memory, and read-only Cypher; RAG retrieval is one of its capabilities, not a separate operator; cypher is accepted as its former name) and mapping (Chart of Accounts → rs-gaap mapping, roboledger graphs only). GET /v1/graphs/{graph_id}/operator lists what is registered. The run executes on the background worker: the default answer is 202 with the operation's _links (stream, status, cancel); ?mode=sync waits up to 50s and answers 200 with the result.
Authentication
Authenticate in any one of these ways — not all of them:
- API key in the
X-API-Keyheader. - Bearer token in the
Authorizationheader.
Path parameters
| Name | Type | Description |
|---|---|---|
operator_typerequired | string | Operator Type |
graph_idrequired | string | Graph Id |
Query parameters
| Name | Type | Description |
|---|---|---|
modeoptional | ResponseMode | `sync` waits up to 50s for the answer and returns 200 with it (202 with the operation links if the worker is still busy). Anything else — `async`, `stream`, `auto` or unset — queues the run and returns 202; follow `_links.stream` for progress and the result. One of: |
Request body
Required, application/json.
| Field | Type | Description | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
messagerequired | string | The query or message to process | ||||||||||||||||||
historyoptional | OperatorMessage[] | Conversation history OperatorMessage fields
| ||||||||||||||||||
contextoptional | object | Additional context for analysis (e.g., enable_rag, include_schema) | ||||||||||||||||||
modeoptional | OperatorMode | Execution mode One of: Default: | ||||||||||||||||||
operator_typeoptional | string | Specific operator type to use (optional) | ||||||||||||||||||
selection_criteriaoptional | SelectionCriteria | Criteria for operator selection SelectionCriteria fields
| ||||||||||||||||||
force_extended_analysisoptional | boolean | Force extended analysis mode with comprehensive research Default: | ||||||||||||||||||
enable_ragoptional | boolean | Enable RAG context enrichment Default: | ||||||||||||||||||
streamoptional | boolean | Enable streaming response Default: | ||||||||||||||||||
max_creditsoptional | number | Per-question credit ceiling. Once the run's consumed credits reach this number, no further tool step starts and the operator answers from what it has (the wrap-up itself may carry the total slightly past the ceiling). Omit for the mode's default step-bounded behavior. |
Example request
curl -X POST "https://api.robosystems.ai/v1/graphs/{graph_id}/operator/{operator_type}" \
-H "X-API-Key: $ROBOSYSTEMS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"enable_rag": true,
"message": "What was Apple'\''s revenue in Q4 2023?"
}'Responses
200 Successful Response
| Field | Type | Description |
|---|---|---|
contentrequired | string | The operator's response content |
operator_usedrequired | string | The operator type that handled the request |
mode_usedrequired | OperatorMode | The execution mode used One of: |
metadataoptional | object | Response metadata including routing info |
tokens_usedoptional | object | Token usage statistics |
confidence_scoreoptional | number | Confidence score of the response (0.0-1.0 scale) |
operation_idoptional | string | Operation ID for SSE monitoring |
is_partialoptional | boolean | Whether this is a partial response Default: |
error_detailsoptional | object | Error details if any |
execution_timeoptional | number | Execution time in seconds |
timestampoptional | string (date-time) | Response timestamp |
| Status | Meaning |
|---|---|
| 202 | Run queued on the worker — follow `_links.stream` |
| 400 | Invalid request |
| 401 | Authentication required |
| 402 | Insufficient credits |
| 403 | Access denied |
| 404 | Resource not found |
| 422 | Validation Error |
| 429 | Rate limit exceeded |
| 500 | Internal server error |