Error Codes

Complete reference of 45 error codes across 9 categories returned by the Search Service.

Error response formatjson
{
  "data": null,
  "error": {
    "code": "ERR_SEARCH_EXECUTION_FAILED",
    "message": "Search execution failed: index_not_found_exception",
    "http": 500
  },
  "meta": {
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "tenant_id": "tenant-uuid",
    "service": "search-svc"
  }
}

Input ValidationValidation

CodeHTTPDescriptionResolution
ERR_SEARCH_QUERY_TOO_SHORT400Search query must be at least {min} charactersProvide a query with at least 2 characters
ERR_SEARCH_QUERY_TOO_LONG400Search query must not exceed {max} charactersShorten the query to 1000 characters or less
ERR_SEARCH_INVALID_REQUEST400Invalid request parametersCheck request body against API docs
ERR_SEARCH_INVALID_ENTITY_TYPE400Invalid entity type: {entityType}Use: event, venue, artist, destination, brand
ERR_SEARCH_INVALID_SORT_BY400Invalid sort option: {sortBy}Use: relevance, date, price, rating, distance
ERR_SEARCH_INVALID_PAGE400Page number must be greater than 0Use page >= 1
ERR_SEARCH_INVALID_LIMIT400Limit must be between 1 and {max}Use limit between 1 and 100
ERR_SEARCH_INVALID_GEO_LOCATION400Invalid geographic coordinatesProvide valid lat (-90 to 90) and lng (-180 to 180)
ERR_SEARCH_INVALID_RADIUS400Search radius must be between {min} and {max} kmUse radius between 1 and 500 km
ERR_SEARCH_INVALID_DATE_RANGE400Invalid date rangeEnsure start_date is before end_date (ISO 8601)
ERR_SEARCH_INVALID_PRICE_RANGE400Invalid price rangeEnsure min_price <= max_price, both >= 0

Search EngineOpenSearch

CodeHTTPDescriptionResolution
ERR_SEARCH_ELASTICSEARCH_UNAVAILABLE503Search service temporarily unavailableRetry with exponential backoff
ERR_SEARCH_ELASTICSEARCH_CONNECTION_FAILED502Failed to connect to search engineCheck OpenSearch cluster health
ERR_SEARCH_ELASTICSEARCH_TIMEOUT504Search request timed outSimplify query or reduce result count
ERR_SEARCH_ELASTICSEARCH_ERROR500Search engine error: {message}Check OpenSearch logs for details
ERR_SEARCH_EXECUTION_FAILED500Search execution failed: {message}Retry; check if indices exist for this tenant
ERR_SEARCH_INDEX_NOT_FOUND404Search index not found: {indexName}Run POST /admin/indices/create to create indices
ERR_SEARCH_ELASTICSEARCH_QUERY_FAILED500Query construction or execution failedSimplify search query and retry

Saved SearchesSaved Searches

CodeHTTPDescriptionResolution
ERR_SEARCH_SAVED_SEARCH_NOT_FOUND404Saved search not foundVerify the saved search ID exists
ERR_SEARCH_SAVED_SEARCH_LIMIT_EXCEEDED429Saved search limit exceeded ({limit})Delete existing saved searches or upgrade tier
ERR_SEARCH_SAVED_SEARCH_ALREADY_EXISTS409Saved search with this name already existsUse a different name
ERR_SEARCH_SAVED_SEARCH_UNAUTHORIZED403Not authorized to access this saved searchYou can only access your own saved searches

Search AlertsAlerts

CodeHTTPDescriptionResolution
ERR_SEARCH_ALERT_LIMIT_EXCEEDED429Alert limit exceeded ({limit} active alerts)Delete existing alerts or upgrade tier
ERR_SEARCH_ALERT_NOT_FOUND404Search alert not foundVerify the alert ID exists

Search HistoryHistory

CodeHTTPDescriptionResolution
ERR_SEARCH_HISTORY_NOT_FOUND404Search history not foundVerify the history entry ID
ERR_SEARCH_HISTORY_RETENTION_EXPIRED410Search history retention period expiredHistory entries are retained for 90 days

Rate Limits & QuotasRate Limiting & Quotas

CodeHTTPDescriptionResolution
ERR_SEARCH_RATE_LIMIT_EXCEEDED429Rate limit exceeded. Retry in {retryAfter}sImplement exponential backoff
ERR_SEARCH_QUOTA_EXCEEDED429Search quota exceeded for current periodWait for quota reset or upgrade tier
ERR_SEARCH_TIER_INSUFFICIENT403Feature requires {requiredTier} tierUpgrade subscription plan
ERR_SEARCH_AI_CREDITS_INSUFFICIENT400Insufficient AI credits (Required: {n})Purchase AI credits or use non-semantic search
ERR_SEARCH_FEATURE_NOT_AVAILABLE403Feature not available: {feature}Check tier requirements for this feature

AI ServicesAI & ML

CodeHTTPDescriptionResolution
ERR_SEARCH_VOICE_SEARCH_FAILED502Voice search processing failedRetry; check audio file format (WAV/MP3)
ERR_SEARCH_IMAGE_SEARCH_FAILED502Image search processing failedRetry; check image format (JPEG/PNG)
ERR_SEARCH_NLP_SERVICE_UNAVAILABLE502NLP service unavailableRetry; AI Brain service may be restarting
ERR_SEARCH_RAG_SERVICE_UNAVAILABLE502Vector embedding service unavailableRetry; rag-svc may be restarting on ECS Fargate
ERR_SEARCH_EMBEDDING_GENERATION_FAILED502Failed to generate search embeddingsRetry; check llm-orch-svc availability
ERR_SEARCH_VOICE_UNAVAILABLE503Voice search requires AI Brain STTContact admin to enable voice search
ERR_SEARCH_VOICE_TRANSCRIPTION_EMPTY400Could not transcribe audio inputCheck audio quality and language
ERR_SEARCH_IMAGE_UNAVAILABLE503Image search requires AI Brain ServiceContact admin to enable image search
ERR_SEARCH_IMAGE_ANALYSIS_EMPTY400Could not extract text from imageUse a clearer image with readable text

Index AdministrationAdmin

CodeHTTPDescriptionResolution
ERR_SEARCH_INDEX_CREATION_FAILED500Failed to create search indexCheck OpenSearch cluster capacity
ERR_SEARCH_INDEX_DELETION_FAILED500Failed to delete search indexVerify index exists and cluster is healthy
ERR_SEARCH_REINDEX_FAILED500Reindexing operation failedCheck source data and cluster health
ERR_SEARCH_BULK_OPERATION_FAILED500Bulk indexing operation failedReduce batch size and retry
ERR_SEARCH_DOCUMENT_NOT_INDEXED404Document not found in search indexRe-index the document
ERR_SEARCH_FACET_NOT_FOUND404Facet not found: {facet}Use valid facet fields for this entity type

Authentication & AuthorizationAuth & Tenant

CodeHTTPDescriptionResolution
ERR_SEARCH_UNAUTHORIZED401Authentication requiredProvide a valid JWT token in Authorization header
ERR_SEARCH_FORBIDDEN403Permission denied or tenant mismatchCheck roles and ensure x-tenant-id matches JWT
ERR_SEARCH_INVALID_TENANT400Invalid tenant identifierProvide a valid UUID for x-tenant-id
ERR_SEARCH_CACHE_ERROR500Cache operation failedRetry; Redis may be temporarily unavailable
ERR_SEARCH_INTERNAL_ERROR500Internal server errorRetry; if persistent, report with request_id
ERR_SEARCH_BOOTSTRAP_FAILED503Service initializingRetry in a few seconds (Lambda cold start)