Skip to content
Support

Get tenant enrichment status

GET/v1/enrichment-status

Returns a tenant's enrichment progress across the record-level enrichments (translation, sentiment, emotions). For each, enabled reports whether the enrichment is active for the tenant (deployment-configured and switched on / with a resolvable target language), and eligible/done are directory-level counts of feedback records that qualify and that have been enriched — the UI derives "in progress" as eligible - done, of which failed is retryable and failed_terminal never will be. When an enrichment is not enabled its counts are zero and disabled_reason names the gate that closed it, so the UI can explain why rather than silently hiding the enrichment. as_of is when the counts were computed, which lets a polling client derive throughput and an ETA without the Hub computing either. The response contains counts only (no record identifiers or content).

Query ParametersExpand Collapse
tenant_id: string

Tenant whose enrichment status should be returned.

minLength1
maxLength255
ReturnsExpand Collapse
as_of: string

When the counts were computed (UTC), not when the response was serialized. The endpoint is polled, so two responses are enough to derive throughput and an ETA client-side from the change in done over the change in as_of — the Hub computes neither.

formatdate-time
emotions: TypeStatus { done, eligible, enabled, 3 more }

One enrichment's progress for a tenant. When enabled is false, eligible and done are zero.

done: number

Eligible records that have been enriched.

formatint64
eligible: number

Feedback records that qualify for this enrichment.

formatint64
enabled: boolean

Whether the enrichment is active for the tenant (deployment-configured and switched on / with a resolvable target language).

failed: number

Eligible records whose last enrichment attempt gave up but which a retry could still rescue — a provider outage, a timeout. Counted only while the record is still un-enriched, so a later success removes it without any cleanup.

formatint64
failed_terminal: number

Eligible records the provider will never accept, because the outcome is a property of the record's own text — a content-policy block, a refusal, an input past the model's limit. Retrying these cannot help; they resolve only if the text changes.

formatint64
disabled_reason: optional "not_configured" or "switched_off" or "no_target_language"

Which gate switched the enrichment off. Present exactly when enabled is false, and absent otherwise. not_configured — the deployment has no provider/model for this enrichment, so it is off for every tenant and only an operator can fix it. switched_off — the tenant turned it off (sentiment and emotions only). no_target_language — translation is configured but neither the tenant's target_language nor the deployment default resolves (translation only; it has no on/off switch, so an absent target is its off state).

Accepts one of the following:
"not_configured"
"switched_off"
"no_target_language"
sentiment: TypeStatus { done, eligible, enabled, 3 more }

One enrichment's progress for a tenant. When enabled is false, eligible and done are zero.

done: number

Eligible records that have been enriched.

formatint64
eligible: number

Feedback records that qualify for this enrichment.

formatint64
enabled: boolean

Whether the enrichment is active for the tenant (deployment-configured and switched on / with a resolvable target language).

failed: number

Eligible records whose last enrichment attempt gave up but which a retry could still rescue — a provider outage, a timeout. Counted only while the record is still un-enriched, so a later success removes it without any cleanup.

formatint64
failed_terminal: number

Eligible records the provider will never accept, because the outcome is a property of the record's own text — a content-policy block, a refusal, an input past the model's limit. Retrying these cannot help; they resolve only if the text changes.

formatint64
disabled_reason: optional "not_configured" or "switched_off" or "no_target_language"

Which gate switched the enrichment off. Present exactly when enabled is false, and absent otherwise. not_configured — the deployment has no provider/model for this enrichment, so it is off for every tenant and only an operator can fix it. switched_off — the tenant turned it off (sentiment and emotions only). no_target_language — translation is configured but neither the tenant's target_language nor the deployment default resolves (translation only; it has no on/off switch, so an absent target is its off state).

Accepts one of the following:
"not_configured"
"switched_off"
"no_target_language"
tenant_id: string
translation: TypeStatus { done, eligible, enabled, 3 more }

One enrichment's progress for a tenant. When enabled is false, eligible and done are zero.

done: number

Eligible records that have been enriched.

formatint64
eligible: number

Feedback records that qualify for this enrichment.

formatint64
enabled: boolean

Whether the enrichment is active for the tenant (deployment-configured and switched on / with a resolvable target language).

failed: number

Eligible records whose last enrichment attempt gave up but which a retry could still rescue — a provider outage, a timeout. Counted only while the record is still un-enriched, so a later success removes it without any cleanup.

formatint64
failed_terminal: number

Eligible records the provider will never accept, because the outcome is a property of the record's own text — a content-policy block, a refusal, an input past the model's limit. Retrying these cannot help; they resolve only if the text changes.

formatint64
disabled_reason: optional "not_configured" or "switched_off" or "no_target_language"

Which gate switched the enrichment off. Present exactly when enabled is false, and absent otherwise. not_configured — the deployment has no provider/model for this enrichment, so it is off for every tenant and only an operator can fix it. switched_off — the tenant turned it off (sentiment and emotions only). no_target_language — translation is configured but neither the tenant's target_language nor the deployment default resolves (translation only; it has no on/off switch, so an absent target is its off state).

Accepts one of the following:
"not_configured"
"switched_off"
"no_target_language"

Get tenant enrichment status

curl http://localhost:8080/v1/enrichment-status \
    -H "Authorization: Bearer $HUB_API_KEY"
{
  "as_of": "2019-12-27T18:11:19.117Z",
  "emotions": {
    "done": 0,
    "eligible": 0,
    "enabled": true,
    "failed": 0,
    "failed_terminal": 0,
    "disabled_reason": "not_configured"
  },
  "sentiment": {
    "done": 0,
    "eligible": 0,
    "enabled": true,
    "failed": 0,
    "failed_terminal": 0,
    "disabled_reason": "not_configured"
  },
  "tenant_id": "tenant_id",
  "translation": {
    "done": 0,
    "eligible": 0,
    "enabled": true,
    "failed": 0,
    "failed_terminal": 0,
    "disabled_reason": "not_configured"
  }
}
Returns Examples
{
  "as_of": "2019-12-27T18:11:19.117Z",
  "emotions": {
    "done": 0,
    "eligible": 0,
    "enabled": true,
    "failed": 0,
    "failed_terminal": 0,
    "disabled_reason": "not_configured"
  },
  "sentiment": {
    "done": 0,
    "eligible": 0,
    "enabled": true,
    "failed": 0,
    "failed_terminal": 0,
    "disabled_reason": "not_configured"
  },
  "tenant_id": "tenant_id",
  "translation": {
    "done": 0,
    "eligible": 0,
    "enabled": true,
    "failed": 0,
    "failed_terminal": 0,
    "disabled_reason": "not_configured"
  }
}