Nusii API
Proposals, built into your own software
Create proposals from your CRM, your product or your internal tools, send them, and hear back the moment a client opens or signs. A REST API with webhooks and official SDKs, included on every Nusii plan.
SDKs for Ruby, PHP, JavaScript, Python and Go, plus an OpenAPI spec.
studio north
Website redesign
Acme Inc | October 6, 2026
Proposal prepared for: Jane Cooper
Your goals
Acme wants a faster website that the team can update themselves and that turns more visitors into qualified leads.
Scope of work
Discovery workshop and a new sitemap
Design for the homepage and five page templates
Build on a CMS your team can edit
Launch, redirects and a training session
Investment
Total$8,400.00
Proposal Overview
Proposal Name:
Website redesign
State:
Pending Accepted
Value:
$8,400.00
Client:
Jane Cooper (Acme Inc)
Signatures: Signature:
This proposal still hasn't been accepted.
Signed Oct 8, 2026 by Jane Cooper
Activity
Accepted Jane Cooper <jane@acme.com> accepted the proposal: Website redesign. view info.
Oct 8
10:52 AM
Opened Jane Cooper <jane@acme.com> has viewed the proposal: Website redesign.
Oct 7
09:40 AM
Opened Email jane@acme.com has opened the email related to proposal: Website redesign.
Oct 6
09:31 AM
Sent Alex Kim has sent the proposal: Website redesign to Jane Cooper <jane@acme.com>. view info.
Oct 6
09:14 AM
“It took only 2 hours until we had the ability to push this customer data from our CRM to Nusii. This was really easy.”
Christian Asche, Co-founder & CEO, Coveto
Read how Coveto connected their CRM →
Why use the API
Start the proposal where the deal already lives
By the time a deal needs a proposal, its details already live somewhere: the client in your CRM, the scope in your product, the price in your own system. Typing them into a proposal again takes time, and it’s how typos end up in front of clients.
With the Nusii API, those systems create the proposal for you, from your template, with the right client and pricing. Webhooks then tell them when it’s sent, viewed and signed, so your CRM, your project tool and your invoicing stay in step without anyone copying anything across.
What you can build
Connect Nusii to the way you already sell
From a few lines in your CRM’s automations to a full integration with your product. A few ideas to get you started:
Proposals that start in your CRM
When a deal reaches the proposal stage, create the draft from your template with the client attached. It’s waiting in Nusii for you to polish and send.
# When a deal reaches "Proposal" in your CRM
curl https://app.nusii.com/api/v2/proposals \
-H "Authorization: Token token=$NUSII_API_KEY" \
-H "Content-Type: application/json" \
-d '{"proposal": {"title": "Website redesign",
"client_id": 88123, "template_id": 1187}}'
Quotes priced by your own system
Turn what a customer picks in your configurator or order form into line items, so every quote uses the prices your system already knows.
# One line item per option they picked: $12,500.00
curl https://app.nusii.com/api/v2/sections/456/line_items \
-H "Authorization: Token token=$NUSII_API_KEY" \
-H "Content-Type: application/json" \
-d '{"line_item": {"name": "Annual license, 25 seats",
"amount": 1250000}}'
Act the moment they sign
Nusii calls your endpoint when a proposal is accepted. Mark the deal won, open the project and send the deposit invoice, all on their own.
// Your endpoint, subscribed to proposal_accepted
app.post('/hooks/nusii', (req, res) => {
const { event_name, proposal } = req.body
if (event_name === 'proposal_accepted') {
crm.markWon(proposal.client_email,
proposal.accepted_total_formatted)
}
res.sendStatus(200)
})
Your pipeline in your own dashboard
Pull proposals by status and date, with their activity, into your BI tool or team dashboard. Coveto uses it to flag proposals that are getting old.
# Everything accepted since the start of the quarter
curl "https://app.nusii.com/api/v2/proposals?status=accepted\
&accepted_at_after=2026-10-01" \
-H "Authorization: Token token=$NUSII_API_KEY"
Webhooks
Hear back the moment it happens
Register an endpoint through the API, or in Nusii under Settings → Integrations, and Nusii sends it the details whenever one of these happens. No polling, no waiting.
Proposals
-
Created
proposal_created -
Updated
proposal_updated -
Sent
proposal_sent -
Viewed by the client
proposal_activity_ client_ viewed_ proposal -
Accepted
proposal_accepted -
Rejected
proposal_rejected -
Deleted
proposal_destroyed
Clients
-
Created
client_created -
Updated
client_updated -
Deleted
client_destroyed
{
"event_name": "proposal_accepted",
"proposal": {
"id": 48213,
"title": "Website redesign",
"status": "accepted",
"accepted_total_formatted": "$8,400.00",
"client_email": "jane@acme.com",
"client_business": "Acme Inc"
}
}
The building blocks
Clients, proposals, sections, line items, taxes, activity and webhooks, plus your templates, users and themes. Every part of a proposal is one request away.
Proposals
Create one from scratch or from a template, update it, archive it, and send it to one or more recipients with your own subject and message.
- POST /proposals
- PUT /proposals/:id/send_proposal
Clients
Create, update, find and delete clients, so Nusii always has the same contacts as your CRM.
- GET /clients
- POST /clients
Sections and line items
Add and change the content and pricing of any proposal, section by section and line by line.
- POST /sections
- POST /sections/:id/line_items
Taxes
Add the taxes a proposal needs, like VAT or sales tax, and Nusii does the math on the total.
- POST /proposals/:id/taxations
Activity
Every email open, view, PDF download, signature and payment, for one proposal or for everything a client has done.
- GET /proposal_activities
Webhooks
Subscribe your endpoints to the proposal and client events, and remove them when you no longer need them.
- POST /webhook_endpoints
Get started
Your first request in a minute
-
1
Get an API key
Create one in Settings → API and send it with every request. Building an app for other Nusii users? Register it there for OAuth instead.
Authorization: Token token=YOUR_API_KEY -
2
Make your first request
Check that your key works by asking the API which account it belongs to.
curl https://app.nusii.com/api/v2/account/me \ -H "Authorization: Token token=YOUR_API_KEY" -
3
Pick your SDK
Or skip the plumbing and install the client for your language. The API reference shows every call in each of them.
npm install @nusii/nusii
API, CLI or MCP?
Three ways in, one account
The CLI puts the API behind ready-made commands, and MCP lets AI assistants like Claude and ChatGPT draft proposals for you. Pick whichever fits the job, or use all three.
| Compare | API | CLI | MCP |
|---|---|---|---|
| How you use it | From your own code | Commands and scripts | A conversation with your AI assistant |
| Best for | Integrations with your CRM, product and internal tools | Cron jobs, bulk imports and quick automations | Drafting, rewriting and pipeline questions |
| Sending proposals | From your code | From the command line | You review and send in Nusii |
| Who it suits | Developers | Developers and power users | Your whole team |
New to Nusii? Start in the app, connect it later
Set up your templates and branding in Nusii, then let your own systems fill them in. API access is included on every plan.
Frequently asked questions
Questions about the Nusii API
What is the Nusii API?
A REST API for your Nusii account. Your own software can create clients and proposals, fill them in from your templates, send them and read their activity, and webhooks tell it when a proposal is sent, viewed, accepted or rejected.
Is the API included in my plan?
Yes. API access is included on every Nusii plan, with nothing extra to buy.
How do I get an API key?
Create one in Settings → API and send it in the Authorization header of every request. If you’re building an app for other Nusii users, register it there for OAuth instead, so they can approve access with their own login.
Can I create proposals from my templates?
Yes. Pass a template_id when you create a proposal and it starts with that template’s sections and pricing. From there you can change any section or line item before you send it.
Can I send proposals through the API?
Yes. Send a proposal to its client, or to several recipients at once, with your own subject and message.
Which webhooks can I subscribe to?
Proposals created, updated, sent, viewed by the client, accepted, rejected and deleted, and clients created, updated and deleted. See the full list above, or set one up in a couple of minutes.
Are there SDKs?
Is there an OpenAPI spec?
Yes, an OpenAPI 3.1 spec. Import it into Postman or Insomnia, or generate a client for a language we don’t have an SDK for yet.
Can I connect Nusii to other apps without writing code?
Yes. Zapier, Make, Pabbly Connect and Integrately connect Nusii to thousands of apps, and our CRM integrations work with HubSpot, Pipedrive, OnePageCRM and Less Annoying CRM. See all integrations.
What's the difference between the API, the CLI and MCP?
Where can I get help?
The API reference covers every endpoint with examples in each language. Stuck anyway? Email us at support@nusii.com.
Unanswered questions? Email us at support@nusii.com.