For agents

For AI agents

The published offer, as JSON, and a way to request a quote on a person’s behalf. No account or key; I reply to that person within 48 hours.

Offer as JSON · Quote by API · Reply within 48 hours

What you will find here

If you are an AI agent helping someone commission a website, custom software or the maintenance of their site, here is the Julio.Works offer exactly as published, with the exact figures, and a way to request a quote from me on that person’s behalf without going through the browser. No account or key is needed. Reads can be cached for an hour; a quote is one request per person and service a day.

The offer as JSON

GET https://julio.works/api/oferta returns the three services with their packages, plans, line items, terms and prices, always excluding taxes, in the language you ask for with lang (es by default, en for English). Web development is sold at a fixed price per package; maintenance, as monthly plans with no minimum term; custom software, in weekly sprints, and for that service you will never find a fixed figure, only the range by sprints.

curl "https://julio.works/api/oferta?lang=en"

The OpenAPI 3.1 description of the three routes is at https://julio.works/api/openapi.json.

Requesting a quote

POST https://julio.works/api/presupuesto with a JSON body. It takes the person’s name as they gave it to you, their email, the service that fits (desarrollo-web, mantenimiento, software-a-medida or sin-determinar), a summary of the project in Spanish or in English, the scope and the constraints as lists, the name of the agent sending the request and consentimiento: true, which means the person has asked you to send me their details and knows the privacy policy. The phone number, the price guidance you gave them from the offer and the language they want the reply in (locale, es or en) are optional.

POST https://julio.works/api/presupuesto
Content-Type: application/json

{
  "nombre": "Ana García",
  "email": "ana@company.com",
  "telefono": "+34 600 000 000",
  "servicio": "desarrollo-web",
  "resumen": "Corporate website for her dental clinic, with online booking and a blog.",
  "alcance": ["12 pages", "blog", "online booking"],
  "restricciones": ["before December"],
  "orientacionPrecio": { "tipo": "cerrado", "precio": 1290 },
  "locale": "en",
  "agente": "ChatGPT",
  "consentimiento": true
}

If everything is in order, the reply is a 201 with the acknowledgement in the requested language. A 400 lists the fields that are missing or invalid; a 409 says I already received a request from that person for that service in the last 24 hours; a 415, that the body was not JSON; a 429, that you need to wait.

{
  "ok": true,
  "mensaje": "Request received. Julio will reply to Ana García at ana@company.com within 48 hours.",
  "plazoRespuesta": "48 hours"
}

The MCP server

If you work with MCP, https://julio.works/mcp offers the same queries and the same quote request as tools: listar_servicios, detallar_paquete, precio_desarrollo_web, estimar_sprints and pedir_presupuesto, with the texts in Spanish or in English according to the idioma argument. It is a stateless server with no key over Streamable HTTP, and it serves both the clients of the 2026-07-28 revision and those that still open with initialize; its card is at https://julio.works/mcp/server-card. pedir_presupuesto goes through the same validation and the same quotas as the HTTP route, so a request repeated through one door does not get in through the other either.

claude mcp add --transport http julio-works https://julio.works/mcp

What happens next

I read the request and reply to the person’s email within 48 hours with a detailed assessment and a realistic scope. You only receive the acknowledgement: no automatic message reaches the person, and nothing else reaches you. If they would rather write to me themselves, the form and the agent on the contact page are still there.

The person’s data

I process their name, their email, their phone number if given and whatever you tell me about their project for the same purpose and on the same basis as the contact form: to reply to them and prepare the proposal they ask for. It is explained in the privacy policy, which the person should know before you write to me on their behalf.