API operacional · OpenAPI 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 /api/certificates

Listar certificados visíveis ao usuário autenticado

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 /api/renewals

Criar uma solicitação de renovação

Cria uma solicitação no fluxo de renewal sujeito aos gates e permissões do CertOps.

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 /api/endpoints/{endpoint_id}/scan

Solicitar scan de endpoint cadastrado

Enfileira um scan TLS para um endpoint autorizado e registra o resultado no inventário.

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://certopscloud.com/api/certificates" \ -H "Authorization: Bearer $CERTOPS_API_TOKEN" \ -H "Accept: application/json"
python
import os, requests headers = {"Authorization": "Bearer " + os.environ["CERTOPS_API_TOKEN"], "Accept": "application/json"} response = requests.get("https://certopscloud.com/api/certificates", headers=headers) print(response.json())
nodejs
const response = await fetch("https://certopscloud.com/api/certificates", { headers: { Authorization: "Bearer " + process.env.CERTOPS_API_TOKEN, Accept: "application/json" } }); console.log(await response.json());
go
package main import ("fmt"; "net/http"; "io") func main() { req, _ := http.NewRequest("GET", "https://certopscloud.com/api/certificates", nil); req.Header.Set("Authorization", "Bearer "+"YOUR_API_TOKEN"); 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.