curl --request POST \
--url https://edge.sterndesk.com/rpc/rpc.v1.OrganizationService/WaitForSearchSync \
--header 'Authorization: Bearer <token>' \
--header 'Connect-Protocol-Version: <connect-protocol-version>' \
--header 'Content-Type: application/json' \
--data '
{
"jobPostingIds": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"crewProfileIds": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
]
}
'import requests
url = "https://edge.sterndesk.com/rpc/rpc.v1.OrganizationService/WaitForSearchSync"
payload = {
"jobPostingIds": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"crewProfileIds": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"]
}
headers = {
"Connect-Protocol-Version": "<connect-protocol-version>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'Connect-Protocol-Version': '<connect-protocol-version>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
jobPostingIds: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
crewProfileIds: ['3c90c3cc-0d44-4b50-8888-8dd25736052a']
})
};
fetch('https://edge.sterndesk.com/rpc/rpc.v1.OrganizationService/WaitForSearchSync', 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://edge.sterndesk.com/rpc/rpc.v1.OrganizationService/WaitForSearchSync",
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([
'jobPostingIds' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'crewProfileIds' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Connect-Protocol-Version: <connect-protocol-version>",
"Content-Type: application/json"
],
]);
$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://edge.sterndesk.com/rpc/rpc.v1.OrganizationService/WaitForSearchSync"
payload := strings.NewReader("{\n \"jobPostingIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"crewProfileIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Connect-Protocol-Version", "<connect-protocol-version>")
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://edge.sterndesk.com/rpc/rpc.v1.OrganizationService/WaitForSearchSync")
.header("Connect-Protocol-Version", "<connect-protocol-version>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"jobPostingIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"crewProfileIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://edge.sterndesk.com/rpc/rpc.v1.OrganizationService/WaitForSearchSync")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Connect-Protocol-Version"] = '<connect-protocol-version>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"jobPostingIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"crewProfileIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"synced": true,
"pendingJobPostingIds": [
"<string>"
],
"pendingCrewProfileIds": [
"<string>"
]
}{
"code": "not_found",
"message": "<string>",
"details": [
{
"type": "<string>",
"value": "<string>",
"debug": {}
}
]
}WaitForSearchSync
Wait until the changes already saved to job postings and crew profiles are visible to the search methods such as SearchJobPostings and SearchCrewProfiles. Call it after a successful create, update or delete with the ids of the changed records, then refetch the list. It returns as soon as every record is searchable, or after at most 10 seconds with the records that are still pending. It makes no change.
curl --request POST \
--url https://edge.sterndesk.com/rpc/rpc.v1.OrganizationService/WaitForSearchSync \
--header 'Authorization: Bearer <token>' \
--header 'Connect-Protocol-Version: <connect-protocol-version>' \
--header 'Content-Type: application/json' \
--data '
{
"jobPostingIds": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"crewProfileIds": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
]
}
'import requests
url = "https://edge.sterndesk.com/rpc/rpc.v1.OrganizationService/WaitForSearchSync"
payload = {
"jobPostingIds": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"crewProfileIds": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"]
}
headers = {
"Connect-Protocol-Version": "<connect-protocol-version>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'Connect-Protocol-Version': '<connect-protocol-version>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
jobPostingIds: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
crewProfileIds: ['3c90c3cc-0d44-4b50-8888-8dd25736052a']
})
};
fetch('https://edge.sterndesk.com/rpc/rpc.v1.OrganizationService/WaitForSearchSync', 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://edge.sterndesk.com/rpc/rpc.v1.OrganizationService/WaitForSearchSync",
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([
'jobPostingIds' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'crewProfileIds' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Connect-Protocol-Version: <connect-protocol-version>",
"Content-Type: application/json"
],
]);
$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://edge.sterndesk.com/rpc/rpc.v1.OrganizationService/WaitForSearchSync"
payload := strings.NewReader("{\n \"jobPostingIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"crewProfileIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Connect-Protocol-Version", "<connect-protocol-version>")
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://edge.sterndesk.com/rpc/rpc.v1.OrganizationService/WaitForSearchSync")
.header("Connect-Protocol-Version", "<connect-protocol-version>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"jobPostingIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"crewProfileIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://edge.sterndesk.com/rpc/rpc.v1.OrganizationService/WaitForSearchSync")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Connect-Protocol-Version"] = '<connect-protocol-version>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"jobPostingIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"crewProfileIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"synced": true,
"pendingJobPostingIds": [
"<string>"
],
"pendingCrewProfileIds": [
"<string>"
]
}{
"code": "not_found",
"message": "<string>",
"details": [
{
"type": "<string>",
"value": "<string>",
"debug": {}
}
]
}Authorizations
Personal API key, sent as Authorization: Bearer <key>.
Headers
Define the version of the Connect protocol
1
Define the timeout, in ms
1000
Body
request to wait until changes of job postings and crew profiles are searchable
Response
Success
response of waiting until changes of job postings and crew profiles are searchable
true when every requested record is searchable, false when the wait ended with records still pending
ids of the requested job postings whose changes are not yet searchable
ids of the requested crew profiles whose changes are not yet searchable