Unify and manage your data

Manage entity results and exports

Learn more about managing per-entity results and exports for a conversation.

The Manage entity results and exports operations let you review how an LRT job processed each entity, drill into a single entity's full record, and export the results so you can analyze them outside Reltio.

The following operations are supported:

Entity status counts for a conversation

Aggregate processed/failed/needs-review counts for a conversation, with a per-entity-type breakdown. Answer counting questions from this endpoint rather than listing every entity.

Note: The per-entity state table used by this operation is populated only for tenants with Horizontal LRT enabled. For other tenants, the counts are zero.

HTTP method and endpoint

Use the following HTTP method and endpoint path to entity status counts for a conversation.

POST {TenantURL}/ai/agentflow/api/v202605/{tenant_id}/lrt/jobs/conversation/{conversation_id}/entities/summary

The following table describes the endpoint path parameters.

ParameterTypeRequiredDescription
TenantURLStringYesThe base URL for your tenant.
conversation_idStringYes-
tenant_idStringYesThe tenant identifier.

Request headers

The following request headers must be included.

HeaderValueRequired
Authorization<access_token>Yes
Content-Typeapplication/jsonYes

Request body

The following table describes the request body parameters.

ParameterTypeRequiredDescriptionAccepted values / Default
filter_conditionObjectNoOptional entity_type / status filter to scope the counts-
filter_condition.entity_typeStringNoFilter by entity type-
filter_condition.entity_idStringNoFilter by entity ID-
filter_condition.statusStringNoFilter by entity outcome status-
filter_condition.decision_codeStringNoFilter by structured decision code (e.g. NO_MATCH)-
run_idStringNoScope the counts to a single worker run-

Example request

Use the following example to see how a complete request is structured, with headers and a JSON body.

POST {TenantURL}/ai/agentflow/api/v202605/tenant-xyz/lrt/jobs/conversation/example-id/entities/summary
Authorization: <access_token>
Content-Type: application/json

{
  "filter_condition": {
    "entity_type": "<string>",
    "entity_id": "<string>",
    "status": "<string>",
    "decision_code": "<string>"
  },
  "run_id": "<string>"
}

Response body

The following table describes the fields returned in the response body.

ParameterTypeDescription
conversation_idStringConversation identifier
totalIntegerTotal entities counted
countsObjectCounts bucketed by public status
counts.processedIntegerEntities that completed successfully
counts.failedIntegerEntities that failed processing
counts.needs_reviewIntegerEntities awaiting human review
by_entity_typeArrayPer-entity-type status breakdown
by_entity_type[].entity_typeStringEntity type, or 'unknown' when the producer omitted it
by_entity_type[].processedIntegerProcessed entities of this type
by_entity_type[].failedIntegerFailed entities of this type
by_entity_type[].needs_reviewIntegerNeeds-review entities of this type
by_entity_type[].totalIntegerTotal entities of this type
top_reasonsArrayMost common short reasons, ordered by descending count
top_reasons[].reasonStringShort rationale text
top_reasons[].statusStringPublic status the reason was recorded against
top_reasons[].countIntegerEntities sharing this reason
top_reasons_truncatedBooleanTrue if distinct reasons were dropped by the top-reasons cap
by_decision_codeArrayCounts per structured decision code. Lower cardinality and more reliable than grouping free-text reasons
by_decision_code[].decision_codeStringStructured outcome code, e.g. NO_MATCH
by_decision_code[].statusStringPublic status the code was recorded against
by_decision_code[].countIntegerEntities sharing this code
sample_entitiesArrayA handful of matching entity rows (same shape as entities/list), so a caller can see concrete entity_id/decision_code/reason values before building an entities/list or entities/detail filter
sample_entities[].entity_idStringEntity identifier
sample_entities[].entity_typeStringEntity type, reduced from its stored URI to the bare name
sample_entities[].labelStringHuman-readable entity label
sample_entities[].statusStringNormalized status: processed, failed, or needs_review
sample_entities[].decision_codeStringStructured outcome code, e.g. NO_MATCH
sample_entities[].reasonStringShort rationale, truncated for compactness
sample_entities[].confidenceStringConfidence band, when the producer emitted one
sample_entities[].run_idStringRun this entity was processed under
filtered_totalIntegerCount for the requested status filter, when one was supplied
truncatedBooleanTrue if the count sweep hit its page cap, so counts under-report

