Skip to main content
All types are auto-generated from the OpenAPI specification. This reference covers the most commonly used types.

Tool types

Tool

A multi-step workflow tool that executes protocol-specific operations.
Fields:
  • id - Unique identifier
  • steps - Ordered execution steps (min: 1)
  • name - Display name
  • version - Semantic version (major.minor.patch)
  • instruction - Human-readable description
  • inputSchema - JSON Schema for tool inputs
  • outputSchema - JSON Schema for tool outputs
  • outputTransform - JavaScript function for final transformation: (sourceData) => expression
  • createdAt - Creation timestamp
  • updatedAt - Last update timestamp

ToolStep

A single execution step supporting either request operations (HTTP/HTTPS, Postgres, FTP/SFTP) or transform operations (data transformation).
Common Fields:
  • id - Unique identifier
  • config - Step configuration (request or transform)
  • instruction - What this step does
  • dataSelector - JavaScript function to select data: (sourceData) => expression
  • modify - Whether this step modifies data on the system it operates on
  • failureBehavior - "fail" stops execution, "continue" proceeds to next step
Request Step Config Fields:
  • type - "request" (optional, defaults to request)
  • url - Full URL with protocol (e.g., https://api.example.com, postgres://host:5432/db, ftp://host/path)
  • method - HTTP method (use POST for non-HTTP protocols)
  • systemId - System to use for credentials and documentation
  • queryParams - URL query params (HTTP only), supports template expressions
  • headers - HTTP headers (HTTP only), supports template expressions
  • body - Request body (protocol-specific), supports template expressions
  • pagination - Pagination configuration (HTTP only)
Transform Step Config Fields:
  • type - "transform" (required)
  • transformCode - JavaScript function: (sourceData) => transformedData
Template Expressions: Use <<(sourceData) => ...>> syntax to reference previous step outputs:

Run types

Run

Represents a tool execution with status, results, and metadata.
Fields:
  • runId - Unique run identifier
  • toolId - ID of executed tool
  • status - Execution status: running, success, failed, aborted
  • tool - Tool metadata (not full config)
  • toolPayload - Inputs/credentials/options provided at runtime
  • data - Tool execution results (only when status is success)
  • error - Error message (only when status is failed or aborted)
  • stepResults - Results from each execution step
  • options - Execution options used
  • requestSource - Where run was initiated
  • traceId - Trace ID for debugging
  • metadata - Timing and duration info (see RunMetadata)

RunMetadata

Timing information for a run.
Fields:
  • startedAt - ISO timestamp when run started
  • completedAt - ISO timestamp when run finished (only present when status is success, failed, or aborted)
  • durationMs - Execution duration in milliseconds

RunRequest

Configuration for executing a tool.
Fields:
  • runId - Pre-generated run ID (optional, for idempotency)
  • inputs - Tool-specific input parameters
  • credentials - Runtime credentials (not persisted, overrides stored credentials)
  • options - Execution options:
    • async - If true, return immediately (202) and execute async. If false, wait for completion (200)
    • timeout - Request timeout in seconds (sync only)
    • webhookUrl - URL to POST completion notification, or tool:toolId to chain tools
    • traceId - Custom trace ID for log tracking

RunStepResultsItem

Result from a single step execution.
Fields:
  • stepId - Which step this result is for
  • success - Whether the step completed successfully
  • data - API response data (if successful)
  • error - Error message (if failed)

Pagination

Pagination

Pagination configuration for HTTP/HTTPS requests.
Fields:
  • type - Pagination type: "offset" or "cursor"
  • pageSize - Items per page (available as <<(sourceData) => sourceData.limit>>)
  • cursorPath - JSONPath to extract next page cursor (e.g., "meta.next_cursor")
  • stopCondition - JavaScript function to determine when to stop: (response, pageInfo, sourceData) => boolean
    • response - Object with {data: ..., headers: ...}
    • pageInfo - Object with {page, offset, cursor, totalFetched, mergedResult}
    • pageInfo.totalFetched - Count from the merged paginated result, including the current page
    • pageInfo.mergedResult - Accumulated paginated result including the current page
    • sourceData - Current step input data with payload fields at the root plus previous step results
    • Return true to STOP, false to continue

Response types

ListTools200

Response from listTools().
Fields:
  • data - Array of Tool objects
  • page - Current page number
  • limit - Items per page
  • total - Total number of items
  • hasMore - Whether more pages exist

ListRuns200

Response from listRuns().
Fields:
  • data - Array of Run objects
  • page - Current page number
  • limit - Items per page
  • total - Total number of items
  • hasMore - Whether more pages exist

Enums

RunStatus


ToolStepMethod


ToolStepFailureBehavior