All integrations

Bidsketch

BUSINESS · CRM & SUPPORT

Clients, proposals, fees, and reusable sections in the account they connected.

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.

bidsketch_delete_clients_by_client_id_jsonWRITE

Delete Client via DELETE /clients/{client_id}.json. Deletes a client and answers 204 No Content. This also deletes all of the client's proposals.

api
bidsketch_delete_fees_by_fee_id_jsonWRITE

Delete Fee via DELETE /fees/{fee_id}.json. Deletes that saved fee.

api
bidsketch_delete_proposals_by_proposal_id_fees_by_fee_id_jsonWRITE

Delete Proposal Fee via DELETE /proposals/{proposal_id}/fees/{fee_id}.json. Deletes that proposal fee.

api
bidsketch_delete_proposals_by_proposal_id_jsonWRITE

Delete Proposal via DELETE /proposals/{proposal_id}.json. Deletes a proposal and all its content, and answers 204 No Content.

api
bidsketch_delete_proposals_by_proposal_id_sections_by_section_id_jsonWRITE

Delete Proposal Section via DELETE /proposals/{proposal_id}/sections/{section_id}.json. Deletes that proposal section.

api
bidsketch_delete_sections_by_section_id_jsonWRITE

Delete Section via DELETE /sections/{section_id}.json. Deletes a saved section.

api
bidsketch_delete_webhooks_by_webhook_id_jsonWRITE

Delete Webhook via DELETE /webhooks/{webhook_id}.json. Deletes a webhook and answers 204 No Content.

api
bidsketch_get_clients_by_client_id_jsonREAD

Get Client via GET /clients/{client_id}.json. Gets one client by id: contact details, address, notes and the secondary contact.

api
bidsketch_get_clients_by_client_id_proposals_jsonREAD

Get Client Proposals via GET /clients/{client_id}/proposals.json. Gets a collection of all the proposals for a single client.

api
bidsketch_get_clients_jsonREAD

Get Clients via GET /clients.json. Returns all the clients on the account (clients are the people or companies proposals are prepared for), 100 per page by default.

api
bidsketch_get_fees_by_fee_id_jsonREAD

Get Fee via GET /fees/{fee_id}.json. Gets a single saved fee.

api
bidsketch_get_fees_jsonREAD

Get Fees via GET /fees.json. Lists all the fees saved to the account to be reused in future proposals.

api
bidsketch_get_proposals_by_proposal_id_content_jsonREAD

Get Proposal Content via GET /proposals/{proposal_id}/content.json. Gets a proposal with all its content in one call: opening sections, then fees, then closing sections, which is the order they appear in the proposal.

api
bidsketch_get_proposals_by_proposal_id_feesREAD

Get Proposal Fees via GET /proposals/{proposal_id}/fees.json. Lists all the fees on a proposal. Proposal fees belong to that proposal; account-level reusable fees are Get Fees.

api
bidsketch_get_proposals_by_proposal_id_fees_by_fee_id_jsonREAD

Get Proposal Fee via GET /proposals/{proposal_id}/fees/{fee_id}.json. Gets a single fee on a proposal, with its amount, quantity, unit, total and formatted details.

api
bidsketch_get_proposals_by_proposal_id_jsonREAD

Get Proposal via GET /proposals/{proposal_id}.json. Gets one proposal: status, owner, currency, calculated taxes, discount and fee subtotals, settings, its client, and links to its opening sections, fees and closing sections.

api
bidsketch_get_proposals_by_proposal_id_sections_by_section_id_jsonREAD

Get Proposal Section via GET /proposals/{proposal_id}/sections/{section_id}.json. Fetches a single proposal section, including its HTML description.

api
bidsketch_get_proposals_by_proposal_id_sections_closing_jsonREAD

Get Proposal Closing Sections via GET /proposals/{proposal_id}/sections/closing.json. Lists a proposal's closing sections, which are presented last, after its fees.

api
bidsketch_get_proposals_by_proposal_id_sections_jsonREAD

Get Proposal Sections via GET /proposals/{proposal_id}/sections.json. Gets all the sections of a proposal, opening and closing. Proposal sections belong to that proposal; account-level reusable sections are Get Sections.

api
bidsketch_get_proposals_by_proposal_id_sections_opening_jsonREAD

Get Proposal Opening Sections via GET /proposals/{proposal_id}/sections/opening.json. Lists a proposal's opening sections, which are presented first, before its fees.