Example response

The following example shows a response with successful response.

{
  "conversation_id": "<string>",
  "total": 0,
  "counts": {
    "processed": 0,
    "failed": 0,
    "needs_review": 0
  },
  "by_entity_type": [
    {
      "entity_type": "<string>",
      "processed": 0,
      "failed": 0,
      "needs_review": 0,
      "total": 0
    }
  ],
  "top_reasons": [
    {
      "reason": "<string>",
      "status": "<string>",
      "count": 0
    }
  ],
  "top_reasons_truncated": false,
  "by_decision_code": [
    {
      "decision_code": "<string>",
      "status": "<string>",
      "count": 0
    }
  ],
  "sample_entities": [
    {
      "entity_id": "<string>",
      "entity_type": "<string>",
      "label": "<string>",
      "status": "<string>",
      "decision_code": "<string>",
      "reason": "<string>",
      "confidence": "<string>",
      "run_id": "<string>"
    }
  ],
  "filtered_total": 0,
  "truncated": false
}

Error codes and recommended actions

The following table lists the possible error responses returned by this API.

HTTP statusDescriptionRecommended action
422 Unprocessable EntityValidation ErrorReview the request parameters or body, correct the invalid values, and resend the request.

Paginated per-entity results for a conversation

One page of per-entity rows, each with a short reason. Filter by entity type, entity id, or status. Use the summary endpoint for counts and the detail endpoint for a single entity's full record.

HTTP method and endpoint

Use the following HTTP method and endpoint path to paginated per-entity results for a conversation.

POST {TenantURL}/ai/agentflow/api/v202605/{tenant_id}/lrt/jobs/conversation/{conversation_id}/entities/list

The following table describes the endpoint path parameters.

ParameterTypeRequiredDescription
TenantURLStringYesThe base URL for your tenant.
conversation_idStringYes-
tenant_idStringYesThe tenant identifier.

Request headers

The following request headers must be included.

HeaderValueRequired
Authorization<access_token>Yes
Content-Typeapplication/jsonYes

Request body

The following table describes the request body parameters.

ParameterTypeRequiredDescriptionAccepted values / Default
filter_conditionObjectNoFilter condition to apply to the conversation's entities-
filter_condition.entity_typeStringNoFilter by entity type-
filter_condition.entity_idStringNoFilter by entity ID-
filter_condition.statusStringNoFilter by entity outcome status-
filter_condition.decision_codeStringNoFilter by structured decision code (e.g. NO_MATCH)-
run_idStringNoScope the list to a single worker run-
reason_containsStringNoCase-insensitive substring match against the entity's short reason. Bounded in length because matching is done server-side in Python over the conversation partition.-
limitIntegerNoMaximum entities per pageDefault: 25
page_tokenStringNoPagination cursor from a previous response-

Example request

Use the following example to see how a complete request is structured, with headers and a JSON body.

POST {TenantURL}/ai/agentflow/api/v202605/tenant-xyz/lrt/jobs/conversation/example-id/entities/list
Authorization: <access_token>
Content-Type: application/json

{
  "filter_condition": {
    "entity_type": "<string>",
    "entity_id": "<string>",
    "status": "<string>",
    "decision_code": "<string>"
  },
  "run_id": "<string>",
  "reason_contains": "<string>",
  "limit": 0,
  "page_token": "<string>"
}

Response body

The following table describes the fields returned in the response body.

ParameterTypeDescription
conversation_idStringConversation identifier
entitiesArrayMatching entity rows
entities[].entity_idStringEntity identifier
entities[].entity_typeStringEntity type, reduced from its stored URI to the bare name
entities[].labelStringHuman-readable entity label
entities[].statusStringNormalized status: processed, failed, or needs_review
entities[].decision_codeStringStructured outcome code, e.g. NO_MATCH
entities[].reasonStringShort rationale, truncated for compactness
entities[].confidenceStringConfidence band, when the producer emitted one
entities[].run_idStringRun this entity was processed under
search_truncatedBooleanTrue if a reason search stopped at its page cap before filling the page, so further matches may exist beyond this result
paginationObjectPagination information
pagination.total_countIntegerTotal number of items in the current page
pagination.next_page_tokenStringOpaque cursor for the next page of results. Null if this is the last page.
pagination.limitIntegerPage size used for this response

