Skip to Content
API ReferenceError Codes

Error Codes

All API errors return a consistent envelope with an error code and human-readable message:

{ "success": false, "error": { "code": "ERROR_CODE", "message": "Human-readable description" } }

Authentication Errors

HTTPCodeDescriptionResolution
401UnauthorizedMissing, expired, or invalid authorization tokenCheck your API key or refresh your JWT token
403ForbiddenValid token but insufficient permissions for this resourceVerify you have the correct tier or role
403AccessDeniedYou do not own this resourceYou can only access your own executions and data

Rate Limit Errors

HTTPCodeDescriptionResolution
429TierLimitExceededMonthly rule generation limit reachedUpgrade your plan  or wait for the next billing period
429RateLimitExceededBurst rate limit exceeded (5 executions/minute)Wait 60 seconds and retry
429DailyLimitExceededAPI key daily request limit reachedWait until midnight UTC or increase the key’s daily limit

Validation Errors

HTTPCodeDescriptionResolution
400InvalidInputTypeUnrecognized inputType valueUse url, cve, or text
400ValidationErrorRequest body failed schema validationCheck required fields and types
400InvalidUrlThe submitted URL is malformed or unreachableVerify the URL is publicly accessible
400InvalidCveIdCVE ID format is invalidUse the format CVE-YYYY-NNNNN
400InputTooLargeText input exceeds the 50,000 character limitReduce the input text length

Pipeline Errors

HTTPCodeDescriptionResolution
500PipelineFailedThe rule generation pipeline encountered an internal errorRetry the request; contact support if persistent
504PipelineTimeoutPipeline exceeded the maximum execution timeTry with shorter input or fewer target platforms

Resource Errors

HTTPCodeDescriptionResolution
404NotFoundThe requested resource does not existVerify the execution ARN or resource ID
409ConflictResource already exists (e.g., duplicate team name)Use a different name or check existing resources

All error codes are stable and safe to match programmatically. New codes may be added over time, but existing codes will not change meaning.

Handling Errors

import requests response = requests.post( "https://cloudsigma.a13e.com/v1/generate", headers={"Authorization": "Bearer YOUR_API_KEY"}, json={"inputType": "url", "url": "https://example.com/advisory"}, ) data = response.json() if not data["success"]: error = data["error"] if error["code"] == "TierLimitExceeded": print("Upgrade your plan to continue generating rules") elif error["code"] == "RateLimitExceeded": print("Rate limited — retry after 60 seconds") else: print(f"Error {error['code']}: {error['message']}")
Last updated on