api
bidsketch_get_proposals_jsonREAD

Get Proposals via GET /proposals.json. Returns all the proposals for the account (name, description, status, is_draft), 100 per page by default.

api
bidsketch_get_proposals_stats_jsonREAD

Get Proposal Stats via GET /proposals/stats.json. Returns proposal statistics for the account (the total count).

api
bidsketch_get_sections_by_section_id_jsonREAD

Get Section via GET /sections/{section_id}.json. Fetches a saved section, including its HTML description.

api
bidsketch_get_sections_jsonREAD

Get Sections via GET /sections.json. Lists all the sections saved to the account to be reused in future proposals.

api
bidsketch_get_templates_by_template_id_jsonREAD

Get Template via GET /templates/{template_id}.json. Gets a single template with the account-level sections and fees it references.

api
bidsketch_get_templates_jsonREAD

Get Templates via GET /templates.json. Lists all the proposal templates saved for the account. Templates are read-only through the API.

api
bidsketch_post_clients_jsonWRITE

Create Client via POST /clients.json. Creates a client from the provided data and answers 201 Created with it. first_name, last_name and email are required. Some plans limit the number of clients; at the limit Bidsketch answers 426 Upgrade Required.

api
bidsketch_post_fees_jsonWRITE

Create Fee via POST /fees.json. Saves a reusable fee to the account. name, amount and feetype are required.

api
bidsketch_post_proposals_by_proposal_id_fees_jsonWRITE

Create Proposal Fee via POST /proposals/{proposal_id}/fees.json. Creates a fee on a proposal. name, description, feetype and amount are required; optional marks it as an optional item.

api
bidsketch_post_proposals_by_proposal_id_sections_jsonWRITE

Create Proposal Section via POST /proposals/{proposal_id}/sections.json. Creates a section on a proposal. name, sectiontype (opening or closing) and description are required.

api
bidsketch_post_proposals_jsonWRITE

Create Proposal via POST /proposals.json. Creates a proposal from scratch. name and client_id are required, and the docs' walkthrough supplies description too; add content afterwards with Create Proposal Section and Create Proposal Fee. Some plans limit the number of proposals (426 Upgrade Required at the limit).

api
bidsketch_post_sections_jsonWRITE

Create Section via POST /sections.json. Saves a reusable section to the account. name and sectiontype (opening or closing) are required.

api
bidsketch_post_templates_by_template_id_proposals_jsonWRITE

Create Proposal From Template via POST /templates/{template_id}/proposals.json. Creates a proposal from an existing template, which also creates the template's proposal sections and fees. name and client_id are required, and the docs' walkthrough supplies description too. Some plans limit the number of proposals (426 Upgrade Required at the limit).

api
bidsketch_post_webhooks_jsonWRITE

Create Webhook via POST /webhooks.json. Creates a webhook for one event; event and endpoint are required. Bidsketch POSTs {event, data} to the endpoint, which must answer 200 OK (it retries 20 times, and a 410 Gone deletes the webhook). Store the returned id to delete it later.

api
bidsketch_put_clients_by_client_id_jsonWRITE

Update Client via PUT /clients/{client_id}.json. Updates a client with the provided data (the docs' example sends only the fields being changed) and returns the updated client.

api
bidsketch_put_fees_by_fee_id_jsonWRITE

Update Fee via PUT /fees/{fee_id}.json. Updates a saved fee with the provided data.

api
bidsketch_put_proposals_by_proposal_id_fees_by_fee_id_jsonWRITE

Update Proposal Fee via PUT /proposals/{proposal_id}/fees/{fee_id}.json. Updates a proposal fee with the provided data.

api
bidsketch_put_proposals_by_proposal_id_jsonWRITE

Update Proposal via PUT /proposals/{proposal_id}.json. Updates a proposal with the provided data (the docs' example sends only description).

api
bidsketch_put_proposals_by_proposal_id_sections_by_section_id_jsonWRITE

Update Proposal Section via PUT /proposals/{proposal_id}/sections/{section_id}.json. Updates a proposal section with the provided data.

api
bidsketch_put_sections_by_section_id_jsonWRITE

Update Section via PUT /sections/{section_id}.json. Updates a saved section with the provided data.

api

Put Bidsketch behind one governed endpoint.

Same permissions, same audit trail, whatever else you connect next.