Booqable MCP by usefulapi

Browse rental orders, customers, products and availability, and create bookings in Booqable.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
93%
Naming quality
77%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (3)

  • LOWTool 'booqable_check_inventory_availability' name length outside 3-30 rangein booqable_check_inventory_availability
  • LOWTool 'booqable_get_availability_calendar' name length outside 3-30 rangein booqable_get_availability_calendar
  • LOWTool 'booqable_transition_order_status' name length outside 3-30 rangein booqable_transition_order_status

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~5,526Tokens (tool definitions)
~2.3 KBTypical response size
Significant attention impact (4.32% of 128k context)

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": {
    "booqable": {
      "url": "https://booqable.usefulapi.io/mcp"
    }
  }
}

Remote endpoints

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

What it can do

Tool inventory

Tools (21)

🟒 Read-only🟑 WriteπŸ”΄ Deleteβšͺ Unknown
🟒booqable_get_company

Fetch the Booqable account this token belongs to β€” name, currency, default timezone, address. A cheap way to confirm the slug and token work. Booqable: GET /api/4/companies/current.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟒booqable_list_orders(q, status, payment_status, customer_id, starts_at_gte, ...)

List rental orders. Filter by free-text search (order number, customer name/email/address, tags, custom fields), status, payment status, customer, or rental-period range. Booqable: GET /api/4/orders.

Input Schema

