Routes API
Rutas, peticiones y alertas dentro de la API
Returns a list of tasks with filtering options
Filter by task status
Filter by priority
Filter by creator ID
Filter by tag
GET /api/v1/service/tasks HTTP/1.1
Host: admin.hiroshi-dev.me
Accept: */*
[
{
"id": "507f1f77bcf86cd799439011",
"title": "Reunión mensual",
"description": "Discutir presupuesto",
"createdBy": "usuario123",
"createdAt": "2024-01-20T10:00:00Z",
"dueDate": "2024-01-25T15:30:00Z",
"status": "pending",
"priority": "high",
"tags": [
"trabajo",
"finanzas"
],
"reminder": {
"enabled": true,
"timeBefore": "30 minutes",
"notified": false
},
"recurrence": {
"type": "monthly",
"interval": 1,
"endDate": "2024-12-31T23:59:59Z",
"times": 3
},
"autoDelete": "2024-12-31T23:59:59Z",
"updatedAt": "2024-01-20T10:00:00Z",
"completedAt": "2025-07-02T02:51:49.812Z"
}
]
Creates a task with the provided data
Reunión mensual
Discutir presupuesto
usuario123
2024-01-25T15:30:00Z
pending
Example: pending
Possible values: medium
Example: high
Possible values: ["trabajo","finanzas"]
2024-12-31T23:59:59Z
POST /api/v1/service/tasks HTTP/1.1
Host: admin.hiroshi-dev.me
Content-Type: application/json
Accept: */*
Content-Length: 385
{
"title": "Reunión mensual",
"description": "Discutir presupuesto",
"createdBy": "usuario123",
"dueDate": "2024-01-25T15:30:00Z",
"status": "pending",
"priority": "high",
"tags": [
"trabajo",
"finanzas"
],
"reminder": {
"enabled": true,
"timeBefore": "30 minutes",
"notified": false
},
"recurrence": {
"type": "monthly",
"interval": 1,
"endDate": "2024-12-31T23:59:59Z",
"times": 3
},
"autoDelete": "2024-12-31T23:59:59Z"
}
{
"id": "507f1f77bcf86cd799439011",
"title": "Reunión mensual",
"description": "Discutir presupuesto",
"createdBy": "usuario123",
"createdAt": "2024-01-20T10:00:00Z",
"dueDate": "2024-01-25T15:30:00Z",
"status": "pending",
"priority": "high",
"tags": [
"trabajo",
"finanzas"
],
"reminder": {
"enabled": true,
"timeBefore": "30 minutes",
"notified": false
},
"recurrence": {
"type": "monthly",
"interval": 1,
"endDate": "2024-12-31T23:59:59Z",
"times": 3
},
"autoDelete": "2024-12-31T23:59:59Z",
"updatedAt": "2024-01-20T10:00:00Z",
"completedAt": "2025-07-02T02:51:49.812Z"
}
Returns the details of a specific task
Task ID
GET /api/v1/service/tasks/{id} HTTP/1.1
Host: admin.hiroshi-dev.me
Accept: */*
{
"id": "507f1f77bcf86cd799439011",
"title": "Reunión mensual",
"description": "Discutir presupuesto",
"createdBy": "usuario123",
"createdAt": "2024-01-20T10:00:00Z",
"dueDate": "2024-01-25T15:30:00Z",
"status": "pending",
"priority": "high",
"tags": [
"trabajo",
"finanzas"
],
"reminder": {
"enabled": true,
"timeBefore": "30 minutes",
"notified": false
},
"recurrence": {
"type": "monthly",
"interval": 1,
"endDate": "2024-12-31T23:59:59Z",
"times": 3
},
"autoDelete": "2024-12-31T23:59:59Z",
"updatedAt": "2024-01-20T10:00:00Z",
"completedAt": "2025-07-02T02:51:49.812Z"
}
Updates the specified fields of a task
Task ID
Reunión mensual actualizada
Discutir presupuesto y proyecciones
2024-01-26T15:30:00Z
completed
Possible values: medium
Possible values: ["trabajo","finanzas","importante"]
2024-12-31T23:59:59Z
PATCH /api/v1/service/tasks/{id} HTTP/1.1
Host: admin.hiroshi-dev.me
Content-Type: application/json
Accept: */*
Content-Length: 404
{
"title": "Reunión mensual actualizada",
"description": "Discutir presupuesto y proyecciones",
"dueDate": "2024-01-26T15:30:00Z",
"status": "completed",
"priority": "medium",
"tags": [
"trabajo",
"finanzas",
"importante"
],
"reminder": {
"enabled": true,
"timeBefore": "30 minutes",
"notified": false
},
"recurrence": {
"type": "monthly",
"interval": 1,
"endDate": "2024-12-31T23:59:59Z",
"times": 3
},
"autoDelete": "2024-12-31T23:59:59Z"
}
{
"id": "507f1f77bcf86cd799439011",
"title": "Reunión mensual",
"description": "Discutir presupuesto",
"createdBy": "usuario123",
"createdAt": "2024-01-20T10:00:00Z",
"dueDate": "2024-01-25T15:30:00Z",
"status": "pending",
"priority": "high",
"tags": [
"trabajo",
"finanzas"
],
"reminder": {
"enabled": true,
"timeBefore": "30 minutes",
"notified": false
},
"recurrence": {
"type": "monthly",
"interval": 1,
"endDate": "2024-12-31T23:59:59Z",
"times": 3
},
"autoDelete": "2024-12-31T23:59:59Z",
"updatedAt": "2024-01-20T10:00:00Z",
"completedAt": "2025-07-02T02:51:49.812Z"
}
Fetch recent data from Discord, including the current status, updates, and incidents from the last 24 hours.
GET /api/v1/public/api/v1/discord/recent HTTP/1.1
Host: admin.hiroshi-dev.me
Accept: */*
{
"data": {
"incidents": [
{
"title": "Server outage",
"summary": "A server outage is affecting some users...",
"link": "https://status.discord.com/incidents/12345",
"date": "2024-08-30T14:53:44.077Z",
"type": "incident"
}
],
"status": {
"status": "operational",
"message": "All systems operational",
"lastUpdated": "2024-08-30T14:53:44.077Z"
},
"updates": [
{
"title": "New feature announcement",
"summary": "Discord has introduced a new feature...",
"link": "https://discord.com/blog/new-feature",
"date": "2024-08-30T14:53:44.077Z",
"type": "announcement"
}
]
},
"errors": null
}
Fetch a list of active incidents reported by Discord. Incidents include service disruptions or outages that are currently unresolved.
GET /api/v1/public/api/v1/discord/incidents HTTP/1.1
Host: admin.hiroshi-dev.me
Accept: */*
[
{
"title": "Server outage",
"summary": "A server outage is affecting some users...",
"link": "https://status.discord.com/incidents/12345",
"date": "2024-08-30T14:53:44.077Z",
"type": "incident"
}
]
Fetch a list of recent updates published by Discord. These updates may include announcements, feature releases, or general updates.
GET /api/v1/public/api/v1/discord/updates HTTP/1.1
Host: admin.hiroshi-dev.me
Accept: */*
[
{
"title": "New feature announcement",
"summary": "Discord has introduced a new feature...",
"link": "https://discord.com/blog/new-feature",
"date": "2024-08-30T14:53:44.077Z",
"type": "announcement"
}
]
Fetch the current operational status of Discord's services. This endpoint provides real-time information about whether Discord is operational, degraded, or experiencing an outage.
GET /api/v1/public/api/v1/discord/status HTTP/1.1
Host: admin.hiroshi-dev.me
Accept: */*
{
"status": "operational",
"message": "All systems operational",
"lastUpdated": "2024-08-30T14:53:44.077Z"
}
Retrieve security information about a specific IP address including block status and related activity
IP address to query
192.168.1.100
GET /api/v1/security/ip-info/{ipAddress} HTTP/1.1
Host: admin.hiroshi-dev.me
Authorization: Bearer JWT
Accept: */*
{
"ipAddress": "192.168.1.100",
"isBlocked": true,
"blockedInfo": {
"ipAddress": "192.168.1.100",
"reason": "Multiple failed login attempts",
"blockedAt": "2023-01-15T10:30:00Z",
"expiresAt": "2023-02-15T10:30:00Z",
"blockedBy": {
"id": "5f8d04b3ab35de3a342f3a5d",
"name": "Admin User",
"email": "[email protected]"
}
},
"failedAttempts": 3,
"licenseUsage": [
{
"licenseId": "5f8d04b3ab35de3a342f3a5b",
"type": "PREMIUM",
"lastUsedAt": "2023-01-20T14:30:00Z"
}
]
}
Retrieve detailed information about a specific license including associated IPs and usage statistics
Unique license key identifier
5f8d04b3ab35de3a342f3a5b
GET /api/v1/security/license-info/{licenseKey} HTTP/1.1
Host: admin.hiroshi-dev.me
Authorization: Bearer JWT
Accept: */*
{
"license": {
"id": "507f1f77bcf86cd799439013",
"type": "PREMIUM",
"userId": "507f1f77bcf86cd799439011",
"adminId": "507f1f77bcf86cd799439012",
"hwid": [
"HWID12345"
],
"requestLimit": 5000,
"requestCount": 42,
"validFrom": "2023-01-01T00:00:00Z",
"validUntil": "2024-12-31T23:59:59Z",
"status": "ACTIVE",
"createdAt": "2023-01-01T00:00:00Z",
"updatedAt": "2023-01-02T00:00:00Z"
},
"blockedIPs": [
{
"ipAddress": "192.168.1.100",
"reason": "Multiple failed login attempts",
"blockedAt": "2023-01-15T10:30:00Z",
"expiresAt": "2023-02-15T10:30:00Z",
"blockedBy": {
"id": "5f8d04b3ab35de3a342f3a5d",
"name": "Admin User",
"email": "[email protected]"
}
}
],
"usageStats": {
"requestCount": 342,
"requestLimit": 1000,
"lastUsedAt": "2023-01-20T14:30:00Z",
"lastUsedIp": "192.168.1.150"
}
}
Retrieve the current status of the system, including uptime and health checks.
GET /api/v1/public/status HTTP/1.1
Host: admin.hiroshi-dev.me
Accept: */*
{
"status": "operational",
"uptime": 15.3353802,
"database": {
"status": "healthy",
"responseTime": "283ms"
},
"system": {
"platform": "win32",
"arch": "x64",
"nodeVersion": "v20.18.0",
"memoryUsage": {
"rss": 113950720,
"heapTotal": 61710336,
"heapUsed": 40272096,
"external": 2482539,
"arrayBuffers": 53510
},
"uptime": 15.0516304,
"cpuUsage": {
"user": 3375000,
"system": 7078000
},
"systemLoad": [
0,
0,
0
],
"freeMemory": 3459817472,
"totalMemory": 14861852672
},
"meta": {
"apiVersion": "1.0.0",
"environment": "development",
"startTime": "2025-03-30T11:21:25.486Z"
}
}
Authenticate a user and return a JWT token for subsequent requests.
[email protected]
secure-password
POST /api/v1/auth/login HTTP/1.1
Host: admin.hiroshi-dev.me
Content-Type: application/json
Accept: */*
Content-Length: 57
{
"email": "[email protected]",
"password": "secure-password"
}
{
"id": "userId123",
"email": "[email protected]",
"name": "John Doe",
"discord": "123456789",
"token": "jwt-token-123"
}
Register a new user in the API and generate a JWT token.
[email protected]
secure-password
John Doe
123456789
POST /api/v1/auth/register HTTP/1.1
Host: admin.hiroshi-dev.me
Content-Type: application/json
Accept: */*
Content-Length: 97
{
"email": "[email protected]",
"password": "secure-password",
"name": "John Doe",
"discord": "123456789"
}
{
"id": "userId123",
"email": "[email protected]",
"name": "John Doe",
"discord": "123456789"
}
Retrieve user data from the API using the provided JWT token.
ID of the user to retrieve.
userId123
JWT token for authentication.
GET /api/v1/auth/{id} HTTP/1.1
Host: admin.hiroshi-dev.me
Authorization: text
Accept: */*
{
"id": "userId123",
"discord": "123456789",
"name": "John Doe",
"createdAt": "2024-08-30T14:53:44.077Z",
"rol": "user",
"email": "[email protected]",
"password": "hashed-password"
}
Check if a license key is valid and meets all requirements
License key to validate
LIC-123-456-789
Hardware ID to validate against
HWID12345
POST /api/v1/license/validate/{key} HTTP/1.1
Host: admin.hiroshi-dev.me
Accept: */*
{
"valid": true,
"remainingRequests": 4958,
"expiresAt": "2024-12-31T23:59:59Z"
}
Permanently remove a license from the system
License ID
507f1f77bcf86cd799439013
Bearer token for authentication
Bearer your.jwt.token.here
DELETE /api/v1/license/{id} HTTP/1.1
Host: admin.hiroshi-dev.me
Authorization: Bearer your.jwt.token.here
Accept: */*
No content
Update license properties
License ID
507f1f77bcf86cd799439013
Bearer token for authentication
Bearer your.jwt.token.here
Updated list of hardware IDs
["HWID12345","HWID67890"]
New request limit
10000
New expiration date
2025-12-31T23:59:59Z
ACTIVE
Possible values: PUT /api/v1/license/{id} HTTP/1.1
Host: admin.hiroshi-dev.me
Authorization: Bearer your.jwt.token.here
Content-Type: application/json
Accept: */*
Content-Length: 109
{
"hwid": [
"HWID12345",
"HWID67890"
],
"requestLimit": 10000,
"validUntil": "2025-12-31T23:59:59Z",
"status": "ACTIVE"
}
{
"message": "License created successfully",
"data": {
"id": "507f1f77bcf86cd799439013",
"type": "PREMIUM",
"userId": "507f1f77bcf86cd799439011",
"adminId": "507f1f77bcf86cd799439012",
"hwid": [
"HWID12345"
],
"requestLimit": 5000,
"requestCount": 42,
"validFrom": "2023-01-01T00:00:00Z",
"validUntil": "2024-12-31T23:59:59Z",
"status": "ACTIVE",
"createdAt": "2023-01-01T00:00:00Z",
"updatedAt": "2023-01-02T00:00:00Z"
}
}
Retrieve detailed information about a specific license
License ID
507f1f77bcf86cd799439013
Bearer token for authentication
Bearer your.jwt.token.here
GET /api/v1/license/{id} HTTP/1.1
Host: admin.hiroshi-dev.me
Authorization: Bearer your.jwt.token.here
Accept: */*
{
"message": "License created successfully",
"data": {
"id": "507f1f77bcf86cd799439013",
"type": "PREMIUM",
"userId": "507f1f77bcf86cd799439011",
"adminId": "507f1f77bcf86cd799439012",
"hwid": [
"HWID12345"
],
"requestLimit": 5000,
"requestCount": 42,
"validFrom": "2023-01-01T00:00:00Z",
"validUntil": "2024-12-31T23:59:59Z",
"status": "ACTIVE",
"createdAt": "2023-01-01T00:00:00Z",
"updatedAt": "2023-01-02T00:00:00Z"
}
}
Retrieve a list of all licenses in the system
Bearer token for authentication
Bearer your.jwt.token.here
GET /api/v1/license HTTP/1.1
Host: admin.hiroshi-dev.me
Authorization: Bearer your.jwt.token.here
Accept: */*
[
{
"id": "507f1f77bcf86cd799439013",
"type": "PREMIUM",
"userId": "507f1f77bcf86cd799439011",
"adminId": "507f1f77bcf86cd799439012",
"hwid": [
"HWID12345"
],
"requestLimit": 5000,
"requestCount": 42,
"validFrom": "2023-01-01T00:00:00Z",
"validUntil": "2024-12-31T23:59:59Z",
"status": "ACTIVE",
"createdAt": "2023-01-01T00:00:00Z",
"updatedAt": "2023-01-02T00:00:00Z"
}
]
Creates a new software license with specified parameters. Requires admin privileges.
Bearer token for authentication
Bearer your.jwt.token.here
PREMIUM
Possible values: ID of user this license is assigned to
507f1f77bcf86cd799439011
ID of admin creating the license
507f1f77bcf86cd799439012
List of allowed hardware IDs
["HWID12345"]
Maximum allowed API requests
1000
Example: 5000
Expiration date
2024-12-31T23:59:59Z
Additional custom data
{"features":["premium","api-access"]}
POST /api/v1/license HTTP/1.1
Host: admin.hiroshi-dev.me
Authorization: Bearer your.jwt.token.here
Content-Type: application/json
Accept: */*
Content-Length: 217
{
"type": "PREMIUM",
"userId": "507f1f77bcf86cd799439011",
"adminId": "507f1f77bcf86cd799439012",
"hwid": [
"HWID12345"
],
"requestLimit": 5000,
"validUntil": "2024-12-31T23:59:59Z",
"metadata": {
"features": [
"premium",
"api-access"
]
}
}
{
"message": "License created successfully",
"data": {
"id": "507f1f77bcf86cd799439013",
"type": "PREMIUM",
"userId": "507f1f77bcf86cd799439011",
"adminId": "507f1f77bcf86cd799439012",
"hwid": [
"HWID12345"
],
"requestLimit": 5000,
"requestCount": 42,
"validFrom": "2023-01-01T00:00:00Z",
"validUntil": "2024-12-31T23:59:59Z",
"status": "ACTIVE",
"createdAt": "2023-01-01T00:00:00Z",
"updatedAt": "2023-01-02T00:00:00Z"
}
}
Returns a paginated list of currently blocked IP addresses in the system
Page number to retrieve (pagination)
1
Maximum number of results per page
20
GET /api/v1/admin/blocked-ips HTTP/1.1
Host: admin.hiroshi-dev.me
Authorization: Bearer JWT
Accept: */*
Successfully retrieved blocked IP list
[
{
"ipAddress": "192.168.1.100",
"blockedAt": "2023-01-15T10:30:00Z",
"reason": "Brute force attack attempt",
"expiresAt": "2023-02-15T10:30:00Z",
"blockedBy": "[email protected]"
}
]
Removes an IP address from the active block list
IP address to be unblocked
192.168.1.100
DELETE /api/v1/admin/unblock-ip/{ipAddress} HTTP/1.1
Host: admin.hiroshi-dev.me
Authorization: Bearer JWT
Accept: */*
{
"success": true,
"message": "IP unblocked successfully"
}
Adds an IP address to the system's block list
IP address to be blocked
192.168.1.100
Reason for blocking (for audit logs)
Multiple failed login attempts
ID of the user performing the block (optional)
507f1f77bcf86cd799439011
Expiration date/time for automatic unblock (optional)
2023-12-31T23:59:59Z
POST /api/v1/admin/block-ip HTTP/1.1
Host: admin.hiroshi-dev.me
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 142
{
"ipAddress": "192.168.1.100",
"reason": "Multiple failed login attempts",
"userId": "507f1f77bcf86cd799439011",
"expiresAt": "2023-12-31T23:59:59Z"
}
{
"success": true,
"message": "IP blocked successfully"
}
Send both text and a file to Gemini for combined processing
Google Gemini API Key
AIzaSyD...xyz
Gemini model to use
gemini-1.5-pro
Possible values: File to process (PDF, DOCX, etc.)
Text related to the file
Based on this document, what are the key points?
System instruction to configure Gemini's behavior
You are a document analysis expert
POST /api/v1/service/google/model-ai/combined HTTP/1.1
Host: admin.hiroshi-dev.me
x-gemini-api-key: AIzaSyD...xyz
x-gemini-model: gemini-1.5-pro
Content-Type: multipart/form-data
Accept: */*
Content-Length: 132
{
"file": "binary",
"text": "Based on this document, what are the key points?",
"systemInstruction": "You are a document analysis expert"
}
{
"response": "Artificial intelligence is...",
"model": "gemini-1.5-pro",
"timestamp": "2025-07-02T02:51:49.812Z"
}
Send a file to Gemini for processing
Google Gemini API Key
AIzaSyD...xyz
Gemini model to use
gemini-1.5-pro
Possible values: File to process (PDF, DOCX, etc.)
Instructions/prompt to process the file
Summarize this document
System instruction to configure Gemini's behavior
You are an academic assistant specialized in summarizing documents
POST /api/v1/service/google/model-ai/file HTTP/1.1
Host: admin.hiroshi-dev.me
x-gemini-api-key: AIzaSyD...xyz
x-gemini-model: gemini-1.5-pro
Content-Type: multipart/form-data
Accept: */*
Content-Length: 139
{
"file": "binary",
"text": "Summarize this document",
"systemInstruction": "You are an academic assistant specialized in summarizing documents"
}
{
"response": "Artificial intelligence is...",
"model": "gemini-1.5-pro",
"timestamp": "2025-07-02T02:51:49.812Z"
}
Send text to Gemini for processing
Google Gemini API Key
AIzaSyD...xyz
Gemini model to use
gemini-1.5-pro
Possible values: Text to be processed
Explain the concept of artificial intelligence
System instruction to configure Gemini's behavior
You are a university professor explaining technical concepts
POST /api/v1/service/google/model-ai/text HTTP/1.1
Host: admin.hiroshi-dev.me
x-gemini-api-key: AIzaSyD...xyz
x-gemini-model: gemini-1.5-pro
Content-Type: application/json
Accept: */*
Content-Length: 140
{
"text": "Explain the concept of artificial intelligence",
"systemInstruction": "You are a university professor explaining technical concepts"
}
{
"response": "Artificial intelligence is...",
"model": "gemini-1.5-pro",
"timestamp": "2025-07-02T02:51:49.812Z"
}
Returns a list of reminders that are about to be triggered
GET /api/v1/service/reminders HTTP/1.1
Host: admin.hiroshi-dev.me
Accept: */*
[
{
"id": "507f1f77bcf86cd799439011",
"title": "Reunión mensual",
"description": "Discutir presupuesto",
"createdBy": "usuario123",
"createdAt": "2024-01-20T10:00:00Z",
"dueDate": "2024-01-25T15:30:00Z",
"status": "pending",
"priority": "high",
"tags": [
"trabajo",
"finanzas"
],
"reminder": {
"enabled": true,
"timeBefore": "30 minutes",
"notified": false
},
"recurrence": {
"type": "monthly",
"interval": 1,
"endDate": "2024-12-31T23:59:59Z",
"times": 3
},
"autoDelete": "2024-12-31T23:59:59Z",
"updatedAt": "2024-01-20T10:00:00Z",
"completedAt": "2025-07-02T02:51:49.812Z"
}
]
Last updated