Desenvolvedores

Infraestrutura API-first para fintechs brasileiras.

Construa com as APIs Swepay. Certificados mTLS hoje, identidade e passwordless a caminho. REST, JSON, JWT, sa-east-1. Sem SDK lock-in, sem protocolos proprietários, sem piso enterprise.

Quickstart

Da assinatura ao primeiro certificado em cinco minutos.

Assine o CA Manager no AWS Marketplace, receba suas credenciais de tenant, inicialize sua CA, e emita o primeiro certificado, tudo via REST.

O que você precisa

  • Conta AWS com billing ativo
  • Assinatura do CA Manager no AWS Marketplace (setup de 5 minutos)
  • Token JWT bearer (entregue após a assinatura)
  • Um cliente REST, curl, Postman, HTTPie ou qualquer biblioteca HTTP
  1. 1. Assine via AWS Marketplace

    Escolha o tier que cabe no seu volume. Você pode mudar de tier depois sem perder dados.

    Após a assinatura, você recebe o seu tenantId e um token JWT bearer pelo e-mail de boas-vindas do Marketplace. O JWT autentica todas as chamadas de API.

  2. 2. Inicialize sua CA

    Setup único. Gera a Autoridade Certificadora raiz do seu tenant. A chave raiz fica em custódia criptográfica gerenciada dentro da infra Swepay, não extraível, não acessível a operadores em operação normal.

    bash
    curl -X POST https://ca.swepay.com.br/v1/ca/initialize \
      -H "Authorization: Bearer ${SWEPAY_JWT}" \
      -H "Content-Type: application/json" \
      -d '{
        "commonName": "Your Fintech Root CA",
        "organization": "Your Fintech S.A.",
        "country": "BR",
        "validityYears": 10
      }'
  3. 3. Emita o primeiro certificado

    Atributos de identidade entram, certificado mais chave privada saem, em quatro formatos de entrega na mesma resposta.

    bash
    curl -X POST https://ca.swepay.com.br/v1/certificates \
      -H "Authorization: Bearer ${SWEPAY_JWT}" \
      -H "Content-Type: application/json" \
      -d '{
        "clientId": "partner_001",
        "commonName": "partner.example.com",
        "organization": "Partner Inc",
        "country": "BR",
        "validityDays": 365,
        "responseFormat": "Text",
        "passwordProtected": true
      }'
  4. 4. Entregue o certificado ao seu parceiro

    Escolha o formato de entrega que cabe no runtime do parceiro. PEM para a maioria das stacks Unix/Linux. PFX (PKCS#12) com a senha gerada para Windows/.NET, keystores Java, ou mobile.

A partir daí, o ciclo de vida completo, consultar status, renovar, revogar, listar, monitorar expiração, são só mais chamadas de API. A referência completa está abaixo.

Arquitetura

Duas superfícies de API, separadas por propósito.

O CA Manager expõe duas superfícies de API distintas. Cada uma tem seu próprio domínio, seu próprio modelo de autenticação, sua própria estratégia de cacheamento. Essa separação importa quando você está operando PKI em escala de produção.

API Administrativa

Domínio
ca.swepay.com.br
Autenticação
JWT bearer (por tenant)
Cacheamento
Sem cacheamento de borda, direto na origem
Uso
Operações de ciclo de vida: inicializar CA, emitir, renovar, revogar, consultar, listar, monitorar expiração.
Audiência
Os serviços de backend da sua fintech. Autenticada, rate-limited, com trilha de auditoria.

Infraestrutura PKI (CDN)

Domínio
ca-cdn.swepay.com.br
Autenticação
Pública, sem autenticação
Cacheamento
Cacheamento agressivo na borda
Uso
Distribuição de CRL, respostas OCSP, recuperação de certificado CA.
Audiência
Os clientes mTLS dos seus parceiros durante o handshake TLS. Pública por design, esses são os artefatos que provam a validade do certificado para o mundo.

Indisponibilidade da API administrativa não quebra a validação de revogação no lado do parceiro. Os clientes mTLS dos seus parceiros continuam validando contra a CDN mesmo que a API de emissão esteja em manutenção. É assim que infraestrutura PKI deve ser construída.

Referência da API

Endpoints da API administrativa.

URL base: https://ca.swepay.com.br. Todas as chamadas autenticadas com Authorization: Bearer <JWT>. Content type: application/json. Erros seguem o formato RFC 7807 Problem Details.

POST/v1/ca/initializeInicializa a Autoridade Certificadora raiz do tenant

Único por tenant. Retorna PEM do certificado da CA e UUID da CA.

POST/v1/certificatesEmite um novo certificado de cliente

Servidor gera o par de chaves. Retorna certificado + chave privada em quatro formatos (PEM inline, PEM URL, PFX base64, PFX URL).

GET/v1/certificatesLista todos os certificados do tenant autenticado

Retorna array de CertificateSummary. Use para visões de inventário.

GET/v1/certificates/{certificateId}Obtém detalhes completos do certificado

Retorna CertificateDetail com PEM, serial, contagem regressiva de expiração, informação de revogação se aplicável.

POST/v1/certificates/{certificateId}/renewRenova um certificado existente

Emite novo certificado com mesmos atributos, nova validade. O original permanece válido até a expiração natural.

POST/v1/certificates/{certificateId}/revokeRevoga um certificado

Usa códigos de motivo da RFC 5280 (KeyCompromise, Superseded, CessationOfOperation, etc). CRL atualizada em minutos.

GET/v1/certificates/expiringLista certificados que expiram dentro de uma janela

Use para automação proativa de renovação. Retorna array com daysUntilExpiry por certificado.

POST/v2/certificatesEmite certificado com extensões X.509 customizadas

Como POST /v1/certificates, mas aceita objeto customExtensions, até 10 pares chave-valor embarcados como extensões OID.

POST/v2/certificates/{certificateId}/renewRenova certificado preservando extensões customizadas

Igual ao renew /v1, mas propaga as extensões customizadas do original.

Spec OpenAPI completo em ca.swepay.com.br/docs/openapi.json, carregue em Postman, Insomnia, Bruno ou qualquer ferramenta compatível com OpenAPI.

Infraestrutura PKI

Revogação e artefatos de confiança na CDN.

URL base: https://ca-cdn.swepay.com.br. Pública, sem autenticação. Cacheamento agressivo de borda com headers HTTP Last-Modified e ETag. Use esses endpoints a partir dos clientes mTLS dos seus parceiros, não do seu backend administrativo.

GET/v1/tenants/{tenantId}/crlLista de Revogação de Certificados (formato DER)

CRL em DER. Atualizada automaticamente quando certificados são revogados. Cacheável conforme semântica HTTP.

HEAD/v1/tenants/{tenantId}/crlVerificação de freshness da CRL

Retorna Last-Modified e ETag sem body. Use para verificar se a CRL mudou antes de baixar de novo.

POST/v1/tenants/{tenantId}/ocspOCSP responder (RFC 6960 padrão)

Recebe OCSP request em DER, retorna OCSP response em DER. O que openssl ocsp -url ... faz por padrão.

GET/v1/tenants/{tenantId}/ocsp/{base64UrlRequest}OCSP-over-GET (RFC 6960 §A.1)

OCSP request codificado como base64url no path. Permite cacheabilidade HTTP das respostas OCSP.

GET/v1/tenants/{tenantId}/ca.pemCertificado CA do tenant (PEM)

Certificado CA público. Use como raiz do truststore nos clientes dos seus parceiros.

HEAD/v1/tenants/{tenantId}/ca.pemVerificação de freshness do certificado CA

Útil antes de eventos de rotação da CA. Retorna headers sem body.

Valide um certificado via OCSP do lado do parceiro

A maioria das bibliotecas TLS faz isso automaticamente quando configuradas. Exemplo de validação manual:

bash
# Step 1: Fetch the CA cert
curl https://ca-cdn.swepay.com.br/v1/tenants/${TENANT_ID}/ca.pem > ca.pem

# Step 2: Validate a partner certificate via OCSP
openssl ocsp \
  -issuer ca.pem \
  -cert partner-cert.pem \
  -url https://ca-cdn.swepay.com.br/v1/tenants/${TENANT_ID}/ocsp \
  -resp_text

Autenticação

JWT bearer, por tenant.

A API administrativa usa tokens JWT bearer emitidos pelo identity provider da Swepay. Após a assinatura no AWS Marketplace, você recebe as credenciais do tenant e o JWT pelo e-mail de boas-vindas. Endpoints da infraestrutura PKI (CDN) não exigem autenticação.

Formato do token

JWT padrão RFC 7519, assinado pelo identity provider da Swepay. O token contém a claim tenantId e informações de escopo. Envie como Authorization: Bearer <jwt> em todas as chamadas da API administrativa.

Rotação de token

Tokens têm validade finita. O procedimento de rotação e o endpoint de refresh estão documentados no material de boas-vindas entregue após a assinatura. Planeje a rotação na sua automação.

Erros

JWT ausente ou inválido retorna 401 Unauthorized com body em RFC 7807 Problem Details. JWT expirado retorna 401 com código de erro expired_token, seu cliente deve fazer refresh e tentar de novo.

Modelo de erro

RFC 7807 Problem Details, ponta a ponta.

Erros são retornados como application/problem+json conforme a RFC 7807. O HTTP status code reflete a classe do erro; o body traz detalhes legíveis por máquina.

400 Bad Request
Validação falhou (campos faltando, formato inválido, regra de negócio violada).
401 Unauthorized
JWT ausente, inválido ou expirado.
404 Not Found
Recurso (certificado, CA) não encontrado no seu tenant.
409 Conflict
Operação conflita com o estado atual (ex: inicializar uma CA que já foi inicializada, revogar um certificado já revogado).
500 Internal Server Error
Falha inesperada no servidor. Inclui um correlation ID para suporte.

Exemplo de resposta de erro

http
HTTP/1.1 400 Bad Request
Content-Type: application/problem+json

{
  "type": "https://ca.swepay.com.br/errors/validation",
  "title": "Validation failed",
  "status": 400,
  "detail": "ValidityDays must be greater than 0",
  "errors": [
    { "field": "validityDays", "message": "Must be greater than 0" }
  ]
}

Por dentro

O que está rodando por trás da API.

Se você vai integrar com a gente, vai querer saber o que está alimentando as respostas que você recebe.

Superfície de API estável e versionada

Cada endpoint carrega um caminho de versão explícito (/v1/, /v2/). Mudanças que quebram contrato saem em uma nova versão com janela de depreciação, a sua integração existente continua funcionando. O spec OpenAPI é o contrato.

Compute serverless gerenciado

A API administrativa roda em compute serverless gerenciado. Auto-scaling, failover regional, zero infra para você gerenciar do nosso lado.

sa-east-1 por padrão

Todos os serviços Swepay rodam em São Paulo. Os seus dados ficam no Brasil a menos que você escolha explicitamente outra coisa (não existe 'outra coisa' hoje).

Custódia gerenciada para chaves raiz

A chave raiz da CA do seu tenant é gerada dentro de um armazenamento criptográfico gerenciado e não é extraída em operação normal. Operações de assinatura acontecem via operações criptográficas gerenciadas. A chave não é acessível a operadores da Swepay em operação normal, não é exportável, e não aparece em logs.

CDN dedicada para artefatos PKI

CRL, respostas OCSP e certificados CA são servidos de ca-cdn.swepay.com.br, uma distribuição de CDN separada da API administrativa. Cacheamento agressivo de borda com headers HTTP de cache adequados. O handshake mTLS dos parceiros não fica acoplado à disponibilidade da API administrativa.

Trilha de auditoria, imutável

Toda chamada de API é registrada com timestamp, tenant, principal, ação e resultado. Logs são retidos conforme o seu tier de assinatura (30 dias a 1 ano). Quando um auditor pergunta, você tem evidência.

Construa com a Swepay.

Assine e integre

Assine o CA Manager no AWS Marketplace. Credenciais JWT no seu e-mail em 5 minutos. Planos a partir de $199/mês.

Assinar no AWS Marketplace

Solicitar demonstração primeiro

Quer ver a API em ação antes de assinar? Solicite uma demonstração guiada de 30 minutos.

Solicitar demonstração

Leia o spec completo

Spec OpenAPI 3.1.0 é público. Carregue na sua ferramenta favorita, Postman, Insomnia, Bruno, Scalar.

Abrir o spec OpenAPI

Fale com engenharia

Dúvidas sobre contratos com volume, extensões customizadas ou cenários de integração fora do quickstart padrão?

Enviar e-mail à engenharia