Read Bind ERP clients, products, inventory, invoices, orders; create prospects, clients, orders.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Add a comment to a Bind ERP record (client, prospect, order, ...) identified by its GUID. The comment becomes part of that record's history and cannot be removed through this API. POST /api/Comments.
The comment text.
Id of the record to comment on (client, prospect, order...) (a GUID, as returned by the list tools).
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Add a comment to a Bind ERP record (client, prospect, order, ...) identified by its GUID. The comment becomes part of that record's history and cannot be removed through this API. POST /api/Comments.
| Argument | Type | Description |
|---|---|---|
| comment* | string | The comment text. |
| external_id* | string | Id of the record to comment on (client, prospect, order...) (a GUID, as returned by the list tools). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"external_id",
"comment"
],
"properties": {
"comment": {
"type": "string",
"maxLength": 4000,
"minLength": 1,
"description": "The comment text."
},
"external_id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Id of the record to comment on (client, prospect, order...) (a GUID, as returned by the list tools)."
}
}
}Create a customer in Bind ERP. Writes a new customer record (with credit terms) and is not deduplicated: check binderp_list_clients for the RFC first. The RFC must be valid for the tax authority (use XAXX010101000 for a generic public customer). No message is sent. Get price_list_id and location_id from binderp_list_catalog. POST /api/Clients.
| Argument | Type | Description |
|---|---|---|
| rfc* | string | RFC (Mexican tax id). |
| string | Email address. | |
| address | object | Fiscal address. |
| comment | string | Notes. |
| telephone | string | Phone number. |
| legal_name* | string | Legal name (razon social). |
| credit_days | integer | Days of credit (0 = cash). |
| location_id | string | Branch id (catalog locations). |
| credit_amount | number | Credit limit. |
| price_list_id* | string | Price list id (catalog price_lists) (a GUID, as returned by the list tools). |
| commercial_name* | string | Commercial name. |
| default_discount | number | Default discount percent. |
| accounting_number |
Create a customer order (pedido, not an invoice: nothing is stamped or invoiced and no email is sent) with product and/or service lines. It reserves stock and shows up in the sales pipeline, so confirm client, prices and quantities first. Get ids from binderp_list_clients, binderp_get_client_addresses, binderp_list_catalog and binderp_list_products. POST /api/Orders.
| Argument | Type | Description |
|---|---|---|
| comments | string | Order comments. |
| products | array | Product lines. |
| services | array | Service lines. |
| client_id* | string | Client id (a GUID, as returned by the list tools). |
| address_id* | string | Delivery address id (binderp_get_client_addresses) (a GUID, as returned by the list tools). |
| order_date* | string | Order date, ISO 8601, e.g. 2026-10-24 or 2026-10-24T10:00:00Z. |
| currency_id* | string | Currency id (catalog currencies) (a GUID, as returned by the list tools). |
| location_id* | string |
Create a sales prospect (lead) in Bind ERP. Writes a new record visible to the whole team; it is not deduplicated, so check binderp_list_prospects first. No message is sent to the prospect. POST /api/Prospects.
| Argument | Type | Description |
|---|---|---|
| name* | string | Contact name. |
| string | Email address. | |
| phone | string | Phone number. |
| company | string | Company name. |
| comments | string | Notes. |
| is_public | boolean | Visible to all users (true) or only to the key's user (false). |
| phone_ext | string | Phone extension. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Contact name."
},
"email": {
"type": "string",
"format": "email",
"pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
"maxLength": 200,
"description": "Email address."
},
"phone": {
"type": "string",
"maxLength": 40,
"minLength": 1,
"description": "Phone number."
},
"company": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Company name."
},
"comments": {
"type": "string",
"maxLength": 2000,
"minLength": 1,
"description": "Notes."
},
"is_public": {
"type": "boolean",
"description": "Visible to all users (true) or only to the key's user (false)."
},
"phone_ext": {
"type": "string",
"maxLength": 20,
"minLength": 1,
"description": "Phone extension."
}
}
}The Bind ERP user and company this API key belongs to: user name, email, roles, branches (locations), company name, RFC (tax id), legal/commercial name, fiscal type and address. GET /api/UserProfile and /api/CompanyProfile.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}One customer with credit terms (days and limit), payment method, price list, branch, sales and credit contacts, discount, account number and addresses. GET /api/Clients/{id}.
| Argument | Type | Description |
|---|---|---|
| client_id* | string | Client id (a GUID, as returned by the list tools). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"client_id"
],
"properties": {
"client_id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Client id (a GUID, as returned by the list tools)."
}
}
}The addresses of a customer, with the ids that an order needs as address_id. GET /api/Clients/{id}/Addresses.
| Argument | Type | Description |
|---|---|---|
| client_id* | string | Client id (a GUID, as returned by the list tools). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"client_id"
],
"properties": {
"client_id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Client id (a GUID, as returned by the list tools)."
}
}
}Stock of every product in one warehouse: current inventory, balance, quantity on client orders and on purchase orders, value and SKU. Filter with OData, e.g. CurrentInventory lt 5 for low stock. GET /api/Inventory?warehouseID=.
| Argument | Type | Description |
|---|---|---|
| top | integer | Rows per page, 1-100 (default 25). |
| skip | integer | Rows to skip (default 0). Pass the previous reply's next_skip to get the next page. |
| filter | string | OData $filter, e.g. CurrentInventory lt 5. Text uses single quotes, functions such as substringof('abc', Field) and operators eq ne gt ge lt le and or are supported; a GUID is written guid'3f2504e0-4f89-11d3-9a0c-0305e82c3301'. Dates: datetime'2026-10-01T00:00:00'. |
| orderby | string | OData $orderby, e.g. 'Date desc' or 'Title'. |
| warehouse_id* | string | Warehouse id (catalog warehouses) (a GUID, as returned by the list tools). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"warehouse_id"
],
"properties": {
"top": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Rows per page, 1-100 (default 25)."
},
"skip": {
"type": "integer",
"maximum": 10000000,
"minimum": 0,
"description": "Rows to skip (default 0). Pass the previous reply's next_skip to get the next page."
},
"filter": {
"type": "string",
"maxLength": 1000,
"minLength": 1,
"description": "OData $filter, e.g. CurrentInventory lt 5. Text uses single quotes, functions such as substringof('abc', Field) and operators eq ne gt ge lt le and or are supported; a GUID is written guid'3f2504e0-4f89-11d3-9a0c-0305e82c3301'. Dates: datetime'2026-10-01T00:00:00'."
},
"orderby": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "OData $orderby, e.g. 'Date desc' or 'Title'."
},
"warehouse_id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Warehouse id (catalog warehouses) (a GUID, as returned by the list tools)."
}
}
}One sale with client, status, payment terms, branch, warehouse, currency, totals, payments, credit notes and its product and service lines. Takes the invoice GUID or its number. GET /api/Invoices/{idOrNumber}.
| Argument | Type | Description |
|---|---|---|
| invoice_id_or_number* | string | The invoice GUID or its number. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"invoice_id_or_number"
],
"properties": {
"invoice_id_or_number": {
"type": "string",
"maxLength": 64,
"minLength": 1,
"description": "The invoice GUID or its number."
}
}
}One customer order with address, status, totals and its product and service lines. GET /api/Orders/{id}.
| Argument | Type | Description |
|---|---|---|
| order_id* | string | Order id (a GUID, as returned by the list tools). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"order_id"
],
"properties": {
"order_id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Order id (a GUID, as returned by the list tools)."
}
}
}One product with prices per price list, inventory per warehouse, categories and alternative units. GET /api/Products/{id}.
| Argument | Type | Description |
|---|---|---|
| product_id* | string | Product id (a GUID, as returned by the list tools). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"product_id"
],
"properties": {
"product_id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Product id (a GUID, as returned by the list tools)."
}
}
}One prospect: name, company, email, phone, comments, creation date and owner. GET /api/Prospects/{id}.
| Argument | Type | Description |
|---|---|---|
| prospect_id* | string | Prospect id (a GUID, as returned by the list tools). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"prospect_id"
],
"properties": {
"prospect_id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Prospect id (a GUID, as returned by the list tools)."
}
}
}One purchase order with its product lines, quantities received and totals. GET /api/Purchases/{id}.
| Argument | Type | Description |
|---|---|---|
| purchase_order_id* | string | Purchase order id (a GUID, as returned by the list tools). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"purchase_order_id"
],
"properties": {
"purchase_order_id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Purchase order id (a GUID, as returned by the list tools)."
}
}
}One quote with client or prospect, totals and its line items. GET /api/Quotes/{id}.
| Argument | Type | Description |
|---|---|---|
| quote_id* | string | Quote id (a GUID, as returned by the list tools). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"quote_id"
],
"properties": {
"quote_id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Quote id (a GUID, as returned by the list tools)."
}
}
}List CRM activities (calls, meetings, tasks): title, start and end, owner, done flag, type and the client or prospect they belong to. GET /api/Activities.
| Argument | Type | Description |
|---|---|---|
| top | integer | Rows per page, 1-100 (default 25). |
| skip | integer | Rows to skip (default 0). Pass the previous reply's next_skip to get the next page. |
| filter | string | OData $filter, e.g. Done eq false. Text uses single quotes, functions such as substringof('abc', Field) and operators eq ne gt ge lt le and or are supported; a GUID is written guid'3f2504e0-4f89-11d3-9a0c-0305e82c3301'. Dates: datetime'2026-10-01T00:00:00'. |
| orderby | string | OData $orderby, e.g. 'Date desc' or 'Title'. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"top": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Rows per page, 1-100 (default 25)."
},
"skip": {
"type": "integer",
"maximum": 10000000,
"minimum": 0,
"description": "Rows to skip (default 0). Pass the previous reply's next_skip to get the next page."
},
"filter": {
"type": "string",
"maxLength": 1000,
"minLength": 1,
"description": "OData $filter, e.g. Done eq false. Text uses single quotes, functions such as substringof('abc', Field) and operators eq ne gt ge lt le and or are supported; a GUID is written guid'3f2504e0-4f89-11d3-9a0c-0305e82c3301'. Dates: datetime'2026-10-01T00:00:00'."
},
"orderby": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "OData $orderby, e.g. 'Date desc' or 'Title'."
}
}
}List one of the reference catalogs whose ids other tools need: locations (branches), warehouses, price_lists, currencies, bank_accounts (with balances), users (employees) or categories. GET /api/Locations, /api/Warehouses, /api/PriceLists, /api/Currencies, /api/BankAccounts, /api/Users, /api/Categories.
| Argument | Type | Description |
|---|---|---|
| top | integer | Rows per page, 1-100 (default 25). |
| skip | integer | Rows to skip (default 0). Pass the previous reply's next_skip to get the next page. |
| filter | string | OData $filter, e.g. Name eq 'Main'. Text uses single quotes, functions such as substringof('abc', Field) and operators eq ne gt ge lt le and or are supported; a GUID is written guid'3f2504e0-4f89-11d3-9a0c-0305e82c3301'. Dates: datetime'2026-10-01T00:00:00'. |
| catalog* | string | Which catalog. |
| orderby | string | OData $orderby, e.g. 'Date desc' or 'Title'. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"catalog"
],
"properties": {
"top": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Rows per page, 1-100 (default 25)."
},
"skip": {
"type": "integer",
"maximum": 10000000,
"minimum": 0,
"description": "Rows to skip (default 0). Pass the previous reply's next_skip to get the next page."
},
"filter": {
"type": "string",
"maxLength": 1000,
"minLength": 1,
"description": "OData $filter, e.g. Name eq 'Main'. Text uses single quotes, functions such as substringof('abc', Field) and operators eq ne gt ge lt le and or are supported; a GUID is written guid'3f2504e0-4f89-11d3-9a0c-0305e82c3301'. Dates: datetime'2026-10-01T00:00:00'."
},
"catalog": {
"enum": [
"locations",
"warehouses",
"price_lists",
"currencies",
"bank_accounts",
"users",
"categories"
],
"type": "string",
"description": "Which catalog."
},
"orderby": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "OData $orderby, e.g. 'Date desc' or 'Title'."
}
}
}List customers: id, number, name, legal name, RFC, email, phone, next contact date and branch. Filter with OData, e.g. substringof('acme', ClientName). GET /api/Clients.
| Argument | Type | Description |
|---|---|---|
| top | integer | Rows per page, 1-100 (default 25). |
| skip | integer | Rows to skip (default 0). Pass the previous reply's next_skip to get the next page. |
| filter | string | OData $filter, e.g. substringof('acme', ClientName). Text uses single quotes, functions such as substringof('abc', Field) and operators eq ne gt ge lt le and or are supported; a GUID is written guid'3f2504e0-4f89-11d3-9a0c-0305e82c3301'. Dates: datetime'2026-10-01T00:00:00'. |
| orderby | string | OData $orderby, e.g. 'Date desc' or 'Title'. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"top": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Rows per page, 1-100 (default 25)."
},
"skip": {
"type": "integer",
"maximum": 10000000,
"minimum": 0,
"description": "Rows to skip (default 0). Pass the previous reply's next_skip to get the next page."
},
"filter": {
"type": "string",
"maxLength": 1000,
"minLength": 1,
"description": "OData $filter, e.g. substringof('acme', ClientName). Text uses single quotes, functions such as substringof('abc', Field) and operators eq ne gt ge lt le and or are supported; a GUID is written guid'3f2504e0-4f89-11d3-9a0c-0305e82c3301'. Dates: datetime'2026-10-01T00:00:00'."
},
"orderby": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "OData $orderby, e.g. 'Date desc' or 'Title'."
}
}
}The payments registered against one invoice: date, account, amount, status and who registered them. GET /api/Invoices/Payment/{invoiceID}.
| Argument | Type | Description |
|---|---|---|
| top | integer | Rows per page, 1-100 (default 25). |
| skip | integer | Rows to skip (default 0). Pass the previous reply's next_skip to get the next page. |
| orderby | string | OData $orderby, e.g. 'Date desc' or 'Title'. |
| invoice_id* | string | Invoice id (a GUID, as returned by the list tools). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"invoice_id"
],
"properties": {
"top": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Rows per page, 1-100 (default 25)."
},
"skip": {
"type": "integer",
"maximum": 10000000,
"minimum": 0,
"description": "Rows to skip (default 0). Pass the previous reply's next_skip to get the next page."
},
"orderby": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "OData $orderby, e.g. 'Date desc' or 'Title'."
},
"invoice_id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Invoice id (a GUID, as returned by the list tools)."
}
}
}List sales invoices, with series, number, date, client, RFC, subtotal, discount, taxes, total, payments received, credit notes, expiration date and status. Open balance = Total - Payments - CreditNotes (filter Total gt Payments, then subtract CreditNotes from the rows). GET /api/Invoices.
| Argument | Type | Description |
|---|---|---|
| top | integer | Rows per page, 1-100 (default 25). |
| skip | integer | Rows to skip (default 0). Pass the previous reply's next_skip to get the next page. |
| filter | string | OData $filter, e.g. Date ge datetime'2026-10-01T00:00:00' and Total gt Payments. Text uses single quotes, functions such as substringof('abc', Field) and operators eq ne gt ge lt le and or are supported; a GUID is written guid'3f2504e0-4f89-11d3-9a0c-0305e82c3301'. Dates: datetime'2026-10-01T00:00:00'. |
| orderby | string | OData $orderby, e.g. 'Date desc' or 'Title'. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"top": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Rows per page, 1-100 (default 25)."
},
"skip": {
"type": "integer",
"maximum": 10000000,
"minimum": 0,
"description": "Rows to skip (default 0). Pass the previous reply's next_skip to get the next page."
},
"filter": {
"type": "string",
"maxLength": 1000,
"minLength": 1,
"description": "OData $filter, e.g. Date ge datetime'2026-10-01T00:00:00' and Total gt Payments. Text uses single quotes, functions such as substringof('abc', Field) and operators eq ne gt ge lt le and or are supported; a GUID is written guid'3f2504e0-4f89-11d3-9a0c-0305e82c3301'. Dates: datetime'2026-10-01T00:00:00'."
},
"orderby": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "OData $orderby, e.g. 'Date desc' or 'Title'."
}
}
}List customer orders (pedidos): number, date, client, branch, warehouse, salesperson, currency, subtotals, taxes, total and status. GET /api/Orders.
| Argument | Type | Description |
|---|---|---|
| top | integer | Rows per page, 1-100 (default 25). |
| skip | integer | Rows to skip (default 0). Pass the previous reply's next_skip to get the next page. |
| filter | string | OData $filter, e.g. OrderDate ge datetime'2026-10-01T00:00:00'. Text uses single quotes, functions such as substringof('abc', Field) and operators eq ne gt ge lt le and or are supported; a GUID is written guid'3f2504e0-4f89-11d3-9a0c-0305e82c3301'. Dates: datetime'2026-10-01T00:00:00'. |
| orderby | string | OData $orderby, e.g. 'Date desc' or 'Title'. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"top": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Rows per page, 1-100 (default 25)."
},
"skip": {
"type": "integer",
"maximum": 10000000,
"minimum": 0,
"description": "Rows to skip (default 0). Pass the previous reply's next_skip to get the next page."
},
"filter": {
"type": "string",
"maxLength": 1000,
"minLength": 1,
"description": "OData $filter, e.g. OrderDate ge datetime'2026-10-01T00:00:00'. Text uses single quotes, functions such as substringof('abc', Field) and operators eq ne gt ge lt le and or are supported; a GUID is written guid'3f2504e0-4f89-11d3-9a0c-0305e82c3301'. Dates: datetime'2026-10-01T00:00:00'."
},
"orderby": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "OData $orderby, e.g. 'Date desc' or 'Title'."
}
}
}List products: id, code, title, SKU, cost, current inventory, VAT flag, unit, currency and categories. Filter with OData, e.g. substringof('tornillo', Title). GET /api/Products.
| Argument | Type | Description |
|---|---|---|
| top | integer | Rows per page, 1-100 (default 25). |
| skip | integer | Rows to skip (default 0). Pass the previous reply's next_skip to get the next page. |
| filter | string | OData $filter, e.g. SKU eq 'ABC-1'. Text uses single quotes, functions such as substringof('abc', Field) and operators eq ne gt ge lt le and or are supported; a GUID is written guid'3f2504e0-4f89-11d3-9a0c-0305e82c3301'. Dates: datetime'2026-10-01T00:00:00'. |
| orderby | string | OData $orderby, e.g. 'Date desc' or 'Title'. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"top": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Rows per page, 1-100 (default 25)."
},
"skip": {
"type": "integer",
"maximum": 10000000,
"minimum": 0,
"description": "Rows to skip (default 0). Pass the previous reply's next_skip to get the next page."
},
"filter": {
"type": "string",
"maxLength": 1000,
"minLength": 1,
"description": "OData $filter, e.g. SKU eq 'ABC-1'. Text uses single quotes, functions such as substringof('abc', Field) and operators eq ne gt ge lt le and or are supported; a GUID is written guid'3f2504e0-4f89-11d3-9a0c-0305e82c3301'. Dates: datetime'2026-10-01T00:00:00'."
},
"orderby": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "OData $orderby, e.g. 'Date desc' or 'Title'."
}
}
}Products with the price (from one price list) and stock (in one warehouse), VAT/IEPS, min/max and volume prices: the view a point-of-sale or quote needs. Get the ids from binderp_list_catalog. GET /api/ProductsPriceAndInventory.
| Argument | Type | Description |
|---|---|---|
| top | integer | Rows per page, 1-100 (default 25). |
| skip | integer | Rows to skip (default 0). Pass the previous reply's next_skip to get the next page. |
| warehouse_id* | string | Warehouse id (catalog warehouses) (a GUID, as returned by the list tools). |
| price_list_id* | string | Price list id (catalog price_lists) (a GUID, as returned by the list tools). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"warehouse_id",
"price_list_id"
],
"properties": {
"top": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Rows per page, 1-100 (default 25)."
},
"skip": {
"type": "integer",
"maximum": 10000000,
"minimum": 0,
"description": "Rows to skip (default 0). Pass the previous reply's next_skip to get the next page."
},
"warehouse_id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Warehouse id (catalog warehouses) (a GUID, as returned by the list tools)."
},
"price_list_id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Price list id (catalog price_lists) (a GUID, as returned by the list tools)."
}
}
}List sales prospects (leads): id, name, company, email, phone and salesperson. GET /api/Prospects.
| Argument | Type | Description |
|---|---|---|
| top | integer | Rows per page, 1-100 (default 25). |
| skip | integer | Rows to skip (default 0). Pass the previous reply's next_skip to get the next page. |
| filter | string | OData $filter, e.g. substringof('maria', ProspectName). Text uses single quotes, functions such as substringof('abc', Field) and operators eq ne gt ge lt le and or are supported; a GUID is written guid'3f2504e0-4f89-11d3-9a0c-0305e82c3301'. Dates: datetime'2026-10-01T00:00:00'. |
| orderby | string | OData $orderby, e.g. 'Date desc' or 'Title'. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"top": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Rows per page, 1-100 (default 25)."
},
"skip": {
"type": "integer",
"maximum": 10000000,
"minimum": 0,
"description": "Rows to skip (default 0). Pass the previous reply's next_skip to get the next page."
},
"filter": {
"type": "string",
"maxLength": 1000,
"minLength": 1,
"description": "OData $filter, e.g. substringof('maria', ProspectName). Text uses single quotes, functions such as substringof('abc', Field) and operators eq ne gt ge lt le and or are supported; a GUID is written guid'3f2504e0-4f89-11d3-9a0c-0305e82c3301'. Dates: datetime'2026-10-01T00:00:00'."
},
"orderby": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "OData $orderby, e.g. 'Date desc' or 'Title'."
}
}
}List suppliers: id, number, name, legal name, RFC, email, phone and city. GET /api/Providers.
| Argument | Type | Description |
|---|---|---|
| top | integer | Rows per page, 1-100 (default 25). |
| skip | integer | Rows to skip (default 0). Pass the previous reply's next_skip to get the next page. |
| filter | string | OData $filter, e.g. substringof('acero', ProviderName). Text uses single quotes, functions such as substringof('abc', Field) and operators eq ne gt ge lt le and or are supported; a GUID is written guid'3f2504e0-4f89-11d3-9a0c-0305e82c3301'. Dates: datetime'2026-10-01T00:00:00'. |
| orderby | string | OData $orderby, e.g. 'Date desc' or 'Title'. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"top": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Rows per page, 1-100 (default 25)."
},
"skip": {
"type": "integer",
"maximum": 10000000,
"minimum": 0,
"description": "Rows to skip (default 0). Pass the previous reply's next_skip to get the next page."
},
"filter": {
"type": "string",
"maxLength": 1000,
"minLength": 1,
"description": "OData $filter, e.g. substringof('acero', ProviderName). Text uses single quotes, functions such as substringof('abc', Field) and operators eq ne gt ge lt le and or are supported; a GUID is written guid'3f2504e0-4f89-11d3-9a0c-0305e82c3301'. Dates: datetime'2026-10-01T00:00:00'."
},
"orderby": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "OData $orderby, e.g. 'Date desc' or 'Title'."
}
}
}List purchase orders to suppliers: number, warehouse, provider, date, status, quantity ordered and still missing, total and currency. GET /api/Purchases/GetPurchaseOrders.
| Argument | Type | Description |
|---|---|---|
| top | integer | Rows per page, 1-100 (default 25). |
| skip | integer | Rows to skip (default 0). Pass the previous reply's next_skip to get the next page. |
| filter | string | OData $filter, e.g. substringof('acero', Provider). Text uses single quotes, functions such as substringof('abc', Field) and operators eq ne gt ge lt le and or are supported; a GUID is written guid'3f2504e0-4f89-11d3-9a0c-0305e82c3301'. Dates: datetime'2026-10-01T00:00:00'. |
| orderby | string | OData $orderby, e.g. 'Date desc' or 'Title'. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"top": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Rows per page, 1-100 (default 25)."
},
"skip": {
"type": "integer",
"maximum": 10000000,
"minimum": 0,
"description": "Rows to skip (default 0). Pass the previous reply's next_skip to get the next page."
},
"filter": {
"type": "string",
"maxLength": 1000,
"minLength": 1,
"description": "OData $filter, e.g. substringof('acero', Provider). Text uses single quotes, functions such as substringof('abc', Field) and operators eq ne gt ge lt le and or are supported; a GUID is written guid'3f2504e0-4f89-11d3-9a0c-0305e82c3301'. Dates: datetime'2026-10-01T00:00:00'."
},
"orderby": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "OData $orderby, e.g. 'Date desc' or 'Title'."
}
}
}List quotes (cotizaciones): number, date, client, branch, comments, total, currency and status. GET /api/Quotes.
| Argument | Type | Description |
|---|---|---|
| top | integer | Rows per page, 1-100 (default 25). |
| skip | integer | Rows to skip (default 0). Pass the previous reply's next_skip to get the next page. |
| filter | string | OData $filter, e.g. CreationDate ge datetime'2026-10-01T00:00:00'. Text uses single quotes, functions such as substringof('abc', Field) and operators eq ne gt ge lt le and or are supported; a GUID is written guid'3f2504e0-4f89-11d3-9a0c-0305e82c3301'. Dates: datetime'2026-10-01T00:00:00'. |
| orderby | string | OData $orderby, e.g. 'Date desc' or 'Title'. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"top": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Rows per page, 1-100 (default 25)."
},
"skip": {
"type": "integer",
"maximum": 10000000,
"minimum": 0,
"description": "Rows to skip (default 0). Pass the previous reply's next_skip to get the next page."
},
"filter": {
"type": "string",
"maxLength": 1000,
"minLength": 1,
"description": "OData $filter, e.g. CreationDate ge datetime'2026-10-01T00:00:00'. Text uses single quotes, functions such as substringof('abc', Field) and operators eq ne gt ge lt le and or are supported; a GUID is written guid'3f2504e0-4f89-11d3-9a0c-0305e82c3301'. Dates: datetime'2026-10-01T00:00:00'."
},
"orderby": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "OData $orderby, e.g. 'Date desc' or 'Title'."
}
}
}| string |
| Accounting account number for the customer (required by the API). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"legal_name",
"commercial_name",
"rfc",
"price_list_id",
"accounting_number"
],
"properties": {
"rfc": {
"type": "string",
"maxLength": 13,
"minLength": 10,
"description": "RFC (Mexican tax id)."
},
"email": {
"type": "string",
"format": "email",
"pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
"maxLength": 200,
"description": "Email address."
},
"address": {
"type": "object",
"properties": {
"city": {
"type": "string",
"maxLength": 120,
"minLength": 1
},
"state": {
"type": "string",
"maxLength": 120,
"minLength": 1
},
"colonia": {
"type": "string",
"maxLength": 120,
"minLength": 1
},
"zip_code": {
"type": "string",
"maxLength": 10,
"minLength": 1
},
"street_name": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"exterior_number": {
"type": "string",
"maxLength": 30,
"minLength": 1
},
"interior_number": {
"type": "string",
"maxLength": 30,
"minLength": 1
}
},
"description": "Fiscal address."
},
"comment": {
"type": "string",
"maxLength": 2000,
"minLength": 1,
"description": "Notes."
},
"telephone": {
"type": "string",
"maxLength": 40,
"minLength": 1,
"description": "Phone number."
},
"legal_name": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "Legal name (razon social)."
},
"credit_days": {
"type": "integer",
"default": 0,
"maximum": 3650,
"minimum": 0,
"description": "Days of credit (0 = cash)."
},
"location_id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Branch id (catalog locations)."
},
"credit_amount": {
"type": "number",
"default": 0,
"maximum": 1000000000000,
"minimum": 0,
"description": "Credit limit."
},
"price_list_id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Price list id (catalog price_lists) (a GUID, as returned by the list tools)."
},
"commercial_name": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "Commercial name."
},
"default_discount": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Default discount percent."
},
"accounting_number": {
"type": "string",
"maxLength": 50,
"minLength": 1,
"description": "Accounting account number for the customer (required by the API)."
}
}
}| Branch id (catalog locations) (a GUID, as returned by the list tools). |
| warehouse_id* | string | Warehouse id (catalog warehouses) (a GUID, as returned by the list tools). |
| exchange_rate | number | Exchange rate when the currency is not the base currency. |
| price_list_id* | string | Price list id (catalog price_lists) (a GUID, as returned by the list tools). |
| purchase_order | string | The customer's purchase order number. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"client_id",
"address_id",
"currency_id",
"location_id",
"warehouse_id",
"price_list_id",
"order_date"
],
"properties": {
"comments": {
"type": "string",
"maxLength": 2000,
"minLength": 1,
"description": "Order comments."
},
"products": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"price",
"qty"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Product id (a GUID, as returned by the list tools)."
},
"qty": {
"type": "number",
"maximum": 1000000000,
"description": "Quantity.",
"exclusiveMinimum": 0
},
"vat": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "VAT percent override."
},
"price": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Unit price before tax."
},
"comments": {
"type": "string",
"maxLength": 500,
"minLength": 1
}
}
},
"maxItems": 200,
"description": "Product lines."
},
"services": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"title",
"price",
"qty"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Service (sale concept) id (a GUID, as returned by the list tools)."
},
"qty": {
"type": "number",
"maximum": 1000000000,
"description": "Quantity.",
"exclusiveMinimum": 0
},
"vat": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "VAT percent override."
},
"price": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Unit price before tax."
},
"title": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "Line title."
},
"comments": {
"type": "string",
"maxLength": 500,
"minLength": 1
}
}
},
"maxItems": 200,
"description": "Service lines."
},
"client_id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Client id (a GUID, as returned by the list tools)."
},
"address_id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Delivery address id (binderp_get_client_addresses) (a GUID, as returned by the list tools)."
},
"order_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,7})?)?(Z|[+-]\\d{2}:\\d{2})?)?$",
"description": "Order date, ISO 8601, e.g. 2026-10-24 or 2026-10-24T10:00:00Z."
},
"currency_id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Currency id (catalog currencies) (a GUID, as returned by the list tools)."
},
"location_id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Branch id (catalog locations) (a GUID, as returned by the list tools)."
},
"warehouse_id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Warehouse id (catalog warehouses) (a GUID, as returned by the list tools)."
},
"exchange_rate": {
"type": "number",
"maximum": 1000000,
"description": "Exchange rate when the currency is not the base currency.",
"exclusiveMinimum": 0
},
"price_list_id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Price list id (catalog price_lists) (a GUID, as returned by the list tools)."
},
"purchase_order": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "The customer's purchase order number."
}
}
}