Error Codes

Complete reference of 27 error codes across 6 categories returned by the Jobs Service.

Error response formatjson
{
  "error": {
    "code": "ERR_JOBS_NOT_FOUND",
    "message": "The requested job does not exist",
    "http": 404,
    "details": {}
  }
}

APIAPI Errors

CodeHTTPNameDescriptionResolution
ERR_JOBS_MISSING_TENANT_ID401MISSING_TENANT_IDTenant ID is missing from the request contextEnsure the request includes a valid JWT with tenant context
ERR_JOBS_NOT_FOUND404NOT_FOUNDThe requested job does not existVerify the job ID and ensure you are authenticated under the correct tenant
ERR_JOBS_INVALID_CRON400INVALID_CRONThe CRON expression is malformed or unsupportedValidate the CRON expression against standard 5-field or 7-field syntax
ERR_JOBS_INVALID_PRIORITY400INVALID_PRIORITYPriority level is outside the allowed range for your subscription tierCheck GET /quota for allowed_priority_range and adjust the priority value
ERR_JOBS_CANNOT_UPDATE_STATUS400CANNOT_UPDATE_STATUSJob is in a status that does not allow updatesOnly queued and scheduled jobs can be updated
ERR_JOBS_CANNOT_CANCEL_STATUS400CANNOT_CANCEL_STATUSJob is in a terminal status and cannot be cancelledTerminal jobs cannot be cancelled. Use retry for failed jobs
ERR_JOBS_CANNOT_RETRY_STATUS400CANNOT_RETRY_STATUSJob is not in a retryable statusOnly failed and deadlettered jobs can be retried
ERR_JOBS_CANNOT_REPLAY_STATUS400CANNOT_REPLAY_STATUSJob is not in the dead letter queueOnly deadlettered jobs can be replayed from the DLQ
ERR_JOBS_CANNOT_PURGE_STATUS400CANNOT_PURGE_STATUSJob is not eligible for purgingOnly deadlettered jobs can be purged from the DLQ

QuotaQuota & Rate Limit

CodeHTTPNameDescriptionResolution
ERR_JOBS_QUOTA_EXCEEDED429QUOTA_EXCEEDEDA tenant quota has been exceededWait for existing jobs to complete, or upgrade subscription tier
ERR_JOBS_RATE_LIMIT_EXCEEDED429RATE_LIMIT_EXCEEDEDAPI rate limit exceededBack off and retry after the retryAfter period
ERR_JOBS_QUOTA_RESET_FAILED500QUOTA_RESET_FAILEDInternal failure when resetting quota countersRetry the operation. If persistent, contact platform support

SubscriptionSubscription Tier

CodeHTTPNameDescriptionResolution
ERR_JOBS_FEATURE_NOT_AVAILABLE_FOR_TIER403FEATURE_NOT_AVAILABLEFeature is not available for your subscription tierUpgrade to the minimum required tier listed in error details

WorkerWorker Protocol

CodeHTTPNameDescriptionResolution
ERR_JOBS_WORKER_UNAUTHORIZED401WORKER_UNAUTHORIZEDWorker mTLS authentication failedEnsure the worker uses a valid mTLS certificate with conforming CN
ERR_JOBS_LEASE_INVALID403LEASE_INVALIDLease token does not match the current leaseRe-lease the job via POST /_internal/worker/lease
ERR_JOBS_LEASE_EXPIRED410LEASE_EXPIREDThe job lease has expiredIncrease heartbeat frequency (recommended: every 30 seconds)

InternalInternal / Repository

CodeHTTPNameDescriptionResolution
ERR_JOBS_JOB_NOT_FOUND404JOB_NOT_FOUNDJob not found at the repository levelVerify the job ID
ERR_JOBS_EXECUTION_NOT_FOUND404EXECUTION_NOT_FOUNDJob execution record not foundVerify the execution attempt number
ERR_JOBS_CRON_SCHEDULE_NOT_FOUND404CRON_SCHEDULE_NOT_FOUNDCRON schedule record not foundVerify the CRON schedule ID
ERR_JOBS_TENANT_QUOTA_NOT_FOUND404TENANT_QUOTA_NOT_FOUNDTenant quota record not foundSystem auto-initializes quotas on first job enqueue. Retry the operation

GlobalGlobal Exceptions

CodeHTTPNameDescriptionResolution
ERR_JOBS_BAD_REQUEST400BAD_REQUESTGeneric bad request from ValidationPipe or DTO validationCheck the message field for specific validation errors
ERR_JOBS_UNAUTHORIZED401UNAUTHORIZEDAuthentication failed or JWT token is missing/expiredObtain a fresh JWT from auth-svc
ERR_JOBS_FORBIDDEN403FORBIDDENInsufficient permissions or tenant mismatchVerify your role and tenant context match endpoint requirements
ERR_JOBS_INTERNAL500INTERNALUnhandled internal server errorReport as a bug with the request_id from the response meta
ERR_JOBS_DOWNSTREAM_UNAVAILABLE502DOWNSTREAM_UNAVAILABLEA downstream service is temporarily unavailableRetry after a short delay
ERR_JOBS_SERVICE_UNAVAILABLE503SERVICE_UNAVAILABLEService is still initializing or in degraded modeRetry the request. Lambda will complete initialization