Procurar nomes de domínio disponíveis, registrar e renovar domínios, e gerenciar seus servidores de nomes e renovação automática. Os domínios são identificados por seu uuid.
Devolve os domínios registrados na sua conta, 25 por página. A lista não tem filtros.
Permissão requerida: domains:list
curl -X GET "https://admin.vps.org/api/v1/domains/" \
-H "Authorization: Bearer YOUR_API_TOKEN"
import requests
url = "https://admin.vps.org/api/v1/domains/"
headers = {"Authorization": "Bearer YOUR_API_TOKEN"}
response = requests.get(url, headers=headers)
for domain in response.json()["results"]:
print(domain["domain_name"], domain["status"], domain["expiration_date"])
const response = await fetch('https://admin.vps.org/api/v1/domains/', {
headers: { 'Authorization': 'Bearer YOUR_API_TOKEN' }
});
const data = await response.json();
console.log(data.results);
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"uuid": "e4b7a2c9-1d3f-4e5a-8b6c-7d8e9f0a1b2c",
"domain_name": "example.com",
"status": "active",
"registrar": "dynadot",
"registration_date": "2026-01-15T10:30:00Z",
"expiration_date": "2027-01-15T10:30:00Z",
"days_until_expiration": 122,
"is_expired": false,
"needs_renewal_soon": false,
"auto_renew": true,
"renewal_period_years": 1,
"registration_price": "12.64",
"renewal_price": "12.64",
"whois_privacy": true,
"nameserver1": "ns1.vps.org",
"nameserver2": "ns2.vps.org",
"nameserver3": "ns3.vps.org",
"nameserver4": null,
"transfer_lock": true,
"created_at": "2026-01-15T10:30:00Z",
"updated_at": "2026-09-01T08:12:40Z"
}
]
}
| Campo | Tipo | Descrição |
|---|---|---|
uuid |
string | Identificador de domínio utilizado nos outros endpoints de domínio |
status |
string | active, pending, expired, cancelled, transferred |
registrar |
string | Registrador do domínio em |
registration_date, expiration_date |
datetime | Quando o domínio foi registrado e quando expira. Expiration_date pode ser nulo. |
days_until_expiration |
integer | null | Dias inteiros até data_ de_ expiração, negativo uma vez caducado |
is_expired, needs_renewal_soon |
boolean | Se o domínio expirou e se expira nos próximos 30 dias |
auto_renew, renewal_period_years |
boolean, integer | Se o domínio se renova automaticamente, e por quantos anos |
registration_price, renewal_price |
string | Preços em USD como cordas decimais |
whois_privacy, transfer_lock |
boolean | Configurações de bloqueio de transferência de arquivos e de registros WHOIS |
nameserver1 to nameserver4 |
string | null | Servidores de nomes do domínio |
created_at, updated_at |
datetime | Quando o registro foi criado e alterado pela última vez (ISO 8601, UTC) |
Devolve um objeto de domínio com os campos acima.
Permissão requerida: domains:list
curl -X GET "https://admin.vps.org/api/v1/domains/e4b7a2c9-1d3f-4e5a-8b6c-7d8e9f0a1b2c/" \
-H "Authorization: Bearer YOUR_API_TOKEN"
| 200 | Sucesso |
| 404 | Não encontrado, ou pertence a outra conta |
Verifica se um nome está disponível em cerca de 20 extensões populares (com, net, org, io, dev, co, app, ai e mais), mais a extensão que você digitou se não estiver entre elas. Os resultados começam com a correspondência exata, então nomes disponíveis, e depois tomou aqueles.
Permissão requerida: domains:search
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
domain |
string | Sim | Um nome com ou sem extensão, por exemplo mysite ou mysite.com (2 a 63 caracteres) |
curl -X POST "https://admin.vps.org/api/v1/domains/search/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"domain": "mysite.com"}'
import requests
url = "https://admin.vps.org/api/v1/domains/search/"
headers = {"Authorization": "Bearer YOUR_API_TOKEN"}
response = requests.post(url, headers=headers, json={"domain": "mysite.com"})
for result in response.json()["results"]:
if result["available"]:
print(result["domain"], result["registration_price"], result["renewal_price"])
{
"results": [
{
"domain": "mysite.com",
"available": false,
"price": null,
"registration_price": null,
"renewal_price": null,
"tld": "com",
"is_exact_match": true
},
{
"domain": "mysite.dev",
"available": true,
"price": 17.24,
"registration_price": 17.24,
"renewal_price": 17.24,
"tld": "dev",
"is_exact_match": false
}
],
"base_domain": "mysite",
"search_count": 20
}
Os preços são números em USD por um ano e são nulos para nomes que não estão disponíveis. Os preços mostrados são ilustrativos.
| 200 | Sucesso |
| 400 | Dominio faltante, ou ele contém caracteres que não sejam letras, dígitos e ínfim |
| 500 | O registro de busca falhou. Volte mais tarde. |
Registra um domínio e cobra o seu método de pagamento salvo. Disponibilidade e preço são verificados com o registrador novamente imediatamente antes da cobrança. Os dados de contato registrador são tomados do seu perfil de conta. Se o registrador rejeitar o registro após a cobrança, o pagamento é reembolsado.
Permissão requerida: domains:register (granada por domínios:*)
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
domain |
string | Sim | O nome de domínio completo, incluindo sua extensão, por exemplo.com |
years |
integer | Não | Período de registo, 1 a 10 (por defeito 1). O preço é o período de preços anual anos..ai requer pelo menos 2 anos; um valor menor retorna 400. |
curl -X POST "https://admin.vps.org/api/v1/domains/register/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"domain": "mysite.dev", "years": 1}'
{
"success": true,
"domain_uuid": "e4b7a2c9-1d3f-4e5a-8b6c-7d8e9f0a1b2c",
"domain_name": "mysite.dev",
"message": "mysite.dev registered successfully!"
}
| 201 | Domínio registado |
| 400 | Dominio inválido, domínio não disponível, preço não foi possível verificar, método de pagamento desactualizado, ou o pagamento falhou |
| 402 | Não há método de pagamento no processo, nem facturas não pagas |
| 500 | O pagamento não pôde ser processado, ou o registrador rejeitou o registo após pagamento. No segundo caso, a mensagem de erro diz se a restituição passou. |
Renova o domínio e cobra o seu preço de renovação por cada ano ao seu método de pagamento salvo.
Permissão requerida: domains:renew
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
years |
integer | Não | Anos a adicionar, 1 a 10 (por defeito 1) |
curl -X POST "https://admin.vps.org/api/v1/domains/e4b7a2c9-1d3f-4e5a-8b6c-7d8e9f0a1b2c/renew/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"years": 1}'
{
"success": true,
"domain_uuid": "e4b7a2c9-1d3f-4e5a-8b6c-7d8e9f0a1b2c",
"new_expiration": "2028-01-15T10:30:00+00:00",
"message": "example.com renewed successfully for 1 year(s)!"
}
| 200 | Domínio renovado |
| 400 | Anos inválidos, nenhum preço de renovação para o domínio, nenhum método de pagamento utilizável, ou o pagamento falhou |
| 404 | Não encontrado, ou pertence a outra conta |
| 500 | Não foi possível processar o pagamento, ou o pagamento passou, mas a renovação do registrar falhou. Apoio de contato nesse caso. |
Estabeleça os servidores de nomes do domínio no registro e retorna o objeto de domínio atualizado. Para gerenciar DNS com a API DNS, use ns1.vps.org, ns2.vps.org e ns3.vps.org e crie uma zona para o domínio.
Permissão requerida: domains:update
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
nameserver1 |
string | Sim | Nome do servidor primário de nome |
nameserver2, nameserver3, nameserver4 |
string | Não | Nomes de servidor adicionais |
curl -X PUT "https://admin.vps.org/api/v1/domains/e4b7a2c9-1d3f-4e5a-8b6c-7d8e9f0a1b2c/nameservers/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"nameserver1": "ns1.vps.org", "nameserver2": "ns2.vps.org", "nameserver3": "ns3.vps.org"}'
| 200 | Servidores de nomes atualizados; o corpo é o objeto de domínio |
| 400 | faltar o servidor de nomes1 |
| 404 | Não encontrado, ou pertence a outra conta |
| 500 | A atualização falhou; o corpo tem campos de erro e mensagem |
Define auto_renovado e retorna o objeto de domínio atualizado. Enviar ativado como um booleano JSON: qualquer corda não vazia, incluindo a corda falsa, transforma a renovação automática.
Permissão requerida: domains:update
curl -X PUT "https://admin.vps.org/api/v1/domains/e4b7a2c9-1d3f-4e5a-8b6c-7d8e9f0a1b2c/auto-renew/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"enabled": false}'
| 200 | Configuração salvo; o corpo é o objeto de domínio |
| 400 | habilitado faltando |
| 404 | Não encontrado, ou pertence a outra conta |