Bem-vindo à API do EzServer
A API do EzServer é uma API RESTful que permite gerenciar seus servidores, implantar aplicações, executar comandos SSH, criar backups e muito mais - tudo programaticamente.
O que você pode fazer com a API
- Criar e gerenciar servidores com acesso SSH
- Executar comandos e transmitir saída em tempo real
- Implantar aplicações com detecção automática de framework
- Criar e restaurar backups
- Monitorar métricas e recursos do servidor
- Compartilhar acesso ao servidor com membros da equipe
- Provisionar servidores na nuvem sob demanda
URL Base
https://ezserver.app/api/v1
Formato de Resposta
Todas as respostas são retornadas em formato JSON com uma estrutura consistente:
{
"success": true,
"message": "Operation completed successfully",
"data": { ... },
"meta": {
"total": 10,
"per_page": 15,
"current_page": 1
}
}
Início Rápido
1. Obtenha Seu Token de API
Gere um token de API no seu painel. Vá em Perfil > Tokens de API e crie um novo token.
2. Faça Sua Primeira Requisição
Use seu token para autenticar requisições. Inclua-o no cabeçalho Authorization.
3. Explore a API
Navegue pela documentação para descobrir todos os endpoints disponíveis e suas capacidades.
Tente listar seus servidores:
curl -X GET "https://ezserver.app/api/v1/servers" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
Autenticação
A API do EzServer usa autenticação Bearer token via Laravel Sanctum. Inclua seu token de API no cabeçalho Authorization de cada requisição.
Formato do Cabeçalho
Authorization: Bearer YOUR_API_TOKEN
/api/v1/auth/register
Público
Registrar
Criar uma nova conta de usuário.
curl -X POST "https://ezserver.app/api/v1/auth/register" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"name": "John Doe",
"email": "john@example.com",
"password": "password123",
"password_confirmation": "password123"
}'
/api/v1/auth/login
Público
Login
Autenticar e receber um token de API.
curl -X POST "https://ezserver.app/api/v1/auth/login" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"email": "john@example.com",
"password": "password123"
}'
/api/v1/auth/profile
Requer Autenticação
Obter Perfil
Obter perfil do usuário autenticado.
curl -X GET "https://ezserver.app/api/v1/auth/profile" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
/api/v1/auth/verify-2fa
Público
Verificar 2FA
Verificar código de autenticação de dois fatores.
curl -X POST "https://ezserver.app/api/v1/auth/verify-2fa" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"challenge_token": "CHALLENGE_TOKEN_FROM_LOGIN",
"code": "123456"
}'
/api/v1/auth/profile
Requer Autenticação
Atualizar Perfil
Atualizar informações do perfil do usuário.
curl -X PUT "https://ezserver.app/api/v1/auth/profile" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"name": "John Updated",
"email": "john.new@example.com"
}'
/api/v1/auth/logout
Requer Autenticação
Logout
Revogar o token de API atual.
curl -X POST "https://ezserver.app/api/v1/auth/logout" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
/api/v1/auth/logout-all
Requer Autenticação
Logout de Todos os Dispositivos
Revogar todos os tokens de API do usuário.
curl -X POST "https://ezserver.app/api/v1/auth/logout-all" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
/api/v1/auth/tokens
Requer Autenticação
Listar Tokens
Listar todos os tokens de API ativos.
curl -X GET "https://ezserver.app/api/v1/auth/tokens" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
/api/v1/auth/tokens/{tokenId}
Requer Autenticação
Excluir Token
Revogar um token de API específico.
curl -X DELETE "https://ezserver.app/api/v1/auth/tokens/5" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
Limites de Taxa
As requisições da API são limitadas para garantir uso justo e proteger o serviço. Os limites variam por endpoint e plano de assinatura.
Limites por Plano
60
requests/min
300
requests/min
600
requests/min
Cabeçalhos de Limite de Taxa
Toda resposta inclui informações de limite de taxa nos cabeçalhos:
X-RateLimit-Limit: 60 // Máximo de requisições permitidas na janela
X-RateLimit-Remaining: 45 // Requisições restantes na janela atual
X-RateLimit-Reset: 1640000000 // Timestamp Unix de quando a janela reseta
Quando o Limite é Excedido
Quando você excede o limite, você receberá uma resposta 429 Too Many Requests:
{
"success": false,
"message": "Too Many Requests",
"retry_after": 30
}
Servidores
Gerencie seus servidores com operações CRUD completas, teste de conectividade SSH, execução de comandos e monitoramento de métricas.
/api/v1/servers
Requer Autenticação
Listar Servidores
Obter uma lista paginada de todos os seus servidores.
curl -X GET "https://ezserver.app/api/v1/servers" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
/api/v1/servers
Requer Autenticação
Criar Servidor
Adicionar um novo servidor à sua conta.
curl -X POST "https://ezserver.app/api/v1/servers" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"name": "My Production Server",
"host": "192.168.1.100",
"port": 22,
"username": "root",
"password": "your-ssh-password",
"type": "vps"
}'
/api/v1/servers/{id}
Requer Autenticação
Obter Servidor
Obter informações detalhadas sobre um servidor específico.
curl -X GET "https://ezserver.app/api/v1/servers/1" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
/api/v1/servers/{id}/test-connection
Requer Autenticação
Testar Conexão
Testar conectividade SSH com o servidor.
curl -X POST "https://ezserver.app/api/v1/servers/1/test-connection" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
/api/v1/servers/{id}/execute-command
Requer Autenticação
Executar Comando
Executar um comando SSH no servidor.
curl -X POST "https://ezserver.app/api/v1/servers/1/execute-command" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"command": "uptime"}'
/api/v1/servers/{id}
Requer Autenticação
Atualizar Servidor
Atualizar configuração do servidor.
curl -X PUT "https://ezserver.app/api/v1/servers/1" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"name": "Updated Server Name",
"port": 2222
}'
/api/v1/servers/{id}
Requer Autenticação
Excluir Servidor
Remover um servidor da sua conta.
curl -X DELETE "https://ezserver.app/api/v1/servers/1" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
/api/v1/servers/{id}/scan
Requer Autenticação
Escanear Servidor
Escanear e detectar configuração do servidor, aplicações e serviços.
curl -X POST "https://ezserver.app/api/v1/servers/1/scan" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
/api/v1/servers/{id}/metrics
Requer Autenticação
Obter Métricas
Obter métricas do servidor em tempo real (CPU, memória, disco, rede).
curl -X GET "https://ezserver.app/api/v1/servers/1/metrics" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
/api/v1/servers/{id}/applications
Requer Autenticação
Listar Aplicações
Obter todas as aplicações implantadas no servidor.
curl -X GET "https://ezserver.app/api/v1/servers/1/applications" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
Sessões SSH
Gerencie sessões SSH e execute comandos com streaming em tempo real via SSE (Server-Sent Events) ou WebSocket.
/api/v1/ssh/sessions
Requer Autenticação
Listar Sessões
Obter todas as sessões SSH ativas do usuário autenticado.
curl -X GET "https://ezserver.app/api/v1/ssh/sessions" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
/api/v1/ssh/sessions/server/{serverId}
Requer Autenticação
Sessões do Servidor
Obter sessões SSH ativas de um servidor específico.
curl -X GET "https://ezserver.app/api/v1/ssh/sessions/server/1" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
/api/v1/ssh/sessions/{virtualSessionId}
Requer Autenticação
Encerrar Sessão
Encerrar uma sessão SSH específica pelo seu ID de sessão virtual.
curl -X DELETE "https://ezserver.app/api/v1/ssh/sessions/abc123" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
/api/v1/ssh/sessions/server/{serverId}/all
Requer Autenticação
Encerrar Todas
Encerrar todas as sessões SSH de um servidor específico.
curl -X DELETE "https://ezserver.app/api/v1/ssh/sessions/server/1/all" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
Streaming em Tempo Real
O EzServer suporta dois métodos para execução de comandos em tempo real:
Server-Sent Events (SSE) Profissional+
Use SSE para streaming unidirecional da saída de comandos. Ideal para executar comandos e receber resultados.
Conectando ao Stream SSE
curl -N "https://ezserver.app/api/v1/mcp/sse" \
-H "Authorization: Bearer YOUR_MCP_TOKEN" \
-H "X-User-ID: YOUR_USER_ID" \
-H "Accept: text/event-stream"
WebSocket
Use WebSocket para sessões de terminal interativas full-duplex. Ideal para shells interativos.
Conexão WebSocket
const ws = new WebSocket('wss://ezserver.app:8090/ssh-ws');
ws.onopen = () => {
// Mensagem de autenticação para iniciar sessão
ws.send(JSON.stringify({
type: 'auth',
data: {
server_id: 1,
token: 'YOUR_API_TOKEN'
}
}));
};
ws.onmessage = (event) => {
const output = atob(event.data); // Base64 decoded
console.log(output);
};
// Enviar entrada para o terminal
ws.send(JSON.stringify({
type: 'input',
data: btoa('ls -la\n') // Base64 encoded
}));
// Redimensionar janela do terminal
ws.send(JSON.stringify({
type: 'resize',
data: { cols: 120, rows: 40 }
}));
Backups
Básico+Crie, gerencie e restaure backups de servidores. A frequência e recursos de backup dependem do seu plano de assinatura.
Recursos de backup requerem um plano Básico ou superior.
/api/v1/backups
Básico+
Listar Backups
Obter todos os backups do usuário autenticado.
curl -X GET "https://ezserver.app/api/v1/backups" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
/api/v1/backups/quick
Básico+
Backup Rápido
Criar um backup imediato de um servidor.
curl -X POST "https://ezserver.app/api/v1/backups/quick" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"server_id": 1,
"type": "full",
"name": "Pre-deployment backup"
}'
/api/v1/backups/{id}
Básico+
Obter Backup
Obter informações detalhadas sobre um backup específico.
curl -X GET "https://ezserver.app/api/v1/backups/1" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
/api/v1/backups/{id}
Básico+
Excluir Backup
Excluir um backup permanentemente.
curl -X DELETE "https://ezserver.app/api/v1/backups/1" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
/api/v1/servers/{id}/backups
Básico+
Backups do Servidor
Obter todos os backups de um servidor específico.
curl -X GET "https://ezserver.app/api/v1/servers/1/backups" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
/api/v1/servers/{id}/backup-configurations
Básico+
Configurações de Backup
Gerenciar configurações de backup agendado.
curl -X GET "https://ezserver.app/api/v1/servers/1/backup-configurations" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
Tipos de Backup
full
Backup completo do servidor incluindo todos os arquivos, bancos de dados e configurações
files
Backup apenas de arquivos e diretórios
database
Backup apenas de bancos de dados
Aplicações
Implante e gerencie aplicações com detecção automática de framework. Suporta 28+ frameworks incluindo Laravel, Node.js, Python e mais.
/api/v1/servers/{server}/applications
Requer Autenticação
Implantar Aplicação
Implantar uma nova aplicação com detecção automática de framework.
curl -X POST "https://ezserver.app/api/v1/servers/1/applications" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"path": "/var/www/myapp",
"domain": "myapp.example.com",
"framework": "laravel"
}'
/api/v1/servers/{server}/applications/{app}/start
Requer Autenticação
Iniciar Aplicação
Iniciar uma aplicação que está atualmente parada.
curl -X POST "https://ezserver.app/api/v1/servers/1/applications/5/start" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
/api/v1/servers/{server}/applications/{app}/stop
Requer Autenticação
Parar Aplicação
Parar uma aplicação em execução.
curl -X POST "https://ezserver.app/api/v1/servers/1/applications/5/stop" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
/api/v1/servers/{server}/applications/{app}/ssl
Requer Autenticação
Habilitar SSL
Habilitar certificado SSL para a aplicação.
curl -X POST "https://ezserver.app/api/v1/servers/1/applications/5/ssl" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
Frameworks Suportados
Laravel, Symfony, WordPress, Django, Flask, FastAPI, Express, Next.js, Nuxt.js, NestJS, Vue, React, Angular e mais.
Operações de Banco de Dados
Execute operações de banco de dados com suporte a uploads e downloads em chunks. Perfeito para arquivos de banco de dados grandes.
/api/v1/servers/{server}/database/upload/initialize
Requer Autenticação
Inicializar Upload
Iniciar uma sessão de upload de arquivo de banco de dados em chunks.
curl -X POST "https://ezserver.app/api/v1/servers/1/database/upload/initialize" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"filename": "backup.sql",
"size": 104857600,
"database": "production_db"
}'
/api/v1/servers/{server}/database/export
Requer Autenticação
Exportar Banco de Dados
Exportar um banco de dados para um arquivo SQL.
curl -X POST "https://ezserver.app/api/v1/servers/1/database/export" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"database": "production_db",
"format": "sql"
}'
Operações de Arquivo
Baixe arquivos de servidores com suporte a downloads em chunks. Ideal para arquivos grandes e conexões instáveis.
/api/v1/servers/{server}/files/download/initialize
Requer Autenticação
Inicializar Download
Iniciar uma sessão de download de arquivo em chunks.
curl -X POST "https://ezserver.app/api/v1/servers/1/files/download/initialize" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"path": "/var/www/myapp/storage/logs/laravel.log"
}'
/api/v1/servers/{server}/files/download
Requer Autenticação
Download em Background
Iniciar um job de download em background para arquivos grandes.
curl -X POST "https://ezserver.app/api/v1/servers/1/files/download" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"path": "/var/www/myapp/public/storage/large-file.zip",
"background": true
}'
Compartilhamento de Recursos
Compartilhe acesso ao servidor com membros da equipe com permissões granulares (visualizar, escrever, executar).
Níveis de Permissão
view
Visualizar detalhes e métricas do servidor
write
Modificar configurações e arquivos do servidor
execute
Executar comandos SSH no servidor
/api/v1/shares
Requer Autenticação
Listar Compartilhamentos
Obter todos os compartilhamentos de recursos (enviados e recebidos).
curl -X GET "https://ezserver.app/api/v1/shares" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
/api/v1/shares
Requer Autenticação
Criar Compartilhamento
Criar um novo convite de compartilhamento de recurso.
curl -X POST "https://ezserver.app/api/v1/shares" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"email": "teammate@example.com",
"server_ids": [1, 2],
"permissions": ["view", "execute"]
}'
/api/v1/shares/pending
Requer Autenticação
Convites Pendentes
Obter convites de compartilhamento pendentes.
curl -X GET "https://ezserver.app/api/v1/shares/pending" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
/api/v1/shares/{token}/accept
Requer Autenticação
Aceitar Compartilhamento
Aceitar um convite de compartilhamento.
curl -X POST "https://ezserver.app/api/v1/shares/abc123def456/accept" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
/api/v1/shares/{token}/reject
Requer Autenticação
Rejeitar Compartilhamento
Rejeitar um convite de compartilhamento.
curl -X POST "https://ezserver.app/api/v1/shares/abc123def456/reject" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
/api/v1/shares/{id}
Requer Autenticação
Revogar Compartilhamento
Revogar um compartilhamento (apenas proprietário).
curl -X DELETE "https://ezserver.app/api/v1/shares/1" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
Solicitações de Acesso
Solicite e gerencie acesso a recursos compartilhados. Usuários podem solicitar acesso a servidores que não possuem.
/api/v1/access-requests
Requer Autenticação
Listar Solicitações
Obter todas as solicitações de acesso (enviadas e recebidas).
curl -X GET "https://ezserver.app/api/v1/access-requests" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
/api/v1/access-requests
Requer Autenticação
Solicitar Acesso
Enviar uma nova solicitação de acesso a um recurso.
curl -X POST "https://ezserver.app/api/v1/access-requests" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"share_id": 1,
"message": "I need access to deploy the frontend."
}'
/api/v1/access-requests/{id}/approve
Requer Autenticação
Aprovar Solicitação
Aprovar uma solicitação de acesso pendente (apenas proprietário).
curl -X POST "https://ezserver.app/api/v1/access-requests/1/approve" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
/api/v1/access-requests/{id}/reject
Requer Autenticação
Rejeitar Solicitação
Rejeitar uma solicitação de acesso pendente (apenas proprietário).
curl -X POST "https://ezserver.app/api/v1/access-requests/1/reject" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
Servidores Cloud
EmpresarialProvisione e gerencie servidores na nuvem sob demanda. Disponível em planos Empresarial.
Provisionamento de servidores na nuvem requer um plano Empresarial.
/api/v1/cloud/providers
Público
Listar Provedores
Obter provedores de nuvem disponíveis.
curl -X GET "https://ezserver.app/api/v1/cloud/providers" \
-H "Accept: application/json"
/api/v1/cloud/sizes
Público
Listar Tamanhos
Obter tamanhos de servidor disponíveis e preços.
curl -X GET "https://ezserver.app/api/v1/cloud/sizes" \
-H "Accept: application/json"
/api/v1/cloud/regions
Público
Listar Regiões
Obter regiões disponíveis para cada provedor.
curl -X GET "https://ezserver.app/api/v1/cloud/regions" \
-H "Accept: application/json"
/api/v1/cloud/pricing
Público
Obter Preços
Obter informações de preços atuais.
curl -X GET "https://ezserver.app/api/v1/cloud/pricing" \
-H "Accept: application/json"
/api/v1/cloud/servers/provision
Empresarial
Provisionar Servidor
Provisionar um novo servidor na nuvem.
curl -X POST "https://ezserver.app/api/v1/cloud/servers/provision" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"provider": "digitalocean",
"size": "s-2vcpu-4gb",
"region": "nyc1",
"name": "my-cloud-server"
}'
/api/v1/cloud/subscriptions
Empresarial
Listar Assinaturas
Obter suas assinaturas de servidores na nuvem.
curl -X GET "https://ezserver.app/api/v1/cloud/subscriptions" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
/api/v1/cloud/servers/{id}/cancel
Empresarial
Cancelar Assinatura
Cancelar uma assinatura de servidor na nuvem.
curl -X POST "https://ezserver.app/api/v1/cloud/servers/1/cancel" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
Protocolo MCP
Profissional+Integração Model Context Protocol (MCP) para execução de comandos SSH com IA e gerenciamento de servidores.
O Protocolo MCP requer um plano Profissional ou superior.
Autenticação MCP
O MCP usa um método de autenticação separado com cabeçalhos personalizados:
Authorization: Bearer YOUR_MCP_TOKEN // Seu token de API MCP (diferente do token de API regular)
X-User-ID: YOUR_USER_ID // Seu ID de usuário
/api/v1/mcp/tool
Profissional+
Executar Ferramenta
Executar uma ferramenta MCP.
curl -X POST "https://ezserver.app/api/v1/mcp/tool" \
-H "Authorization: Bearer YOUR_MCP_TOKEN" \
-H "X-User-ID: YOUR_USER_ID" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"tool": "executeCommand",
"params": {
"server_id": 1,
"command": "uptime"
}
}'
Ferramentas Disponíveis
listServers
Listar todos os servidores acessíveis
getServerDetails
Obter informações detalhadas do servidor
executeCommand
Executar comando SSH em um servidor
getServerMetrics
Obter métricas do servidor em tempo real
Status da API
Monitore a disponibilidade da API e informações de versão.
/api/v1/health
Público
Status da API
Verificar se a API está funcionando e obter informações de versão.
curl -X GET "https://ezserver.app/api/v1/health" \
-H "Accept: application/json"
Painel
Obtenha uma visão geral da sua conta incluindo estatísticas de servidores, atividade recente e uso de recursos.
/api/v1/dashboard
Requer Autenticação
Visão Geral do Painel
Obter estatísticas da conta, contagem de servidores e atividade recente.
curl -X GET "https://ezserver.app/api/v1/dashboard" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
/api/v1/metrics
Requer Autenticação
Métricas Globais
Obter métricas agregadas de todos os seus servidores.
curl -X GET "https://ezserver.app/api/v1/metrics" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
WHM/cPanel
WHMGerencie servidores WHM/cPanel com gerenciamento de contas, operações de arquivos, gerenciamento de banco de dados, contas FTP, backups e implantação de aplicações.
O gerenciamento WHM/cPanel requer servidores configurados com acesso WHM.
/api/v1/servers/{server}/whm/accounts
Requer Autenticação
Listar Contas
Obter todas as contas cPanel no servidor WHM.
curl -X GET "https://ezserver.app/api/v1/servers/1/whm/accounts" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
/api/v1/servers/{server}/whm/accounts/sync
Requer Autenticação
Sincronizar Contas
Sincronizar contas cPanel com o banco de dados local.
curl -X POST "https://ezserver.app/api/v1/servers/1/whm/accounts/sync" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
/api/v1/servers/{server}/whm/accounts/{username}/files
Requer Autenticação
Listar Arquivos
Listar arquivos em um diretório de conta cPanel.
curl -X GET "https://ezserver.app/api/v1/servers/1/whm/accounts/cpuser/files?path=/public_html" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
/api/v1/servers/{server}/whm/accounts/{username}/databases
Requer Autenticação
Listar Bancos de Dados
Listar bancos de dados de uma conta cPanel.
curl -X GET "https://ezserver.app/api/v1/servers/1/whm/accounts/cpuser/databases" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
/api/v1/servers/{server}/whm/accounts/{username}/databases
Requer Autenticação
Criar Banco de Dados
Criar um novo banco de dados para uma conta cPanel.
curl -X POST "https://ezserver.app/api/v1/servers/1/whm/accounts/cpuser/databases" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"name": "myapp_db"}'
/api/v1/servers/{server}/whm/accounts/{username}/backups
Requer Autenticação
Criar Backup
Criar um novo backup de uma conta cPanel.
curl -X POST "https://ezserver.app/api/v1/servers/1/whm/accounts/cpuser/backups" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
/api/v1/servers/{server}/whm/accounts/{username}/deploy
Requer Autenticação
Implantar Aplicação
Implantar uma aplicação em uma conta cPanel.
curl -X POST "https://ezserver.app/api/v1/servers/1/whm/accounts/cpuser/deploy" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"framework": "laravel",
"domain": "myapp.example.com"
}'
/api/v1/whm/frameworks
Requer Autenticação
Frameworks Suportados
Obter lista de frameworks suportados para implantação WHM.
curl -X GET "https://ezserver.app/api/v1/whm/frameworks" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
Webhooks
Configure e gerencie webhooks para implantações automatizadas e notificações de cobrança.
Webhooks Git não requerem autenticação. O repositório e token na URL servem como identificação.
/api/v1/webhooks/git/{repository}/{token}
Público
Webhook Git
Receber eventos de push Git para implantações automatizadas.
curl -X POST "https://ezserver.app/api/v1/webhooks/git/my-repo/abc123token" \
-H "Content-Type: application/json" \
-d '{"ref": "refs/heads/main"}'
/api/v1/webhooks/git/{repository}/{token}/test
Público
Testar Webhook
Testar se um endpoint de webhook está configurado corretamente.
curl -X GET "https://ezserver.app/api/v1/webhooks/git/my-repo/abc123token/test" \
-H "Accept: application/json"
/api/v1/webhooks/git/{repository}/{token}/status
Público
Status do Webhook
Obter o status atual e eventos recentes de um webhook.
curl -X GET "https://ezserver.app/api/v1/webhooks/git/my-repo/abc123token/status" \
-H "Accept: application/json"
Tratamento de Erros
A API usa códigos de status HTTP padrão e retorna mensagens de erro detalhadas em formato JSON.
Códigos de Status HTTP
Formato de Resposta de Erro
{
"success": false,
"message": "The given data was invalid.",
"errors": {
"email": ["The email field is required."],
"password": ["The password must be at least 8 characters."]
}
}
SDKs e Bibliotecas
Bibliotecas oficiais e mantidas pela comunidade para integrar com a API do EzServer.
JavaScript
Em breve
Python
Em breve
PHP
Em breve
Go
Em breve
Quer contribuir com um SDK? Entre em contato!
Contate o SuportePrecisa de Ajuda?
Quer contribuir com um SDK? Entre em contato!
Contate o Suporte