Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.lerian.studio/llms.txt

Use this file to discover all available pages before exploring further.

The format is as follows:
{
   "code":"<error_code>",
   "title":"<error_title>",
   "message":"<error_message>"
}
Field definitions
  • code: A unique, stable identifier for the error (format: TRC-XXXX).
  • title: A brief summary of the issue.
  • message: Detailed guidance for resolving the error.
Field-level error details For issues specific to individual fields, a fields object provides additional context. Examples:
{
   "code":"TRC-0106",
   "title":"Missing Required Field",
   "message":"The name field is required. Please provide a name for the rule and try again.",
   "fields": {
      "name": "name is a required field"
   }
}
Authentication failures return "code": "Unauthenticated" (not a TRC code) with HTTP 401. This is a stable, well-known identifier rather than a TRC code, so clients should match on the literal string.

General errors


These errors apply to all Tracer API endpoints.
codetitlemessage
TRC-0001Validation ErrorField validation failed. Please verify the provided data and try again.
TRC-0002At Least One Field RequiredAt least one field must be provided for update. Please include at least one field and try again.
TRC-0003Invalid Request BodyThe request body is invalid or malformed. Please verify the JSON format and try again.
TRC-0004Internal Server ErrorAn unexpected error occurred. Please try again later or contact support if the issue persists.
TRC-0005Invalid Calculation Field TypeThe calculation field type is invalid. Please verify the field type and try again.
TRC-0006Invalid Query ParametersOne or more query parameters are invalid. Please verify the parameters and try again.
TRC-0007Invalid Path ParameterThe provided ID is not a valid UUID format. Please verify the ID and try again.
TRC-0010Parent ID Not FoundThe referenced parent resource ID does not exist. Please verify the ID and try again.
TRC-0011Payload Too LargeThe request payload exceeds the maximum size limit of 100KB. Please reduce the payload size and try again.
TRC-0012Service UnavailableThe service is temporarily unavailable or the request was cancelled. Please try again later.

Date and time errors


codetitlemessage
TRC-0020Invalid Date FormatThe date must be in RFC3339 format with timezone (e.g., 2026-01-28T10:30:00Z). Date-only format is not accepted.
TRC-0021Invalid Final DateThe final date is invalid. Please provide a valid date in RFC3339 format.
TRC-0022Date Range Exceeds LimitThe date range exceeds the maximum allowed window. Please reduce the date range and try again.
TRC-0023Invalid Date RangeThe date range is invalid (start date must be before end date). Please verify the dates and try again.

Pagination errors


codetitlemessage
TRC-0040Limit Exceeds MaximumThe limit parameter exceeds the maximum allowed value. Please reduce the limit and try again.
TRC-0041Limit Below MinimumThe limit parameter must be at least 1. Please provide a valid limit and try again.
TRC-0042Invalid Sort OrderSort order must be ASC or DESC. Please provide a valid value.
TRC-0043Invalid Sort ColumnThe specified sort column is not supported. Please check the allowed fields.
TRC-0044Invalid Pagination CursorThe provided pagination cursor is invalid or expired. Please start a new query without a cursor.
TRC-0045Sort Parameters LockedCannot change sort_by or sort_order when using a pagination cursor. Please start a new query to change sort parameters.

Metadata errors


codetitlemessage
TRC-0060Metadata Key Too LongThe metadata key exceeds the maximum length of 64 characters. Please reduce the key size.
TRC-0061Metadata Value Too LongThe metadata value exceeds the maximum allowed length. Please reduce the value size.
TRC-0062Invalid Metadata NestingThe metadata contains nested objects, which are not allowed. Use a flat key/value structure.
TRC-0063Metadata Exceeds Maximum EntriesThe metadata exceeds the maximum of 50 entries. Please reduce the number of entries.
TRC-0064Invalid Metadata KeyThe metadata key contains invalid characters. Only alphanumeric characters and underscore are allowed.

Decision and CEL expression errors


