API — Status Pages
O endpoint de status pages permite listar as Status Pages do seu workspace. Útil para automações de CI/CD, verificações de consistência e integrações com sistemas externos.
GET /status-pages
Lista todas as Status Pages do workspace autenticado.
curl https://api.thealert.io/api/v1/status-pages \
-H "Authorization: Bearer ta_sua_chave"Resposta:
{
"data": [
{
"id": "sp_abc123",
"name": "Status da Plataforma",
"slug": "minha-empresa",
"isPublished": true,
"customDomain": "status.minhaempresa.com.br",
"createdAt": "2026-01-10T08:00:00.000Z",
"updatedAt": "2026-03-20T12:30:00.000Z"
},
{
"id": "sp_def456",
"name": "Status da API",
"slug": "minha-empresa-api",
"isPublished": false,
"customDomain": null,
"createdAt": "2026-02-05T14:00:00.000Z",
"updatedAt": "2026-02-05T14:00:00.000Z"
}
],
"meta": {
"total": 2
}
}Campos da resposta
| Campo | Tipo | Descrição |
|---|---|---|
id | string | ID único da Status Page |
name | string | Nome da Status Page |
slug | string | Identificador na URL pública (thealert.io/status/:slug) |
isPublished | boolean | true se a página está pública; false se está em rascunho |
customDomain | string | null | Domínio personalizado configurado, se houver |
createdAt | string | Data de criação em ISO 8601 (UTC) |
updatedAt | string | Data da última atualização em ISO 8601 (UTC) |
Casos de uso
Verificar se a Status Page está publicada em CI/CD
Em pipelines de deploy, você pode verificar automaticamente se a Status Page está publicada antes de prosseguir:
#!/bin/bash
# Verifica se a Status Page está publicada
RESPONSE=$(curl -s "https://api.thealert.io/api/v1/status-pages" \
-H "Authorization: Bearer ${THEALERT_API_KEY}")
IS_PUBLISHED=$(echo $RESPONSE | jq '.data[] | select(.id == "sp_abc123") | .isPublished')
if [ "$IS_PUBLISHED" != "true" ]; then
echo "⚠ Atenção: Status Page não está publicada!"
exit 1
fi
echo "✓ Status Page está publicada"Listar URLs públicas de todas as pages
const response = await fetch('https://api.thealert.io/api/v1/status-pages', {
headers: { Authorization: `Bearer ${process.env.THEALERT_API_KEY}` }
})
const { data: pages } = await response.json()
pages.forEach(page => {
if (page.isPublished) {
const url = page.customDomain
? `https://${page.customDomain}`
: `https://thealert.io/status/${page.slug}`
console.log(`${page.name}: ${url}`)
}
})Monitorar consistência da configuração
import requests
API_KEY = 'ta_sua_chave'
response = requests.get(
'https://api.thealert.io/api/v1/status-pages',
headers={'Authorization': f'Bearer {API_KEY}'}
)
pages = response.json()['data']
for page in pages:
if not page['isPublished']:
print(f"AVISO: {page['name']} (slug: {page['slug']}) não está publicada")
if page['customDomain'] is None:
print(f"INFO: {page['name']} sem domínio personalizado")Integrar com Terraform
Use a API para validar o estado das suas Status Pages como parte de um processo de IaC:
data "external" "thealert_status_pages" {
program = ["bash", "-c", <<-EOT
curl -s "https://api.thealert.io/api/v1/status-pages" \
-H "Authorization: Bearer ${var.thealert_api_key}" | \
jq '{published: (.data | map(select(.isPublished)) | length | tostring)}'
EOT
]
}Limites por plano
O número de Status Pages que podem ser criadas varia por plano:
| Plano | Status Pages |
|---|---|
| FREE | 1 |
| STARTER | 3 |
| PRO | 10 |
| BUSINESS | Ilimitadas |
A API lista apenas as pages existentes — não é possível criar ou deletar Status Pages via API nesta versão.
Gerenciamento completo de Status Pages via API (criar, atualizar, deletar, adicionar monitores) está disponível no roadmap. Acompanhe as atualizações no changelog da plataforma.