Get the saved onboarding journey
curl --request GET \
--url https://api.app.lastaccountingcompany.com/portal/onboarding/journey \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.app.lastaccountingcompany.com/portal/onboarding/journey"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.app.lastaccountingcompany.com/portal/onboarding/journey', 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.app.lastaccountingcompany.com/portal/onboarding/journey",
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.app.lastaccountingcompany.com/portal/onboarding/journey"
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.app.lastaccountingcompany.com/portal/onboarding/journey")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.app.lastaccountingcompany.com/portal/onboarding/journey")
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{
"customer_id": "<string>",
"checklist": {},
"answers": [
{
"question_key": "business_activity",
"answer": {
"text": "<string>"
},
"skipped": true,
"answered_at": "2023-11-07T05:31:56Z"
}
],
"sources": [
{
"kind": "banking",
"name": "<string>",
"id": "<string>",
"declared_at": "2023-11-07T05:31:56Z",
"provider_key": "<string>",
"description": "<string>"
}
],
"statements": [
{
"id": "<string>",
"kind": "balance_sheet",
"document_id": "<string>",
"uploaded_at": "2023-11-07T05:31:56Z"
}
],
"source_fingerprint": "<string>",
"sources_confirmed": true,
"journey_complete": true,
"resume_step": "<string>",
"platform_access": {
"released": true,
"action": "released",
"actor": "<string>",
"reason": "<string>",
"changed_at": "2023-11-07T05:31:56Z"
},
"customer_can_edit": true,
"existing_accounting": {
"value": true,
"system": "none",
"name": "<string>"
}
}{
"error": "<string>",
"detail": "<string>"
}{
"error": "<string>",
"detail": "<string>"
}Onboarding
Get the saved onboarding journey
Returns canonical answers, sources, opening statements, the first missing step, and the current platform-access decision. Completion is derived from facts; no mutable step counter exists.
GET
/
onboarding
/
journey
Get the saved onboarding journey
curl --request GET \
--url https://api.app.lastaccountingcompany.com/portal/onboarding/journey \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.app.lastaccountingcompany.com/portal/onboarding/journey"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.app.lastaccountingcompany.com/portal/onboarding/journey', 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.app.lastaccountingcompany.com/portal/onboarding/journey",
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.app.lastaccountingcompany.com/portal/onboarding/journey"
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.app.lastaccountingcompany.com/portal/onboarding/journey")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.app.lastaccountingcompany.com/portal/onboarding/journey")
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{
"customer_id": "<string>",
"checklist": {},
"answers": [
{
"question_key": "business_activity",
"answer": {
"text": "<string>"
},
"skipped": true,
"answered_at": "2023-11-07T05:31:56Z"
}
],
"sources": [
{
"kind": "banking",
"name": "<string>",
"id": "<string>",
"declared_at": "2023-11-07T05:31:56Z",
"provider_key": "<string>",
"description": "<string>"
}
],
"statements": [
{
"id": "<string>",
"kind": "balance_sheet",
"document_id": "<string>",
"uploaded_at": "2023-11-07T05:31:56Z"
}
],
"source_fingerprint": "<string>",
"sources_confirmed": true,
"journey_complete": true,
"resume_step": "<string>",
"platform_access": {
"released": true,
"action": "released",
"actor": "<string>",
"reason": "<string>",
"changed_at": "2023-11-07T05:31:56Z"
},
"customer_can_edit": true,
"existing_accounting": {
"value": true,
"system": "none",
"name": "<string>"
}
}{
"error": "<string>",
"detail": "<string>"
}{
"error": "<string>",
"detail": "<string>"
}Authorizations
Portal API key minted in portal Settings → API access. Scope read or write; pinned to one company. Send as Authorization: Bearer lac_sk_....
Query Parameters
Target company. Optional — API keys are pinned to one company, and single-company sessions default to it.
Response
Current onboarding journey.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes