Bidsketch MCP by usefulapi
Read Bidsketch clients, proposals, fees and templates; create and update clients, proposals, fees.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (3)
- LOWin bidsketch_list_client_proposals
- LOWin bidsketch_list_proposal_sections
- LOWin bidsketch_update_proposal_section
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"bidsketch": {
"url": "https://bidsketch.usefulapi.io/mcp"
}
}
}Remote-Endpunkte
https://bidsketch.usefulapi.io/mcpstreamable-httpWas es kann
Tool-Inventar
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.
Eingabe-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.
Eingabe-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.
Eingabe-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.
Eingabe-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.
Eingabe-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.
Eingabe-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.
Eingabe-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.
Eingabe-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.
Eingabe-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.
Eingabe-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.
Eingabe-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.
Eingabe-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.
Eingabe-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.
Eingabe-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.
Eingabe-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.
Eingabe-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.
Eingabe-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.
Eingabe-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.
Eingabe-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.
Eingabe-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.
Eingabe-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.
Eingabe-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.
Eingabe-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.
Eingabe-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.
Eingabe-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.
Eingabe-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.
Eingabe-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.
Eingabe-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.
Eingabe-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
Nachweis