arrobaMail
Módulo 0627 endpoints

Users /users

Endpoints marcados como Reseller exigem papel de reseller ou superior.

Endpoints

27 no total
GET/users/meUsuário

Dados do usuário autenticado

Exemplo

curl -X GET "https://envios.arrobamail.com/v3/api/users/me" \
  -H "Authorization: Bearer $TOKEN"

Resposta 200

{
  "id": 1234, "uname": "usuario", "email": "[email protected]",
  "nombre": "João", "apellido": "Silva", "empresa": "Minha Empresa",
  "role": "user", "user_type": "pro", "parent_id": 100,
  "active": 1, "max_sends": 50000, "max_suscribers": 10000,
  "creditos": 45000, "reputation": 95, "lang": "pt"
}
PUT/users/meUsuário

Atualizar perfil próprio

Request body · application/json

NomeTipoObrig.Descrição
nombrestringNãoNome
apellidostringNãoSobrenome
emailstringNãoEmail
empresastringNãoEmpresa
telefonostringNãoTelefone
langstringNão"es" ou "en"
timezonestringNãoTimezone (e.g. "America/Buenos_Aires")

Exemplo

curl -X PUT "https://envios.arrobamail.com/v3/api/users/me" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "nombre": "...",
  "apellido": "...",
  "email": "...",
  "empresa": "...",
  "telefono": "...",
  "lang": "...",
  "timezone": "..."
}'

Resposta 200

{ "success": true }
PUT/users/me/passwordUsuário

Alterar senha

Invalida todas as sessões ativas em todos os dispositivos.

Request body · application/json

NomeTipoObrig.Descrição
currentPasswordstringSimSenha atual
newPasswordstringSimNova senha

Exemplo

curl -X PUT "https://envios.arrobamail.com/v3/api/users/me/password" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "currentPassword": "...",
  "newPassword": "..."
}'

Resposta 200

{ "success": true }
GET/users/me/aicreditsUsuário

Créditos de IA disponíveis

Exemplo

curl -X GET "https://envios.arrobamail.com/v3/api/users/me/aicredits" \
  -H "Authorization: Bearer $TOKEN"

Resposta 200

{
  "canGenerate": true,
  "monthlyAvailable": 45, "dailyAvailable": 8,
  "maxMonthlyGenerations": 50, "maxDailyGenerations": 10,
  "monthlyUsed": 5, "dailyUsed": 2
}
GET/users/me/public-configUsuário

Configuração pública global para a UI

Expõe valores seguros para o frontend combinando config.json e om_config. Inclui rate limits de eventos e limites de envios de teste.

Exemplo

curl -X GET "https://envios.arrobamail.com/v3/api/users/me/public-config" \
  -H "Authorization: Bearer $TOKEN"

Resposta 200

{
  "eventRateLimits": {
    "user": { "minute": 60, "hour": 1000, "day": 10000 },
    "global": { "minute": 600, "hour": 10000, "day": 100000 }
  },
  "testSendLimits": {
    "hourly": 10,
    "daily": 50
  }
}
GET/users/me/brand-kitsUsuário

Listar Kits de marca próprios

Retorna apenas os Kits de marca do usuário autenticado.

Exemplo

curl -X GET "https://envios.arrobamail.com/v3/api/users/me/brand-kits" \
  -H "Authorization: Bearer $TOKEN"

Resposta 200

{
  "list": [
    { "id": 7, "status": "active", "isDefault": true, "revision": 2, "brandName": "Acme" }
  ]
}
POST/users/me/brand-kits/analyze-urlUsuário

Analisar URL para Kit de marca

Somente HTTPS. Bloqueia URLs encurtadas, privadas, internas e redirects cross-host.

Request body · application/json

NomeTipoObrig.Descrição
urlstringSimURL HTTPS do site a analisar

Exemplo

curl -X POST "https://envios.arrobamail.com/v3/api/users/me/brand-kits/analyze-url" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "url": "..."
}'

Resposta 200

{
  "draft": { "brandName": "Acme", "primaryColor": "#112233", "toneOfVoice": "Directo" },
  "creditCost": 3,
  "poolBalanceAfter": 100
}

Erros

StatusCodeDescrição
400url_https_requiredA URL deve usar HTTPS
400url_shortener_not_allowedHost na blacklist de encurtadores
400url_private_host_not_allowedHost privado ou interno
400url_private_ip_not_allowedIP privado, link-local ou reservado
400url_cross_host_redirect_not_allowedRedirecionamento para outro host
402insufficient_creditsCréditos de IA insuficientes
429daily_limit_reachedLimite diário de IA atingido
429monthly_limit_reachedLimite mensal de IA atingido
429rate_limit_exceededMuitas análises seguidas
500internal_errorErro interno não público
POST/users/me/brand-kits/analyze-campaignsUsuário

Analisar campanhas anteriores para Kit de marca

Analisa até 5 campanhas próprias.

Request body · application/json

NomeTipoObrig.Descrição
campaignIdsnumber[]SimIDs de campanhas próprias. Máximo 5.

Exemplo