codetitlemessage
TRC-0080Invalid DecisionThe decision value must be one of ALLOW, DENY, or REVIEW. Please provide a valid decision.
TRC-0081Reason RequiredA reason is required for this decision. Please provide a reason and try again.
TRC-0082Invalid Default DecisionThe default decision value must be one of ALLOW, DENY, or REVIEW. Please verify the service configuration.
TRC-0083Expression Syntax ErrorThe CEL expression contains a syntax error. Please verify the expression syntax and try again.
TRC-0084Expression Type ErrorThe CEL expression must evaluate to a boolean value. Please modify the expression to return true or false.
TRC-0085Expression Cost ExceededThe CEL expression computational cost exceeds the allowed limit. Please simplify the expression.
TRC-0086Expression Evaluation ErrorThe CEL expression failed at runtime. Please verify the expression and the available context variables.
TRC-0087Expression Compilation FailedThe CEL expression could not be compiled. Please verify the expression syntax and types.
TRC-0088Expression Cost Estimation FailedThe CEL expression cost could not be estimated. Please simplify the expression and try again.
TRC-0089Amount Exceeds CEL PrecisionThe amount exceeds the safe precision for CEL evaluation (maximum ±2^53). Please reduce the amount.

Rule errors


codetitlemessage
TRC-0100Rule Not FoundThe requested rule does not exist. Please verify the rule ID and try again.
TRC-0101Rule Name ConflictA rule with this name already exists. Please choose a different name and try again.
TRC-0102Invalid Status TransitionThe requested status transition is not allowed. Please check the current rule status and valid transitions.
TRC-0103Internal Server ErrorRule evaluation failed. Please try again or contact support.
TRC-0104Expression Not ModifiableThe expression can only be modified when the rule is in DRAFT status. Please move the rule back to DRAFT first.
TRC-0105Invalid Rule InputThe rule input is missing or null. Please provide a complete rule body and try again.
TRC-0106Missing Required FieldThe name field is required. Please provide a name for the rule and try again.
TRC-0107Name Too LongThe name exceeds the maximum length of 255 characters. Please reduce the name size.
TRC-0108Missing Required FieldThe expression field is required. Please provide a CEL expression for the rule and try again.
TRC-0109Expression Too LongThe expression exceeds the maximum length of 5000 characters. Please reduce the expression size.
TRC-0110Invalid ActionThe action must be one of ALLOW, DENY, or REVIEW. Please provide a valid action.
TRC-0111Invalid ScopeEach scope must have at least one field set. Please provide at least one field in the scope.
TRC-0112Description Too LongThe description exceeds the maximum length of 1000 characters. Please reduce the description size.
TRC-0113Scopes Exceed MaximumThe scopes exceed the maximum of 100 entries. Please reduce the number of scopes.
TRC-0114Status Transition Not AllowedThe requested status transition is not permitted from the current rule status. Please check the valid lifecycle transitions.

Limit errors


codetitlemessage
TRC-0120Limit Not FoundThe requested limit does not exist. Please verify the limit ID and try again.
TRC-0121Invalid Status TransitionThe requested status transition is not allowed. Please check the current limit status and valid transitions.
TRC-0122Invalid Limit TypeThe limitType must be one of DAILY, WEEKLY, MONTHLY, CUSTOM, or PER_TRANSACTION. Please provide a valid limit type.
TRC-0123Invalid AmountThe maxAmount must be a positive decimal string. Please provide a valid decimal amount.
TRC-0124Invalid Currency CodeThe currency must be a valid 3-letter ISO 4217 code (e.g., BRL, USD). Please provide a valid currency code.
TRC-0125Missing Required FieldAt least one scope is required for limits. Please provide at least one scope and try again.
TRC-0126Missing Required FieldThe name field is required. Please provide a name for the limit and try again.
TRC-0127Name Too LongThe limit name exceeds the maximum allowed length. Please reduce the name size.
TRC-0128Cannot Modify Deleted LimitThe limit has been deleted and cannot be modified. Please create a new limit if needed.
TRC-0129Invalid NameThe name contains invalid characters. Please use only allowed characters.
TRC-0130Invalid DescriptionThe description contains invalid characters. Please use only allowed characters.
TRC-0131Immutable FieldThe limitType and currency fields cannot be modified after creation. Please create a new limit if you need different values.
TRC-0132Description Too LongThe limit description exceeds the maximum allowed length. Please reduce the description size.
TRC-0133Invalid Status FilterThe status filter value is invalid. Please use one of DRAFT, ACTIVE, INACTIVE, or DELETED.
TRC-0134Invalid Limit Type FilterThe limit_type filter value is invalid. Please use one of DAILY, WEEKLY, MONTHLY, CUSTOM, or PER_TRANSACTION.
TRC-0135Inconsistent Deletion StateThe limit’s deletion state is inconsistent (DeletedAt set only when status is DELETED). Please contact support.
TRC-0136Internal Server ErrorLimit check failed. Please try again or contact support.
TRC-0137Invalid Limit InputThe limit input is missing or null. Please provide a complete limit body and try again.
TRC-0138Immutable FieldThe limitType and currency fields cannot be modified after creation. Please create a new limit if you need different values.

