• Platform
  • Solutions
  • Developers
  • Showcase
  • Pricing
  • Company
Get Started
  • Platform

    • Overview
    • Conductor
    • Architecture
    • Security
    • Status

    Capabilities

    • All 276
    • AI & ML
    • Storage
    • Auth & Identity
    • Billing
    • Search
    • Compute
    • Media

    SDK

    • SDK Overview
    • Face Modules
    • Quickstart
    • Playground
    • CLI
  • By Role

    • For Startups
    • For Enterprise
    • For Agencies
    • For Developers
    • For CTOs

    By Industry

    • Fintech
    • E-Commerce
    • Healthcare
    • Media
    • SaaS
    • Education

    By Use Case

    • AI Applications
    • Internal Tools
    • Marketplaces
    • Automation
  • Documentation

    • Getting Started
    • API Reference
    • Authentication
    • Webhooks
    • Templates
    • Sandbox

    Integrations

    • All Integrations
    • Stripe
    • OpenAI
    • AWS
    • GitHub
    • Build Your Own

    Resources

    • Technical Guides
    • Architecture Patterns
    • Project Templates
    • Glossary
    • Platform Changelog
    • SDK Changelog
  • Featured Demos

    • Showcase Gallery
    • SaaS Dashboard
    • AI Chat
    • E-Commerce Store
    • Admin Panel
    • Marketplace

    Case Studies

    • All Case Studies
    • Catalist — Fintech
    • Zumar — E-Commerce
    • Nova — AI SaaS
    • Meridian — Media
    • Atlas — Operations

    Enterprise

    • Enterprise Overview
    • Security
    • Compliance
    • SLA & Uptime
    • Deployment Options
    • Startup Program
  • Plans

    • Overview
    • Compare Plans
    • Pricing Calculator
    • Enterprise Pricing

    Compare

    • EEv3 vs Agencies
    • EEv3 vs No-Code
    • EEv3 vs Freelancers
    • EEv3 vs In-House
    • EEv3 vs Firebase

    Services

    • All Services
    • Custom Development
    • Platform Hosting
    • Consulting
    • AI Integration
  • About

    • About VertexStudio
    • Team
    • Culture
    • The Group
    • Partners
    • Testimonials

    Careers

    • Open Roles
    • Engineering

    More

    • Contact
    • Newsroom
    • Brand Assets
    • Trust Center
    • Legal
  • Get Started

Getting Started

  • Introduction
  • Getting Started
  • Templates

API

  • API Reference
  • Face API
  • Authentication
  • Webhooks
  • Error Handling
  • Rate Limits
  • Streaming
  • Batch Operations

Tools

  • Sandbox

Migration

  • Migration Guide
  • From Firebase
  • From Supabase

Changelog

  • SDK Changelog

Getting Started

  • Introduction
  • Getting Started
  • Templates

API

  • API Reference
  • Face API
  • Authentication
  • Webhooks
  • Error Handling
  • Rate Limits
  • Streaming
  • Batch Operations

Tools

  • Sandbox

Migration

  • Migration Guide
  • From Firebase
  • From Supabase

Changelog

  • SDK Changelog

Error Handling

Error Handling Reference

Every error response follows a consistent format with a machine-readable code, human-readable message, contextual details, and a request ID for debugging.

Error Response Format

error-response.json
{
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "Invalid payload: 'model' is required",
    "details": {
      "field": "model",
      "rule": "required"
    },
    "requestId": "req_abc123def456"
  }
}

Error Codes

400BAD_REQUEST

The request was malformed or missing required fields.

Common causes: Missing required field, invalid JSON, wrong data type

How to fix: Check the request body against the API reference. Validate with the SDK types.

401UNAUTHORIZED

Authentication failed or no credentials provided.

Common causes: Missing or expired API key, invalid token format

How to fix: Verify your API key is correct and not expired. Check the Authorization header format.

403FORBIDDEN

The token lacks permission for this action.

Common causes: Scoped token missing required scope, entity mismatch

How to fix: Check your token scopes. Ensure the X-Entity-ID matches the token entity.

404NOT_FOUND

The requested resource or face/action does not exist.

Common causes: Wrong face name, typo in action, deleted resource

How to fix: Verify the face and action names. Check that the resource exists.

409CONFLICT

The request conflicts with the current state.

Common causes: Duplicate idempotency key, concurrent modification, already exists

How to fix: Use a unique idempotency key. Fetch the latest state before modifying.

422VALIDATION_ERROR

The request body failed validation.

Common causes: Invalid field value, constraint violation, business rule failure

How to fix: Check the details field for the specific validation failure.

429RATE_LIMITED

Too many requests. You have exceeded your rate limit.

Common causes: Exceeding per-minute or per-face rate limits

How to fix: Implement exponential backoff. Check X-RateLimit-Reset for when to retry.

500INTERNAL_ERROR

An unexpected error occurred on the server.

Common causes: Server bug, downstream service failure

How to fix: Retry with backoff. If persistent, contact support with the requestId.

503SERVICE_UNAVAILABLE

The service is temporarily unavailable.

Common causes: Maintenance window, capacity limits, dependency outage

How to fix: Retry with backoff. Check the status page for ongoing incidents.

Retry Strategy

Not all errors are retryable. Here is a quick reference:

CodeRetryableStrategy
400, 401, 403, 404, 422NoFix the request and resubmit
409MaybeRe-fetch state, then retry
429YesWait for X-RateLimit-Reset, then retry
500, 503YesExponential backoff: 1s, 2s, 4s, 8s

SDK Error Handling

The SDK throws typed EEError instances with structured properties for code, message, requestId, and retryability.

error-handling.ts
import { createClient, EEError } from '@evileye/sdk'

const ee = createClient({ token: process.env.EE_TOKEN!, entity: 'my-company' })

try {
  const result = await ee.ai.generate({ prompt: 'Hello' })
  console.log(result.data)
} catch (err) {
  if (err instanceof EEError) {
    console.error(`[${err.code}] ${err.message}`)
    console.error('Request ID:', err.requestId)

    if (err.retryable) {
      // Safe to retry with backoff
      console.log('Retrying in', err.retryAfter, 'ms')
    }
  }
}

Related

  • Rate Limits— rate limit tiers and handling 429 responses
  • API Reference— complete endpoint documentation
VertexStudio

The platform behind every company. 276 capabilities through one API.

Platform

  • Overview
  • Conductor
  • Capabilities
  • Architecture
  • Security
  • Status
  • Changelog

SDK & Docs

  • SDK
  • Face Modules
  • Quickstart
  • API Reference
  • Documentation
  • Integrations

Solutions

  • For Startups
  • For Enterprise
  • For Agencies
  • For Developers
  • Showcase
  • Case Studies

Services

  • Custom Development
  • Platform Hosting
  • API Access
  • Consulting
  • AI Integration

Company

  • About
  • Team
  • Careers
  • Partners
  • Newsroom
  • Contact

Legal

  • Privacy Policy
  • Terms of Service
  • DPA
  • Acceptable Use
  • Trust Center
© 2026 VertexStudio. All rights reserved.
Privacy·Terms·Trust Center
Built with EEv3