Skip to main content
POST
/
v1
/
observe
/
workflows
Log Workflows
curl --request POST \
  --url https://api.staging.galileo.ai/v1/observe/workflows \
  --header 'Content-Type: application/json' \
  --header 'Galileo-API-Key: <api-key>' \
  --data '
{
  "workflows": [
    {
      "input": "<string>",
      "type": "workflow",
      "redacted_input": "<string>",
      "output": "",
      "redacted_output": "<string>",
      "name": "",
      "created_at_ns": 123,
      "duration_ns": 0,
      "metadata": {},
      "status_code": 123,
      "ground_truth": "<string>",
      "steps": [
        {
          "input": "<string>",
          "type": "chain",
          "redacted_input": "<string>",
          "output": "",
          "redacted_output": "<string>",
          "name": "",
          "created_at_ns": 123,
          "duration_ns": 0,
          "metadata": {},
          "status_code": 123,
          "ground_truth": "<string>",
          "steps": "<array>",
          "parent": {
            "input": "<string>",
            "type": "workflow",
            "redacted_input": "<string>",
            "output": "",
            "redacted_output": "<string>",
            "name": "",
            "created_at_ns": 123,
            "duration_ns": 0,
            "metadata": {},
            "status_code": 123,
            "ground_truth": "<string>",
            "steps": "<array>",
            "parent": "<unknown>"
          }
        }
      ],
      "parent": {
        "input": "<string>",
        "type": "workflow",
        "redacted_input": "<string>",
        "output": "",
        "redacted_output": "<string>",
        "name": "",
        "created_at_ns": 123,
        "duration_ns": 0,
        "metadata": {},
        "status_code": 123,
        "ground_truth": "<string>",
        "steps": "<array>",
        "parent": "<unknown>"
      }
    }
  ],
  "project_id": "<string>",
  "project_name": "<string>"
}
'
{
  "message": "<string>",
  "project_id": "<string>",
  "project_name": "<string>",
  "workflows_count": 123,
  "records_count": 123
}

WorkflowStep

A workflow step is the atomic unit of logging to Galileo. They represent a single execution of a workflow, such as a chain, agent, or a RAG execution. Workflows can have multiple steps, each of which can be a different type of node, such as an LLM, Retriever, or Tool. You can log multiple workflows in a single request. Each workflow step must have the following fields:
  • type: The type of the workflow.
  • input: The input to the workflow.
  • output: The output of the workflow.

Examples

LLM Step

{
  "type": "llm",
  "input": "What is the capital of France?",
  "output": "Paris"
}

Retriever Step

{
  "type": "retriever",
  "input": "What is the capital of France?",
  "output": [{ "content": "Paris is the capital and largest city of France." }]
}

Multi-Step

Workflow steps of type workflow, agent or chain can have sub-steps with children. A workflow with a retriver and an LLM step would look like this:
{
  "type": "workflow",
  "input": "What is the capital of France?",
  "output": "Paris",
  "steps": [
    {
      "type": "retriever",
      "input": "What is the capital of France?",
      "output": [{ "content": "Paris is the capital and largest city of France." }]
    },
    {
      "type": "llm",
      "input": "What is the capital of France?",
      "output": "Paris"
    }
  ]
}

Authorizations

Galileo-API-Key
string
header
required

Body

application/json
workflows
(WorkflowStep · object | ChainStep · object | LlmStep · object | RetrieverStep · object | ToolStep · object | AgentStep · object)[]
required

List of workflows to log.

Minimum array length: 1
project_id
string<uuid4> | null

Project ID for the Observe project.

project_name
string | null

Project name for the Observe project.

Response

Successful Response

message
string
required
project_id
string<uuid4>
required
project_name
string
required
workflows_count
integer
required
records_count
integer
required