curl -X POST "https://envios.arrobamail.com/v3/api/users/me/brand-kits/analyze-campaigns" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "campaignIds": [0]
}'

Resposta 200

{ "draft": { "brandName": "Acme", "ctaStyle": "Directo" } }

Erros

StatusCodeDescrição
400missing_campaignsLista vazia ou inválida
400too_many_campaignsMais de 5 campanhas
404campaign_not_foundCampanha inexistente ou não pertence ao usuário
402insufficient_creditsCréditos de IA insuficientes
429daily_limit_reachedLimite diário de IA atingido
429monthly_limit_reachedLimite mensal de IA atingido
429rate_limit_exceededMuitas análises seguidas
500internal_errorErro interno não público
POST/users/me/brand-kitsUsuário

Criar Kit de marca

Cria um rascunho editável.

Request body · application/json

NomeTipoObrig.Descrição
namestringNãoNome interno do kit
brandNamestringNãoNome da marca
primaryColorstringNãoCor hexadecimal #RRGGBB
toneOfVoicestringNãoTom de voz

Exemplo

curl -X POST "https://envios.arrobamail.com/v3/api/users/me/brand-kits" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "...",
  "brandName": "...",
  "primaryColor": "...",
  "toneOfVoice": "..."
}'

Resposta 201

{ "kit": { "id": 7, "status": "draft", "revision": 1 } }

Erros

StatusCodeDescrição
400invalid_brand_kit_colorCor inválida
400invalid_text_densityDensidade de texto inválida
500brand_kit_create_failedNão foi possível criar o registro
500internal_errorErro interno não público
503brand_kits_not_configuredFalta aplicar a migração do banco de dados
PATCH/users/me/brand-kits/:idUsuário

Atualizar Kit de marca

Permite atualizar apenas kits próprios. Incrementa revision.

Parâmetros de rota

NomeDescrição
idID numérico do kit

Request body · application/json

NomeTipoObrig.Descrição
brandNamestringNãoNome da marca
visualStylestringNãoEstilo visual

Exemplo

curl -X PATCH "https://envios.arrobamail.com/v3/api/users/me/brand-kits/{ID}" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "brandName": "...",
  "visualStyle": "..."
}'

Resposta 200

{ "kit": { "id": 7, "revision": 2 } }

Erros

StatusCodeDescrição
400invalid_brand_kit_colorCor inválida
400invalid_text_densityDensidade de texto inválida
404brand_kit_not_foundNão existe ou não pertence ao usuário
500internal_errorErro interno não público
503brand_kits_not_configuredFalta aplicar a migração do banco de dados
POST/users/me/brand-kits/:id/activateUsuário

Ativar Kit de marca

Marca o kit como ativo/padrão para futuras gerações de IA.

Parâmetros de rota

NomeDescrição
idID numérico do kit

Exemplo

curl -X POST "https://envios.arrobamail.com/v3/api/users/me/brand-kits/{ID}/activate" \
  -H "Authorization: Bearer $TOKEN"

Resposta 200

{ "kit": { "id": 7, "status": "active", "isDefault": true } }

Erros

StatusCodeDescrição
404brand_kit_not_foundNão existe ou não pertence ao usuário
500internal_errorErro interno não público
503brand_kits_not_configuredFalta aplicar a migração do banco de dados
GET/users/:idReseller

Dados de um usuário específico

Parâmetros de rota

NomeDescrição
idID numérico do usuário

Exemplo

curl -X GET "https://envios.arrobamail.com/v3/api/users/{ID}" \
  -H "Authorization: Bearer $TOKEN"
GET/users/:id/listReseller

Listar subusuários

Parâmetros de rota

NomeDescrição
idID do reseller pai

Query params

NomeTipoObrig.DefaultDescrição
offsetnumberNão0Deslocamento
limitnumberNão25Itens por página
userTypestringNão-Filtro por tipo de usuário
searchStringstringNão-Busca por email/username
sortBystringNão-Campo de ordenação
sortDescbooleanNãofalseOrdem decrescente

Exemplo

curl -X GET "https://envios.arrobamail.com/v3/api/users/{ID}/list" \
  -H "Authorization: Bearer $TOKEN"
POST/users/:idReseller

Criar subusuário

Parâmetros de rota

NomeDescrição
idID do reseller pai

Request body · application/json

NomeTipoObrig.Descrição
unamestringSimUsername
passstringSimSenha
emailstringSimEmail
max_sendsnumberNãoLimite de envios por mês
max_suscribersnumberNãoLimite de assinantes
creditosnumberNãoCréditos iniciais

Exemplo

curl -X POST "https://envios.arrobamail.com/v3/api/users/{ID}" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "uname": "...",
  "pass": "...",
  "email": "...",
  "max_sends": 0,
  "max_suscribers": 0,
  "creditos": 0
}'
PUT/users/:idReseller

Atualizar subusuário

Parâmetros de rota

NomeDescrição
idID do usuário a atualizar

Request body · application/json

NomeTipoObrig.Descrição
max_sendsnumberNãoLimite de envios
max_suscribersnumberNãoLimite de assinantes
activenumberNão1 = ativo, 0 = inativo

