curl --request PUT \
--url https://app.leadconduit.com/onboards/{id} \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"invitation_id": "64b8f0f5e4b0c3a1d5e6f7a9",
"account_id": "64b8f0f5e4b0c3a1d5e6f7a8",
"connection_id": "64b8f0f5e4b0c3a1d5e6f7aa",
"flow_id": "64b8f0f5e4b0c3a1d5e6f7ab",
"status": "created"
}
'import requests
url = "https://app.leadconduit.com/onboards/{id}"
payload = {
"invitation_id": "64b8f0f5e4b0c3a1d5e6f7a9",
"account_id": "64b8f0f5e4b0c3a1d5e6f7a8",
"connection_id": "64b8f0f5e4b0c3a1d5e6f7aa",
"flow_id": "64b8f0f5e4b0c3a1d5e6f7ab",
"status": "created"
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
invitation_id: '64b8f0f5e4b0c3a1d5e6f7a9',
account_id: '64b8f0f5e4b0c3a1d5e6f7a8',
connection_id: '64b8f0f5e4b0c3a1d5e6f7aa',
flow_id: '64b8f0f5e4b0c3a1d5e6f7ab',
status: 'created'
})
};
fetch('https://app.leadconduit.com/onboards/{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://app.leadconduit.com/onboards/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'invitation_id' => '64b8f0f5e4b0c3a1d5e6f7a9',
'account_id' => '64b8f0f5e4b0c3a1d5e6f7a8',
'connection_id' => '64b8f0f5e4b0c3a1d5e6f7aa',
'flow_id' => '64b8f0f5e4b0c3a1d5e6f7ab',
'status' => 'created'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"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://app.leadconduit.com/onboards/{id}"
payload := strings.NewReader("{\n \"invitation_id\": \"64b8f0f5e4b0c3a1d5e6f7a9\",\n \"account_id\": \"64b8f0f5e4b0c3a1d5e6f7a8\",\n \"connection_id\": \"64b8f0f5e4b0c3a1d5e6f7aa\",\n \"flow_id\": \"64b8f0f5e4b0c3a1d5e6f7ab\",\n \"status\": \"created\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
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.put("https://app.leadconduit.com/onboards/{id}")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"invitation_id\": \"64b8f0f5e4b0c3a1d5e6f7a9\",\n \"account_id\": \"64b8f0f5e4b0c3a1d5e6f7a8\",\n \"connection_id\": \"64b8f0f5e4b0c3a1d5e6f7aa\",\n \"flow_id\": \"64b8f0f5e4b0c3a1d5e6f7ab\",\n \"status\": \"created\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.leadconduit.com/onboards/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"invitation_id\": \"64b8f0f5e4b0c3a1d5e6f7a9\",\n \"account_id\": \"64b8f0f5e4b0c3a1d5e6f7a8\",\n \"connection_id\": \"64b8f0f5e4b0c3a1d5e6f7aa\",\n \"flow_id\": \"64b8f0f5e4b0c3a1d5e6f7ab\",\n \"status\": \"created\"\n}"
response = http.request(request)
puts response.read_body{
"invitation_id": "64b8f0f5e4b0c3a1d5e6f7a9",
"id": "5fd4371e940df5a34a3888b2",
"account_id": "64b8f0f5e4b0c3a1d5e6f7a8",
"connection_id": "64b8f0f5e4b0c3a1d5e6f7aa",
"flow_id": "64b8f0f5e4b0c3a1d5e6f7ab",
"status": "created",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}{
"message": "Failed to validate invitation id"
}{
"error": "not authorized"
}{
"message": "Onboard not found"
}{
"message": "Onboard was not updated"
}Update an existing onboard
Updates an existing onboard record. When the status is set to completed, the backend automatically triggers the buyer delivery setup process by calling the /onboard/buyer endpoint internally. This will:
- Find the seller account and their flows that deliver to this buyer
- Update or create a buyer flow with the seller as a source
- Update seller flows with the buyer’s flow_id mapping
- Send notification emails to seller account users
- Mark the connection as having buyer delivery setup complete
Important: Ensure all required fields (invitation_id, connection_id) are properly set before marking the onboard as completed.
curl --request PUT \
--url https://app.leadconduit.com/onboards/{id} \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"invitation_id": "64b8f0f5e4b0c3a1d5e6f7a9",
"account_id": "64b8f0f5e4b0c3a1d5e6f7a8",
"connection_id": "64b8f0f5e4b0c3a1d5e6f7aa",
"flow_id": "64b8f0f5e4b0c3a1d5e6f7ab",
"status": "created"
}
'import requests
url = "https://app.leadconduit.com/onboards/{id}"
payload = {
"invitation_id": "64b8f0f5e4b0c3a1d5e6f7a9",
"account_id": "64b8f0f5e4b0c3a1d5e6f7a8",
"connection_id": "64b8f0f5e4b0c3a1d5e6f7aa",
"flow_id": "64b8f0f5e4b0c3a1d5e6f7ab",
"status": "created"
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
invitation_id: '64b8f0f5e4b0c3a1d5e6f7a9',
account_id: '64b8f0f5e4b0c3a1d5e6f7a8',
connection_id: '64b8f0f5e4b0c3a1d5e6f7aa',
flow_id: '64b8f0f5e4b0c3a1d5e6f7ab',
status: 'created'
})
};
fetch('https://app.leadconduit.com/onboards/{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://app.leadconduit.com/onboards/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'invitation_id' => '64b8f0f5e4b0c3a1d5e6f7a9',
'account_id' => '64b8f0f5e4b0c3a1d5e6f7a8',
'connection_id' => '64b8f0f5e4b0c3a1d5e6f7aa',
'flow_id' => '64b8f0f5e4b0c3a1d5e6f7ab',
'status' => 'created'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"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://app.leadconduit.com/onboards/{id}"
payload := strings.NewReader("{\n \"invitation_id\": \"64b8f0f5e4b0c3a1d5e6f7a9\",\n \"account_id\": \"64b8f0f5e4b0c3a1d5e6f7a8\",\n \"connection_id\": \"64b8f0f5e4b0c3a1d5e6f7aa\",\n \"flow_id\": \"64b8f0f5e4b0c3a1d5e6f7ab\",\n \"status\": \"created\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
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.put("https://app.leadconduit.com/onboards/{id}")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"invitation_id\": \"64b8f0f5e4b0c3a1d5e6f7a9\",\n \"account_id\": \"64b8f0f5e4b0c3a1d5e6f7a8\",\n \"connection_id\": \"64b8f0f5e4b0c3a1d5e6f7aa\",\n \"flow_id\": \"64b8f0f5e4b0c3a1d5e6f7ab\",\n \"status\": \"created\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.leadconduit.com/onboards/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"invitation_id\": \"64b8f0f5e4b0c3a1d5e6f7a9\",\n \"account_id\": \"64b8f0f5e4b0c3a1d5e6f7a8\",\n \"connection_id\": \"64b8f0f5e4b0c3a1d5e6f7aa\",\n \"flow_id\": \"64b8f0f5e4b0c3a1d5e6f7ab\",\n \"status\": \"created\"\n}"
response = http.request(request)
puts response.read_body{
"invitation_id": "64b8f0f5e4b0c3a1d5e6f7a9",
"id": "5fd4371e940df5a34a3888b2",
"account_id": "64b8f0f5e4b0c3a1d5e6f7a8",
"connection_id": "64b8f0f5e4b0c3a1d5e6f7aa",
"flow_id": "64b8f0f5e4b0c3a1d5e6f7ab",
"status": "created",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}{
"message": "Failed to validate invitation id"
}{
"error": "not authorized"
}{
"message": "Onboard not found"
}{
"message": "Onboard was not updated"
}Authorizations
LeadConduit uses HTTP Basic Authentication
with the username API and your API key as the password.
For example: API:1f1b96c9150d8050e858c043d543bb4eadae0e6f'
Path Parameters
ID of the onboard to update 24 character alpha-numeric BSON identifier
^[0-9a-fA-F]{24}$"5fd4371e940df5a34a3888b2"
Body
Update an onboard
An onboard record tracks the onboarding process for a buyer connection
The invitation ID associated with this onboard
^[0-9a-fA-F]{24}$"64b8f0f5e4b0c3a1d5e6f7a9"
The account ID that owns this onboard
^[0-9a-fA-F]{24}$"64b8f0f5e4b0c3a1d5e6f7a8"
The connection ID used for the onboard (retrieved from the invitation)
^[0-9a-fA-F]{24}$"64b8f0f5e4b0c3a1d5e6f7aa"
The flow ID to be used for the onboard (normally the minimal flow)
^[0-9a-fA-F]{24}$"64b8f0f5e4b0c3a1d5e6f7ab"
Current status of the onboard process, recommended values are: created, in_progress, completed
"created"
Response
OK - Onboard updated successfully. If status is set to 'completed', the backend will automatically trigger the buyer delivery setup process.
An onboard record tracks the onboarding process for a buyer connection
The invitation ID associated with this onboard
^[0-9a-fA-F]{24}$"64b8f0f5e4b0c3a1d5e6f7a9"
24 character alpha-numeric BSON identifier
^[0-9a-fA-F]{24}$"5fd4371e940df5a34a3888b2"
The account ID that owns this onboard
^[0-9a-fA-F]{24}$"64b8f0f5e4b0c3a1d5e6f7a8"
The connection ID used for the onboard (retrieved from the invitation)
^[0-9a-fA-F]{24}$"64b8f0f5e4b0c3a1d5e6f7aa"
The flow ID to be used for the onboard (normally the minimal flow)
^[0-9a-fA-F]{24}$"64b8f0f5e4b0c3a1d5e6f7ab"
Current status of the onboard process, recommended values are: created, in_progress, completed
"created"
Timestamp when the onboard was created
Timestamp when the onboard was last updated