Example response

The following example shows a response with successful response.

{
  "conversation_id": "<string>",
  "entities": [
    {
      "entity_id": "<string>",
      "entity_type": "<string>",
      "label": "<string>",
      "status": "<string>",
      "decision_code": "<string>",
      "reason": "<string>",
      "confidence": "<string>",
      "run_id": "<string>"
    }
  ],
  "search_truncated": false,
  "pagination": {
    "total_count": 50,
    "next_page_token": "eyJvZmZzZXQiOiA1MH0=",
    "limit": 50
  }
}

Error codes and recommended actions

The following table lists the possible error responses returned by this API.

HTTP statusDescriptionRecommended action
422 Unprocessable EntityValidation ErrorReview the request parameters or body, correct the invalid values, and resend the request.

Full detail for a single entity in a conversation

The complete stored record for one entity, including its longer summary, error text and remaining producer attributes.

HTTP method and endpoint

Use the following HTTP method and endpoint path to full detail for a single entity in a conversation.

POST {TenantURL}/ai/agentflow/api/v202605/{tenant_id}/lrt/jobs/conversation/{conversation_id}/entities/detail

The following table describes the endpoint path parameters.

ParameterTypeRequiredDescription
TenantURLStringYesThe base URL for your tenant.
conversation_idStringYes-
tenant_idStringYesThe tenant identifier.

Request headers

The following request headers must be included.

HeaderValueRequired
Authorization<access_token>Yes
Content-Typeapplication/jsonYes

Request body

The following table describes the request body parameters.

ParameterTypeRequiredDescriptionAccepted values / Default
entity_idStringYesEntity identifier to look up-

Example request

Use the following example to see how a complete request is structured, with headers and a JSON body.

POST {TenantURL}/ai/agentflow/api/v202605/tenant-xyz/lrt/jobs/conversation/example-id/entities/detail
Authorization: <access_token>
Content-Type: application/json

{
  "entity_id": "<string>"
}

Response body

The following table describes the fields returned in the response body.

ParameterTypeDescription
conversation_idStringConversation identifier
entity_idStringEntity identifier
entity_typeStringEntity type, reduced from its stored URI to the bare name. The full URI is preserved under `attributes`
labelStringHuman-readable entity label
statusStringNormalized status: processed, failed, or needs_review
decision_codeStringStructured outcome code, e.g. NO_MATCH
reasonStringShort rationale
summaryStringLonger per-entity narrative, when stored
run_summaryStringThe part of the owning run's summary column (lifecycle repository) that concerns this entity, capped at ENTITY_DETAIL_SUMMARY_MAX_CHARS. That column is a batch-level report covering every record the worker processed, so when this entity's row is found only that row plus the table headings are returned - see `run_summary_is_excerpt`. Null when the entity carries no run id or the run could not be read.
run_summary_is_excerptBooleanTrue when `run_summary` is this entity's own slice of the batch report. False means no row mentioned the entity and the value is a generic head of the batch narrative, which may describe other records
run_summary_truncatedBooleanTrue if the run summary was cut by the character cap
errorStringError text, when the entity failed
confidenceStringConfidence band, when the producer emitted one
actionStringAction taken (merge, not_match, ...)
record_typeStringRecord type, when the producer emitted one
run_idStringRun this entity was processed under
job_idStringJob reference
message_idStringParent message identifier
task_indexIntegerTask index within the message
created_atStringISO-8601 UTC creation timestamp
updated_atStringISO-8601 UTC update timestamp
attributesObjectRemaining raw producer fields, excluding oversized values

Example response

The following example shows a response with successful response.