Limit time window and custom period errors


codetitlemessage
TRC-0300Inconsistent Time WindowactiveTimeStart and activeTimeEnd must both be set or both be unset. Please provide both values or neither.
TRC-0301Zero-Width Time WindowactiveTimeStart and activeTimeEnd cannot be the same value. Please provide a non-zero time window.
TRC-0302Invalid Time FormatThe time of day must be in HH:MM format (e.g., 09:00). Please verify the format and try again.
TRC-0303Rule Name Conflict in ContextA rule with this name already exists in this context (segment scope). Please choose a different name.
TRC-0304Limit Name ConflictA limit with this name already exists. Please choose a different name.
TRC-0305Custom Dates Not AllowedcustomStartDate and customEndDate are only allowed when limitType is CUSTOM. Please remove these fields or change the limit type.
TRC-0306Unknown Limit TypeThe limit type is unknown. Please provide one of DAILY, WEEKLY, MONTHLY, CUSTOM, or PER_TRANSACTION.
TRC-0307Custom Period Too LongThe custom period cannot exceed 5 years. Please reduce the period range.
TRC-0308Custom Period ExpiredThe custom period end date must be in the future. Please provide a future end date.
TRC-0309Invalid Custom Start DateThe customStartDate must be in RFC3339 format. Please verify the format and try again.
TRC-0310Invalid Custom End DateThe customEndDate must be in RFC3339 format. Please verify the format and try again.
TRC-0311Custom Dates RequiredcustomStartDate and customEndDate are required when limitType is CUSTOM. Please provide both dates.
TRC-0312Invalid Custom Date OrdercustomStartDate must be before customEndDate. Please verify the date order.

Audit event errors


codetitlemessage
TRC-0140Audit Event Not FoundThe requested audit event does not exist. Please verify the event ID and try again.
TRC-0141Invalid Audit Event FiltersOne or more audit event filters are invalid. Please verify the filter values and try again.
TRC-0142Invalid Audit Event TypeThe event_type filter must be a valid audit event type. Please verify the allowed values.
TRC-0143Invalid Audit ActionThe action filter must be one of VALIDATE, CREATE, UPDATE, DELETE, ACTIVATE, DEACTIVATE, or DRAFT. Please verify the action.
TRC-0144Invalid Audit ResultThe result filter must be one of SUCCESS, FAILED, ALLOW, DENY, or REVIEW. Please verify the result.
TRC-0145Missing Resource IDThe resource ID is required for this audit query. Please provide a resource ID.
TRC-0146Invalid Resource TypeThe resource_type must be one of transaction, rule, or limit. Please provide a valid resource type.
TRC-0147Missing Actor IDThe actor ID is required for this audit query. Please provide an actor ID.
TRC-0148Invalid Actor TypeThe actor_type must be ‘user’ or ‘system’. Please provide a valid actor type.

Usage counter errors


These errors come from the usage counter subsystem that backs spending-limit enforcement. Most are surfaced as 500 Internal Server Error responses with the corresponding TRC code.
codetitlemessage
TRC-0160Usage Counter OverflowThe usage counter would overflow. Please contact support.
TRC-0161Internal Server ErrorUsage counter limitID is required (internal invariant). Please contact support.
TRC-0162Internal Server ErrorUsage counter scopeKey is required (internal invariant). Please contact support.
TRC-0163Internal Server ErrorUsage counter periodKey is required (internal invariant). Please contact support.
TRC-0164Internal Server ErrorUsage counter currentUsage must be non-negative (internal invariant). Please contact support.
TRC-0165Internal Server ErrorIncrement amount must be non-negative (internal invariant). Please contact support.
TRC-0166Usage Counter Not FoundThe usage counter for this limit and scope does not exist. Please verify the limit configuration.
TRC-0167Limit ExceededThe transaction would exceed the limit maximum. The validation will be denied.
TRC-0168Internal Server ErrorDecrement amount must be non-negative (internal invariant). Please contact support.

