openapi: 3.2.0 info: title: Kognitos Runs API version: 1.0.0 contact: name: Kognitos url: https://kognitos.com license: name: MIT url: https://opensource.org/licenses/MIT description: 'Operations tagged Runs across 2 of this provider''s published API definitions: kognitos-openapi.yaml, kognitos-openapi.yml. Each path carries the servers of the definition it was published in.' servers: - url: https://app.us-1.kognitos.com security: - BearerAuth: [] tags: - name: Runs description: Execute automations and manage run lifecycle — start, pause, continue, and view events. paths: /api/v1/organizations/{organization_id}/workspaces/{workspace_id}/automations/{automation_id}/runs/{run_id}: get: summary: Get Run operationId: GetRun responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/v1Run' default: description: An unexpected error response. content: application/json: schema: $ref: '#/components/schemas/rpcStatus' parameters: - name: organization_id in: path required: true schema: type: string - name: workspace_id in: path required: true schema: type: string - name: automation_id in: path required: true schema: type: string - name: run_id in: path required: true schema: type: string tags: - Runs servers: - url: https://app.us-1.kognitos.com /api/v1/organizations/{organization_id}/workspaces/{workspace_id}/automations/{automation_id}/runs: get: summary: List Runs operationId: ListRuns responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/v1ListRunsResponse' default: description: An unexpected error response. content: application/json: schema: $ref: '#/components/schemas/rpcStatus' parameters: - name: organization_id in: path required: true schema: type: string - name: workspace_id in: path required: true schema: type: string - name: automation_id in: path required: true schema: type: string - name: page_size description: 'The maximum number of runs to return in a single response. The service may return fewer than this value. If unspecified or 0, at most 10 runs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. If negative, an INVALID_ARGUMENT error will be returned.' in: query required: false schema: type: integer format: int32 - name: page_token description: 'A page token received from a previous `ListRuns` call. Provide this to retrieve the subsequent page of results. When paginating, all other parameters provided to `ListRuns` must match the call that provided the page token.' in: query required: false schema: type: string - name: filter description: "Filter expression for filtering runs.\nFollows the structured syntax defined in AIP-160.\n\nSupported fields for filtering:\n- create_time: The timestamp when the run was created (google.protobuf.Timestamp)\n\nSupported operators:\n- Comparison: =, !=, <, >, <=, >=\n- Logical: AND, OR, NOT, -\n\nExamples:\n- Filter runs created after a specific date (start_date):\n \"create_time >= \\\"2024-01-01T00:00:00Z\\\"\"\n- Filter runs created before a specific date (end_date):\n \"create_time <= \\\"2024-12-31T23:59:59Z\\\"\"\n- Filter runs within a date range (start_date and end_date):\n \"create_time >= \\\"2024-01-01T00:00:00Z\\\" AND create_time <= \\\"2024-12-31T23:59:59Z\\\"\"\n- Complex filter with multiple date ranges:\n \"(create_time >= \\\"2024-01-01T00:00:00Z\\\" AND create_time <= \\\"2024-06-30T23:59:59Z\\\") OR create_time >= \\\"2024-07-01T00:00:00Z\\\"\"\n\nTimestamps must be in RFC-3339 format (e.g., \"2024-01-01T00:00:00Z\").\nIf an invalid filter expression is provided, the API will return INVALID_ARGUMENT." in: query required: false schema: type: string tags: - Runs servers: - url: https://app.us-1.kognitos.com /api/v1/organizations/{organization_id}/workspaces/{workspace_id}/automations/{automation_id}/runs/{run_id}:pause: post: summary: Pause Run operationId: PauseRun responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/v1Run' default: description: An unexpected error response. content: application/json: schema: $ref: '#/components/schemas/rpcStatus' parameters: - name: organization_id in: path required: true schema: type: string - name: workspace_id in: path required: true schema: type: string - name: automation_id in: path required: true schema: type: string - name: run_id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/PauseRunBody' required: true tags: - Runs servers: - url: https://app.us-1.kognitos.com /api/v1/organizations/{organization_id}/workspaces/{workspace_id}/automations/{automation_id}/runs/{run_id}:continue: post: summary: Continue Run operationId: ContinueRun responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/v1Run' default: description: An unexpected error response. content: application/json: schema: $ref: '#/components/schemas/rpcStatus' parameters: - name: organization_id in: path required: true schema: type: string - name: workspace_id in: path required: true schema: type: string - name: automation_id in: path required: true schema: type: string - name: run_id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ContinueRunBody' required: true tags: - Runs servers: - url: https://app.us-1.kognitos.com /api/v1/organizations/{organization_id}/workspaces/{workspace_id}:automationRunAggregates: get: summary: Query Automation Run Aggregates operationId: QueryAutomationRunAggregates responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/v1QueryAutomationRunAggregatesResponse' default: description: An unexpected error response. content: application/json: schema: $ref: '#/components/schemas/rpcStatus' parameters: - name: organization_id in: path required: true schema: type: string - name: workspace_id in: path required: true schema: type: string tags: - Runs servers: - url: https://app.us-1.kognitos.com /api/v1/organizations/{organization_id}/workspaces/{workspace_id}:dailyRunAggregates: get: summary: Query Daily Run Aggregates operationId: QueryDailyRunAggregates responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/v1QueryDailyRunAggregatesResponse' default: description: An unexpected error response. content: application/json: schema: $ref: '#/components/schemas/rpcStatus' parameters: - name: organization_id in: path required: true schema: type: string - name: workspace_id in: path required: true schema: type: string - name: start_date.year description: 'Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.' in: query required: false schema: type: integer format: int32 - name: start_date.month description: 'Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.' in: query required: false schema: type: integer format: int32 - name: start_date.day description: 'Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn''t significant.' in: query required: false schema: type: integer format: int32 - name: end_date.year description: 'Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.' in: query required: false schema: type: integer format: int32 - name: end_date.month description: 'Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.' in: query required: false schema: type: integer format: int32 - name: end_date.day description: 'Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn''t significant.' in: query required: false schema: type: integer format: int32 - name: time_zone description: 'Time zone for date aggregation. Format: IANA timezone identifier (e.g., "America/New_York", "UTC", "Europe/London")' in: query required: true schema: type: string - name: filter description: "Filter expression for filtering runs included in the aggregation.\nFollows the structured syntax defined in AIP-160.\n\nSupported fields for filtering:\n- automation_id: The unique identifier of the automation (string)\n\nSupported operators:\n- Comparison: =\n- Logical: OR\n\nExamples:\n- Filter by specific automation:\n \"automation_id = \\\"789\\\"\"\n- Filter by multiple automations:\n \"automation_id = \\\"789\\\" OR automation_id = \\\"790\\\"\"\n\nIf an invalid filter expression is provided, the API will return INVALID_ARGUMENT." in: query required: false schema: type: string tags: - Runs servers: - url: https://app.us-1.kognitos.com /api/v1/organizations/{organization_id}/workspaces/{workspace_id}/executions/{execution_id}/outputs: get: summary: Get Execution Outputs operationId: GetExecutionOutputs responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/v1GetExecutionOutputsResponse' default: description: An unexpected error response. content: application/json: schema: $ref: '#/components/schemas/rpcStatus' parameters: - name: organization_id in: path required: true schema: type: string - name: workspace_id in: path required: true schema: type: string - name: execution_id in: path required: true schema: type: string tags: - Runs servers: - url: https://app.us-1.kognitos.com /api/v1/organizations/{organization_id}/workspaces/{workspace_id}/automations/{automation_id}/runs/{run_id}/events: get: summary: List Run Events description: 'This RPC retrieves a paginated list of all events that occurred during a specific automation run. Events are returned in the order they were generated, providing a complete timeline of the run''s execution. Use the filter parameter to narrow results by specific criteria such as node_kind for execution journal events. The response includes both high-level run state changes (starts, completions, failures) and detailed execution steps (node executions, execution patches, detailed data flows in each expression, etc).' operationId: ListRunEvents responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/v1ListRunEventsResponse' default: description: An unexpected error response. content: application/json: schema: $ref: '#/components/schemas/rpcStatus' parameters: - name: organization_id in: path required: true schema: type: string - name: workspace_id in: path required: true schema: type: string - name: automation_id in: path required: true schema: type: string - name: run_id in: path required: true schema: type: string - name: page_size description: 'Maximum number of run events to return in a single response. The service may return fewer events than requested, but will never return more. This can happen when: - The run has fewer total events than requested - Internal chunking limits are reached - The remaining events don''t fit in the response size limit Valid range: 1-1000 events Default: 100 events if unspecified Values above 1000 are automatically capped at 1000 Negative values result in an INVALID_ARGUMENT error' in: query required: false schema: type: integer format: int32 - name: page_token description: 'Pagination token from a previous ListRunEvents response. Provide the `next_page_token` value from a previous response to continue retrieving the next set of events. Leave empty or unset for the first page of results. The token is opaque and should not be parsed or modified by clients.' in: query required: false schema: type: string - name: filter description: "Filter expression to narrow down which events are returned.\n\nThe filter string follows the AIP-160 filtering syntax\n(https://google.aip.dev/160).\n\nSupported fields for filtering:\n- node_kind: Filter execution journal events by the kind/type of node.\n Only execution journal events with matching node_kind are returned.\n Example: node_kind = \"FunctionCall\"\n\nWhen empty or unset, all events for the specified run are returned.\n\nExample filters:\n node_kind = \"FunctionCall\"\n node_kind = \"Assignment\"" in: query required: false schema: type: string tags: - Runs servers: - url: https://app.us-1.kognitos.com components: schemas: v1GetExecutionOutputsResponse: type: object properties: outputs: type: object additionalProperties: $ref: '#/components/schemas/v1ExecutionOutput' description: 'Map of named output values set by the set_output() builtin function during execution. The key is the output name (string) and the value is the ExecutionOutput containing the value and type set by calling set_output(name, value). This map will be empty if no set_output() calls were made during execution.' description: GetExecutionOutputsResponse contains the outputs from a completed execution. v1AutomationRunAggregate: type: object properties: total_runs: type: string format: int64 description: The total number of runs for this automation. readOnly: true completed_runs: type: string format: int64 description: The number of completed runs for this automation. readOnly: true description: 'Stats for a single automation. Contains run counts and other metrics.' v1AutomationStage: type: string enum: - AUTOMATION_STAGE_UNSPECIFIED - AUTOMATION_STAGE_DRAFT - AUTOMATION_STAGE_PUBLISHED default: AUTOMATION_STAGE_UNSPECIFIED description: "AutomationStage represents the publication stage of an automation.\nThis enum is shared across services that manage or execute automations.\n\n - AUTOMATION_STAGE_UNSPECIFIED: Automation stage is not specified.\n - AUTOMATION_STAGE_DRAFT: Automation is in draft stage and can be modified.\n - AUTOMATION_STAGE_PUBLISHED: Automation is published and immutable, ready for execution." v1NodeExecuted: type: object properties: code_location: $ref: '#/components/schemas/commonV1Location' inputs: type: object additionalProperties: $ref: '#/components/schemas/commonV1Value' description: 'The input variables & their values A variable is defined as an input if it was fetched from the memory while executing the node or one of its children.' outputs: type: object additionalProperties: $ref: '#/components/schemas/commonV1Value' description: 'The output variables & their values A variable is defined as an output if it was written to the memory while executing the node or one of its children. If a variable was written multiple times, only the last written value is considered as the output.' error: type: array items: $ref: '#/components/schemas/v1ExecutionError' description: 'The list of all the errors that occurred while executing the node or any of its children.' node_id: type: string title: The id of the node that got executed book_function_call: $ref: '#/components/schemas/v1BookFunctionCall' node_kind: type: string title: The kind/type of the node that was executed title: Event emitted after Jarvis finishes executing an AST node, with I/O and errors v1NodeStarted: type: object properties: code_location: $ref: '#/components/schemas/commonV1Location' node_id: type: string title: The id of the node that was started node_kind: type: string title: The kind/type of the node that was started title: Event emitted when Jarvis begins executing an AST node v1Table: type: object properties: columns: type: array items: $ref: '#/components/schemas/v1Column' description: 'A table is a column-oriented structure. All the values inside each column must be of equal length.' v1BookConnection: type: object properties: connection_id: type: string description: Unique identifier for this connection resource. endpoint: type: string description: Endpoint for the connection. description: 'BookConnection is a resource representing a connection to a book instance. A connection has a unique identifier and an endpoint.' v1RunEvent: type: object properties: run_update: $ref: '#/components/schemas/v1RunUpdate' execution_journal: $ref: '#/components/schemas/v1ExecutionJournal' description: A single event that occurred during an automation run execution. v1List: type: object properties: items: type: array items: $ref: '#/components/schemas/commonV1Value' title: The ordered sequence of values in this list description: "Represents an ordered collection of values (similar to arrays or lists).\n\nThis message can contain any number of Value elements in a specific order.\nLists are mutable and can grow or shrink during runtime. Elements can be\naccessed by their zero-based index position.\n\nExamples:\n - [1, 2, 3] - list of numbers\n - [\"hello\", \"world\"] - list of strings\n - [true, 42, \"mixed\"] - list with mixed types\n - [[1, 2], [3, 4]] - nested lists" bdkV1ListValue: type: object properties: values: type: array items: $ref: '#/components/schemas/bdkV1Value' title: All the values inside the list title: A collection of values v1ExecutableSteps: type: object properties: inputs: type: object additionalProperties: $ref: '#/components/schemas/commonV1Value' description: 'Input parameters for the execution, provided as name-value pairs. These variables will be available to the code during execution.' executables: type: array items: $ref: '#/components/schemas/v1ExecutableStep' description: The source code to be executed, written in SPy (Simplified Python) language. description: 'ExecutableSteps represents a sequence of steps of execution of a run. Each step is a separate computable unit with its own code, book connections and optional inputs. The first step may optionally have an input provided to it when the run is invoked. The output of each step becomes the input of the next step and the output of the last step becomes the output of the run.' required: - executables v1ExecutableStep: type: object properties: code: type: string description: 'The source code to be executed, written in SPy (Simplified Python) language. This is the main logic that will be interpreted and run by the execution engine.' book_connections: type: object additionalProperties: $ref: '#/components/schemas/v1BookConnection' description: 'Book connections required by this executable. Maps connection names to their specific ID and endpoints.' phase_type: $ref: '#/components/schemas/v1AutomationPhaseType' description: 'ExecutableStep represents a piece of code that can be executed in the Jeeves platform. Contains the source code, input parameters, and external dependencies needed for execution.' required: - code - phase_type v1ValueType: type: object properties: scalar_type: $ref: '#/components/schemas/v1ValueScalarType' optional_type: $ref: '#/components/schemas/v1ValueOptionalType' list_type: $ref: '#/components/schemas/v1ValueListType' dictionary_type: $ref: '#/components/schemas/v1ValueDictionaryType' table_type: $ref: '#/components/schemas/v1ValueTableType' opaque_type: $ref: '#/components/schemas/v1ValueOpaqueType' any_type: $ref: '#/components/schemas/v1ValueAnyType' union_type: $ref: '#/components/schemas/v1ValueUnionType' sensitive_type: $ref: '#/components/schemas/v1ValueSensitiveType' enum_type: $ref: '#/components/schemas/v1ValueEnumType' generic_dictionary_type: $ref: '#/components/schemas/v1ValueGenericDictionaryType' title: Represents a complete value type definition using a discriminated union typeDateTime: type: object properties: year: type: integer format: int32 description: 'Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a datetime without a year.' month: type: integer format: int32 description: Required. Month of year. Must be from 1 to 12. day: type: integer format: int32 description: 'Required. Day of month. Must be from 1 to 31 and valid for the year and month.' hours: type: integer format: int32 description: 'Required. Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.' minutes: type: integer format: int32 description: Required. Minutes of hour of day. Must be from 0 to 59. seconds: type: integer format: int32 description: 'Required. Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.' nanos: type: integer format: int32 description: 'Required. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.' utc_offset: type: string description: 'UTC offset. Must be whole seconds, between -18 hours and +18 hours. For example, a UTC offset of -4:00 would be represented as { seconds: -14400 }.' time_zone: $ref: '#/components/schemas/typeTimeZone' description: "Represents civil time (or occasionally physical time).\n\nThis type can represent a civil time in one of a few possible ways:\n\n * When utc_offset is set and time_zone is unset: a civil time on a calendar\n day with a particular offset from UTC.\n * When time_zone is set and utc_offset is unset: a civil time on a calendar\n day in a particular time zone.\n * When neither time_zone nor utc_offset is set: a civil time on a calendar\n day in local time.\n\nThe date is relative to the Proleptic Gregorian Calendar.\n\nIf year is 0, the DateTime is considered not to have a specific year. month\nand day must have valid, non-zero values.\n\nThis type may also be used to represent a physical time if all the date and\ntime fields are set and either case of the `time_offset` oneof is set.\nConsider using `Timestamp` message for physical time instead. If your use\ncase also would like to store the user's timezone, that can be done in\nanother field.\n\nThis type is more flexible than some applications may want. Make sure to\ndocument and validate your application's limitations." v1PatchedNodeStarted: type: object properties: patch_location: $ref: '#/components/schemas/commonV1Location' node_location: $ref: '#/components/schemas/commonV1Location' node_id: type: string title: The id of the patched node for which execution is starting node_kind: type: string title: The kind/type of the patched node that is being started title: Event emitted when Jarvis starts executing a node inside a patch typeTimeOfDay: type: object properties: hours: type: integer format: int32 description: 'Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.' minutes: type: integer format: int32 description: Minutes of hour of day. Must be from 0 to 59. seconds: type: integer format: int32 description: 'Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.' nanos: type: integer format: int32 description: Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. description: 'Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are [google.type.Date][google.type.Date] and `google.protobuf.Timestamp`.' v1ValueDictionaryType: type: object properties: is_a: type: string title: Semantic classification of what this dictionary represents fields: type: array items: $ref: '#/components/schemas/v1ValueDictionaryTypeField' title: The named fields contained in this dictionary description: type: string title: Optional human-readable description of this dictionary type title: Represents a dictionary/object value type with named fields v1DictionaryValue: type: object properties: fields: type: array items: $ref: '#/components/schemas/v1DictionaryValueField' title: All the fields alongside their values in the dictionary is_a: type: array items: $ref: '#/components/schemas/v1NounPhrase' title: Is a replationships for the dictionary title: Value to be used when the type is dictionary v1DailyRunAggregateEntry: type: object properties: date: type: string description: 'The date for this entry. Format: YYYY-MM-DD (e.g., "2024-01-01"). Using google.type.Date causing issue while transcoding to json.' readOnly: true stats: $ref: '#/components/schemas/v1DailyRunAggregate' description: 'Entry for daily run statistics. Contains the date and run counts for that date.' v1InvocationDetails: type: object properties: trigger_id: type: string description: The ID of the trigger that initiated this run, if applicable. user_id: type: string description: The ID of the user that initiated this run, if applicable. invocation_source: $ref: '#/components/schemas/v1InvocationSource' description: InvocationDetails contains additional information about the entity that initiated a run. v1Run: type: object properties: name: type: string title: 'The name of the run. Format: organizations/{organization}/workspaces/{workspace}/automations/{automation}/runs/{run}' executable_steps: $ref: '#/components/schemas/v1ExecutableSteps' create_time: type: string format: date-time description: 'The timestamp when this run was created. Set automatically when the run is first submitted to the system.' readOnly: true state: $ref: '#/components/schemas/v1RunState' update_time: type: string format: date-time description: 'The timestamp when this run was updated. Set automatically when the run is updated.' readOnly: true previous_run: type: string title: 'The name of the previous run in the chain, if applicable. Execution details of the previous run may be used to avoid re-computation. Format: organizations/{organization}/workspaces/{workspace}/automations/{automation}/runs/{run}' stage: $ref: '#/components/schemas/v1AutomationStage' stage_version: type: string description: The version of the automation stage at the time this run was created. invocation_details: $ref: '#/components/schemas/v1InvocationDetails' user_inputs: type: object additionalProperties: $ref: '#/components/schemas/commonV1Value' description: The user inputs provided to the run during pre phase and will be available for the UI to display the user inputs. description: 'Run represents a single execution instance of code in the Jeeves platform. Contains the executable code, metadata, and current execution state.' required: - stage - stage_version v1NodeSkipped: type: object properties: code_location: $ref: '#/components/schemas/commonV1Location' node_id: type: string title: The id of the node that was skipped node_kind: type: string title: The kind/type of the node that was skipped title: Event emitted when Jarvis skips executing an AST node v1ExecutionJournal: type: object properties: execution_id: type: string title: Unique identifier for the execution run_id: type: string title: 'Optional: Run identifier, set if the execution is part of a run' event_time: type: string format: date-time title: When this journal entry was generated started: $ref: '#/components/schemas/v1ExecutionStarted' completed: $ref: '#/components/schemas/v1ExecutionCompleted' stopped: $ref: '#/components/schemas/v1ExecutionStopped' failed: $ref: '#/components/schemas/v1ExecutionFailed' node_started: $ref: '#/components/schemas/v1NodeStarted' node_executed: $ref: '#/components/schemas/v1NodeExecuted' node_skipped: $ref: '#/components/schemas/v1NodeSkipped' node_patched: $ref: '#/components/schemas/v1NodePatched' patched_node_started: $ref: '#/components/schemas/v1PatchedNodeStarted' patched_node_executed: $ref: '#/components/schemas/v1PatchedNodeExecuted' automation_id: type: string title: 'Optional: Automation identifier, set if the execution is part of an automation' automation_phase_id: type: string title: 'Optional: Automation phase identifier, set if the execution is part of an automation phase' code_hash: type: string title: 'Optional: MD5 hash of the SPy code being executed' stage: $ref: '#/components/schemas/v1AutomationStage' workspace_id: type: string title: The workspace id for which the execution is requested organization_id: type: string title: The organization id for which the execution is requested extra_metadata: type: object additionalProperties: $ref: '#/components/schemas/commonV1Value' description: 'Optional extra metadata to be stored with the execution This will be used to pass the additional information that downstream services might require but there is no need to Jarvis to know about it.' title: Journal event for an execution, capturing status and node-level events v1WaitingOnTimer: type: object properties: duration: type: string description: The duration of the timer. description: 'WaitingOnTimer indicates that the execution is stopped because its waiting for a timer to fire. The run manager is expected to resume the execution when the timer fires.' v1Dictionary: type: object properties: entries: type: array items: $ref: '#/components/schemas/v1DictionaryEntry' title: The key-value pairs stored in this dictionary description: "Represents a key-value mapping (similar to hash maps or dictionaries).\n\nThis message stores associations between keys and values, where keys must be\nhashable types (null, bool, Number, string, Date, TimeOfDay, DateTime, TimeZone). Keys are\nunique within a dictionary - duplicate keys will overwrite previous values.\n\nThe dictionary maintains insertion order for consistent iteration behavior.\n\nExamples:\n - {\"name\": \"John\", \"age\": 30} - string keys with mixed values\n - {1: \"one\", 2: \"two\"} - number keys with string values\n - {\"nested\": {\"inner\": \"value\"}} - nested dictionaries" v1AutomationPhaseType: type: string enum: - AUTOMATION_PHASE_TYPE_UNSPECIFIED - AUTOMATION_PHASE_TYPE_PRE - AUTOMATION_PHASE_TYPE_MAIN - AUTOMATION_PHASE_TYPE_POST default: AUTOMATION_PHASE_TYPE_UNSPECIFIED description: "PhaseType defines the type of phase for an automation trigger.\n\n - AUTOMATION_PHASE_TYPE_UNSPECIFIED: Unspecified phase type.\n - AUTOMATION_PHASE_TYPE_PRE: Pre-processing phase.\n - AUTOMATION_PHASE_TYPE_MAIN: Main processing phase.\n - AUTOMATION_PHASE_TYPE_POST: Post-processing phase." v1WaitingOnBook: type: object description: 'WaitingOnBook indicates that the execution is stopped because its waiting on an async book procedure to complete. The run manager is expected to resume the execution when the book procedure completes.' v1Number: type: object properties: lo: type: integer format: int64 description: Low 32 bits of the 96-bit mantissa. mid: type: integer format: int64 description: Middle 32 bits of the 96-bit mantissa. hi: type: integer format: int64 description: High 32 bits of the 96-bit mantissa. flags: type: integer format: int64 description: "Flags word:\n - Bits 16–23: scale (0–28)\n - Bit 31: sign (0 = positive, 1 = negative)\n - Other bits must be zero." description: "A fixed-precision decimal number with up to 28 fractional digits.\n\nThis message represents decimal numbers with exact precision, avoiding\nfloating-point rounding errors. It's particularly useful for financial\ncalculations, measurements, and any scenario where exact decimal\nrepresentation is required.\n\nThe value is calculated as: m / 10^e, where:\n - m is an unsigned 96-bit integer composed of (lo, mid, hi)\n - e is the scale (0–28) stored in flags bits 16–23\n - sign is encoded in flags bit 31 (0 = positive, 1 = negative)\n\nExamples:\n - 123.45 would have m=12345, e=2\n - -0.001 would have m=1, e=3, with sign bit set\n" v1ExecutionStopped: type: object properties: user_stopped: $ref: '#/components/schemas/v1UserStopped' waiting_on_book: $ref: '#/components/schemas/v1WaitingOnBook' waiting_on_timer: $ref: '#/components/schemas/v1WaitingOnTimer' program_stopped: $ref: '#/components/schemas/v1ProgramStopped' description: 'ExecutionStopped indicates that the execution was stopped before completion due to a specific reason.' v1ValueTableTypeColumn: type: object properties: key: type: string title: The name/key of this column value: $ref: '#/components/schemas/v1ValueType' description: type: string title: Optional human-readable description of this column title: Represents a single column within a table value type v1Set: type: object properties: items: type: array items: $ref: '#/components/schemas/v1HashableValue' title: 'The unique elements stored in this set All elements must be hashable types' description: "Represents an unordered collection of unique values.\n\nThis message stores a collection of unique elements, where duplicate values\nare automatically removed. Only hashable types can be stored in sets.\nSets are useful for membership testing, removing duplicates, and mathematical\nset operations like union, intersection, and difference.\n\nThe set does not maintain insertion order - elements may appear in any order\nduring iteration.\n\nExamples:\n - {1, 2, 3} - set of numbers\n - {\"apple\", \"banana\", \"cherry\"} - set of strings\n - {true, false} - set of booleans\n - {1, \"hello\", true} - set with mixed hashable types" v1DictionaryEntry: type: object properties: key: $ref: '#/components/schemas/v1HashableValue' value: $ref: '#/components/schemas/commonV1Value' description: 'Represents a single key-value pair within a Dictionary. Both key and value can be any Value type, though keys should be hashable types for proper dictionary behavior. Non-hashable keys (like lists or dictionaries) may cause runtime errors.' v1ExecutingRunState: type: object description: 'Run is currently being executed. Code is actively running and making progress.' commonV1Location: type: object properties: start_byte: type: string format: int64 title: Starting Byte of the span, It will be zero-based end_byte: type: string format: int64 title: Ending Byte(exclusive) of the span, It will be zero-based description: 'Location represents a generic span within some underlying content. It specifies the starting byte offset and the ending byte offset (exclusive) of the span. This can be used for pointing to regions in files, buffers, logs, messages, or any other byte-addressable resource.' v1RunState: type: object properties: pending: $ref: '#/components/schemas/v1PendingRunState' executing: $ref: '#/components/schemas/v1ExecutingRunState' stopping: $ref: '#/components/schemas/v1StoppingRunState' stopped: $ref: '#/components/schemas/v1StoppedRunState' awaiting_guidance: $ref: '#/components/schemas/v1AwaitingGuidanceRunState' completed: $ref: '#/components/schemas/v1CompletedRunState' failed: $ref: '#/components/schemas/v1FailedRunState' update_time: type: string format: date-time description: The timestamp when the run transitioned to this state. readOnly: true description: 'RunState represents the overall lifecycle state of a run. Tracks the run from initial submission through completion or failure.' v1ValueDictionaryTypeField: type: object properties: key: type: string title: The name/key of this field value: $ref: '#/components/schemas/v1ValueType' description: type: string title: Optional human-readable description of this field title: Represents a single field within a dictionary value type v1ProgramStopped: type: object properties: reason: type: string description: The reason the program was stopped. description: ProgramStopped indicates that the execution was stopped by the program. v1OpaqueValue: type: object properties: content: type: string format: byte title: Content of the opaque value is_a: type: array items: $ref: '#/components/schemas/v1NounPhrase' title: Is a replationships for the opaque v1InvocationSource: type: string enum: - INVOCATION_SOURCE_UNSPECIFIED - INVOCATION_SOURCE_MANUAL - INVOCATION_SOURCE_TRIGGER - INVOCATION_SOURCE_SCHEDULE default: INVOCATION_SOURCE_UNSPECIFIED description: "InvocationSource identifies the entity responsible for creating a run.\n\n - INVOCATION_SOURCE_UNSPECIFIED: Unspecified invocation source.\n - INVOCATION_SOURCE_MANUAL: Run was manually initiated by a user.\n - INVOCATION_SOURCE_TRIGGER: Run was triggered by an event or trigger.\n - INVOCATION_SOURCE_SCHEDULE: Run was initiated by a schedule." v1NounPhrase: type: object properties: modifiers: type: array items: type: string title: Optional adjectives attached to the noun head: type: string title: Noun of the phrase v1QueryAutomationRunAggregatesResponse: type: object properties: automation_run_aggregates: type: array items: $ref: '#/components/schemas/v1AutomationRunAggregateEntry' description: List of automation run statistics entries. readOnly: true description: 'Response message for QueryAutomationRunAggregates method. Contains statistics for each automation in the workspace.' v1RunUpdate: type: object properties: run: $ref: '#/components/schemas/v1Run' description: RunUpdate represents a single update to a run's state. v1ValueSensitiveType: type: object properties: inner: $ref: '#/components/schemas/v1ValueType' title: Represents a value type that contains sensitive information v1Date: type: object properties: year: type: integer format: int32 title: Year of the date month: type: integer format: int32 title: Month of a year day: type: integer format: int32 title: Day of a month v1ValueTableType: type: object properties: is_a: type: string title: Semantic classification of what this table represents columns: type: array items: $ref: '#/components/schemas/v1ValueTableTypeColumn' title: The columns that make up this table description: type: string title: Optional human-readable description of this table type title: Represents a table value type with structured columns v1UserStopped: type: object description: UserStopped indicates that the execution was stopped by a user. v1ExecutionError: type: object properties: id: type: string title: Unique identifier for the error description: type: string title: Human-readable description of what went wrong context: $ref: '#/components/schemas/v1Context' extra: type: object additionalProperties: type: string title: Extra information about the error code: type: string title: 'The code where the error was raised (includes patches) If the error was raised in a patch, the code reflects the patched code and the error location is relative to the patched code instead of the original code Note: this field does not include previous patches that executed successfully' description: ExecutionError represents an error that occurred during execution. v1ValueListType: type: object properties: inner: $ref: '#/components/schemas/v1ValueType' title: Represents a list/array value type containing elements of a specific type v1ValueGenericDictionaryType: type: object properties: key_type: $ref: '#/components/schemas/v1ValueType' value_type: $ref: '#/components/schemas/v1ValueType' title: Represent a generic dictionary that can hold any entry of a particular key and value type v1HashableValue: type: object properties: bool_value: type: boolean title: Boolean true/false value number: $ref: '#/components/schemas/v1Number' text: type: string title: UTF-8 encoded text string date: $ref: '#/components/schemas/typeDate' timeofday: $ref: '#/components/schemas/typeTimeOfDay' datetime: $ref: '#/components/schemas/typeDateTime' duration: type: string title: Signed duration representing a span of time description: 'Represents a hashable value that can be used as a dictionary key. This message contains only the hashable types from the Value message, corresponding to Python''s hashable types. These types can be safely used as keys in maps and dictionaries. Hashable types include: bool, Number, string, Date, TimeOfDay, DateTime and Duration.' rpcStatus: type: object properties: code: type: integer format: int32 message: type: string details: type: array items: $ref: '#/components/schemas/protobufAny' v1ExecutionFailed: type: object properties: error: $ref: '#/components/schemas/v1ExecutionError' description: 'ExecutionFailed indicates that the execution encountered an error and could not complete successfully.' v1NodePatched: type: object properties: code_location: $ref: '#/components/schemas/commonV1Location' code_patch: type: string title: The patch SPy code that was applied inputs_patch: type: object additionalProperties: $ref: '#/components/schemas/commonV1Value' title: The execution inputs that were patched connections: type: object additionalProperties: $ref: '#/components/schemas/v1BookConnection' title: 'The book connections that were patched The key is the name of the connection used in the SPy code The value contains the connection details' node_id: type: string title: The id of the node node_kind: type: string title: The kind/type of the node that was patched title: Event emitted when a patch is applied to an AST node protobufAny: type: object properties: '@type': type: string additionalProperties: {} typeDate: type: object properties: year: type: integer format: int32 description: 'Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.' month: type: integer format: int32 description: 'Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.' day: type: integer format: int32 description: 'Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn''t significant.' description: '* A full date, with non-zero year, month, and day values * A month and day value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are [google.type.TimeOfDay][google.type.TimeOfDay] and `google.protobuf.Timestamp`.' title: 'Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following:' v1ValueEnumTypeMember: type: object properties: name: type: string title: The programmatic name of this enum member description: type: string title: Optional human-readable description of this enum member title: Represents a single member/option within an enum value type v1Context: type: object properties: code_location: $ref: '#/components/schemas/commonV1Location' node_id: type: string title: The id of node description: 'Context provides additional information about the execution environment, such as stack traces for debugging purposes.' PauseRunBody: type: object properties: reason: type: string description: The reason for pausing the run. description: 'Request message for PauseRun method. Specifies which run to pause by its unique identifier.' required: - reason bdkV1Value: type: object properties: null_value: type: string conceptual_value: $ref: '#/components/schemas/v1NounPhrase' text_value: type: string number_value: type: number format: double boolean_value: type: boolean datetime_value: type: string format: date-time date_value: $ref: '#/components/schemas/v1Date' time_value: $ref: '#/components/schemas/v1Time' file_value: $ref: '#/components/schemas/v1FileValue' dictionary_value: $ref: '#/components/schemas/v1DictionaryValue' list_value: $ref: '#/components/schemas/bdkV1ListValue' opaque_value: $ref: '#/components/schemas/v1OpaqueValue' table_value: $ref: '#/components/schemas/v1TableValue' sensitive_value: $ref: '#/components/schemas/v1SensitiveValue' title: A union of all possible values v1FileValue: type: object properties: remote: type: string inline: $ref: '#/components/schemas/v1File' title: A file value represents a file that can be either inline or remote v1ValueAnyType: type: object title: Represents a value type that can hold any kind of value v1File: type: object properties: file_name: type: string title: The name of the file content: type: string format: byte title: Content of the file as a byte stream typeTimeZone: type: object properties: id: type: string description: IANA Time Zone Database time zone, e.g. "America/New_York". version: type: string description: Optional. IANA Time Zone Database version number, e.g. "2019a". description: 'Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones).' v1CompletedRunState: type: object properties: outputs: type: object additionalProperties: $ref: '#/components/schemas/commonV1Value' description: The outputs of the run. readOnly: true description: 'Run has completed successfully. All code has been executed and results are available.' v1DictionaryValueField: type: object properties: key: type: string value: $ref: '#/components/schemas/bdkV1Value' title: Each key-value pair inside a dictionary v1DailyRunAggregate: type: object properties: total_runs: type: integer format: int32 description: The total number of runs created on this date. readOnly: true description: 'Stats for a single day. Contains run counts for all runs in the workspace on that date.' v1Column: type: object properties: values: type: array items: $ref: '#/components/schemas/bdkV1Value' name: type: string v1QueryDailyRunAggregatesResponse: type: object properties: daily_run_aggregates: type: array items: $ref: '#/components/schemas/v1DailyRunAggregateEntry' description: List of daily run statistics entries. readOnly: true description: 'Response message for QueryDailyRunAggregates method. Contains daily run statistics as a list of entries.' v1ListRunsResponse: type: object properties: runs: type: array items: $ref: '#/components/schemas/v1Run' description: 'The list of runs matching the request criteria. May be empty if no runs are found or if the page is beyond available results.' readOnly: true next_page_token: type: string description: 'A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.' readOnly: true description: 'Response message for ListRuns method. Contains a paginated list of runs and pagination metadata.' v1BookFunction: type: object properties: connection_spy_identifier: type: string title: The connection name for the book instance in the spy code book_name: type: string title: The name of the target book containing the function function_name: type: string title: The name of the specific function to invoke within the book code_location: $ref: '#/components/schemas/commonV1Location' description: BookFunction represents a reference to an external book function. v1TableValue: type: object properties: remote: type: string inline: $ref: '#/components/schemas/v1Table' title: 'A table that is represented remote as an URL to a file that is Feather-formatted or inline via the Table message' v1StoppedRunState: type: object properties: reason: type: string description: The reason provided by the user for stopping the run. readOnly: true description: 'Run has been stopped and can be resumed later. Execution is temporarily stopped but can continue from current state.' v1ValueScalarType: type: string enum: - VALUE_SCALAR_TYPE_UNSPECIFIED - VALUE_SCALAR_TYPE_TEXT - VALUE_SCALAR_TYPE_NUMBER - VALUE_SCALAR_TYPE_BOOLEAN - VALUE_SCALAR_TYPE_DATETIME - VALUE_SCALAR_TYPE_DATE - VALUE_SCALAR_TYPE_TIME - VALUE_SCALAR_TYPE_FILE default: VALUE_SCALAR_TYPE_UNSPECIFIED description: "- VALUE_SCALAR_TYPE_UNSPECIFIED: Unspecified value type\n - VALUE_SCALAR_TYPE_TEXT: A text value type\n - VALUE_SCALAR_TYPE_NUMBER: A number value type\n - VALUE_SCALAR_TYPE_BOOLEAN: A boolean value type\n - VALUE_SCALAR_TYPE_DATETIME: A datetime value type\n - VALUE_SCALAR_TYPE_DATE: A date value type\n - VALUE_SCALAR_TYPE_TIME: A time value type\n - VALUE_SCALAR_TYPE_FILE: A file value type" title: Supported Value Scalar Types v1PendingRunState: type: object description: 'Run has been submitted and is waiting to start execution. The run is queued and will begin when resources become available.' v1Time: type: object properties: hours: type: integer format: int32 title: Hours of day minutes: type: integer format: int32 title: Minutes of hour of day seconds: type: integer format: int32 title: Seconds of minutes of the time nanos: type: integer format: int32 title: Fractions of seconds in nanoseconds v1ValueEnumType: type: object properties: is_a: type: string title: Semantic classification of what this enum represents members: type: array items: $ref: '#/components/schemas/v1ValueEnumTypeMember' title: The available options/members of this enum description: type: string title: Optional human-readable description of this enum type title: Represents an enumeration value type with predefined options v1AwaitingGuidanceRunState: type: object properties: exception: type: string title: ID of the exception (from guidance center) readOnly: true description: type: string description: Description of the exception that occured. readOnly: true location: $ref: '#/components/schemas/commonV1Location' description: 'Run is waiting for external guidance or user input. Requires manual intervention or external decision to proceed.' v1ValueUnionType: type: object properties: inners: type: array items: $ref: '#/components/schemas/v1ValueType' title: The possible value types in this union title: Represents a union value type that can be one of several possible types v1StoppingRunState: type: object properties: reason: type: string description: The reason provided by the user for stopping the run. readOnly: true description: 'Run is in the process of being stopped. Execution is stopping gracefully and will transition to STOPPED state.' v1FailedRunState: type: object properties: id: type: string description: The unique identifier of the error that caused the run to fail. readOnly: true description: type: string description: The description of the error. readOnly: true location: $ref: '#/components/schemas/commonV1Location' description: 'Run has failed due to an error. Execution stopped due to an unrecoverable error condition.' ContinueRunBody: type: object description: 'Request message for ContinueRun method. Specifies which run to resume by its unique identifier.' v1PatchedNodeExecuted: type: object properties: patch_location: $ref: '#/components/schemas/commonV1Location' node_location: $ref: '#/components/schemas/commonV1Location' inputs: type: object additionalProperties: $ref: '#/components/schemas/commonV1Value' description: 'The input variables & their values A variable is defined as an input if it was fetched from the memory while executing the node or one of its children.' outputs: type: object additionalProperties: $ref: '#/components/schemas/commonV1Value' description: 'The output variables & their values A variable is defined as an output if it was written to the memory while executing the node or one of its children. If a variable was written multiple times, only the last written value is considered as the output.' error: type: array items: $ref: '#/components/schemas/v1ExecutionError' description: 'The list of all the errors that occurred while executing the node or any of its children.' node_id: type: string title: The id of the patched node for which execution is completed book_function_call: $ref: '#/components/schemas/v1BookFunctionCall' node_kind: type: string title: The kind/type of the patched node that was executed title: Event emitted after executing a node inside a patch, with I/O and errors v1ListRunEventsResponse: type: object properties: run_events: type: array items: $ref: '#/components/schemas/v1RunEvent' description: 'The list of run events for the requested page. Events are returned in chronological order based on when they occurred during the automation run execution. Each event contains either: - A run state update from the Jeeves orchestration service - An execution journal entry from the Jarvis execution engine' next_page_token: type: string description: 'Pagination token for retrieving the next page of events. Include this token as the `page_token` in a subsequent ListRunEvents request to retrieve the next set of events. The token maintains cursor position and ensures consistent pagination even if new events are added to the run. When this field is empty or omitted: - This is the final page of results - All events for the run have been retrieved - No further pagination requests are needed The token is opaque. Do not attempt to parse, modify, or reuse tokens across different parent resources or request parameters.' description: 'Response message for the ListRunEvents RPC. Contains a page of run events in chronological order, along with pagination information for retrieving additional events. Events are sorted by their occurrence time, providing a complete timeline of the run''s execution. The response may contain fewer events than requested if: - The run has fewer remaining events than the page size - This is the final page of results - Response size limits are reached' v1ExecutionStarted: type: object description: ExecutionStarted indicates that Jarvis has started the execution. commonV1Value: type: object properties: null_value: type: string title: Represents the absence of a value (None/null/undefined) bool_value: type: boolean title: Boolean true/false value number: $ref: '#/components/schemas/v1Number' text: type: string title: UTF-8 encoded text string date: $ref: '#/components/schemas/typeDate' timeofday: $ref: '#/components/schemas/typeTimeOfDay' datetime: $ref: '#/components/schemas/typeDateTime' time_zone: $ref: '#/components/schemas/typeTimeZone' duration: type: string title: Signed duration representing a span of time list: $ref: '#/components/schemas/v1List' dictionary: $ref: '#/components/schemas/v1Dictionary' file: $ref: '#/components/schemas/v1FileValue' table: $ref: '#/components/schemas/v1TableValue' set: $ref: '#/components/schemas/v1Set' description: 'Represents a runtime value that can be produced by the Jarvis interpreter. This message provides a type-safe way to serialize and transmit values between the Jarvis interpreter and other services via gRPC. It supports all the basic data types that can be represented in the Jarvis language runtime. The oneof structure ensures that exactly one value type is set at a time, providing both type safety and efficient serialization.' v1ExecutionCompleted: type: object properties: outputs: type: object additionalProperties: $ref: '#/components/schemas/commonV1Value' description: 'Map of named output values set by the set_output() builtin function during execution. Each entry is a name-value pair where the key is the output name (string) and the value is the output value set by calling set_output(name, value). This map will be empty if no set_output() calls were made during execution.' description: 'ExecutionCompleted indicates that Jarvis has successfully completed the execution. The final result value is included in this message, representing the return value of the executed code.' v1SensitiveValue: type: object properties: value: $ref: '#/components/schemas/bdkV1Value' title: A sensitive value is any value marked as sensitive (to prevent exposure) v1BookFunctionCall: type: object properties: book_function: $ref: '#/components/schemas/v1BookFunction' inputs: type: object additionalProperties: $ref: '#/components/schemas/commonV1Value' title: The input variables and their values passed to the book function output: $ref: '#/components/schemas/commonV1Value' description: BookFunctionCall represents a call to an external book function with its inputs and outputs. v1AutomationRunAggregateEntry: type: object properties: automation_id: type: string title: 'The automation ID for this entry. Format: organizations/{organization}/workspaces/{workspace}/automations/{automation}' readOnly: true stats: $ref: '#/components/schemas/v1AutomationRunAggregate' description: 'Entry for automation run statistics. Contains the automation ID and its associated run counts.' v1ExecutionOutput: type: object properties: value: $ref: '#/components/schemas/commonV1Value' type: $ref: '#/components/schemas/v1ValueType' description: ExecutionOutput represents an output value set by the set_output() builtin function during execution. v1ValueOptionalType: type: object properties: inner: $ref: '#/components/schemas/v1ValueType' title: Represents a value type that can be optional (nullable) v1ValueOpaqueType: type: object properties: is_a: type: string title: Semantic classification of what this opaque type represents description: type: string title: Optional human-readable description of this opaque type title: Represents an opaque value type with semantic meaning but unknown internal structure securitySchemes: BearerAuth: type: http scheme: bearer description: Personal Access Token. x-refined-from: - kognitos-openapi.yaml - kognitos-openapi.yml