{
  "conversation_id": "<string>",
  "entity_id": "<string>",
  "entity_type": "<string>",
  "label": "<string>",
  "status": "<string>",
  "decision_code": "<string>",
  "reason": "<string>",
  "summary": "<string>",
  "run_summary": "<string>",
  "run_summary_is_excerpt": false,
  "run_summary_truncated": false,
  "error": "<string>",
  "confidence": "<string>",
  "action": "<string>",
  "record_type": "<string>",
  "run_id": "<string>",
  "job_id": "<string>",
  "message_id": "<string>",
  "task_index": 0,
  "created_at": "<string>",
  "updated_at": "<string>",
  "attributes": {}
}

Error codes and recommended actions

The following table lists the possible error responses returned by this API.

HTTP statusDescriptionRecommended action
404 Not FoundEntity not found in this conversationVerify the identifier in the request path and resend the request with a valid identifier.
422 Unprocessable EntityValidation ErrorReview the request parameters or body, correct the invalid values, and resend the request.

List entity exports for a conversation job

List exports created by the authenticated user for this conversation.

HTTP method and endpoint

Use the following HTTP method and endpoint path to list entity exports for a conversation job.

GET {TenantURL}/ai/agentflow/api/v202605/{tenant_id}/lrt/jobs/{conversation_id}/entities/export

The following table describes the endpoint path parameters.

ParameterTypeRequiredDescription
TenantURLStringYesThe base URL for your tenant.
conversation_idStringYes-
tenant_idStringYesThe tenant identifier.

Query parameters

The following table describes the query parameters and their values.

ParameterTypeRequiredDescriptionAccepted values / Default
limitIntegerNoMax results per pageDefault: 50
page_tokenStringNoPagination cursor from a previous responseDefault: none

Request headers

The following request headers must be included.

HeaderValueRequired
Authorization<access_token>Yes

Request body

This operation does not require a request body.

Example request

Use the following example to see how a complete request is structured, with headers.

GET {TenantURL}/ai/agentflow/api/v202605/tenant-xyz/lrt/jobs/example-id/entities/export
Authorization: <access_token>

Response body

The following table describes the fields returned in the response body.

ParameterTypeDescription
exportsArray-
exports[].export_idString-
exports[].statusString-
exports[].formatString-
exports[].include_conversationBoolean-
exports[].filtersObject-
exports[].filters.statusString-
exports[].filters.confidenceString-
exports[].total_countInteger-
exports[].written_rowsInteger-
exports[].written_bytesInteger-
exports[].created_atString-
exports[].completed_atString-
exports[].expires_atString-
exports[].filenameString-
exports[].download_urlString-
exports[].email_sent_atString-
exports[].error_codeString-
next_page_tokenStringOpaque token for the next page; null when the partition is exhausted
total_countIntegerNumber of exports in this page

Example response

The following example shows a response with paginated list of exports.

{
  "exports": [
    {
      "export_id": "<string>",
      "status": "<string>",
      "format": "<string>",
      "include_conversation": false,
      "filters": {
        "status": "<string>",
        "confidence": "<string>"
      },
      "total_count": 0,
      "written_rows": 0,
      "written_bytes": 0,
      "created_at": "<string>",
      "completed_at": "<string>",
      "expires_at": "<string>",
      "filename": "<string>",
      "download_url": "<string>",
      "email_sent_at": "<string>",
      "error_code": "<string>"
    }
  ],
  "next_page_token": "<string>",
  "total_count": 0
}

Error codes and recommended actions

The following table lists the possible error responses returned by this API.

HTTP statusDescriptionRecommended action
404 Not FoundJob not foundVerify the identifier in the request path and resend the request with a valid identifier.
422 Unprocessable EntityValidation ErrorReview the request parameters or body, correct the invalid values, and resend the request.

Create an entity export for a conversation job

The Create an entity export for a conversation job API returns create an entity export for a conversation job. Use this operation to create an entity export for a conversation job.

HTTP method and endpoint

Use the following HTTP method and endpoint path to create an entity export for a conversation job.

POST {TenantURL}/ai/agentflow/api/v202605/{tenant_id}/lrt/jobs/{conversation_id}/entities/export

The following table describes the endpoint path parameters.

ParameterTypeRequiredDescription
TenantURLStringYesThe base URL for your tenant.
conversation_idStringYes-
tenant_idStringYesThe tenant identifier.

Request headers

The following request headers must be included.

