🚀 API Documentation

Build powerful integrations with the EASx REST API. Access tickets, executors, and scripts programmatically.

Quick Navigation

  • Getting Started
  • Authentication
  • Rate Limiting
  • Tickets API
  • Executors API
  • Scripts API
  • Error Handling

Getting Started

The EASx API is organized around REST. Our API accepts JSON-encoded requests and returns JSON-encoded responses.

Base URL

https://eas-x.com/api/v1

Available Endpoints

  • /api/v1/tickets - Manage support tickets
  • /api/v1/executors - Get executor information
  • /api/v1/scripts - Access script database

Authentication

All API requests require authentication using an API key. You can generate API keys from your dashboard.

🔑 How to Authenticate

Include your API key in the Authorization header of every request:

Authorization: Bearer easx_your_api_key_here

Generate your API key →

Example Request

curl -X GET "https://eas-x.com/api/v1/tickets" \
  -H "Authorization: Bearer easx_your_api_key_here" \
  -H "Content-Type: application/json"

Rate Limiting

API requests are limited to 100 requests per 15 minutes per API key.

Response Headers

X-RateLimit-Limit: 100
X-RateLimit-Remaining: 95
X-RateLimit-Reset: 1609459200

Rate Limit Exceeded

When you exceed the rate limit, you'll receive a 429 Too Many Requests response:

{
  "success": false,
  "error": {
    "code": "RATE_LIMIT_EXCEEDED",
    "message": "Rate limit exceeded. Maximum 100 requests per 15 minutes allowed."
  }
}

Tickets API

Create, retrieve, and manage support tickets programmatically.

GET /api/v1/tickets

Retrieve a list of tickets with optional filtering and pagination.

Query Parameters

Parameter Type Required Description
page integer optional Page number (default: 1)
limit integer optional Items per page (default: 20)
status string optional Filter by status: open, in-progress, closed
priority string optional Filter by priority: low, medium, high, urgent
category string optional Filter by category

Response Example

{
  "success": true,
  "data": {
    "tickets": [
      {
        "_id": "507f1f77bcf86cd799439011",
        "subject": "Need help with executor",
        "category": "technical",
        "priority": "medium",
        "status": "open",
        "user": {
          "username": "JohnDoe",
          "discordId": "123456789"
        },
        "createdAt": "2024-01-15T10:30:00.000Z"
      }
    ],
    "pagination": {
      "page": 1,
      "limit": 20,
      "total": 45,
      "pages": 3
    }
  }
}
GET /api/v1/tickets/:id

Retrieve a single ticket by ID with full details including messages.

Response Example

{
  "success": true,
  "data": {
    "ticket": {
      "_id": "507f1f77bcf86cd799439011",
      "subject": "Need help with executor",
      "category": "technical",
      "priority": "medium",
      "status": "open",
      "messages": [
        {
          "user": { "username": "JohnDoe" },
          "message": "I can't download the executor",
          "isStaff": false,
          "createdAt": "2024-01-15T10:30:00.000Z"
        }
      ],
      "createdAt": "2024-01-15T10:30:00.000Z"
    }
  }
}
POST /api/v1/tickets

Create a new support ticket.

Request Body

Parameter Type Required Description
subject string required Ticket subject (max 200 chars)
message string required Initial ticket message
category string required technical, billing, general, etc.
priority string optional low, medium, high, urgent (default: medium)

Request Example

{
  "subject": "Executor not working",
  "message": "When I try to inject, it crashes",
  "category": "technical",
  "priority": "high"
}
PUT /api/v1/tickets/:id

Update a ticket by adding a message or changing status (staff only).

Request Body

{
  "message": "Thanks for your help!",
  "status": "closed",  // staff only
  "priority": "low"    // staff only
}

Executors API

Access information about Roblox executors.

GET /api/v1/executors

Get a list of all executors with pagination and filtering.

Response Example

{
  "success": true,
  "data": {
    "executors": [
      {
        "_id": "507f191e810c19729de860ea",
        "name": "Synapse X",
        "description": "Premium Roblox executor",
        "status": "updated",
        "supportedPlatforms": ["Windows"],
        "downloadUrl": "https://example.com/synapse",
        "icon": "/images/executors/synapse.png"
      }
    ],
    "pagination": {
      "page": 1,
      "limit": 20,
      "total": 38,
      "pages": 2
    }
  }
}
GET /api/v1/executors/:id

Get detailed information about a specific executor.

Scripts API

Access the Roblox scripts database.

GET /api/v1/scripts

Get a list of Roblox scripts with filtering by category and game.

Query Parameters

Parameter Type Description
category string Filter by category (gui, universal, game-specific)
game string Filter by game name (partial match)
page integer Page number
limit integer Items per page
GET /api/v1/scripts/search/:query

Search scripts by name, game, or description.

Error Handling

The API uses conventional HTTP response codes and returns detailed error messages in JSON format.

HTTP Status Codes

Code Meaning Description
200 OK Request successful
201 Created Resource created successfully
400 Bad Request Invalid request parameters
401 Unauthorized Invalid or missing API key
403 Forbidden Insufficient permissions
404 Not Found Resource not found
429 Too Many Requests Rate limit exceeded
500 Internal Server Error Server error

Error Response Format

{
  "success": false,
  "error": {
    "code": "INVALID_API_KEY",
    "message": "API key is invalid or has been revoked"
  }
}