Saltar al contenido principal
El formato es el siguiente:
{
   "code":"<error_code>",
   "title":"<error_title>",
   "message":"<error_message>"
}
Definición de campos
  • code: Un identificador único y estable para el error (formato: TRC-XXXX).
  • title: Un breve resumen del problema.
  • message: Orientación detallada para resolver el error.
Detalles de errores a nivel de campo Para problemas específicos de campos individuales, un objeto fields proporciona contexto adicional. Ejemplos:
{
   "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"
   }
}
Los fallos de autenticación devuelven "code": "Unauthenticated" (no es un código TRC) con HTTP 401. Este es un identificador estable y conocido en lugar de un código TRC, por lo que los clientes deben coincidir con la cadena literal.

Errores generales


Estos errores se aplican a todos los endpoints de la API de Tracer.
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.

Errores de fecha y hora


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.

Errores de paginación


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.

Errores de metadata


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.

Errores de decisión y expresiones CEL


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.

Errores de reglas


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.

Errores de límites


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.

Errores de ventana de tiempo y período personalizado de límites


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.

Errores de eventos de auditoría


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.

Errores del contador de uso


Estos errores provienen del subsistema de contadores de uso que respalda la aplicación de límites de gasto. La mayoría se surfacean como respuestas HTTP 500 Internal Server Error con el código TRC correspondiente.
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.

Errores de verificación de límites


Estos errores ocurren durante la aplicación de límites en solicitudes de validación. La mayoría son invariantes internas; las variantes orientadas al usuario suelen surfacearse a través de los errores de Solicitud de Validación (serie TRC-0220).
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.

Errores de inicialización del servicio


Estos códigos se surfacean durante el inicio del servicio o por validaciones de constructor. No se devuelven en solicitudes de clientes, pero pueden aparecer en los logs de inicio.
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.

Errores de solicitud de validación


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.

Errores de validación de transacciones


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.

Errores de caché


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.

Errores de readiness probe


Estos códigos son emitidos por el endpoint operativo /readyz y por el ciclo de vida del worker supervisor. Aparecen en el campo error de la respuesta JSON de /readyz, no en las respuestas de los endpoints /v1/*. Los operadores dependen del código literal (no del mensaje) para alertas en dashboards.
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.

Errores de bootstrap multi-tenant


Estos códigos aparecen solo en el arranque del servicio cuando MULTI_TENANT_ENABLED=true y una configuración obligatoria está ausente o es incompatible. Aparecen en los logs de arranque (e impiden que el servicio inicie) — nunca llegan a los consumidores de la API /v1/*.
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.

Errores de runtime multi-tenant


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.
Cuando el JWT está ausente, malformado, expirado o sin el claim tenantId, los despliegues multi-tenant retornan HTTP 401 con "code": "Unauthenticated" — el mismo código emitido cuando falta la API key en modo single-tenant. No se emite un código TRC separado para fallas de autenticación de tenant.