HeaderValueRequired
Authorization<access_token>Yes
Content-Typeapplication/jsonYes

Request body

The following table describes the request body parameters.

ParameterTypeRequiredDescriptionAccepted values / Default
formatStringNo-csv, jsonl. Default: csv
statusStringNo--
confidenceStringNo--
include_conversationBooleanNo-Default: false

Example request

Use the following example to see how a complete request is structured, with headers and a JSON body.

POST {TenantURL}/ai/agentflow/api/v202605/tenant-xyz/lrt/jobs/example-id/entities/export
Authorization: <access_token>
Content-Type: application/json

{
  "format": "<string>",
  "status": "<string>",
  "confidence": "<string>",
  "include_conversation": false
}

Response body

The following table describes the fields returned in the response body.

ParameterTypeDescription
export_idString-
statusString-
formatString-
include_conversationBoolean-
filtersObject-
filters.statusString-
filters.confidenceString-
total_countInteger-
written_rowsInteger-
written_bytesInteger-
created_atString-
completed_atString-
expires_atString-
filenameString-
download_urlString-
email_sent_atString-
error_codeString-

Example response

The following example shows a response with existing identical export.

{
  "export_id": "<string>",
  "status": "<string>",
  "format": "<string>",
  "include_conversation": false,
  "filters": {
    "status": "<string>",
    "confidence": "<string>"
  },
  "total_count": 0,
  "written_rows": 0,
  "written_bytes": 0,
  "created_at": "<string>",
  "completed_at": "<string>",
  "expires_at": "<string>",
  "filename": "<string>",
  "download_url": "<string>",
  "email_sent_at": "<string>",
  "error_code": "<string>"
}

Error codes and recommended actions

The following table lists the possible error responses returned by this API.

HTTP statusDescriptionRecommended action
404 Not FoundJob not foundVerify the identifier in the request path and resend the request with a valid identifier.
409 ConflictJob has not reached a terminal stateWait until the job reaches a terminal state, then resend the request.
422 Unprocessable EntityValidation ErrorReview the request parameters or body, correct the invalid values, and resend the request.

Get entity export status and download URL

The Get entity export status and download URL API returns get entity export status and download url. Use this operation to get entity export status and download URL.

HTTP method and endpoint

Use the following HTTP method and endpoint path to get entity export status and download URL.

GET {TenantURL}/ai/agentflow/api/v202605/{tenant_id}/lrt/jobs/{conversation_id}/entities/export/{export_id}

The following table describes the endpoint path parameters.

ParameterTypeRequiredDescription
TenantURLStringYesThe base URL for your tenant.
conversation_idStringYes-
export_idStringYes-
tenant_idStringYesThe tenant identifier.

Request headers

The following request headers must be included.

HeaderValueRequired
Authorization<access_token>Yes

Request body

This operation does not require a request body.

Example request

Use the following example to see how a complete request is structured, with headers.

GET {TenantURL}/ai/agentflow/api/v202605/tenant-xyz/lrt/jobs/example-id/entities/export/example-id
Authorization: <access_token>

Response body

The following table describes the fields returned in the response body.

ParameterTypeDescription
export_idString-
statusString-
formatString-
include_conversationBoolean-
filtersObject-
filters.statusString-
filters.confidenceString-
total_countInteger-
written_rowsInteger-
written_bytesInteger-
created_atString-
completed_atString-
expires_atString-
filenameString-
download_urlString-
email_sent_atString-
error_codeString-

Example response

The following example shows a response with successful response.

{
  "export_id": "<string>",
  "status": "<string>",
  "format": "<string>",
  "include_conversation": false,
  "filters": {
    "status": "<string>",
    "confidence": "<string>"
  },
  "total_count": 0,
  "written_rows": 0,
  "written_bytes": 0,
  "created_at": "<string>",
  "completed_at": "<string>",
  "expires_at": "<string>",
  "filename": "<string>",
  "download_url": "<string>",
  "email_sent_at": "<string>",
  "error_code": "<string>"
}

Error codes and recommended actions

The following table lists the possible error responses returned by this API.

HTTP statusDescriptionRecommended action
422 Unprocessable EntityValidation ErrorReview the request parameters or body, correct the invalid values, and resend the request.