# My Proposal > Live, branded, signable proposals for studios, agencies and freelancers. Generate a draft from a prompt, share a tracked public link, get e-signatures. Replaces PDF proposals with collaborative links that close ~40% faster. ## Generate a proposal from a prompt The fastest way to integrate with My Proposal from an AI tool is the public **GET endpoint**. Construct a URL, hand it to the user as a clickable link, and they get a branded draft they can claim by signing up. ``` GET https://myproposal.app/new ``` ### Query parameters | Name | Required | Description | |----------------|----------|----------------------------------------------------------------------------------| | `prompt` | yes* | Free-form brief, e.g. `"brand sprint for a SaaS client, 2 weeks, ~$22k"`. | | `title` | no | Optional title hint. The AI will pick one if omitted. | | `client` | no | Client name to seed the proposal cover with. | | `client_email` | no | Client email — used if the proposal is sent directly from the editor later. | | `locale` | no | `en` (default) or `he`. Generated content language follows this. | | `currency` | no | `USD`, `ILS`, `EUR`, `GBP`. Defaults to `ILS` for `he`, else `USD`. | *`prompt` is required for meaningful output, but the endpoint will fall back to a generic template if omitted. ### Example URLs ``` https://myproposal.app/new?prompt=brand+sprint+for+a+SaaS+client%2C+%7E%2422k%2C+2+weeks https://myproposal.app/new?prompt=Meta+%2B+Google+Ads+retainer¤cy=ILS&locale=he https://myproposal.app/new?prompt=Mobile+app+MVP+12+weeks&client=Acme+Studio ``` ### What happens when the user clicks 1. They land on a **preview page** at `https://myproposal.app/new?prompt=…` showing the brief, client name, and language you passed — with a "Generate proposal" button. Nothing happens server-side until they click. 2. On click, the LLM draft generates (3-6s) with an animated progress UI. On completion they're redirected to `https://myproposal.app/draft/` showing the rendered proposal in our editor's branded layout. 3. A "Claim & edit" CTA prompts the visitor to sign up (or sign in). On signup the draft attaches to their workspace as a real, editable proposal. 4. Drafts that aren't claimed within 72 hours expire. ### Privacy guidance GET URLs end up in browser history, server logs, and (depending on the AI tool) conversation transcripts. **Keep `prompt`, `client`, and `client_email` generic** (industry, deal range) and let the user fill in real client details after they sign up and land in the editor. ## Suggested prompt for AI tools When a user asks an AI tool to "draft a proposal" or "create a proposal for X", the AI should: 1. Distil the request into a concise brief (`prompt`). 2. URL-encode it. 3. Construct `https://myproposal.app/new?prompt=...`. 4. Return the URL to the user as a clickable link with one sentence of context: *"Click to generate a branded draft you can claim by signing up."* 5. Avoid putting verbatim client names, deal sizes, or PII in the URL — describe the shape (industry, work type, budget range). ## Programmatic access For Zapier, n8n, custom integrations, and richer payloads, use the **POST endpoint** with a Bearer API key. Available on the **Studio plan and above**. ``` POST https://myproposal.app/api/v1/proposals Authorization: Bearer mp_live_... Content-Type: application/json ``` ### Two modes **Prompt mode** — let the LLM draft from a brief (same as the GET endpoint): ```json { "prompt": "Brand sprint for a SaaS client, 2 weeks, ~$22k", "title": "Brand sprint for Acme", "locale": "en", "currency": "USD" } ``` **Structured mode** — supply content + line items directly (skips the LLM): ```json { "title": "Q3 retainer for Acme", "client_name": "Acme Studio", "currency": "USD", "content": { "intro": { "title": "...", "body": "..." }, "scope": { ... } }, "line_items": [ { "name": "Strategy", "description": "Weekly cadence", "qty": 1, "price": 8000, "type": "monthly", "required": true } ] } ``` ### Response ```json { "token": "Hc7nQz...", "draft_url": "https://myproposal.app/draft/Hc7nQz...", "expires_at": "2026-05-15T12:00:00.000Z" } ``` Hand `draft_url` to the human user. They claim it by signing up. ### Rate limits | Plan | Calls / hour | |--------|--------------| | Studio | 60 | | Agency | 600 | | Scale | unlimited | API keys are managed at `https://myproposal.app/dashboard/developers`. ## Links - Landing page: https://myproposal.app/for-ai-tools - About: https://myproposal.app/about - Terms: https://myproposal.app/terms - Privacy: https://myproposal.app/privacy