Limit check errors


These errors occur during limit enforcement on validation requests. Most are internal invariants; user-facing variants typically surface via Validation Request errors (TRC-0220 series).
codetitlemessage
TRC-0180Invalid AmountThe transaction amount must be positive for limit checks. Please provide a valid amount.
TRC-0181Invalid CurrencyThe currency must be a valid ISO 4217 code for limit checks. Please verify the currency code.
TRC-0183Unknown Limit TypeThe limit type is not recognized for period key calculation. Please contact support.
TRC-0184Invalid TimestampThe timestamp must not be zero for limit checks. Please provide a valid timestamp.
TRC-0185Internal Server ErrorLimit check input is missing or null (internal invariant). Please contact support.
TRC-0186Missing Account IDThe account ID is required for limit checks. Please provide an accountId.
TRC-0187Invalid Transaction TypeThe transactionType must be one of CARD, WIRE, PIX, or CRYPTO for limit checks.
TRC-0188SubType Too LongThe subType exceeds the maximum length of 50 characters for limit checks.
TRC-0189Invalid Segment IDThe segmentId cannot be the zero UUID. Please provide a valid UUID.
TRC-0190Invalid Portfolio IDThe portfolioId cannot be the zero UUID. Please provide a valid UUID.
TRC-0191Invalid Merchant IDThe merchantId cannot be the zero UUID. Please provide a valid UUID.

Service initialization errors


These codes are surfaced during service startup or by constructor validation. They are not returned by client requests but may appear in startup logs.
codetitlemessage
TRC-0200Internal Server ErrorLimit checker initialization failed: limit repository is required. Please contact support.
TRC-0201Internal Server ErrorLimit checker initialization failed: usage counter repository is required. Please contact support.
TRC-0202Internal Server ErrorLimit checker initialization failed: clock dependency is required. Please contact support.

Validation request errors


codetitlemessage
TRC-0220Missing Required FieldThe requestId field is required. Please provide a unique UUID for the request.
TRC-0221Invalid Transaction TypeThe transactionType must be one of CARD, WIRE, PIX, or CRYPTO. Please provide a valid transaction type.
TRC-0222Invalid AmountThe amount must be a positive decimal value (e.g., “1500.00”). Please provide a valid amount.
TRC-0223Missing Required FieldThe currency field is required. Please provide a valid ISO 4217 currency code.
TRC-0224Invalid CurrencyThe currency must be a valid uppercase ISO 4217 code (e.g., BRL, USD). Lowercase codes are not accepted.
TRC-0225Missing Required FieldThe transactionTimestamp field is required. Please provide a timestamp in RFC3339 format.
TRC-0226Future Timestamp Not AllowedThe transactionTimestamp cannot be in the future. Please provide a valid timestamp.
TRC-0227Missing Required FieldThe account field is required. Please provide account context for the validation.
TRC-0228Past Timestamp Not AllowedThe transactionTimestamp is too far in the past. Please provide a more recent timestamp.
TRC-0229Gateway TimeoutThe validation processing exceeded the 80ms budget. Please try again or contact support if the issue persists.
TRC-0230Missing Required FieldThe segment.id field is required when the segment object is provided. Please provide the segment ID.
TRC-0231Missing Required FieldThe portfolio.id field is required when the portfolio object is provided. Please provide the portfolio ID.
TRC-0232SubType Too LongThe subType field exceeds the maximum length of 50 characters. Please reduce the size.
TRC-0233Invalid Account TypeThe account.type must be one of checking, savings, or credit. Please provide a valid type.
TRC-0234Invalid Account StatusThe account.status must be one of active, suspended, or closed. Please provide a valid status.
TRC-0235Invalid Merchant CategoryThe merchant.category must be a 4-digit MCC code. Please provide a valid category.
TRC-0236Invalid Merchant CountryThe merchant.country must be an ISO 3166-1 alpha-2 code (e.g., BR, US). Please provide a valid country code.
TRC-0237Missing Required FieldThe merchant.id field is required when the merchant object is provided. Please provide the merchant ID.

Transaction validation errors


