Nusii
BUSINESS · CRM & SUPPORT
Proposals, their sections and line items, clients, and templates in that account.
Acts as the person, not as itself
Each user connects their own account. Every call carries both identities — the agent and the person it is acting for — so the agent can never reach past what that individual can already do.
Credentials never touch the agent
Tokens live in the vault and attach server-side at call time. The agent holds a session, not a secret, and revoking access does not mean rotating a key.
Every call on the record
Who asked, which agent acted, which action ran, and the verdict that let it through — one audit trail across every integration, not one per vendor.
What an agent can do
Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.
nusii_delete_api_v2_clients_by_idWRITEDelete client. DELETE /api/v2/clients/{id}. IRREVERSIBLE: this deletes the named record in the Nusii account.
nusii_delete_api_v2_line_items_by_idWRITEDelete line item. DELETE /api/v2/line_items/{id}. IRREVERSIBLE: this deletes the named record in the Nusii account.
nusii_delete_api_v2_proposals_by_idWRITEDelete proposal. DELETE /api/v2/proposals/{id}. IRREVERSIBLE: this deletes the named record in the Nusii account.
nusii_delete_api_v2_proposals_by_proposal_id_taxations_by_idWRITEDelete proposal taxation. DELETE /api/v2/proposals/{proposal_id}/taxations/{id}. IRREVERSIBLE: this deletes the named record in the Nusii account.
nusii_delete_api_v2_sections_by_idWRITEDelete section. DELETE /api/v2/sections/{id}. IRREVERSIBLE: this deletes the named record in the Nusii account.
nusii_delete_api_v2_webhook_endpoints_by_idWRITEDelete webhook endpoint. DELETE /api/v2/webhook_endpoints/{id}. IRREVERSIBLE: this deletes the named record in the Nusii account.
nusii_get_api_v2_account_meREADGet account. GET /api/v2/account/me.
nusii_get_api_v2_clientsREADList clients. GET /api/v2/clients. `query` matches clients by free text and `query[nested]` searches nested attributes; `email` matches one address and `emails` a list.
nusii_get_api_v2_clients_by_idREADGet client. GET /api/v2/clients/{id}.
nusii_get_api_v2_currenciesREADList currencies. GET /api/v2/currencies.
nusii_get_api_v2_line_items_by_idREADGet line item. GET /api/v2/line_items/{id}.
nusii_get_api_v2_localesREADList locales. GET /api/v2/locales.
nusii_get_api_v2_pdf_page_sizesREADList PDF page sizes. GET /api/v2/pdf_page_sizes.
nusii_get_api_v2_proposal_activitiesREADList proposal activities. GET /api/v2/proposal_activities.
nusii_get_api_v2_proposal_activities_by_idREADGet proposal activity. GET /api/v2/proposal_activities/{id}.
nusii_get_api_v2_proposalsREADList proposals. GET /api/v2/proposals. Paginated. Nusii accepts the page number as either `page` or `page[number]` and the page size as either `per` or `per[size]`; send one spelling of each.
nusii_get_api_v2_proposals_by_idREADGet proposal. GET /api/v2/proposals/{id}.
nusii_get_api_v2_proposals_by_proposal_id_taxationsREADList proposal taxations. GET /api/v2/proposals/{proposal_id}/taxations.
nusii_get_api_v2_sectionsREADList sections. GET /api/v2/sections.
nusii_get_api_v2_sections_by_idREADGet section. GET /api/v2/sections/{id}.
nusii_get_api_v2_sections_by_section_id_line_itemsREADList section line items. GET /api/v2/sections/{section_id}/line_items.
nusii_get_api_v2_templatesREADList templates. GET /api/v2/templates.
nusii_get_api_v2_templates_by_idREADGet template. GET /api/v2/templates/{id}.
nusii_get_api_v2_themesREADList themes. GET /api/v2/themes.
nusii_get_api_v2_usersREADList users. GET /api/v2/users.
nusii_get_api_v2_webhook_endpointsREADList webhook endpoints. GET /api/v2/webhook_endpoints.
nusii_get_api_v2_webhook_endpoints_by_idREADGet webhook endpoint. GET /api/v2/webhook_endpoints/{id}.
nusii_post_api_v2_clientsWRITECreate client. POST /api/v2/clients. Body requires: `client.name`, `client.email`.
nusii_post_api_v2_integrations_less_annoying_crm_installationsWRITECreate Less Annoying CRM installation. POST /api/v2/integrations/less_annoying_crm_installations. Body requires: `less_annoying_crm_installation.name`, `less_annoying_crm_installation.token`, `less_annoying_crm_installation.user_code`. REGISTERS A THIRD-PARTY CREDENTIAL: the body's `token` is the caller's Less Annoying CRM API token, stored by Nusii, not by Agentic Fabriq. Do not call this with a value you were not explicitly given for this purpose.
nusii_post_api_v2_integrations_one_page_crm_installationsWRITECreate OnePageCRM installation. POST /api/v2/integrations/one_page_crm_installations. Body requires: `one_page_crm_installation.name`, `one_page_crm_installation.api_key`, `one_page_crm_installation.api_secret`. REGISTERS A THIRD-PARTY CREDENTIAL: the body's `api_key` and `api_secret` are the caller's OnePageCRM credentials, stored by Nusii, not by Agentic Fabriq. Do not call this with values you were not explicitly given for this purpose.
nusii_post_api_v2_proposalsWRITECreate proposal. POST /api/v2/proposals. Body requires: `proposal`.
nusii_post_api_v2_proposals_by_proposal_id_taxationsWRITECreate proposal taxation. POST /api/v2/proposals/{proposal_id}/taxations. Body requires: `percentage`, `name`.
nusii_post_api_v2_sectionsWRITECreate section. POST /api/v2/sections.
nusii_post_api_v2_sections_by_section_id_line_itemsWRITECreate section line item. POST /api/v2/sections/{section_id}/line_items. Body requires: `line_item.name`.
nusii_post_api_v2_webhook_endpointsWRITECreate webhook endpoint. POST /api/v2/webhook_endpoints. Body requires: `webhook_endpoint.target_url`, `webhook_endpoint.events`.
nusii_put_api_v2_clients_by_idWRITEUpdate client. PUT /api/v2/clients/{id}. Body requires: `client.name`.
nusii_put_api_v2_line_items_by_idWRITEUpdate line item. PUT /api/v2/line_items/{id}. Body requires: `line_item`.
nusii_put_api_v2_proposals_by_idWRITEUpdate proposal. PUT /api/v2/proposals/{id}. Body requires: `proposal.title`.
nusii_put_api_v2_proposals_by_id_archiveWRITEArchive proposal. PUT /api/v2/proposals/{id}/archive. Archives the proposal. The sealed contract declares an empty request body, so no field is required.
nusii_put_api_v2_proposals_by_id_send_proposalWRITESend proposal. PUT /api/v2/proposals/{id}/send_proposal. Body requires: `sender_email`, `subject`, `message`, `recipients`. SENDS REAL EMAIL to the recipients named in the body. The sealed contract declares two bodies for this operation and this tool ships the JSON one, which carries a `recipients` array of {name, email, eligible_to_sign} in place of the form variant's single `email`; `sender_email`, `subject`, `message` and `recipients` are all required.
nusii_put_api_v2_proposals_by_proposal_id_taxations_by_idWRITEUpdate proposal taxation. PUT /api/v2/proposals/{proposal_id}/taxations/{id}. Body requires: `percentage`, `name`.
nusii_put_api_v2_sections_by_idWRITEUpdate section. PUT /api/v2/sections/{id}. Body requires: `section.title`.
nusii_put_api_v2_sections_by_section_id_line_items_by_idWRITEUpdate section line item. PUT /api/v2/sections/{section_id}/line_items/{id}. Body requires: `line_item.name`.
Often connected alongside
Put Nusii behind one governed endpoint.
Same permissions, same audit trail, whatever else you connect next.