Bidsketch MCP by usefulapi

Read Bidsketch clients, proposals, fees and templates; create and update clients, proposals, fees.

사용해야 할까요

품질 및 안전성

A
설명 품질
93%
스키마 완전성
93%
이름 품질
78%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

발견 사항 (3)

  • LOWTool 'bidsketch_list_client_proposals' name length outside 3-30 rangebidsketch_list_client_proposals에서
  • LOWTool 'bidsketch_list_proposal_sections' name length outside 3-30 rangebidsketch_list_proposal_sections에서
  • LOWTool 'bidsketch_update_proposal_section' name length outside 3-30 rangebidsketch_update_proposal_section에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~6,128토큰 (도구 정의)
~1.7 KB일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 4.79%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "bidsketch": {
      "url": "https://bidsketch.usefulapi.io/mcp"
    }
  }
}

원격 엔드포인트

https://bidsketch.usefulapi.io/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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"
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 29개