DESENVOLVEDORES

Uma API pública para ler a Uranus por código.

Produtos, artigos, páginas e dados cadastrais em JSON e markdown. Sem chave, sem cadastro, sem limite de convite. A mesma superfície é exposta como servidor MCP para agentes chamarem direto.

COMEÇANDO

Três chamadas para entender a superfície inteira.

Sem etapa de autenticação. Todo endpoint responde JSON com CORS liberado, e todo recurso de texto também existe em markdown.

Descobrir os recursos

A raiz da API lista todos os endpoints, com link para a especificação e para o servidor MCP.

curl https://uranus.com.br/api/v1

Ler um recurso

Coleções aceitam paginação por `limit` e `offset`. Cada item traz a URL pública e a URL do espelho em markdown.

curl "https://uranus.com.br/api/v1/posts?limit=3"

Buscar em tudo

Uma busca por texto sobre produtos, páginas e artigos, com o trecho que casou e a pontuação de relevância.

curl "https://uranus.com.br/api/v1/search?q=kubernetes"

REFERÊNCIA

Endpoints.

Base `https://uranus.com.br/api/v1`. Somente leitura: todo endpoint é `GET`, exceto o do MCP.

AUTENTICAÇÃONenhuma. API pública e somente leitura.
FORMATOapplication/json; erros em application/problem+json
CORSAccess-Control-Allow-Origin: *
CACHEpublic, max-age=300, stale-while-revalidate=86400
GET/api/v1Índice da API: lista os recursos, a especificação e o endpoint MCP.
GET/api/v1/healthVerificação de saúde. Também respondida em /healthz.
GET/api/v1/companyRazão social, CNPJ, endereço, canais de contato e perfis oficiais.
GET/api/v1/productsTodos os produtos da Uranus, com status e links.
GET/api/v1/products/{slug}Um produto pelo slug, incluindo o corpo em markdown.
GET/api/v1/postsArtigos publicados. Filtra por categoria e locale, pagina por limit e offset.
GET/api/v1/posts/{slug}Um artigo pelo slug, com metadados e corpo em markdown.
GET/api/v1/pagesAs páginas institucionais disponíveis como markdown.
GET/api/v1/pages/{slug}Uma página pelo slug, com o conteúdo em markdown.
GET/api/v1/searchBusca em texto sobre produtos, páginas e artigos.
POST/mcpServidor MCP por Streamable HTTP. Aceita JSON-RPC 2.0.

ERROS

Erros são JSON, não HTML.

Toda falha responde `application/problem+json` (RFC 9457) com um código estável, uma descrição e uma dica do que fazer em seguida. Nenhum caminho da API devolve página de erro renderizada.

GET /api/v1/products/orion

HTTP/2 404
content-type: application/problem+json; charset=utf-8

{
  "type": "https://uranus.com.br/developers#not_found",
  "title": "Not Found",
  "status": 404,
  "code": "not_found",
  "detail": "No product exists with slug 'orion'.",
  "hint": "List the valid slugs with GET /api/v1/products.",
  "instance": "/api/v1/products/orion",
  "documentation_url": "https://uranus.com.br/developers"
}

LIMITES

Um limite publicado, informado em toda resposta.

A API é aberta, mas não é infinita. Toda resposta traz o estado da cota nos cabeçalhos, no formato estruturado do rascunho da IETF e no trio discreto que a maioria dos SDKs já lê. Quem respeita o número nunca é barrado.

COTA600 requisições por 60 segundos
ESCOPOPor endereço de origem
AO ESTOURAR429 com Retry-After e problem+json

GET /api/v1/products

HTTP/2 200
ratelimit-policy: "public-read";q=600;w=60
ratelimit: "public-read";r=599;t=42
ratelimit-limit: 600
ratelimit-remaining: 599
ratelimit-reset: 42
x-api-version: 1.0.0

VERSIONAMENTO

A versão está na URL, e a saída é anunciada.

Mudança que quebra contrato vira caminho novo; o antigo continua respondendo. Campo novo, parâmetro opcional novo e endpoint novo entram no lugar, sem quebrar nada.

ATUALv1 · 1.0.0 · em produção
ESQUEMACaminho na URL (/api/v1)
AVISO PRÉVIO180 dias, no mínimo

Como uma depreciação é sinalizada

Nada é removido em silêncio. A partir do anúncio, toda resposta da versão que vai sair carrega os cabeçalhos abaixo até a data de desligamento. Um cliente que os lê tem seis meses para migrar.

DeprecationRFC 9745. Data em que a versão foi anunciada como depreciada.
SunsetRFC 8594. Data em que a versão para de responder.
Link; rel="deprecation"Aponta para esta seção, com o que mudou e o que fazer.
Link; rel="successor-version"A versão que substitui a atual.

AUTENTICAÇÃO

Não há autenticação — e isso está declarado.

Nenhum recurso da Uranus exige token. Para um agente não ficar adivinhando, isso é publicado em formato legível por máquina: metadados de recurso protegido (RFC 9728), metadados de servidor de autorização (RFC 8414) com o bloco agent_auth do Auth.md, e /auth.md em prosa. Os endpoints OAuth existem e respondem em JSON no formato da RFC 6749, dizendo que não emitem nada.

# nothing to send: no key, no token, no registration
curl https://uranus.com.br/api/v1/products

# the discovery documents say so, in machine-readable form
curl https://uranus.com.br/.well-known/oauth-protected-resource
curl https://uranus.com.br/auth.md

MARKDOWN

Toda página responde em markdown.

Mande `Accept: text/markdown` em qualquer rota do site e receba o espelho em markdown em vez do HTML. Os mesmos arquivos também estão acessíveis direto sob `/md/`. As respostas trazem `Vary: Accept, Accept-Encoding`, então um cache compartilhado nunca entrega a variante errada.

curl -H "Accept: text/markdown" https://uranus.com.br/method

# same document, fetched directly
curl https://uranus.com.br/md/method.md

MCP

Servidor MCP em produção.

O endpoint aceita JSON-RPC 2.0 por Streamable HTTP e não exige sessão nem credencial. Aponte seu cliente para ele e as ferramentas abaixo aparecem.

ENDPOINThttps://uranus.com.br/mcp
TRANSPORTEStreamable HTTP (POST, resposta JSON)
PROTOCOLO2025-06-18
curl -X POST https://uranus.com.br/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Ferramentas expostas

list_products

Lista os produtos da Uranus com status e links.

get_product

Devolve um produto pelo slug, com o corpo em markdown.

list_posts

Lista artigos do blog, com filtro por categoria.

get_post

Devolve um artigo pelo slug, com o texto completo.

get_page

Devolve uma página institucional em markdown.

search_content

Busca por texto em produtos, páginas e artigos.

get_company_info

Devolve razão social, CNPJ, endereço e canais de contato.

Precisa de algo que a API ainda não expõe?

A superfície pública cobre o conteúdo do site. Integrações com Fuse, Caravela ou Omnifisco passam por uma conversa.

Falar com engenharia