El cliente de APIs
que es tuyo.
Archivos .http en tu propio repositorio. MIT para siempre. Sin cuenta, sin cloud, sin lock-in: tus requests siguen siendo texto plano que podés leer en cualquier editor, aunque Fetchpier desaparezca mañana.

# @post-response-script# fp.test('user found', () => fp.expect(fp.response.status).to.equal(200))# @end-script GET {{baseUrl}}/users/42Authorization: Bearer {{token}}Ese es el request completo, con su test incluido. Un archivo de texto en tu repo: se puede diffear, revisar, y es tuyo.
¿Venís de VS Code REST Client o JetBrains HTTP Client? Leé las notas de compatibilidad →
Compará por defaults,
no por features.
Todo cliente de APIs elige sus defaults. Fetchpier elige estos a propósito: tus requests viven en tu repo, todas las funciones son gratis y la app no envía nada que no hayas pedido.
- Cuenta y sincronización en la nube por defecto — tus colecciones viven en el servidor de otro
- Funciones avanzadas en un plan pago — incluso en clientes open source
- Telemetría o tráfico en segundo plano que no ves
- CAs corporativas y proxies que fallan de formas misteriosas
- Sin cuenta. Tu workspace es una carpeta de archivos .http planos en tu propio repo
- MIT, todas las funciones. Nunca va a haber un plan pago del cliente
- Sin telemetría. Una sola conexión propia: un chequeo de versión que disparás vos. La UI no puede abrir conexiones, y lo verifican lint, una auditoría del bundle y un test end-to-end.
- Un set de CAs explícito y TLS con alcance de workspace o de app — los proxies MITM corporativos se comportan de forma predecible
Tus colecciones son carpetas. Tus requests son archivos.
Sin bases de datos ocultas. Sin formatos propietarios. Tu workspace es solo una carpeta en tu disco — abrila con cualquier editor, compartila con Git, moveté entre máquinas sin magia. Los requests simples también corren en VS Code REST Client y JetBrains HTTP Client, una vez que definís ahí sus variables.

Code review para tus APIs.
Pull requests, diffs, branches. Tu equipo revisa cambios de APIs como revisa código — porque son código. Sin plataformas propietarias, sin asientos que pagar.

Un editor pensado por developers.
Variables con sintaxis {{ }} y autocompletado. Params, headers y bodies: JSON, form-data, urlencoded, raw y binario. Auth: Bearer, Basic y API key — OAuth2 es lo próximo en el roadmap. Sin CORS: los requests salen desde la app, no desde un navegador.

Scripts pre y post request, en un sandbox acotado.
Generá datos, autenticá requests, modificá headers antes de enviar y hacé aserciones sobre la respuesta con fp.expect. Los scripts son JavaScript plano guardado en el archivo .http, corren de forma síncrona contra una API fp chica, y el sandbox está cubierto por tests de regresión. Protege contra accidentes, no contra código hostil: revisá los scripts de workspaces en los que no confiás.

Lo esencial del día a día.
Con defaults que mantienen tu trabajo en tu máquina.
Environments & Variables
Separá dev, staging y prod con environments. Cookie jar RFC 6265 por environment. Secretos cifrados en el lugar, seguros para commitear y compartir por Git — o fuera del repo en un archivo .env.
Historial integrado
Cada envío queda como un registro .http plano en tu workspace — request, respuesta, scripts y cookies —, ignorado por Git por defecto y sin salir nunca de tu equipo.
Command palette
Ctrl/Cmd+P para saltar entre archivos, correr requests o invocar acciones sin mouse.
Importadores nativos
OpenAPI 2/3, Swagger, GraphQL SDL e introspection, WSDL/SOAP, colecciones Postman v2.0/v2.1. Convertidos a .http editables.
Dark / Light mode
Dark por default. Light igual de pulido. Sin flashes raros al cargar.
Authorization no se va de viaje
Los headers Authorization se quitan por defecto en las redirecciones a otro host, así un redirect no puede llevar tu token a otro servidor.
Tu API workflow, en tu repo.
El mismo repo donde vive tu backend guarda las requests que lo testean. Un commit, una PR, un workflow.

Los mismos requests, ahora en tu pipeline.
fp corre los requests de tu workspace desde una terminal o un job de CI con el mismo motor que la app de escritorio: las mismas variables, auth, cookies, scripts y tests.
npm install -g @fetchpier/clifp init my-apicd my-apifp runfp run --reporter-junit out.xmlUn motor, dos superficies
Un request se comporta igual en la app y en fp run. Lo que un script guarda llega al siguiente request de la corrida: el token de un login llega a la llamada autenticada.
Reportes que tu CI entiende
Reportes JSON, JUnit y HTML autónomo en una misma corrida, y un código de salida distinto para cada resultado, para que el pipeline distinga un test fallido de un entorno inexistente.
Los secretos siguen siendo secretos
Las variables cifradas se resuelven con FETCHPIER_WORKSPACE_KEY desde el almacén de secretos de tu CI. Los reportes y la terminal enmascaran secretos, credenciales y cookies.
Pensado para redes reales
Respeta HTTPS_PROXY y NO_PROXY, aplica por defecto un timeout de 30 segundos por request y usa los certificados TLS que se commitean con el workspace.
Transparencia por diseño.
Todo lo que corre en tu máquina es gratis para siempre. Podés leer el código, abrir un issue, proponer un feature o hacer un fork. Sin roadmap oculto.
Ver el código
Explorá el código, los tests y los chequeos que lo protegen, y los issues abiertos.
Reportar un bug
Si algo no funciona como esperás, abrí un issue. Leemos todos.
Cómo ayudar
Los reportes de bugs y las ideas de funciones son bienvenidos. Todavía no se aceptan pull requests externos — CONTRIBUTING explica por qué y qué hacer en su lugar.