curl --request POST \
--url https://api.example.com/api/data-readiness/workflows/runs/{run_id}/approval \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.example.com/api/data-readiness/workflows/runs/{run_id}/approval"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.example.com/api/data-readiness/workflows/runs/{run_id}/approval', 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.example.com/api/data-readiness/workflows/runs/{run_id}/approval",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/data-readiness/workflows/runs/{run_id}/approval"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.example.com/api/data-readiness/workflows/runs/{run_id}/approval")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/data-readiness/workflows/runs/{run_id}/approval")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "<string>",
"workflow_run_id": "<string>",
"status": "pending",
"created_at": "<string>",
"updated_at": "<string>",
"approved_by_client_id": "<string>",
"approved_at": "<string>",
"notes": "<string>",
"auto_saved": false
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Create Pending Approval
Create a pending approval record for a completed workflow run.
This is typically called automatically when a workflow completes, but can also be called manually to create an approval for a run that doesn’t have one.
Returns:
- 201: Approval created successfully
- 404: Workflow run not found
- 409: Approval already exists for this run
curl --request POST \
--url https://api.example.com/api/data-readiness/workflows/runs/{run_id}/approval \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.example.com/api/data-readiness/workflows/runs/{run_id}/approval"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.example.com/api/data-readiness/workflows/runs/{run_id}/approval', 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.example.com/api/data-readiness/workflows/runs/{run_id}/approval",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/data-readiness/workflows/runs/{run_id}/approval"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.example.com/api/data-readiness/workflows/runs/{run_id}/approval")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/data-readiness/workflows/runs/{run_id}/approval")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "<string>",
"workflow_run_id": "<string>",
"status": "pending",
"created_at": "<string>",
"updated_at": "<string>",
"approved_by_client_id": "<string>",
"approved_at": "<string>",
"notes": "<string>",
"auto_saved": false
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Authorizations
JWT Bearer token authentication. Include the token in the Authorization header as: Authorization: Bearer <token>. The JWT must contain valid client_id, and project_id claims for tenant isolation and SDK routing.
Path Parameters
Workflow run ID
Response
Successful Response
Response for workflow run approval operations.
Unique approval identifier
Workflow run ID
Approval status
"pending"
"approved"
"rejected"
Creation timestamp (ISO 8601)
Last update timestamp (ISO 8601)
Client ID of approver
Approval timestamp (ISO 8601)
Approval notes
Whether this approval was auto-saved (no manual approval step)
Was this page helpful?