codetitlemessage
TRC-0250Invalid FiltersOne or more transaction validation filters are invalid. Please verify the filter values and try again.
TRC-0251Transaction Validation Not FoundThe requested transaction validation does not exist. Please verify the validation ID and try again.
TRC-0252Gateway TimeoutThe query exceeded the allowed timeout. Please refine the filters to reduce the query scope.
TRC-0270Internal Server ErrorTransaction validation ID is required (internal invariant). Please contact support.
TRC-0271Internal Server ErrorTransaction validation createdAt is required (internal invariant). Please contact support.

Cache errors


codetitlemessage
TRC-0280Cache Warm-Up FailedThe rule cache failed to initialize at startup. The service may operate in degraded mode.
TRC-0281Cache Not ReadyThe rule cache is not ready to serve traffic. Please retry the request after a brief delay.

Readiness probe errors


These codes are surfaced by the operational /readyz endpoint and by the worker supervisor lifecycle. They appear in the JSON error field of /readyz responses, not in /v1/* API responses. Operators rely on the literal code (not the message) for dashboard alerting.
codetitlemessage
TRC-0328Database Connection Not EstablishedThe PostgreSQL connection has not been established. Wait for service startup to complete.
TRC-0329Database Connection FailedThe PostgreSQL connection attempt failed. Check database availability and credentials.
TRC-0330Database Ping FailedThe PostgreSQL ping probe failed. The database may be unreachable or unresponsive.
TRC-0331Dependencies UnhealthyOne or more dependencies reported unhealthy on the readiness probe. The service is returning HTTP 503.
TRC-0332Rule Cache Not ReadyThe rule cache is not ready to serve readiness traffic. The service will become ready after warm-up completes.
TRC-0333Rule Cache StaleThe rule cache data is stale beyond the configured threshold. Background sync may be lagging.
TRC-0334Worker Supervisor Shutting DownThe worker supervisor is shutting down and refused to spawn new tenant workers. New tenants will be rejected with HTTP 503 until the next instance is healthy.

Multi-tenant bootstrap errors


These codes surface only at service startup when MULTI_TENANT_ENABLED=true and a required configuration is missing or incompatible. They appear in startup logs (and prevent the service from starting) — they never reach /v1/* API consumers.
codetitlemessage
TRC-0320Multi-Tenant Config RequiredMulti-tenant configuration is required when MULTI_TENANT_ENABLED=true. Please verify the service configuration.
TRC-0321Multi-Tenant Logger RequiredMulti-tenant initialization requires a logger instance. This is a service-internal error; contact support.
TRC-0322Multi-Tenant URL RequiredMULTI_TENANT_URL must be set when MULTI_TENANT_ENABLED=true. Set the Tenant Manager URL and restart the service.
TRC-0323Multi-Tenant URL InvalidMULTI_TENANT_URL must be a valid absolute URL with scheme and host (e.g., https://tenant-manager.example.com).
TRC-0324Multi-Tenant Service API Key RequiredMULTI_TENANT_SERVICE_API_KEY must be set when MULTI_TENANT_ENABLED=true. Provide the API key for calling the Tenant Manager.
TRC-0325Multi-Tenant Redis Host RequiredMULTI_TENANT_REDIS_HOST must be set when MULTI_TENANT_ENABLED=true. The shared Redis Pub/Sub host is required for tenant lifecycle events.
TRC-0326Plugin Auth Required for Multi-TenantMULTI_TENANT_ENABLED=true requires PLUGIN_AUTH_ENABLED=true. Enable plugin authentication and restart the service.
TRC-0327API-Key-Only Validation Incompatible with Multi-TenantMULTI_TENANT_ENABLED=true is incompatible with API_KEY_ENABLED_ONLY_VALIDATION=true. Choose one mode and restart the service.

Multi-tenant runtime errors


codetitlemessage
TRC-0335Tenant Capacity ReachedThe instance has reached its per-pod tenant cap and cannot serve this tenant right now. The response includes a Retry-After header — clients should back off and retry. The cap auto-resets as the LRU pool evicts cold tenants.
When the JWT is missing, malformed, expired, or has no tenantId claim, multi-tenant deployments return HTTP 401 with "code": "Unauthenticated" — the same code emitted for a missing API key in single-tenant mode. No separate TRC code is emitted for tenant authentication failures.