{
  "type": "object",
  "properties": {
    "q": {
      "description": "Search: order number (exact), customer name, e-mail, address, tags, custom field values.",
      "type": "string"
    },
    "status": {
      "description": "Only orders with this simplified status.",
      "type": "string",
      "enum": [
        "new",
        "draft",
        "reserved",
        "started",
        "stopped",
        "archived",
        "canceled"
      ]
    },
    "payment_status": {
      "description": "Only orders with this payment status.",
      "type": "string",
      "enum": [
        "paid",
        "partially_paid",
        "overpaid",
        "payment_due",
        "process_deposit"
      ]
    },
    "customer_id": {
      "description": "Only orders for this customer id.",
      "type": "string"
    },
    "starts_at_gte": {
      "description": "Rental starts at or after this datetime (ISO 8601).",
      "type": "string"
    },
    "starts_at_lte": {
      "description": "Rental starts at or before this datetime (ISO 8601).",
      "type": "string"
    },
    "stops_at_gte": {
      "description": "Rental ends at or after this datetime (ISO 8601).",
      "type": "string"
    },
    "stops_at_lte": {
      "description": "Rental ends at or before this datetime (ISO 8601).",
      "type": "string"
    },
    "tag": {
      "description": "Only orders carrying this tag.",
      "type": "string"
    },
    "include": {
      "description": "Comma-separated relationships to sideload, e.g. customer,start_location,stop_location.",
      "type": "string"
    },
    "sort": {
      "description": "Sort, comma-separated attributes; prefix with - for descending, e.g. -created_at.",
      "type": "string"
    },
    "page": {
      "description": "Page number (1-based). Default 1.",
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    },
    "page_size": {
      "description": "Results per page, 1-100 (Booqable default 25).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟒booqable_get_order(order_id, include)

Fetch one order with its totals, deposit and payment state, sideloading the customer and order lines by default (override with include, e.g. customer,lines,payments,documents,notes). Booqable: GET /api/4/orders/{id}.

Input Schema

{
  "type": "object",
  "properties": {
    "order_id": {
      "type": "string",
      "minLength": 1,
      "description": "The order id (UUID)."
    },
    "include": {
      "description": "Comma-separated relationships to sideload, e.g. customer,lines,payments,documents,notes,start_location.",
      "type": "string"
    }
  },
  "required": [
    "order_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟒booqable_list_customers(q, email, tag, archived, include, ...)

List customers, optionally searched by name/email or filtered by email, tag or archived state. Booqable: GET /api/4/customers.

Input Schema

{
  "type": "object",
  "properties": {
    "q": {
      "description": "Free-text search over customers.",
      "type": "string"
    },
    "email": {
      "description": "Only the customer with exactly this email.",
      "type": "string"
    },
    "tag": {
      "description": "Only customers carrying this tag.",
      "type": "string"
    },
    "archived": {
      "description": "true = only archived, false = only active.",
      "type": "boolean"
    },
    "include": {
      "description": "Comma-separated relationships to sideload, e.g. properties.",
      "type": "string"
    },
    "sort": {
      "description": "Sort, comma-separated attributes; prefix with - for descending, e.g. -created_at.",
      "type": "string"
    },
    "page": {
      "description": "Page number (1-based). Default 1.",
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    },
    "page_size": {
      "description": "Results per page, 1-100 (Booqable default 25).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟒booqable_get_customer(customer_id, include)

Fetch one customer with order count, revenue and balance due, sideloading their properties (addresses, phone, custom fields) by default. Booqable: GET /api/4/customers/{id}.

Input Schema

{
  "type": "object",
  "properties": {
    "customer_id": {
      "type": "string",
      "minLength": 1,
      "description": "The customer id (UUID)."
    },
    "include": {
      "description": "Comma-separated relationships to sideload, e.g. properties,tax_region.",
      "type": "string"
    }
  },
  "required": [
    "customer_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟒booqable_list_product_groups(q, product_type, archived, tag, include, ...)

List product groups β€” the catalogue entries (name, SKU, product type, tracking type, pricing). A group holds one or more bookable products (variations). Booqable: GET /api/4/product_groups.

Input Schema

{
  "type": "object",
  "properties": {
    "q": {
      "description": "Free-text search over name/SKU.",
      "type": "string"
    },
    "product_type": {
      "description": "Only this product type.",
      "type": "string",
      "enum": [
        "rental",
        "sales_item",
        "service"
      ]
    },
    "archived": {
      "description": "true = only archived, false = only active.",
      "type": "boolean"
    },
    "tag": {
      "description": "Only groups carrying this tag.",
      "type": "string"
    },
    "include": {
      "description": "Comma-separated relationships to sideload, e.g. products,photo.",
      "type": "string"
    },
    "sort": {
      "description": "Sort, comma-separated attributes; prefix with - for descending, e.g. -created_at.",
      "type": "string"
    },
    "page": {
      "description": "Page number (1-based). Default 1.",
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    },
    "page_size": {
      "description": "Results per page, 1-100 (Booqable default 25).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟒booqable_list_products(q, product_group_id, product_type, archived, include, ...)

List bookable products (the variations inside product groups). Use a product id for availability checks and booking. Booqable: GET /api/4/products.

Input Schema

{
  "type": "object",
  "properties": {
    "q": {
      "description": "Free-text search over name/SKU.",
      "type": "string"
    },
    "product_group_id": {
      "description": "Only products in this product group.",
      "type": "string"
    },
    "product_type": {
      "description": "Only this product type.",
      "type": "string",
      "enum": [
        "rental",
        "sales_item",
        "service"
      ]
    },
    "archived": {
      "description": "true = only archived, false = only active.",
      "type": "boolean"
    },
    "include": {
      "description": "Comma-separated relationships to sideload, e.g. product_group,photo.",
      "type": "string"
    },
    "sort": {
      "description": "Sort, comma-separated attributes; prefix with - for descending, e.g. -created_at.",
      "type": "string"
    },
    "page": {
      "description": "Page number (1-based). Default 1.",
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    },
    "page_size": {
      "description": "Results per page, 1-100 (Booqable default 25).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟒booqable_check_inventory_availability(product_ids, from, till, location_id)

How many units of one or more products can be booked for an exact period at a location. Returns `available` and `plannable` (plannable can exceed available when shortage is allowed). Get location ids from booqable_list_locations. Booqable: GET /api/4/inventory_availabilities.

Input Schema

{
  "type": "object",
  "properties": {
    "product_ids": {
      "minItems": 1,
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1
      },
      "description": "Product ids to check."
    },
    "from": {
      "type": "string",
      "description": "Period start, ISO 8601 at the company's local time written as UTC, e.g. 2026-07-01T10:00:00Z means 10:00 at the shop. Do not convert to real UTC."
    },
    "till": {
      "type": "string",
      "description": "Period end, ISO 8601 at the company's local time written as UTC, e.g. 2026-07-01T10:00:00Z means 10:00 at the shop. Do not convert to real UTC."
    },
    "location_id": {
      "type": "string",
      "minLength": 1,
      "description": "The pickup location id."
    }
  },
  "required": [
    "product_ids",
    "from",
    "till",
    "location_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟒booqable_get_availability_calendar(product_id, year, month, location_id, quantity)

Day-by-day availability for one product over a month: status (available/partial/unavailable) and bookable quantity per day. Booqable: GET /api/4/availabilities with subject_type=item.

Input Schema

{
  "type": "object",
  "properties": {
    "product_id": {
      "type": "string",
      "minLength": 1,
      "description": "The product id (UUID)."
    },
    "year": {
      "type": "integer",
      "minimum": 2000,
      "maximum": 2100,
      "description": "Calendar year, e.g. 2026."
    },
    "month": {
      "type": "integer",
      "minimum": 1,
      "maximum": 12,
      "description": "Calendar month, 1-12."
    },
    "location_id": {
      "description": "Location id to check at.",
      "type": "string"
    },
    "quantity": {
      "description": "Units needed; sets the threshold for available vs partial.",
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "product_id",
    "year",
    "month"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟒booqable_list_plannings(order_id, product_id, starts_at_gte, starts_at_lte, stops_at_gte, ...)

List plannings β€” which product is booked on which order, how many, when, and how many are started (out) or stopped (returned). Filter by order, product, or reservation window. Booqable: GET /api/4/plannings.

Input Schema

{
  "type": "object",
  "properties": {
    "order_id": {
      "description": "Only plannings on this order.",
      "type": "string"
    },
    "product_id": {
      "description": "Only plannings for this product or bundle (item_id).",
      "type": "string"
    },
    "starts_at_gte": {
      "description": "Planned start at or after this datetime (ISO 8601).",
      "type": "string"
    },
    "starts_at_lte": {
      "description": "Planned start at or before this datetime (ISO 8601).",
      "type": "string"
    },
    "stops_at_gte": {
      "description": "Planned end at or after this datetime (ISO 8601).",
      "type": "string"
    },
    "stops_at_lte": {
      "description": "Planned end at or before this datetime (ISO 8601).",
      "type": "string"
    },
    "include": {
      "description": "Comma-separated relationships to sideload, e.g. item,order,order.customer.",
      "type": "string"
    },
    "sort": {
      "description": "Sort, comma-separated attributes; prefix with - for descending, e.g. -created_at.",
      "type": "string"
    },
    "page": {
      "description": "Page number (1-based). Default 1.",
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    },
    "page_size": {
      "description": "Results per page, 1-100 (Booqable default 25).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟒booqable_list_documents(document_type, order_id, customer_id, status, q, ...)

List invoices, quotes and contracts, with totals and payment status. Filter by type, order, customer or status. Booqable: GET /api/4/documents.

Input Schema

{
  "type": "object",
  "properties": {
    "document_type": {
      "description": "Only this document type.",
      "type": "string",
      "enum": [
        "invoice",
        "quote",
        "contract"
      ]
    },
    "order_id": {
      "description": "Only documents for this order.",
      "type": "string"
    },
    "customer_id": {
      "description": "Only documents for this customer.",
      "type": "string"
    },
    "status": {
      "description": "Only documents in this status (values depend on document type).",
      "type": "string",
      "enum": [
        "confirmed",
        "unconfirmed",
        "revised",
        "partially_paid",
        "payment_due",
        "paid",
        "process_deposit",
        "overpaid"
      ]
    },
    "q": {
      "description": "Free-text search.",
      "type": "string"
    },
    "include": {
      "description": "Comma-separated relationships to sideload, e.g. customer,order.",
      "type": "string"
    },
    "sort": {
      "description": "Sort, comma-separated attributes; prefix with - for descending, e.g. -created_at.",
      "type": "string"
    },
    "page": {
      "description": "Page number (1-based). Default 1.",
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    },
    "page_size": {
      "description": "Results per page, 1-100 (Booqable default 25).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟒booqable_list_payments(order_id, customer_id, type, include, sort, ...)

List payments (charges, authorizations and refunds) with amount, deposit, currency, provider and status. Filter by order, customer or payment type. Read only β€” this server never moves money. Booqable: GET /api/4/payments.

Input Schema

{
  "type": "object",
  "properties": {
    "order_id": {
      "description": "Only payments for this order.",
      "type": "string"
    },
    "customer_id": {
      "description": "Only payments for this customer.",
      "type": "string"
    },
    "type": {
      "description": "Only this payment type.",
      "type": "string",
      "enum": [
        "payment_charges",
        "payment_authorizations",
        "payment_refunds"
      ]
    },
    "include": {
      "description": "Comma-separated relationships to sideload, e.g. order,payment_method.",
      "type": "string"
    },
    "sort": {
      "description": "Sort, comma-separated attributes; prefix with - for descending, e.g. -created_at.",
      "type": "string"
    },
    "page": {
      "description": "Page number (1-based). Default 1.",
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    },
    "page_size": {
      "description": "Results per page, 1-100 (Booqable default 25).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟒booqable_list_locations(archived, page, page_size)

List pickup/return locations (warehouses, stores) with address and pickup/delivery capability. Location ids are needed for availability checks and orders. Booqable: GET /api/4/locations.

Input Schema

{
  "type": "object",
  "properties": {
    "archived": {
      "description": "true = only archived, false = only active.",
      "type": "boolean"
    },
    "page": {
      "description": "Page number (1-based). Default 1.",
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    },
    "page_size": {
      "description": "Results per page, 1-100 (Booqable default 25).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟒booqable_list_notes(owner_id, owner_type, page, page_size)

List internal notes attached to a customer, order, product or other record. Booqable: GET /api/4/notes.

Input Schema

{
  "type": "object",
  "properties": {
    "owner_id": {
      "type": "string",
      "minLength": 1,
      "description": "The id of the record the notes are about."
    },
    "owner_type": {
      "description": "The owner's resource type.",
      "type": "string",
      "enum": [
        "customers",
        "orders",
        "products",
        "product_groups",
        "stock_items",
        "bundles",
        "documents",
        "users"
      ]
    },
    "page": {
      "description": "Page number (1-based). Default 1.",
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    },
    "page_size": {
      "description": "Results per page, 1-100 (Booqable default 25).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "required": [
    "owner_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
πŸ”΄booqable_create_customer(name, email, legal_type, tag_list, discount_percentage, ...)

Create a new customer. Booqable: POST /api/4/customers.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "description": "Person or company name."
    },
    "email": {
      "description": "Email address used for communication.",
      "type": "string"
    },
    "legal_type": {
      "description": "person or commercial.",
      "type": "string",
      "enum": [
        "person",
        "commercial"
      ]
    },
    "tag_list": {
      "description": "Tags (case-insensitive).",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "discount_percentage": {
      "description": "Default discount % applied to this customer's new orders.",
      "type": "number",
      "minimum": 0,
      "maximum": 100
    },
    "email_marketing_consented": {
      "description": "Whether the customer consented to email marketing.",
      "type": "boolean"
    }
  },
  "required": [
    "name"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
πŸ”΄booqable_update_customer(customer_id, name, email, legal_type, tag_list, ...)

Update a customer's name, email, legal type, tags, default discount or marketing consent. Only the fields you pass change. Booqable: PUT /api/4/customers/{id}.

Input Schema

{
  "type": "object",
  "properties": {
    "customer_id": {
      "type": "string",
      "minLength": 1,
      "description": "The customer id (UUID)."
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "description": "Person or company name."
    },
    "email": {
      "description": "Email address used for communication.",
      "type": "string"
    },
    "legal_type": {
      "description": "person or commercial.",
      "type": "string",
      "enum": [
        "person",
        "commercial"
      ]
    },
    "tag_list": {
      "description": "Tags (case-insensitive).",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "discount_percentage": {
      "description": "Default discount % applied to this customer's new orders.",
      "type": "number",
      "minimum": 0,
      "maximum": 100
    },
    "email_marketing_consented": {
      "description": "Whether the customer consented to email marketing.",
      "type": "boolean"
    }
  },
  "required": [
    "customer_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
πŸ”΄booqable_create_order(starts_at, stops_at, customer_id, status, start_location_id, ...)

Create an EMPTY order for a rental period (status new or draft). Then add products with booqable_book_product and reserve it with booqable_transition_order_status. Locations default to the first active location. Booqable: POST /api/4/orders.

Input Schema

{
  "type": "object",
  "properties": {
    "starts_at": {
      "type": "string",
      "description": "Rental start, ISO 8601 at the company's local time written as UTC, e.g. 2026-07-01T10:00:00Z means 10:00 at the shop. Do not convert to real UTC."
    },
    "stops_at": {
      "type": "string",
      "description": "Rental end, ISO 8601 at the company's local time written as UTC, e.g. 2026-07-01T10:00:00Z means 10:00 at the shop. Do not convert to real UTC."
    },
    "customer_id": {
      "description": "The customer this order is for.",
      "type": "string"
    },
    "status": {
      "description": "Initial status. Default new (visible only to its creator); draft is visible but reserves nothing.",
      "type": "string",
      "enum": [
        "new",
        "draft"
      ]
    },
    "start_location_id": {
      "description": "Pickup location id.",
      "type": "string"
    },
    "stop_location_id": {
      "description": "Return location id.",
      "type": "string"
    },
    "tag_list": {
      "description": "Tags (case-insensitive).",
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "starts_at",
    "stops_at"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
πŸ”΄booqable_update_order(order_id, starts_at, stops_at, customer_id, start_location_id, ...)

Change an order's rental period, customer, locations or tags. Moving dates can cause a shortage: the call then fails with the shortage details, and a shortage *warning* can be accepted by retrying with confirm_shortage: true. Booqable: PUT /api/4/orders/{id}.

Input Schema

{
  "type": "object",
  "properties": {
    "order_id": {
      "type": "string",
      "minLength": 1,
      "description": "The order id (UUID)."
    },
    "starts_at": {
      "type": "string",
      "description": "New rental start, ISO 8601 at the company's local time written as UTC, e.g. 2026-07-01T10:00:00Z means 10:00 at the shop. Do not convert to real UTC."
    },
    "stops_at": {
      "type": "string",
      "description": "New rental end, ISO 8601 at the company's local time written as UTC, e.g. 2026-07-01T10:00:00Z means 10:00 at the shop. Do not convert to real UTC."
    },
    "customer_id": {
      "description": "Assign this customer (re-applies their discount, deposit and tax region).",
      "type": "string"
    },
    "start_location_id": {
      "description": "Pickup location id.",
      "type": "string"
    },
    "stop_location_id": {
      "description": "Return location id.",
      "type": "string"
    },
    "tag_list": {
      "description": "Replace the tag list.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "confirm_shortage": {
      "description": "true to proceed despite a shortage warning.",
      "type": "boolean"
    }
  },
  "required": [
    "order_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
πŸ”΄booqable_book_product(order_id, product_id, quantity, mode, planning_id, ...)

Add a quantity of a product to an order, allocating inventory (creates a planning and a line). By default adds to an existing planning for the same product if there is one. Booqable: POST /api/4/order_fulfillments with a book_product action.

Input Schema

{
  "type": "object",
  "properties": {
    "order_id": {
      "type": "string",
      "minLength": 1,
      "description": "The order id (UUID)."
    },
    "product_id": {
      "type": "string",
      "minLength": 1,
      "description": "The product id (UUID)."
    },
    "quantity": {
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991,
      "description": "Units to book."
    },
    "mode": {
      "description": "infer_planning (default): reuse the product's planning if any; create_new: always a new line; update_existing: add to planning_id.",
      "type": "string",
      "enum": [
        "infer_planning",
        "create_new",
        "update_existing"
      ]
    },
    "planning_id": {
      "description": "Required when mode is update_existing.",
      "type": "string"
    },
    "confirm_shortage": {
      "description": "true to accept a shortage warning when booking on a reserved or started order.",
      "type": "boolean"
    }
  },
  "required": [
    "order_id",
    "product_id",
    "quantity"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
πŸ”΄booqable_transition_order_status(order_id, transition_from, transition_to, revert, confirm_shortage)

Move an order between statuses: new→draft, draft→reserved (reserves the items and assigns an order number), stopped→archived, or back to an earlier status with revert: true. Canceling is deliberately NOT offered (Booqable cannot un-cancel). started/stopped are reached by picking up/returning items, so they are only valid here with revert: true. Booqable: POST /api/4/order_status_transitions.

Input Schema

{
  "type": "object",
  "properties": {
    "order_id": {
      "type": "string",
      "minLength": 1,
      "description": "The order id (UUID)."
    },
    "transition_from": {
      "type": "string",
      "enum": [
        "new",
        "draft",
        "reserved",
        "started",
        "stopped",
        "archived"
      ],
      "description": "The order's CURRENT status (Booqable checks it)."
    },
    "transition_to": {
      "type": "string",
      "enum": [
        "draft",
        "reserved",
        "started",
        "stopped",
        "archived"
      ],
      "description": "The new status."
    },
    "revert": {
      "description": "true when going back to an earlier status (required for started/stopped).",
      "type": "boolean"
    },
    "confirm_shortage": {
      "description": "true to accept a shortage warning when reserving.",
      "type": "boolean"
    }
  },
  "required": [
    "order_id",
    "transition_from",
    "transition_to"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
πŸ”΄booqable_create_note(owner_id, owner_type, body)

Attach an internal note to a customer, order, product or other record. Booqable: POST /api/4/notes.

Input Schema

{
  "type": "object",
  "properties": {
    "owner_id": {
      "type": "string",
      "minLength": 1,
      "description": "The id of the record the note is about."
    },
    "owner_type": {
      "type": "string",
      "enum": [
        "customers",
        "orders",
        "products",
        "product_groups",
        "stock_items",
        "bundles",
        "documents",
        "users"
      ],
      "description": "The owner's resource type."
    },
    "body": {
      "type": "string",
      "minLength": 1,
      "description": "The note text."
    }
  },
  "required": [
    "owner_id",
    "owner_type",
    "body"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded21 tools
verifiedversion not recorded21 tools