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

A
Qualität der Beschreibung
93%
Vollständigkeit des Schemas
93%
Qualität der Benennung
78%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Befunde (3)

  • LOWTool 'bidsketch_list_client_proposals' name length outside 3-30 rangein bidsketch_list_client_proposals
  • LOWTool 'bidsketch_list_proposal_sections' name length outside 3-30 rangein bidsketch_list_proposal_sections
  • LOWTool 'bidsketch_update_proposal_section' name length outside 3-30 rangein bidsketch_update_proposal_section

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~6,128Tokens (Tool-Definitionen)
~1.7 KBTypische Antwortgröße
Erhebliche Auswirkung auf die Aufmerksamkeit (4.79% von 128k Kontext)

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-http

Was es kann

Tool-Inventar

Tools (29)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢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

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet29 Tools