from retab import Retab
client = Retab()
diff = client.workflows.list_diff(
workflow_id="wf_abc123",
from_workflow_version_id="wfv_before",
to_workflow_version_id="wfv_after",
)
print(diff)
import { Retab } from "@retab/node";
const client = new Retab({ apiKey: process.env.RETAB_API_KEY });
const diff = await client.workflows.list_diff({
workflowId: "wf_abc123",
fromWorkflowVersionId: "wfv_before",
toWorkflowVersionId: "wfv_after",
});
console.log(diff);
package main
import (
"context"
"fmt"
"log"
retab "github.com/retab-dev/retab/clients/go"
)
func main() {
ctx := context.Background()
client, err := retab.NewClient("")
if err != nil {
log.Fatal(err)
}
diff, err := client.Workflows.ListDiff(ctx, &retab.WorkflowsListDiffParams{
WorkflowID: "wf_abc123",
FromWorkflowVersionID: "wfv_before",
ToWorkflowVersionID: "wfv_after",
})
if err != nil {
log.Fatal(err)
}
fmt.Println(*diff)
}
require 'retab'
client = Retab::Client.new(api_key: ENV['RETAB_API_KEY'])
diff = client.workflows.list_diff(
workflow_id: 'wf_abc123',
from_workflow_version_id: 'wfv_before',
to_workflow_version_id: 'wfv_after',
)
puts diff
use retab::Retab;
use retab::resources::workflows::ListDiffParams;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = Retab::new(std::env::var("RETAB_API_KEY")?);
let diff = client
.workflows()
.list_diff(ListDiffParams::new("wf_abc123", "wfv_before", "wfv_after"))
.await?;
println!("{:?}", diff);
Ok(())
}
<?php
require 'vendor/autoload.php';
use Retab\Client;
$client = new Client(apiKey: getenv('RETAB_API_KEY'));
$diff = $client->workflows()->listDiff(
workflowId: 'wf_abc123',
fromWorkflowVersionId: 'wfv_before',
toWorkflowVersionId: 'wfv_after',
);
print_r($diff);
using Retab;
using RetabClient = Retab.Retab;
var apiKey = Environment.GetEnvironmentVariable("RETAB_API_KEY")!;
var client = new RetabClient(apiKey);
var diff = await client.Workflows.ListDiffAsync(new WorkflowsListDiffOptions
{
WorkflowId = "wf_abc123",
FromWorkflowVersionId = "wfv_before",
ToWorkflowVersionId = "wfv_after",
});
Console.WriteLine(diff);
import com.retab.RetabClient;
public final class Example {
public static void main(String[] args) throws Exception {
RetabClient client = new RetabClient(System.getenv("RETAB_API_KEY"));
var diff = client.workflows().listDiff("wf_abc123", "wfv_before", "wfv_after");
System.out.println(diff);
}
}
curl "https://api.retab.com/v1/workflows/versions/diff?workflow_id=wf_abc123&from_workflow_version_id=wfv_before&to_workflow_version_id=wfv_after" \
-H "Authorization: Bearer $RETAB_API_KEY"
{
"from_workflow_version_id": "<string>",
"to_workflow_version_id": "<string>",
"added_block_ids": [],
"removed_block_ids": [],
"changed_block_ids": [],
"added_edge_ids": [],
"removed_edge_ids": [],
"changed_edge_ids": []
}{
"detail": []
}Versions
Diff Workflow Versions
GET
/
v1
/
workflows
/
versions
/
diff
from retab import Retab
client = Retab()
diff = client.workflows.list_diff(
workflow_id="wf_abc123",
from_workflow_version_id="wfv_before",
to_workflow_version_id="wfv_after",
)
print(diff)
import { Retab } from "@retab/node";
const client = new Retab({ apiKey: process.env.RETAB_API_KEY });
const diff = await client.workflows.list_diff({
workflowId: "wf_abc123",
fromWorkflowVersionId: "wfv_before",
toWorkflowVersionId: "wfv_after",
});
console.log(diff);
package main
import (
"context"
"fmt"
"log"
retab "github.com/retab-dev/retab/clients/go"
)
func main() {
ctx := context.Background()
client, err := retab.NewClient("")
if err != nil {
log.Fatal(err)
}
diff, err := client.Workflows.ListDiff(ctx, &retab.WorkflowsListDiffParams{
WorkflowID: "wf_abc123",
FromWorkflowVersionID: "wfv_before",
ToWorkflowVersionID: "wfv_after",
})
if err != nil {
log.Fatal(err)
}
fmt.Println(*diff)
}
require 'retab'
client = Retab::Client.new(api_key: ENV['RETAB_API_KEY'])
diff = client.workflows.list_diff(
workflow_id: 'wf_abc123',
from_workflow_version_id: 'wfv_before',
to_workflow_version_id: 'wfv_after',
)
puts diff
use retab::Retab;
use retab::resources::workflows::ListDiffParams;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = Retab::new(std::env::var("RETAB_API_KEY")?);
let diff = client
.workflows()
.list_diff(ListDiffParams::new("wf_abc123", "wfv_before", "wfv_after"))
.await?;
println!("{:?}", diff);
Ok(())
}
<?php
require 'vendor/autoload.php';
use Retab\Client;
$client = new Client(apiKey: getenv('RETAB_API_KEY'));
$diff = $client->workflows()->listDiff(
workflowId: 'wf_abc123',
fromWorkflowVersionId: 'wfv_before',
toWorkflowVersionId: 'wfv_after',
);
print_r($diff);
using Retab;
using RetabClient = Retab.Retab;
var apiKey = Environment.GetEnvironmentVariable("RETAB_API_KEY")!;
var client = new RetabClient(apiKey);
var diff = await client.Workflows.ListDiffAsync(new WorkflowsListDiffOptions
{
WorkflowId = "wf_abc123",
FromWorkflowVersionId = "wfv_before",
ToWorkflowVersionId = "wfv_after",
});
Console.WriteLine(diff);
import com.retab.RetabClient;
public final class Example {
public static void main(String[] args) throws Exception {
RetabClient client = new RetabClient(System.getenv("RETAB_API_KEY"));
var diff = client.workflows().listDiff("wf_abc123", "wfv_before", "wfv_after");
System.out.println(diff);
}
}
curl "https://api.retab.com/v1/workflows/versions/diff?workflow_id=wf_abc123&from_workflow_version_id=wfv_before&to_workflow_version_id=wfv_after" \
-H "Authorization: Bearer $RETAB_API_KEY"
{
"from_workflow_version_id": "<string>",
"to_workflow_version_id": "<string>",
"added_block_ids": [],
"removed_block_ids": [],
"changed_block_ids": [],
"added_edge_ids": [],
"removed_edge_ids": [],
"changed_edge_ids": []
}{
"detail": []
}Compare two immutable workflow graph versions.
from retab import Retab
client = Retab()
diff = client.workflows.list_diff(
workflow_id="wf_abc123",
from_workflow_version_id="wfv_before",
to_workflow_version_id="wfv_after",
)
print(diff)
import { Retab } from "@retab/node";
const client = new Retab({ apiKey: process.env.RETAB_API_KEY });
const diff = await client.workflows.list_diff({
workflowId: "wf_abc123",
fromWorkflowVersionId: "wfv_before",
toWorkflowVersionId: "wfv_after",
});
console.log(diff);
package main
import (
"context"
"fmt"
"log"
retab "github.com/retab-dev/retab/clients/go"
)
func main() {
ctx := context.Background()
client, err := retab.NewClient("")
if err != nil {
log.Fatal(err)
}
diff, err := client.Workflows.ListDiff(ctx, &retab.WorkflowsListDiffParams{
WorkflowID: "wf_abc123",
FromWorkflowVersionID: "wfv_before",
ToWorkflowVersionID: "wfv_after",
})
if err != nil {
log.Fatal(err)
}
fmt.Println(*diff)
}
require 'retab'
client = Retab::Client.new(api_key: ENV['RETAB_API_KEY'])
diff = client.workflows.list_diff(
workflow_id: 'wf_abc123',
from_workflow_version_id: 'wfv_before',
to_workflow_version_id: 'wfv_after',
)
puts diff
use retab::Retab;
use retab::resources::workflows::ListDiffParams;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = Retab::new(std::env::var("RETAB_API_KEY")?);
let diff = client
.workflows()
.list_diff(ListDiffParams::new("wf_abc123", "wfv_before", "wfv_after"))
.await?;
println!("{:?}", diff);
Ok(())
}
<?php
require 'vendor/autoload.php';
use Retab\Client;
$client = new Client(apiKey: getenv('RETAB_API_KEY'));
$diff = $client->workflows()->listDiff(
workflowId: 'wf_abc123',
fromWorkflowVersionId: 'wfv_before',
toWorkflowVersionId: 'wfv_after',
);
print_r($diff);
using Retab;
using RetabClient = Retab.Retab;
var apiKey = Environment.GetEnvironmentVariable("RETAB_API_KEY")!;
var client = new RetabClient(apiKey);
var diff = await client.Workflows.ListDiffAsync(new WorkflowsListDiffOptions
{
WorkflowId = "wf_abc123",
FromWorkflowVersionId = "wfv_before",
ToWorkflowVersionId = "wfv_after",
});
Console.WriteLine(diff);
import com.retab.RetabClient;
public final class Example {
public static void main(String[] args) throws Exception {
RetabClient client = new RetabClient(System.getenv("RETAB_API_KEY"));
var diff = client.workflows().listDiff("wf_abc123", "wfv_before", "wfv_after");
System.out.println(diff);
}
}
curl "https://api.retab.com/v1/workflows/versions/diff?workflow_id=wf_abc123&from_workflow_version_id=wfv_before&to_workflow_version_id=wfv_after" \
-H "Authorization: Bearer $RETAB_API_KEY"
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
Workflow whose versions to diff
Base workflow version ID
Target workflow version ID
⌘I