REST API v1 · OpenAPI / Swagger API & Integração

API REST v1: Automação & Ciclo de Vida de Certificados

Documentação completa dos endpoints HTTP para inventário, emissão ACME, auditoria TLS e rotação automatizada de certificados digitais.

Visão Geral da Arquitetura

A API REST do CertOps Cloud permite que equipes de plataforma e engenharia de software integrem a orquestração do ciclo de vida de certificados diretamente em pipelines de CI/CD, esteiras de deployment e orquestradores de nuvem. Toda a comunicação é protegida via TLS 1.3 com autenticação Bearer Token e isolamento estrito por tenant corporativo.

Endpoints Disponíveis

GET /v1/certificates

Listar certificados gerenciados e status de validade

Retorna uma lista paginada de certificados com data de expiração, SANs, CA emissora e status de conformidade de 47 dias.

ParâmetroTipoObrigatórioDescrição
status string Opcional Filtrar por ACTIVE, EXPIRING, EXPIRED ou REVOKED
limit integer Opcional Quantidade máxima de registros por página (padrão 50)
Resposta JSON (200 OK):
{ "total": 128, "certificates": [ { "id": "cert_98fbc1", "common_name": "api.empresa.com.br", "sans": ["api.empresa.com.br", "internal.api.empresa.com.br"], "issuer": "Let's Encrypt / E1", "expires_at": "2026-10-20T12:00:00Z", "days_remaining": 46, "auto_renewal": true, "status": "ACTIVE" } ] }
POST /v1/certificates/enroll

Solicitar emissão ou renovação atômica ACME

Dispara o fluxo de desafio ACME (HTTP-01 ou DNS-01) para provisionamento de novo certificado.

ParâmetroTipoObrigatórioDescrição
domains array Sim Lista de domínios FQDN para inclusão nos SANs
connector_id string Sim Identificador do conector ou agente Linux de destino
Resposta JSON (200 OK):
{ "task_id": "task_acme_7712a", "status": "IN_PROGRESS", "challenge_type": "HTTP-01", "domains": ["api.empresa.com.br"], "estimated_completion_ms": 3200 }
GET /v1/endpoints/diagnostics/tls

Auditoria de cifras, protocolos e cadeia TLS

Executa varredura profunda de um endpoint reportando suporte a TLS 1.3, cifras obsoletas e integridade da cadeia.

ParâmetroTipoObrigatórioDescrição
hostname string Sim Hostname FQDN para inspeção
port integer Opcional Porta TCP (padrão 443)
Resposta JSON (200 OK):
{ "hostname": "api.empresa.com.br", "port": 443, "tls_versions": ["TLSv1.3", "TLSv1.2"], "deprecated_protocols": false, "grade": "A+", "chain_valid": true }

Exemplos de Implementação

curl
curl -X GET "https://api.certopscloud.com/v1/certificates?status=EXPIRING" \ -H "Authorization: Bearer $CERTOPS_API_TOKEN" \ -H "X-CertOps-Organization: empresa-corp" \ -H "Accept: application/json"
python
import requests headers = { "Authorization": "Bearer certops_live_tok_9912a", "X-CertOps-Organization": "empresa-corp", "Accept": "application/json" } response = requests.get("https://api.certopscloud.com/v1/certificates", headers=headers) print(response.json())
nodejs
const response = await fetch("https://api.certopscloud.com/v1/certificates", { headers: { "Authorization": "Bearer " + process.env.CERTOPS_API_TOKEN, "X-CertOps-Organization": "empresa-corp", "Accept": "application/json" } }); const data = await response.json(); console.log(data);
go
package main import ( "fmt" "net/http" "io" ) func main() { req, _ := http.NewRequest("GET", "https://api.certopscloud.com/v1/certificates", nil) req.Header.Set("Authorization", "Bearer YOUR_API_TOKEN") req.Header.Set("X-CertOps-Organization", "empresa-corp") resp, _ := http.DefaultClient.Do(req) body, _ := io.ReadAll(resp.Body) fmt.Println(string(body)) }

Pronto para automatizar a infraestrutura TLS da sua organização?

Crie sua conta corporativa ou conecte seu primeiro agente Linux para inventário contínuo.