Genealogy
Read a durable move job
Read company execution progress with members.view or legacy users.view permission, including while admission is disabled. Worker claim tokens are never exposed. The example uses illustrative fixture IDs. Substitute records visible to your authenticated company or member.
GET
/
api
/
company
/
v2026-10
/
genealogy
/
move-jobs
/
{id}
Read a durable move job
curl -X GET 'https://api.fluid.app/api/company/v2026-10/genealogy/move-jobs/01a08944-f646-7385-b8c7-a71782556f1a' \
-H 'Authorization: Bearer <company-token>'import requests
url = "https://api.fluid.app/api/company/v2026-10/genealogy/move-jobs/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.fluid.app/api/company/v2026-10/genealogy/move-jobs/{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://api.fluid.app/api/company/v2026-10/genealogy/move-jobs/{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://api.fluid.app/api/company/v2026-10/genealogy/move-jobs/{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://api.fluid.app/api/company/v2026-10/genealogy/move-jobs/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluid.app/api/company/v2026-10/genealogy/move-jobs/{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{
"move_job": {
"id": "01a08944-f646-7385-b8c7-a71782556f1a",
"approval_request_id": null,
"attempts": 0,
"created_at": "2026-09-10T03:03:13.222011Z",
"failure_details": {},
"failure_type": null,
"finished_at": null,
"leg": null,
"node_id": "01a08944-f636-74d7-b342-68712a8cfcfc",
"parent_node_id": "01a08944-f63a-7afc-beb0-6241d6a9b4b6",
"placement_id": null,
"reason": null,
"requested_by_id": "c0dd6812-0ba6-56d2-879c-a36112f813c2",
"requested_by_type": "Company::Member",
"started_at": null,
"status": "pending",
"tree_id": "7096ad49-7117-53f6-8f7f-4805473d14c5"
},
"status": 200,
"meta": {
"request_uuid": null,
"timestamp": "2026-09-10T03:03:13Z"
}
}{
"message": "<string>",
"error": "<unknown>"
}{
"message": "<string>",
"error": "<unknown>"
}{
"status": 123,
"error": {
"message": "<string>",
"details": {}
},
"meta": {
"request_uuid": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}
}{
"status": 123,
"error": {
"message": "<string>",
"details": {}
},
"meta": {
"request_uuid": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}
}Authorizations
Company admin or company service token, subject to developer permissions.
Path Parameters
Move job UUID.
⌘I
Read a durable move job
curl -X GET 'https://api.fluid.app/api/company/v2026-10/genealogy/move-jobs/01a08944-f646-7385-b8c7-a71782556f1a' \
-H 'Authorization: Bearer <company-token>'import requests
url = "https://api.fluid.app/api/company/v2026-10/genealogy/move-jobs/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.fluid.app/api/company/v2026-10/genealogy/move-jobs/{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://api.fluid.app/api/company/v2026-10/genealogy/move-jobs/{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://api.fluid.app/api/company/v2026-10/genealogy/move-jobs/{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://api.fluid.app/api/company/v2026-10/genealogy/move-jobs/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluid.app/api/company/v2026-10/genealogy/move-jobs/{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{
"move_job": {
"id": "01a08944-f646-7385-b8c7-a71782556f1a",
"approval_request_id": null,
"attempts": 0,
"created_at": "2026-09-10T03:03:13.222011Z",
"failure_details": {},
"failure_type": null,
"finished_at": null,
"leg": null,
"node_id": "01a08944-f636-74d7-b342-68712a8cfcfc",
"parent_node_id": "01a08944-f63a-7afc-beb0-6241d6a9b4b6",
"placement_id": null,
"reason": null,
"requested_by_id": "c0dd6812-0ba6-56d2-879c-a36112f813c2",
"requested_by_type": "Company::Member",
"started_at": null,
"status": "pending",
"tree_id": "7096ad49-7117-53f6-8f7f-4805473d14c5"
},
"status": 200,
"meta": {
"request_uuid": null,
"timestamp": "2026-09-10T03:03:13Z"
}
}{
"message": "<string>",
"error": "<unknown>"
}{
"message": "<string>",
"error": "<unknown>"
}{
"status": 123,
"error": {
"message": "<string>",
"details": {}
},
"meta": {
"request_uuid": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}
}{
"status": 123,
"error": {
"message": "<string>",
"details": {}
},
"meta": {
"request_uuid": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}
}