curl --request POST \
--url https://api.openworklabs.com/v1/workflows/test \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"code": "<string>",
"requiredCapabilities": [
{
"capabilityName": "<string>",
"scriptPath": "<string>"
}
],
"configObjectId": "<string>",
"description": "<string>",
"exampleInput": "<unknown>",
"inputSchema": "<unknown>",
"outputSchema": "<unknown>"
}
'import requests
url = "https://api.openworklabs.com/v1/workflows/test"
payload = {
"name": "<string>",
"code": "<string>",
"requiredCapabilities": [
{
"capabilityName": "<string>",
"scriptPath": "<string>"
}
],
"configObjectId": "<string>",
"description": "<string>",
"exampleInput": "<unknown>",
"inputSchema": "<unknown>",
"outputSchema": "<unknown>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
code: '<string>',
requiredCapabilities: [{capabilityName: '<string>', scriptPath: '<string>'}],
configObjectId: '<string>',
description: '<string>',
exampleInput: '<unknown>',
inputSchema: '<unknown>',
outputSchema: '<unknown>'
})
};
fetch('https://api.openworklabs.com/v1/workflows/test', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.openworklabs.com/v1/workflows/test",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'code' => '<string>',
'requiredCapabilities' => [
[
'capabilityName' => '<string>',
'scriptPath' => '<string>'
]
],
'configObjectId' => '<string>',
'description' => '<string>',
'exampleInput' => '<unknown>',
'inputSchema' => '<unknown>',
'outputSchema' => '<unknown>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.openworklabs.com/v1/workflows/test"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"code\": \"<string>\",\n \"requiredCapabilities\": [\n {\n \"capabilityName\": \"<string>\",\n \"scriptPath\": \"<string>\"\n }\n ],\n \"configObjectId\": \"<string>\",\n \"description\": \"<string>\",\n \"exampleInput\": \"<unknown>\",\n \"inputSchema\": \"<unknown>\",\n \"outputSchema\": \"<unknown>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.openworklabs.com/v1/workflows/test")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"code\": \"<string>\",\n \"requiredCapabilities\": [\n {\n \"capabilityName\": \"<string>\",\n \"scriptPath\": \"<string>\"\n }\n ],\n \"configObjectId\": \"<string>\",\n \"description\": \"<string>\",\n \"exampleInput\": \"<unknown>\",\n \"inputSchema\": \"<unknown>\",\n \"outputSchema\": \"<unknown>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.openworklabs.com/v1/workflows/test")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"code\": \"<string>\",\n \"requiredCapabilities\": [\n {\n \"capabilityName\": \"<string>\",\n \"scriptPath\": \"<string>\"\n }\n ],\n \"configObjectId\": \"<string>\",\n \"description\": \"<string>\",\n \"exampleInput\": \"<unknown>\",\n \"inputSchema\": \"<unknown>\",\n \"outputSchema\": \"<unknown>\"\n}"
response = http.request(request)
puts response.read_body{
"receiptId": "<string>",
"value": "<unknown>",
"markdown": "<string>",
"codeDigest": "<string>",
"resultDigest": "<string>",
"inputSchemaDigest": "<string>",
"outputSchemaDigest": "<string>",
"rendererVersion": "codemode-markdown-v1",
"requiredCapabilities": [
{
"capabilityName": "<string>",
"scriptPath": "<string>"
}
],
"finishedAt": "2023-11-07T05:31:56Z"
}{
"error": "invalid_request",
"details": [
{
"message": "<string>",
"path": [
"<string>"
]
}
],
"capability": "<string>"
}Test the exact Workflow draft and return the receiptId required to create that unchanged version
Executes the draft code once with exampleInput against the caller’s live tools, validating the input against inputSchema and the result against outputSchema, and records a durable test receipt. The returned receiptId is the proof required by POST /v1/workflows//versions and is only accepted when every draft field is resubmitted unchanged within 15 minutes. Requires manager access to the Workflow; a script failure, argument mismatch, or result mismatch is returned as a 400 with the error code and message.
curl --request POST \
--url https://api.openworklabs.com/v1/workflows/test \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"code": "<string>",
"requiredCapabilities": [
{
"capabilityName": "<string>",
"scriptPath": "<string>"
}
],
"configObjectId": "<string>",
"description": "<string>",
"exampleInput": "<unknown>",
"inputSchema": "<unknown>",
"outputSchema": "<unknown>"
}
'import requests
url = "https://api.openworklabs.com/v1/workflows/test"
payload = {
"name": "<string>",
"code": "<string>",
"requiredCapabilities": [
{
"capabilityName": "<string>",
"scriptPath": "<string>"
}
],
"configObjectId": "<string>",
"description": "<string>",
"exampleInput": "<unknown>",
"inputSchema": "<unknown>",
"outputSchema": "<unknown>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
code: '<string>',
requiredCapabilities: [{capabilityName: '<string>', scriptPath: '<string>'}],
configObjectId: '<string>',
description: '<string>',
exampleInput: '<unknown>',
inputSchema: '<unknown>',
outputSchema: '<unknown>'
})
};
fetch('https://api.openworklabs.com/v1/workflows/test', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.openworklabs.com/v1/workflows/test",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'code' => '<string>',
'requiredCapabilities' => [
[
'capabilityName' => '<string>',
'scriptPath' => '<string>'
]
],
'configObjectId' => '<string>',
'description' => '<string>',
'exampleInput' => '<unknown>',
'inputSchema' => '<unknown>',
'outputSchema' => '<unknown>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.openworklabs.com/v1/workflows/test"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"code\": \"<string>\",\n \"requiredCapabilities\": [\n {\n \"capabilityName\": \"<string>\",\n \"scriptPath\": \"<string>\"\n }\n ],\n \"configObjectId\": \"<string>\",\n \"description\": \"<string>\",\n \"exampleInput\": \"<unknown>\",\n \"inputSchema\": \"<unknown>\",\n \"outputSchema\": \"<unknown>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.openworklabs.com/v1/workflows/test")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"code\": \"<string>\",\n \"requiredCapabilities\": [\n {\n \"capabilityName\": \"<string>\",\n \"scriptPath\": \"<string>\"\n }\n ],\n \"configObjectId\": \"<string>\",\n \"description\": \"<string>\",\n \"exampleInput\": \"<unknown>\",\n \"inputSchema\": \"<unknown>\",\n \"outputSchema\": \"<unknown>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.openworklabs.com/v1/workflows/test")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"code\": \"<string>\",\n \"requiredCapabilities\": [\n {\n \"capabilityName\": \"<string>\",\n \"scriptPath\": \"<string>\"\n }\n ],\n \"configObjectId\": \"<string>\",\n \"description\": \"<string>\",\n \"exampleInput\": \"<unknown>\",\n \"inputSchema\": \"<unknown>\",\n \"outputSchema\": \"<unknown>\"\n}"
response = http.request(request)
puts response.read_body{
"receiptId": "<string>",
"value": "<unknown>",
"markdown": "<string>",
"codeDigest": "<string>",
"resultDigest": "<string>",
"inputSchemaDigest": "<string>",
"outputSchemaDigest": "<string>",
"rendererVersion": "codemode-markdown-v1",
"requiredCapabilities": [
{
"capabilityName": "<string>",
"scriptPath": "<string>"
}
],
"finishedAt": "2023-11-07T05:31:56Z"
}{
"error": "invalid_request",
"details": [
{
"message": "<string>",
"path": [
"<string>"
]
}
],
"capability": "<string>"
}Authorizations
Session token passed as Authorization: Bearer <session-token> for user-authenticated Den routes.
Body
1 - 2551 - 200000100Show child attributes
Show child attributes
1 - 1604000Optional JSON Schema for the value returned by this Workflow.
Response
Workflow draft tested.
1 - 160^sha256:[a-f0-9]{64}$^sha256:[a-f0-9]{64}$^sha256:[a-f0-9]{64}$^sha256:[a-f0-9]{64}$"codemode-markdown-v1"Show child attributes
Show child attributes
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$Was this page helpful?