Bidsketch MCP by usefulapi
Read Bidsketch clients, proposals, fees and templates; create and update clients, proposals, fees.
Should I use this
Quality & Safety
Findings (3)
- LOWin bidsketch_list_client_proposals
- LOWin bidsketch_list_proposal_sections
- LOWin bidsketch_update_proposal_section
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"bidsketch": {
"url": "https://bidsketch.usefulapi.io/mcp"
}
}
}Remote endpoints
https://bidsketch.usefulapi.io/mcpstreamable-httpWhat it can do
Tool inventory
Tools (29)
π’bidsketch_list_clients(page, per_page)
List the clients (people or companies proposals are prepared for) with id, name, email and phone. GET /clients.json.
Input Schema
{
"type": "object",
"properties": {
"page": {
"description": "Page number (default 1).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"per_page": {
"description": "Results per page (default and maximum 100).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π’bidsketch_get_client(client_id)
Get one client with full contact details, address, notes and secondary contact. GET /clients/{id}.json.
Input Schema
{
"type": "object",
"properties": {
"client_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "The client id from bidsketch_list_clients (a positive integer)."
}
},
"required": [
"client_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π’bidsketch_list_client_proposals(client_id, page, per_page)
List the proposals of one client with status (Pending, Viewed, Accepted, Declined) and draft flag. GET /clients/{id}/proposals.json.
Input Schema
{
"type": "object",
"properties": {
"client_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "The client id (a positive integer)."
},
"page": {
"description": "Page number (default 1).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"per_page": {
"description": "Results per page (default and maximum 100).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
}
},
"required": [
"client_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π‘bidsketch_create_client(first_name, last_name, email, name, phone, ...)
WRITE: create a client in Bidsketch. first_name, last_name and email are required (put a company name in `name`). Some Bidsketch plans cap the number of clients (HTTP 426 when reached). POST /clients.json.
Input Schema
{
"type": "object",
"properties": {
"first_name": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Client's first name (required by Bidsketch)."
},
"last_name": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Client's last name (required by Bidsketch)."
},
"email": {
"type": "string",
"minLength": 1,
"maxLength": 320,
"description": "Client's primary email address (required by Bidsketch)."
},
"name": {
"description": "Client's full name or company name.",
"type": "string",
"maxLength": 300
},
"phone": {
"type": "string",
"maxLength": 100
},
"alt_phone": {
"type": "string",
"maxLength": 100
},
"website": {
"type": "string",
"maxLength": 300
},
"address_field_one": {
"type": "string",
"maxLength": 300
},
"address_field_two": {
"type": "string",
"maxLength": 300
},
"city": {
"type": "string",
"maxLength": 200
},
"state": {
"type": "string",
"maxLength": 200
},
"postal_zip": {
"type": "string",
"maxLength": 50
},
"country": {
"type": "string",
"maxLength": 100
},
"notes": {
"description": "Notes about the client (plain text, not escaped).",
"type": "string",
"maxLength": 20000
},
"other_contact": {
"type": "object",
"properties": {
"first_name": {
"type": "string",
"maxLength": 200
},
"last_name": {
"type": "string",
"maxLength": 200
},
"email": {
"type": "string",
"maxLength": 320
},
"phone": {
"type": "string",
"maxLength": 100
}
},
"required": [
"first_name",
"last_name",
"email"
],
"description": "Secondary contact; first_name, last_name and email are required when given."
}
},
"required": [
"first_name",
"last_name",
"email"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π΄bidsketch_update_client(client_id, first_name, last_name, email, name, ...)
WRITE: change fields of an existing client; only the fields you pass are sent and overwrite the old values. PUT /clients/{id}.json.
Input Schema
{
"type": "object",
"properties": {
"client_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "The client id (a positive integer)."
},
"first_name": {
"description": "Client's first name (a person).",
"type": "string",
"maxLength": 200
},
"last_name": {
"description": "Client's last name (a person).",
"type": "string",
"maxLength": 200
},
"email": {
"description": "Client's primary email address.",
"type": "string",
"maxLength": 320
},
"name": {
"description": "Client's full name or company name.",
"type": "string",
"maxLength": 300
},
"phone": {
"type": "string",
"maxLength": 100
},
"alt_phone": {
"type": "string",
"maxLength": 100
},
"website": {
"type": "string",
"maxLength": 300
},
"address_field_one": {
"type": "string",
"maxLength": 300
},
"address_field_two": {
"type": "string",
"maxLength": 300
},
"city": {
"type": "string",
"maxLength": 200
},
"state": {
"type": "string",
"maxLength": 200
},
"postal_zip": {
"type": "string",
"maxLength": 50
},
"country": {
"type": "string",
"maxLength": 100
},
"notes": {
"description": "Notes about the client (plain text, not escaped).",
"type": "string",
"maxLength": 20000
},
"other_contact": {
"type": "object",
"properties": {
"first_name": {
"type": "string",
"maxLength": 200
},
"last_name": {
"type": "string",
"maxLength": 200
},
"email": {
"type": "string",
"maxLength": 320
},
"phone": {
"type": "string",
"maxLength": 100
}
},
"required": [
"first_name",
"last_name",
"email"
],
"description": "Secondary contact; first_name, last_name and email are required when given."
}
},
"required": [
"client_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π’bidsketch_list_proposals(page, per_page)
List all proposals with name, status (Pending, Viewed, Accepted, Declined), draft flag and dates. GET /proposals.json.
Input Schema
{
"type": "object",
"properties": {
"page": {
"description": "Page number (default 1).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"per_page": {
"description": "Results per page (default and maximum 100).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π’bidsketch_get_proposal_stats
Proposal statistics for the account (the total number of proposals). GET /proposals/stats.json.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π’bidsketch_get_proposal(proposal_id)
Get one proposal: status, client, currency, fee subtotals and total, tax/discount, settings and counts of its opening sections, fees and closing sections. GET /proposals/{id}.json.
Input Schema
{
"type": "object",
"properties": {
"proposal_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "The proposal id from bidsketch_list_proposals (a positive integer)."
}
},
"required": [
"proposal_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π’bidsketch_get_proposal_content(proposal_id)
Get the full content of a proposal in order: opening sections, fees and closing sections. GET /proposals/{id}/content.json.
Input Schema
{
"type": "object",
"properties": {
"proposal_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "The proposal id (a positive integer)."
}
},
"required": [
"proposal_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π’bidsketch_list_proposal_sections(proposal_id, page, per_page)
List the text sections of one proposal (opening and closing). GET /proposals/{id}/sections.json.
Input Schema
{
"type": "object",
"properties": {
"proposal_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "The proposal id (a positive integer)."
},
"page": {
"description": "Page number (default 1).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"per_page": {
"description": "Results per page (default and maximum 100).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
}
},
"required": [
"proposal_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π’bidsketch_get_proposal_section(proposal_id, section_id)
Get one section of a proposal with its HTML description. GET /proposals/{id}/sections/{section_id}.json.
Input Schema
{
"type": "object",
"properties": {
"proposal_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "The proposal id (a positive integer)."
},
"section_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "The proposal section id (a positive integer)."
}
},
"required": [
"proposal_id",
"section_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π’bidsketch_list_proposal_fees(proposal_id, page, per_page)
List the fee lines of one proposal with type, totals and the optional flag. GET /proposals/{id}/fees.json.
Input Schema
{
"type": "object",
"properties": {
"proposal_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "The proposal id (a positive integer)."
},
"page": {
"description": "Page number (default 1).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"per_page": {
"description": "Results per page (default and maximum 100).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
}
},
"required": [
"proposal_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π’bidsketch_get_proposal_fee(proposal_id, fee_id)
Get one fee line of a proposal. GET /proposals/{id}/fees/{fee_id}.json.
Input Schema
{
"type": "object",
"properties": {
"proposal_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "The proposal id (a positive integer)."
},
"fee_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "The proposal fee id (a positive integer)."
}
},
"required": [
"proposal_id",
"fee_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π‘bidsketch_create_proposal(name, description, currency, proposal_date, tax, ...)
WRITE: create a proposal for a client, optionally from a template (template_id from bidsketch_list_templates, which copies its sections and fees). The proposal is created as a draft; this tool does not send anything to the client. Some plans cap the number of proposals (HTTP 426). POST /proposals.json or POST /templates/{id}/proposals.json.
Input Schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 300,
"description": "Proposal name."
},
"description": {
"type": "string",
"minLength": 1,
"maxLength": 20000,
"description": "Summary of the proposal (the vendor docs list it with name and client_id as the minimum)."
},
"currency": {
"description": "ISO currency code, e.g. USD.",
"type": "string",
"pattern": "^[A-Za-z]{3}$"
},
"proposal_date": {
"description": "Proposal date as m/d/yyyy, e.g. 10/26/2026.",
"type": "string",
"pattern": "^\\d{1,2}\\/\\d{1,2}\\/\\d{4}$"
},
"tax": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Tax as a decimal fraction (0.1 = 10%)."
},
"tax2": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Secondary tax as a decimal fraction (0.1 = 10%)."
},
"discount": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Discount as a decimal fraction (0.1 = 10%)."
},
"client_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "The client the proposal is for (from bidsketch_list_clients) (a positive integer)."
},
"template_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Optional template to copy sections and fees from (a positive integer)."
}
},
"required": [
"name",
"description",
"client_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π΄bidsketch_update_proposal(proposal_id, name, description, currency, proposal_date, ...)
WRITE: change fields of a proposal; only the fields you pass are sent and overwrite the old values. PUT /proposals/{id}.json.
Input Schema
{
"type": "object",
"properties": {
"proposal_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "The proposal id (a positive integer)."
},
"name": {
"description": "Proposal name.",
"type": "string",
"maxLength": 300
},
"description": {
"description": "Summary of the proposal.",
"type": "string",
"maxLength": 20000
},
"currency": {
"description": "ISO currency code, e.g. USD.",
"type": "string",
"pattern": "^[A-Za-z]{3}$"
},
"proposal_date": {
"description": "Proposal date as m/d/yyyy, e.g. 10/26/2026.",
"type": "string",
"pattern": "^\\d{1,2}\\/\\d{1,2}\\/\\d{4}$"
},
"tax": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Tax as a decimal fraction (0.1 = 10%)."
},
"tax2": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Secondary tax as a decimal fraction (0.1 = 10%)."
},
"discount": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Discount as a decimal fraction (0.1 = 10%)."
},
"client_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Move the proposal to this client (a positive integer)."
}
},
"required": [
"proposal_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π‘bidsketch_add_proposal_section(proposal_id, name, sectiontype, description)
WRITE: add a text section to a proposal, as an opening or closing section. POST /proposals/{id}/sections.json.
Input Schema
{
"type": "object",
"properties": {
"proposal_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "The proposal id (a positive integer)."
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 300
},
"sectiontype": {
"type": "string",
"enum": [
"opening",
"closing"
],
"description": "opening (shown first) or closing (shown last)."
},
"description": {
"type": "string",
"minLength": 1,
"maxLength": 100000,
"description": "HTML-formatted content, for example <p>Hello</p>."
}
},
"required": [
"proposal_id",
"name",
"sectiontype",
"description"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π΄bidsketch_update_proposal_section(proposal_id, section_id, name, sectiontype, category, ...)
WRITE: change a section of a proposal; only the fields you pass are sent and overwrite the old values. PUT /proposals/{id}/sections/{section_id}.json.
Input Schema
{
"type": "object",
"properties": {
"proposal_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "The proposal id (a positive integer)."
},
"section_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "The proposal section id (a positive integer)."
},
"name": {
"type": "string",
"maxLength": 300
},
"sectiontype": {
"description": "Where the section appears: opening (first) or closing (last).",
"type": "string",
"enum": [
"opening",
"closing"
]
},
"category": {
"type": "string",
"maxLength": 200
},
"description": {
"type": "string",
"maxLength": 100000,
"description": "HTML-formatted content, for example <p>Hello</p>."
}
},
"required": [
"proposal_id",
"section_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π‘bidsketch_add_proposal_fee(proposal_id, name, feetype, amount, quantity, ...)
WRITE: add a fee line to a proposal; it changes the proposal's price. Fixed fees take amount as the total; hourly, monthly and yearly fees take amount per unit and a quantity. POST /proposals/{id}/fees.json.
Input Schema
{
"type": "object",
"properties": {
"proposal_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "The proposal id (a positive integer)."
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 300
},
"feetype": {
"type": "string",
"enum": [
"fixed",
"hourly",
"monthly",
"yearly",
"custom"
]
},
"amount": {
"type": "number",
"minimum": 0
},
"quantity": {
"description": "Quantity for calculated fees.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"unit": {
"description": "Unit label, only for custom fees.",
"type": "string",
"maxLength": 100
},
"category": {
"type": "string",
"maxLength": 200
},
"description": {
"type": "string",
"minLength": 1,
"maxLength": 100000,
"description": "HTML-formatted content, for example <p>Hello</p>."
},
"optional": {
"description": "true = an optional item the client may choose.",
"type": "boolean"
}
},
"required": [
"proposal_id",
"name",
"feetype",
"amount",
"description"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π΄bidsketch_update_proposal_fee(proposal_id, fee_id, name, feetype, amount, ...)
WRITE: change a fee line of a proposal (changes its price); only the fields you pass are sent. PUT /proposals/{id}/fees/{fee_id}.json.
Input Schema
{
"type": "object",
"properties": {
"proposal_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "The proposal id (a positive integer)."
},
"fee_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "The proposal fee id (a positive integer)."
},
"name": {
"type": "string",
"maxLength": 300
},
"feetype": {
"description": "fixed = a total; hourly/monthly/yearly = amount per unit x quantity; custom = your own unit label.",
"type": "string",
"enum": [
"fixed",
"hourly",
"monthly",
"yearly",
"custom"
]
},
"amount": {
"description": "Fixed fee: the total. Calculated fee: the amount per unit.",
"type": "number",
"minimum": 0
},
"quantity": {
"description": "Quantity for calculated fees.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"unit": {
"description": "Unit label, only for custom fees.",
"type": "string",
"maxLength": 100
},
"category": {
"type": "string",
"maxLength": 200
},
"description": {
"type": "string",
"maxLength": 100000,
"description": "HTML-formatted content, for example <p>Hello</p>."
},
"optional": {
"description": "true = an optional item the client may choose.",
"type": "boolean"
}
},
"required": [
"proposal_id",
"fee_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π’bidsketch_list_fees(page, per_page)
List the reusable fees saved on the account with category, type and total. GET /fees.json.
Input Schema
{
"type": "object",
"properties": {
"page": {
"description": "Page number (default 1).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"per_page": {
"description": "Results per page (default and maximum 100).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π’bidsketch_get_fee(fee_id)
Get one saved fee with amount, quantity, unit and description. GET /fees/{id}.json.
Input Schema
{
"type": "object",
"properties": {
"fee_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "The saved fee id from bidsketch_list_fees (a positive integer)."
}
},
"required": [
"fee_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π‘bidsketch_create_fee(name, feetype, amount, quantity, unit, ...)
WRITE: save a reusable fee on the account (it is not added to any proposal). POST /fees.json.
Input Schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 300
},
"feetype": {
"type": "string",
"enum": [
"fixed",
"hourly",
"monthly",
"yearly",
"custom"
]
},
"amount": {
"type": "number",
"minimum": 0
},
"quantity": {
"description": "Quantity for calculated fees.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"unit": {
"description": "Unit label, only for custom fees.",
"type": "string",
"maxLength": 100
},
"category": {
"type": "string",
"maxLength": 200
},
"description": {
"type": "string",
"maxLength": 100000,
"description": "HTML-formatted content, for example <p>Hello</p>."
}
},
"required": [
"name",
"feetype",
"amount"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π΄bidsketch_update_fee(fee_id, name, feetype, amount, quantity, ...)
WRITE: change a saved fee; only the fields you pass are sent. Proposals that already use it keep their own copy. PUT /fees/{id}.json.
Input Schema
{
"type": "object",
"properties": {
"fee_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "The saved fee id (a positive integer)."
},
"name": {
"type": "string",
"maxLength": 300
},
"feetype": {
"description": "fixed = a total; hourly/monthly/yearly = amount per unit x quantity; custom = your own unit label.",
"type": "string",
"enum": [
"fixed",
"hourly",
"monthly",
"yearly",
"custom"
]
},
"amount": {
"description": "Fixed fee: the total. Calculated fee: the amount per unit.",
"type": "number",
"minimum": 0
},
"quantity": {
"description": "Quantity for calculated fees.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"unit": {
"description": "Unit label, only for custom fees.",
"type": "string",
"maxLength": 100
},
"category": {
"type": "string",
"maxLength": 200
},
"description": {
"type": "string",
"maxLength": 100000,
"description": "HTML-formatted content, for example <p>Hello</p>."
}
},
"required": [
"fee_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π’bidsketch_list_sections(page, per_page)
List the reusable content sections saved on the account with category and type (opening or closing). GET /sections.json.
Input Schema
{
"type": "object",
"properties": {
"page": {
"description": "Page number (default 1).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"per_page": {
"description": "Results per page (default and maximum 100).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π’bidsketch_get_section(section_id)
Get one saved section with its HTML description. GET /sections/{id}.json.
Input Schema
{
"type": "object",
"properties": {
"section_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "The saved section id from bidsketch_list_sections (a positive integer)."
}
},
"required": [
"section_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π‘bidsketch_create_section(name, sectiontype, category, description)
WRITE: save a reusable content section on the account (it is not added to any proposal). POST /sections.json.
Input Schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 300
},
"sectiontype": {
"type": "string",
"enum": [
"opening",
"closing"
]
},
"category": {
"type": "string",
"maxLength": 200
},
"description": {
"type": "string",
"maxLength": 100000,
"description": "HTML-formatted content, for example <p>Hello</p>."
}
},
"required": [
"name",
"sectiontype"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π΄bidsketch_update_section(section_id, name, sectiontype, category, description)
WRITE: change a saved section; only the fields you pass are sent. Proposals that already use it keep their own copy. PUT /sections/{id}.json.
Input Schema
{
"type": "object",
"properties": {
"section_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "The saved section id (a positive integer)."
},
"name": {
"type": "string",
"maxLength": 300
},
"sectiontype": {
"description": "Where the section appears: opening (first) or closing (last).",
"type": "string",
"enum": [
"opening",
"closing"
]
},
"category": {
"type": "string",
"maxLength": 200
},
"description": {
"type": "string",
"maxLength": 100000,
"description": "HTML-formatted content, for example <p>Hello</p>."
}
},
"required": [
"section_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π’bidsketch_list_templates(page, per_page)
List the proposal templates saved on the account. Use a template id with bidsketch_create_proposal. GET /templates.json.
Input Schema
{
"type": "object",
"properties": {
"page": {
"description": "Page number (default 1).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"per_page": {
"description": "Results per page (default and maximum 100).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π’bidsketch_get_template(template_id)
Get one template with the saved sections and fees it is made of. GET /templates/{id}.json.
Input Schema
{
"type": "object",
"properties": {
"template_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "The template id from bidsketch_list_templates (a positive integer)."
}
},
"required": [
"template_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Community
Evidence