Skip to main content
GET
/
v1
/
resolve-parent
/
{job_id}
Get resolve parent result
curl --request GET \
  --url https://api.kernel.ai/rest/v1/resolve-parent/{job_id} \
  --header 'x-api-key: <api-key>'
{
  "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "status": "completed",
  "created_at": "2025-06-05T12:00:00Z",
  "completed_at": "2025-06-05T12:00:05Z",
  "record": {
    "kernel_id": "6347422643",
    "parent": {
      "kernel_id": "7944166432",
      "company_name": "Alphabet Inc.",
      "legal_name": "Alphabet Inc.",
      "url": "https://abc.xyz",
      "country": "US",
      "entity_category": "Company",
      "entity_sub_category": "HoldCo/Investment",
      "reasoning": "Google LLC is a wholly-owned subsidiary of Alphabet Inc., its parent holding company.",
      "confidence": "HIGH"
    },
    "top_parent": {
      "kernel_id": "7944166432",
      "company_name": "Alphabet Inc.",
      "legal_name": "Alphabet Inc.",
      "url": "https://abc.xyz",
      "country": "US",
      "entity_category": "Company",
      "entity_sub_category": "HoldCo/Investment",
      "reasoning": "Alphabet Inc. is the ultimate parent in the corporate hierarchy, with no parent of its own.",
      "confidence": "HIGH"
    },
    "regional_subsidiary": {
      "is_regional": false,
      "regional_scope": null,
      "reasoning": null
    }
  }
}
Poll this endpoint to check the status and retrieve the result of a parent hierarchy resolution job.

Status lifecycle

Jobs progress linearly to a terminal state:
pending → processing → completed | failed
Once a job reaches completed or failed, the status does not change.

Result structure

When status is completed, the record field contains the parent hierarchy data with parent, top_parent, and regional_subsidiary. For pending or processing jobs, only status is returned. For failed jobs, record is null.

Example

curl
curl https://api.kernel.ai/rest/v1/resolve-parent/a1b2c3d4-e5f6-7890-abcd-ef1234567890 \
  -H "x-api-key: $KERNEL_API_KEY"
Response (200) — completed, parent found
{
  "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "status": "completed",
  "created_at": "2025-06-05T12:00:00Z",
  "completed_at": "2025-06-05T12:00:05Z",
  "record": {
    "kernel_id": "6347422643",
    "parent": {
      "kernel_id": "7944166432",
      "company_name": "Alphabet Inc.",
      "legal_name": "Alphabet Inc.",
      "url": "https://abc.xyz",
      "country": "US",
      "entity_category": "Company",
      "entity_sub_category": "HoldCo/Investment",
      "reasoning": "Google LLC is a wholly-owned subsidiary of Alphabet Inc., its parent holding company.",
      "confidence": "HIGH"
    },
    "top_parent": {
      "kernel_id": "7944166432",
      "company_name": "Alphabet Inc.",
      "legal_name": "Alphabet Inc.",
      "url": "https://abc.xyz",
      "country": "US",
      "entity_category": "Company",
      "entity_sub_category": "HoldCo/Investment",
      "reasoning": "Alphabet Inc. is the ultimate parent in the corporate hierarchy, with no parent of its own.",
      "confidence": "HIGH"
    },
    "regional_subsidiary": {
      "is_regional": false,
      "regional_scope": null,
      "reasoning": null
    }
  }
}
Response (200) — completed, no parent (standalone entity)
{
  "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "status": "completed",
  "created_at": "2025-06-05T12:00:00Z",
  "completed_at": "2025-06-05T12:00:05Z",
  "record": {
    "kernel_id": "6347422643",
    "parent": null,
    "top_parent": null,
    "regional_subsidiary": {
      "is_regional": false,
      "regional_scope": null,
      "reasoning": null
    }
  }
}
Response (200) — pending
{
  "status": "pending"
}
Response (200) — failed
{
  "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "status": "failed",
  "created_at": "2025-06-05T12:00:00Z",
  "completed_at": "2025-06-05T12:00:05Z"
}

Response fields

record.parent

object | null — The immediate parent entity. null when the entity has no parent (standalone).
FieldTypeDescription
kernel_idstringKernel ID of the parent entity
company_namestring | nullParent company display name
legal_namestring | nullParent registered legal name
urlstring | nullParent company website URL
countrystring | nullParent country (ISO 3166-1 alpha-2 or full name)
entity_categorystring | nullParent entity category. One of: Company, Government, Education
entity_sub_categorystring | nullParent entity sub-category. One of: Operating, HoldCo/Investment, Business Unit, Establishment
reasoningstring | nullExplanation of why this entity was identified as the parent
confidencestring | nullConfidence in the parent identification. One of: HIGH, MEDIUM, LOW

record.top_parent

object | null — The ultimate parent entity at the top of the corporate hierarchy. null when the entity has no parent (standalone). Uses the same schema as parent.

record.regional_subsidiary

object — Whether the queried entity operates as a regional subsidiary of its parent.
FieldTypeDescription
is_regionalboolean | nulltrue if the entity is a regional subsidiary, false if not. null when not yet determined.
regional_scopestring | nullThe country scope of the regional operation (e.g. "United States", "India"). null when not a regional subsidiary or not yet determined.
reasoningstring | nullExplanation of the regional subsidiary classification

Polling guidance

  • Use exponential backoff between polls (start at 2 seconds, cap at 30 seconds).
  • Jobs that do not exist yet (or whose ID is unknown) return { "status": "pending" }.

Authorizations

x-api-key
string
header
required

Include your API key in the x-api-key header.

Path Parameters

job_id
string
required

Job ID returned by the POST endpoint

Example:

"a1b2c3d4-e5f6-7890-abcd-ef1234567890"

Response

Job status response

id
string
required

Unique identifier for the job.

Example:

"a1b2c3d4-e5f6-7890-abcd-ef1234567890"

status
enum<string>
required

Current status of the job. Terminal states are completed and failed.

Available options:
pending,
processing,
completed,
failed
created_at
string<date-time>

ISO 8601 timestamp when the job was created.

Example:

"2025-06-05T12:00:00Z"

completed_at
string<date-time>

ISO 8601 timestamp when the job reached a terminal state.

Example:

"2025-06-05T12:00:05Z"

record
object

Parent hierarchy data. Present when status is completed.