Get the data of a flow
curl --request GET \
--url https://clientapi.woku.app/v1/flows/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://clientapi.woku.app/v1/flows/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://clientapi.woku.app/v1/flows/{id}', 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://clientapi.woku.app/v1/flows/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
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://clientapi.woku.app/v1/flows/{id}"
req, _ := http.NewRequest("GET", 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.get("https://clientapi.woku.app/v1/flows/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://clientapi.woku.app/v1/flows/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"flowId": "<string>",
"flowName": "<string>",
"companyId": "<string>",
"companyName": "<string>",
"companyAvatar": "<string>",
"wokusData": [
{
"wokuId": "<string>",
"description": "<string>",
"fileUrl": "<string>",
"fileType": "<string>"
}
],
"anonymousDisabled": true,
"npsToolId": "<string>",
"companyIdNps": "<string>"
}{
"statusCode": 403,
"message": "Authentication required",
"error": "Forbidden"
}{
"statusCode": 404,
"message": "External tracker not found",
"error": "Not Found"
}Flows
Get the data of a flow
Returns the flow journey: wokus in presentation order, company branding and the linked NPS (tool-specific or company-level). Use the existing capture endpoints to record feedback for each step. Accepts the publishable capture key or the secret key.
GET
/
v1
/
flows
/
{id}
Get the data of a flow
curl --request GET \
--url https://clientapi.woku.app/v1/flows/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://clientapi.woku.app/v1/flows/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://clientapi.woku.app/v1/flows/{id}', 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://clientapi.woku.app/v1/flows/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
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://clientapi.woku.app/v1/flows/{id}"
req, _ := http.NewRequest("GET", 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.get("https://clientapi.woku.app/v1/flows/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://clientapi.woku.app/v1/flows/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"flowId": "<string>",
"flowName": "<string>",
"companyId": "<string>",
"companyName": "<string>",
"companyAvatar": "<string>",
"wokusData": [
{
"wokuId": "<string>",
"description": "<string>",
"fileUrl": "<string>",
"fileType": "<string>"
}
],
"anonymousDisabled": true,
"npsToolId": "<string>",
"companyIdNps": "<string>"
}{
"statusCode": 403,
"message": "Authentication required",
"error": "Forbidden"
}{
"statusCode": 404,
"message": "External tracker not found",
"error": "Not Found"
}Authorizations
BearerAuthPublishableKey
Company API key. Obtain this from your Woku dashboard under Settings > API Keys. The same key used for the v0 endpoints.
Path Parameters
Flow id
Response
Flow data
Wokus of the journey, in presentation order.
Show child attributes
Show child attributes
Linked NPS tool, when the flow ends with a tool-specific NPS.
Set when the flow ends with the company-level NPS.