Skip to main content
The Pipeline endpoint is not yet available in the Go SDK. Please use the REST API directly or check back for future SDK updates.
For now, you can use the client’s Post method to make direct API calls:
package main

import (
    "context"
    "fmt"
    "io"
    "os"
    
    reducto "github.com/reductoai/reducto-go-sdk"
    "github.com/reductoai/reducto-go-sdk/option"
)

func main() {
    client := reducto.NewClient(option.WithAPIKey(os.Getenv("REDUCTO_API_KEY")))
    
    // Upload first
    file, _ := os.Open("document.pdf")
    defer file.Close()
    
    upload, _ := client.Upload(context.Background(), reducto.UploadParams{
        File: reducto.F[io.Reader](file),
    })
    
    // Prepare pipeline request
    pipelineParams := map[string]interface{}{
        "input":       upload.FileID,
        "pipeline_id": "your-pipeline-id-here",
    }
    
    var result map[string]interface{}
    err := client.Post(context.Background(), "pipeline", pipelineParams, &result)
    if err != nil {
        fmt.Printf("Pipeline error: %v\n", err)
        return
    }
    
    fmt.Printf("Result: %+v\n", result)
}

Next Steps