Get a form definition (to render the form)
curl --request GET \
--url https://clientapi.woku.app/v1/forms/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://clientapi.woku.app/v1/forms/{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/forms/{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/forms/{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/forms/{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/forms/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://clientapi.woku.app/v1/forms/{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{
"form": {
"_id": "<string>",
"name": "<string>",
"description": "<string>",
"fields": [
{
"id": "<string>",
"label": "<string>",
"required": true,
"placeholder": "<string>",
"options": [
"<string>"
],
"order": 123
}
],
"settings": {},
"closed": true,
"availableLocales": [
"<string>"
],
"defaultLocale": "<string>",
"localizedContent": [
{}
]
},
"company": {
"name": "<string>",
"avatar": "<string>"
}
}{
"statusCode": 403,
"message": "Authentication required",
"error": "Forbidden"
}{
"statusCode": 404,
"message": "External tracker not found",
"error": "Not Found"
}Forms
Get a form definition (to render the form)
Returns the active form (fields, settings, localized content) plus company branding, ready to render in your own UI. Accepts the publishable capture key or the secret key.
GET
/
v1
/
forms
/
{id}
Get a form definition (to render the form)
curl --request GET \
--url https://clientapi.woku.app/v1/forms/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://clientapi.woku.app/v1/forms/{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/forms/{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/forms/{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/forms/{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/forms/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://clientapi.woku.app/v1/forms/{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{
"form": {
"_id": "<string>",
"name": "<string>",
"description": "<string>",
"fields": [
{
"id": "<string>",
"label": "<string>",
"required": true,
"placeholder": "<string>",
"options": [
"<string>"
],
"order": 123
}
],
"settings": {},
"closed": true,
"availableLocales": [
"<string>"
],
"defaultLocale": "<string>",
"localizedContent": [
{}
]
},
"company": {
"name": "<string>",
"avatar": "<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
Form id
⌘I