Exemplo

curl -X PUT "https://envios.arrobamail.com/v3/api/users/{ID}" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "max_sends": 0,
  "max_suscribers": 0,
  "active": 0
}'

Resposta 200

{ "success": true }
PUT/users/:id/creditsReseller

Atualizar créditos de um usuário

Parâmetros de rota

NomeDescrição
idID do usuário

Request body · application/json

NomeTipoObrig.Descrição
amountnumberSimQuantidade de créditos a atribuir

Exemplo

curl -X PUT "https://envios.arrobamail.com/v3/api/users/{ID}/credits" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "amount": 0
}'

Resposta 200

{ "success": true }
GET/users/me/filesUsuário

Listar arquivos e pastas

Query params

NomeTipoObrig.DefaultDescrição
folderstringNão/Caminho da pasta a listar

Exemplo

curl -X GET "https://envios.arrobamail.com/v3/api/users/me/files" \
  -H "Authorization: Bearer $TOKEN"
POST/users/me/filesUsuário

Enviar arquivo

Content-Type: multipart/form-data. Validação de imagem com Sharp.

Request body · multipart/form-data

NomeTipoObrig.Descrição
filefileSimArquivo de imagem
folderstringNãoPasta de destino (default: "/")

Exemplo

curl -X POST "https://envios.arrobamail.com/v3/api/users/me/files" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "file": "<archivo>",
  "folder": "..."
}'
DELETE/users/me/filesUsuário

Excluir arquivo ou pasta

Request body · application/json

NomeTipoObrig.Descrição
filePathstringSimCaminho do arquivo ou pasta

Exemplo

curl -X DELETE "https://envios.arrobamail.com/v3/api/users/me/files" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "filePath": "..."
}'

Resposta 200

{ "success": true }
POST/users/me/files/folderUsuário

Criar pasta

Request body · application/json

NomeTipoObrig.Descrição
folderNamestringSimNome alfanumérico da pasta
folderstringNãoCaminho base (default: "/")

Exemplo

curl -X POST "https://envios.arrobamail.com/v3/api/users/me/files/folder" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "folderName": "...",
  "folder": "..."
}'
PUT/users/me/files/renameUsuário

Renomear arquivo ou pasta

Request body · application/json

NomeTipoObrig.Descrição
filePathstringSimCaminho atual do arquivo/pasta
newNamestringSimNovo nome

Exemplo

curl -X PUT "https://envios.arrobamail.com/v3/api/users/me/files/rename" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "filePath": "...",
  "newName": "..."
}'

Resposta 200

{ "success": true }
GET/users/me/ipsReseller

Listar IPs atribuídos

Exemplo

curl -X GET "https://envios.arrobamail.com/v3/api/users/me/ips" \
  -H "Authorization: Bearer $TOKEN"
GET/users/me/ips/:ipReseller

Status e configuração de um IP

Parâmetros de rota

NomeDescrição
ipEndereço IP (ex.: 192.168.1.1)

Exemplo

curl -X GET "https://envios.arrobamail.com/v3/api/users/me/ips/{IP}" \
  -H "Authorization: Bearer $TOKEN"
PUT/users/me/ips/:ip/hostnameReseller

Atualizar hostname do IP

Parâmetros de rota

NomeDescrição
ipEndereço IP

Request body · application/json

NomeTipoObrig.Descrição
hostnamestringSimNovo hostname

Exemplo

curl -X PUT "https://envios.arrobamail.com/v3/api/users/me/ips/{IP}/hostname" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "hostname": "..."
}'

Resposta 200

{ "success": true }
PUT/users/me/smtps/:smtpId/ownerReseller

Alterar proprietário do SMTP

Parâmetros de rota

NomeDescrição
smtpIdID do servidor SMTP

Request body · application/json

NomeTipoObrig.Descrição
userIdnumberSimID do novo proprietário

Exemplo

curl -X PUT "https://envios.arrobamail.com/v3/api/users/me/smtps/{SMTPID}/owner" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "userId": 0
}'

Resposta 200

{ "success": true }
PUT/users/me/smtps/:smtpId/activateReseller

Ativar ou desativar SMTP

Parâmetros de rota

NomeDescrição
smtpIdID do servidor SMTP

Request body · application/json

NomeTipoObrig.Descrição
activebooleanSimtrue para ativar, false para desativar

Exemplo

curl -X PUT "https://envios.arrobamail.com/v3/api/users/me/smtps/{SMTPID}/activate" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "active": true
}'

Resposta 200

{ "success": true }
GET/users/:id/sendersReseller

Remetentes de um usuário

Parâmetros de rota

NomeDescrição
idID do usuário

Exemplo

curl -X GET "https://envios.arrobamail.com/v3/api/users/{ID}/senders" \
  -H "Authorization: Bearer $TOKEN"

Comece com o arrobaMail
em menos de 5 minutos.

Plano Gratuito, gerações de IA incluídas, sem cartão de crédito e suporte real em português.

Testar grátis agora
WhatsAppA equipe responde