API

API: documentada, não servida

As ferramentas do catálogo rodam no seu navegador e mantêm os seus dados no seu dispositivo. Cada uma também foi feita para rodar como uma pequena API HTTP determinística, a versão programática das ferramentas no navegador. Essa API está totalmente implementada e documentada aqui, mas não é servida por este site. A referência abaixo é um visualizador da especificação, não um endpoint ativo.

Por que a API está documentada, mas não é servida aqui

Manter uma API pública no ar significa pagar pelo processamento de cada chamada, com uma conta que cresce com o uso de um jeito que um mantenedor sozinho não consegue limitar com segurança. Este site foi feito, de propósito, para ser gratuito e previsível de manter, por isso serve as ferramentas no navegador (que calculam no seu próprio dispositivo, sem custo para quem hospeda) e deixa a API dormente, em vez de arriscar um custo sem limite. Os endpoints são reais e o contrato é estável; o que está desligado é a execução hospedada. Se você precisa da API hoje, o motor é aberto e você mesmo pode rodá-lo.

Self-hosting: transforme a caixa de ferramentas na sua API

Tudo o que é preciso para consumir estas ferramentas como uma Application Programming Interface (API) vem no repositório de código aberto, e o caminho entre baixar e servir é curto de propósito. Um: baixe o código-fonte em github.com/ronutz/arsenal (licença Apache-2.0). Dois: para ligar a API, abra src/config/apiSurface.ts e vire a chave única API_PROCESSING de 0 para 1; esse valor sozinho controla tanto o Worker que serve os endpoints quanto cada selo de API desta interface, por isso os dois nunca podem discordar. Três: para compilar e fazer o deploy, rode npm install e npm run build, e publique na sua própria conta do Cloudflare Workers, com o adaptador já configurado no repositório. Quatro: chame os endpoints documentados na referência abaixo, agora respondidos pelo seu próprio deploy, no seu domínio, sob o seu controle.

O projeto todo se resume a isto: com self-hosting e uma chave virada, isto se transforma numa caixa de ferramentas de API. Os mesmos motores determinísticos que movem estas páginas respondem nos endpoints (ferramentas que computam, nunca adivinham), e a chave funciona nos dois sentidos: ponha API_PROCESSING de novo em 0, faça um novo deploy, e a API volta a ficar documentada, mas não servida, com os endpoints respondendo 404 e os selos neutros.

O que isso significa para os seus dados

Por decisão de projeto, a API receberia apenas a entrada que você enviasse, calcularia um resultado e o devolveria: stateless, sem registrar os valores da query nem o corpo das requisições. Como a API não é servida aqui, nada do que você digitar nesta página é enviado a lugar nenhum; os painéis de teste abaixo só mostram a requisição que você faria.

O mesmo motor da versão no navegador

Cada endpoint roda a mesma função pura que a ferramenta roda no navegador, por isso a API e o navegador devolvem resultados idênticos byte a byte.

A especificação

O contrato completo está publicado em OpenAPI 3.1. Baixe o arquivo, aponte as suas próprias ferramentas para ele ou leia a referência abaixo.

Baixar openapi.yaml

Referência

Carregando a especificação.