Skip to main content

Error Response Format

All errors follow the same envelope:
{
  "result": "ERROR",
  "code": "P-001",
  "message": "Policy group not found."
}
The code field is the stable identifier — pin your integration logic on this value, not on the human-readable message. Messages are localized via the Accept-Language header (en or ko) and may be reworded over time; codes are not.
Code numbers are stable identifiers — once assigned, a code is never reused for a different meaning, even if the original meaning is removed. Gaps in numbering (e.g., missing ACT-007, ACT-008, ACT-010, ACT-011, ACT-012) reflect codes that were retired during the engine’s domain-agnostic primitive refactor.

Common (C)

CodeHTTPDescription
C-001400Invalid input value
C-002405HTTP method not allowed
C-003404Requested resource not found
C-004500Internal server error
C-005400Invalid data type
C-006409Duplicate resource
C-007429Too many requests (TPS limit exceeded)
C-008400Invalid timezone
C-009400Invalid status transition

Auth (A)

CodeHTTPDescription
A-001401Authentication failed
A-002403Access denied
A-003401Invalid API key
A-004409Email already registered
A-005409Maximum API keys exceeded
A-006401Invalid email or password
A-007409Phone number already registered
A-008401Google Sign-In required for this account
A-009401Google account email not verified
A-010401Google authentication failed
A-011400Password reset unavailable for Google account
A-012400Password change unavailable for Google account
A-013400New password must differ from current
A-014400Password reset link expired or invalid
A-015503Verification email send failed
A-016401Session expired
A-017401Invalid session
A-018403System account required
A-019403System Manager account is immutable
A-020401Password incorrect

Policy Engine (P)

CodeHTTPDescription
P-001404Policy group not found
P-002404Policy version not found
P-003400Policy execution failed
P-004400Policy version not approved
P-005404Policy rule not found
P-006400Cannot modify version (only DRAFT allowed)
P-007400Cannot publish a version with no rules
P-008400Operation not allowed in current status
P-009403Policy group is disabled
P-010400Rule reorder ID mismatch
P-011400Activation Mode/Strategy mismatch within group
P-012400Mutex Mode/Strategy mismatch within group
P-013400No previous version available for rollback
P-014404Deployment history not found
P-015400Required input facts missing from execution request
P-016400Version does not belong to the target policy group
P-017409Version is currently deployed or used in active A/B test
P-018400Effective period invalid (start after end)
P-019400No deployed version exists for this group
P-020409Cannot delete group with live deployment
P-021409Cannot delete group with active A/B test
P-022400Condition field required for SINGLE conditions
P-023400Condition operator required for SINGLE conditions
P-024400Condition tree exceeds maximum depth

Idempotency (I)

CodeHTTPDescription
I-001409Request already processed (duplicate idempotency key)
I-002409Request currently being processed

System / Crypto (S)

CodeHTTPDescription
S-001500Encryption failed
S-002500Decryption failed

Billing (B)

CodeHTTPDescription
B-001404Plan not found
B-002404Subscription not found
B-003409Active subscription already exists
B-004400Invalid subscription status
B-005404Invoice not found
B-006500No payment processor for the requested currency
B-007502Payment processing failed
B-008403Service quota exceeded
B-009400Free plan cannot be canceled
B-010400Payment method required before paid subscription
B-011400Billing profile required before paid subscription
B-012400Invoice already paid
B-013400Already subscribed to this plan
B-014400Cross-currency plan change not supported
B-015400Cannot downgrade directly to Free plan — cancel first
B-016409Cannot delete plan currently in use
B-017400Currency immutable while subscribed to paid plan
B-018400No scheduled downgrade to cancel
B-019409A public plan with this tier and currency already exists
B-020400Invalid currency code

Member & Account (M)

CodeHTTPDescription
M-001404Member not found
M-002403Email verification required
M-003403Account suspended
M-004403Account withdrawn
M-005400Invalid or expired verification code
M-006400Member already active
M-007400Invitation expired
M-008400Invalid invitation token
M-009400Cannot perform this action on yourself
M-010400Cannot remove or demote the last admin
M-011409Phone number already registered
M-012403Account suspended (with reason)
M-013400Admin role cannot be assigned via invitation

Analytics & Simulation (AN)

CodeHTTPDescription
AN-001500Simulation processing failed
AN-002404Dataset not found
AN-003400Dataset too large
AN-004400Dataset contains no records
AN-005400Invalid dataset format
AN-006400Unsupported dataset source
AN-007500Dataset storage error
AN-008400Invalid baseline version
AN-009404Simulation not found
AN-010400Only PENDING or RUNNING simulations can be canceled
AN-011400Only completed simulations can be exported
AN-012500Simulation export failed
AN-013404Uploaded dataset file not found
AN-014400Dataset file parse failed
AN-015500Simulation result data malformed
AN-016400Required fact missing in dataset
AN-017400Fact type mismatch in dataset
AN-018400Date range required for HISTORICAL datasets
AN-019400File path required for UPLOADED datasets
AN-020400Selected dataset file is empty
AN-021400Dataset file exceeds size limit
AN-022400Unsupported dataset file type

Action & Calculation (ACT)

CodeHTTPDescription
ACT-001400Action parameters are empty
ACT-002400Reference variable refVar is required
ACT-003400Invalid calculation method (allowed: PERCENTAGE, AMOUNT)
ACT-004400Rate parameter required for PERCENTAGE method
ACT-005400Value parameter required for AMOUNT method
ACT-006400Invalid action type
ACT-009400Integration ID required for external service action
ACT-013400Webhook URL or integration reference required
ACT-014400Fact key required for SET_FACT action
ACT-015400Tag value required for ADD_TAG action
ACT-016400targetVar required for INCREMENT_FACT action
ACT-017400Rounding option must be an object
ACT-018400Rounding scale must be an integer
ACT-019400Rounding scale out of range [0, 16]
ACT-020400Invalid rounding mode
ACT-021400Operator required for MUTATE_FACT action
ACT-022400Invalid operator
ACT-023400Invalid operator-method combination (e.g., DIV + PERCENTAGE)
ACT-024400Division by zero not allowed
ACT-025400refVar not found in input facts
ACT-026400targetVar not found in input facts
ACT-027400EMIT_EVENT requires non-empty eventPayload
ACT-028400EMIT_NOTIFICATION requires non-empty notificationPayload
Codes ACT-007, ACT-008, ACT-010, ACT-011, ACT-012 were retired when the engine moved to domain-agnostic action primitives. Their numbers are not reused.

Fact Definition (FD)

CodeHTTPDescription
FD-001409Fact key already exists
FD-002404Fact not found
FD-003403System fact cannot be modified or deleted
FD-004400Invalid fact key format

Integration (INT)

CodeHTTPDescription
INT-001404Integration not found
INT-002409Integration name already exists
INT-003400Invalid integration configuration
INT-004400Integration type cannot be changed
INT-005400Integration config missing required field
INT-006400Invalid HTTP method for integration
INT-007400Required integration config field missing

Failure Log (FL)

CodeHTTPDescription
FL-001404Failure log not found
FL-002400Action invalid for failure log in current state
FL-003400Retry not supported for this task type

Webhook Subscription (WH)

CodeHTTPDescription
WH-001404Webhook subscription not found
WH-002409Webhook subscription name already exists
WH-003502Webhook test delivery failed