curl --request POST \
--url https://eu.phrase.com/connectors/knak/v1/async/list-files \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Webhook: <x-webhook>' \
--data '
{
"credentials": {
"connectionUid": "7d1b0a52-4c0e-4f4e-9d52-1f2f5b0b8a11",
"organizationUid": "3f9a6d0e-8c1b-4a57-b0a1-6c2d9e4f7a10"
},
"path": {
"pathType": "ROOT",
"status": "requested"
},
"sourceLocale": "en"
}
'import requests
url = "https://eu.phrase.com/connectors/knak/v1/async/list-files"
payload = {
"credentials": {
"connectionUid": "7d1b0a52-4c0e-4f4e-9d52-1f2f5b0b8a11",
"organizationUid": "3f9a6d0e-8c1b-4a57-b0a1-6c2d9e4f7a10"
},
"path": {
"pathType": "ROOT",
"status": "requested"
},
"sourceLocale": "en"
}
headers = {
"X-Webhook": "<x-webhook>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'X-Webhook': '<x-webhook>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
credentials: {
connectionUid: '7d1b0a52-4c0e-4f4e-9d52-1f2f5b0b8a11',
organizationUid: '3f9a6d0e-8c1b-4a57-b0a1-6c2d9e4f7a10'
},
path: {pathType: 'ROOT', status: 'requested'},
sourceLocale: 'en'
})
};
fetch('https://eu.phrase.com/connectors/knak/v1/async/list-files', 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://eu.phrase.com/connectors/knak/v1/async/list-files",
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([
'credentials' => [
'connectionUid' => '7d1b0a52-4c0e-4f4e-9d52-1f2f5b0b8a11',
'organizationUid' => '3f9a6d0e-8c1b-4a57-b0a1-6c2d9e4f7a10'
],
'path' => [
'pathType' => 'ROOT',
'status' => 'requested'
],
'sourceLocale' => 'en'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"X-Webhook: <x-webhook>"
],
]);
$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://eu.phrase.com/connectors/knak/v1/async/list-files"
payload := strings.NewReader("{\n \"credentials\": {\n \"connectionUid\": \"7d1b0a52-4c0e-4f4e-9d52-1f2f5b0b8a11\",\n \"organizationUid\": \"3f9a6d0e-8c1b-4a57-b0a1-6c2d9e4f7a10\"\n },\n \"path\": {\n \"pathType\": \"ROOT\",\n \"status\": \"requested\"\n },\n \"sourceLocale\": \"en\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Webhook", "<x-webhook>")
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://eu.phrase.com/connectors/knak/v1/async/list-files")
.header("X-Webhook", "<x-webhook>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"credentials\": {\n \"connectionUid\": \"7d1b0a52-4c0e-4f4e-9d52-1f2f5b0b8a11\",\n \"organizationUid\": \"3f9a6d0e-8c1b-4a57-b0a1-6c2d9e4f7a10\"\n },\n \"path\": {\n \"pathType\": \"ROOT\",\n \"status\": \"requested\"\n },\n \"sourceLocale\": \"en\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://eu.phrase.com/connectors/knak/v1/async/list-files")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Webhook"] = '<x-webhook>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"credentials\": {\n \"connectionUid\": \"7d1b0a52-4c0e-4f4e-9d52-1f2f5b0b8a11\",\n \"organizationUid\": \"3f9a6d0e-8c1b-4a57-b0a1-6c2d9e4f7a10\"\n },\n \"path\": {\n \"pathType\": \"ROOT\",\n \"status\": \"requested\"\n },\n \"sourceLocale\": \"en\"\n}"
response = http.request(request)
puts response.read_body{
"requestId": "e48eda63-928c-4155-bez9-fdbsaadc15f3",
"webHookUrl": "https://example.tld/my-webhook"
}""List content asynchronously
List Knak translation requests visible to the API user. Use this for change detection
(polling) or to drive a UI picker. path is ROOT with optional status, assetId,
createdAfter and createdBefore filters. Only requests whose source language equals
sourceLocale are returned.
The response is a list of remoteResources, each carrying a TRANSLATION_REQUEST path
you can feed back into the download and upload endpoints.
Async variant. Returns immediately with { requestId, webHookUrl }. The listing is POSTed to the URL supplied in X-Webhook.
curl --request POST \
--url https://eu.phrase.com/connectors/knak/v1/async/list-files \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Webhook: <x-webhook>' \
--data '
{
"credentials": {
"connectionUid": "7d1b0a52-4c0e-4f4e-9d52-1f2f5b0b8a11",
"organizationUid": "3f9a6d0e-8c1b-4a57-b0a1-6c2d9e4f7a10"
},
"path": {
"pathType": "ROOT",
"status": "requested"
},
"sourceLocale": "en"
}
'import requests
url = "https://eu.phrase.com/connectors/knak/v1/async/list-files"
payload = {
"credentials": {
"connectionUid": "7d1b0a52-4c0e-4f4e-9d52-1f2f5b0b8a11",
"organizationUid": "3f9a6d0e-8c1b-4a57-b0a1-6c2d9e4f7a10"
},
"path": {
"pathType": "ROOT",
"status": "requested"
},
"sourceLocale": "en"
}
headers = {
"X-Webhook": "<x-webhook>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'X-Webhook': '<x-webhook>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
credentials: {
connectionUid: '7d1b0a52-4c0e-4f4e-9d52-1f2f5b0b8a11',
organizationUid: '3f9a6d0e-8c1b-4a57-b0a1-6c2d9e4f7a10'
},
path: {pathType: 'ROOT', status: 'requested'},
sourceLocale: 'en'
})
};
fetch('https://eu.phrase.com/connectors/knak/v1/async/list-files', 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://eu.phrase.com/connectors/knak/v1/async/list-files",
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([
'credentials' => [
'connectionUid' => '7d1b0a52-4c0e-4f4e-9d52-1f2f5b0b8a11',
'organizationUid' => '3f9a6d0e-8c1b-4a57-b0a1-6c2d9e4f7a10'
],
'path' => [
'pathType' => 'ROOT',
'status' => 'requested'
],
'sourceLocale' => 'en'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"X-Webhook: <x-webhook>"
],
]);
$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://eu.phrase.com/connectors/knak/v1/async/list-files"
payload := strings.NewReader("{\n \"credentials\": {\n \"connectionUid\": \"7d1b0a52-4c0e-4f4e-9d52-1f2f5b0b8a11\",\n \"organizationUid\": \"3f9a6d0e-8c1b-4a57-b0a1-6c2d9e4f7a10\"\n },\n \"path\": {\n \"pathType\": \"ROOT\",\n \"status\": \"requested\"\n },\n \"sourceLocale\": \"en\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Webhook", "<x-webhook>")
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://eu.phrase.com/connectors/knak/v1/async/list-files")
.header("X-Webhook", "<x-webhook>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"credentials\": {\n \"connectionUid\": \"7d1b0a52-4c0e-4f4e-9d52-1f2f5b0b8a11\",\n \"organizationUid\": \"3f9a6d0e-8c1b-4a57-b0a1-6c2d9e4f7a10\"\n },\n \"path\": {\n \"pathType\": \"ROOT\",\n \"status\": \"requested\"\n },\n \"sourceLocale\": \"en\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://eu.phrase.com/connectors/knak/v1/async/list-files")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Webhook"] = '<x-webhook>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"credentials\": {\n \"connectionUid\": \"7d1b0a52-4c0e-4f4e-9d52-1f2f5b0b8a11\",\n \"organizationUid\": \"3f9a6d0e-8c1b-4a57-b0a1-6c2d9e4f7a10\"\n },\n \"path\": {\n \"pathType\": \"ROOT\",\n \"status\": \"requested\"\n },\n \"sourceLocale\": \"en\"\n}"
response = http.request(request)
puts response.read_body{
"requestId": "e48eda63-928c-4155-bez9-fdbsaadc15f3",
"webHookUrl": "https://example.tld/my-webhook"
}""Authorizations
IDM-issued JWT. Obtain via the IDM authentication flow and pass as: Bearer
Headers
A logging ID of the request. It is propagated through Phrase systems, making it easier to connect logs from various services. If no ActionId is sent with a request, one will be generated by Bifrost and returned with the response.
Required on /async/... endpoints. Bifrost POSTs the operation result to this URL once the connector finishes processing.
Omitting this header on an async endpoint returns 400.
Body
Request body for listing Knak translation requests. The response is a list of remoteResources you can feed back into the download endpoint.
Connection holding the Knak API key.
Show child attributes
Show child attributes
Which translation requests to list: ROOT (all visible to the API user, optionally filtered).
- Option 1
- Option 2
Show child attributes
Show child attributes
Locale of the items to list (locale code, e.g. en).
1"en"
Knak-specific settings (currently none); may be omitted.
Response
Successful operation. If X-ResponseType is set to 'ID' or no value is sent in the header, the file is saved and can be retrieved by sending a GET request to this endpoint. If X-ResponseType is set to 'OBJECT', the file is returned as a stream.
Was this page helpful?