Extend Shareholder Graph
Extend a completed shareholder graph by continuing its traversal deeper. Resumes from the referenced order's persisted state and extracts `additionalDepth` further ownership levels from its unexpanded frontier (or from the specific `extendNodeIds` if given). Charges once per extended node, at the extension SKU of that node's jurisdiction — for an exact, uncharged preview of the cost, call the sibling POST /v2/companies/shareholder-graph/{orderId}/extend/quote with the same body first. Returns a new async order; poll GET /v2/companies/shareholder-graph/{orderId} or subscribe via webhook.
Authorization
api_key Sign up at Kausate.com to get an API key
In: header
Path Parameters
Completed shareholder-graph order ID to extend
Query Parameters
Mark as a batch/backfill request. Batch requests run at lowest priority to avoid blocking interactive queries.
falseHeader Parameters
"2025-04-01"dateOptional customer ID
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://api.kausate.com/v2/companies/shareholder-graph/string/extend" \ -H "Kausate-Version: 2025-04-01" \ -H "Content-Type: application/json" \ -d '{}'{
"orderId": "string",
"kausateId": "string",
"customerReference": "string",
"customerId": "string"
}{
"detail": "Invalid company ID format",
"code": "request.invalid",
"request_id": "req_01J8Z5V4Q2X9N7B3C6D1E0F2G4"
}{
"detail": "Not authenticated",
"code": "auth.unauthorized",
"request_id": "req_01J8Z5V4Q2X9N7B3C6D1E0F2G4"
}{
"detail": "Invalid API key",
"code": "auth.forbidden",
"request_id": "req_01J8Z5V4Q2X9N7B3C6D1E0F2G4"
}{
"detail": "Company not found",
"code": "company.not_found",
"request_id": "req_01J8Z5V4Q2X9N7B3C6D1E0F2G4"
}{
"detail": "Order '...' is still running; wait for it to complete before requesting an extension.",
"code": "resource.conflict",
"request_id": "req_01J8Z5V4Q2X9N7B3C6D1E0F2G4"
}{
"detail": "The continuation state for this order has expired or was never persisted. Order a fresh shareholder graph instead.",
"code": "order.continuation_state_not_found",
"request_id": "req_01J8Z5V4Q2X9N7B3C6D1E0F2G4"
}{
"detail": [
{
"loc": [
"body",
"jurisdictionCode"
],
"msg": "Field required",
"type": "missing"
}
],
"code": "request.invalid",
"request_id": "req_01J8Z5V4Q2X9N7B3C6D1E0F2G4"
}{
"detail": "Rate limit exceeded, please try again later",
"code": "source.rate_limited",
"request_id": "req_01J8Z5V4Q2X9N7B3C6D1E0F2G4"
}{
"detail": "An internal error occurred",
"code": "internal.unexpected",
"request_id": "req_01J8Z5V4Q2X9N7B3C6D1E0F2G4"
}{
"detail": "This capability is not available for this jurisdiction",
"code": "capability.not_available",
"request_id": "req_01J8Z5V4Q2X9N7B3C6D1E0F2G4"
}{
"detail": "Network connection error",
"code": "source.network_error",
"request_id": "req_01J8Z5V4Q2X9N7B3C6D1E0F2G4"
}{
"detail": "Data source temporarily unavailable",
"code": "source.unavailable",
"request_id": "req_01J8Z5V4Q2X9N7B3C6D1E0F2G4"
}Last updated on
Publish Shareholder GraphPOST
Publish a completed shareholder-graph order behind an unguessable public URL. The returned `publicUrl` renders the same UBO studio visualization as the authenticated app. The slug is a capability token — anyone holding it can view the graph, so treat it like a secret.
Quote Shareholder Graph ExtensionPOST
Quote what extending a completed shareholder graph would cost — before ordering. Takes the same body as POST /v2/companies/shareholder-graph/{orderId}/extend and resolves exactly which nodes that extension would extend, pricing each at your organization's effective credit price for the node's jurisdiction extension SKU. Nodes the extension would skip (and never charge) are listed under `excludedNodes` with the reason. No workflow is started and nothing is charged. If every requested node is excluded, `orderWouldFail` is `true`: an identical extend order would be accepted but then fail asynchronously instead of completing as a free no-op.