Obriym CRM
Qué hace este MCP
Manages CRM records, sales pipelines, activities, orders, products, inventory, and marketplace catalog operations.
Herramientas
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['productName', 'quantity', 'unitPrice', 'externalId'], 'properties': {'sku': {'type': 'string', 'maxLength': 120, 'description': 'Product SKU snapshot (from search_products). Optional.'}, 'discount': {'type': 'number', 'default': 0, 'maximum': 100, 'minimum': 0, 'description': 'Percentage discount on this line (0-100). Default 0.'}, 'quantity': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Quantity ordered (integer, at least 1).', 'exclusiveMinimum': 0}, 'unitPrice': {'anyOf': [{'type': 'string', 'pattern': '^\\d+(\\.\\d{1,2})?$'}, {'type': 'number', 'minimum': 0}], 'description': 'Price per unit in the order currency, as a decimal (e.g. 199.99). Snapshotted onto the line.'}, 'externalId': {'type': 'string', 'minLength': 1, 'description': 'The order externalId returned by list_orders or create_order.'}, 'productName': {'type': 'string', 'maxLength': 255, 'minLength': 1, 'description': "Line item name, snapshotted onto the order. Use search_products to quote a real catalog product's name. Required."}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['delta', 'productId', 'reason'], 'properties': {'note': {'type': 'string', 'maxLength': 1000, 'minLength': 1}, 'delta': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'reason': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'metadata': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'productId': {'type': 'string', 'minLength': 1}, 'externalId': {'type': 'string', 'maxLength': 160, 'minLength': 1}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['assignedTo', 'id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': 'The lead id returned by search_leads.'}, 'assignedTo': {'anyOf': [{'type': 'string', 'maxLength': 160, 'minLength': 1}, {'type': 'null'}], 'description': 'User id of the workspace member to assign the lead to. Pass null to unassign.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['platform'], 'properties': {'platform': {'type': 'string', 'minLength': 1, 'description': 'The marketplace slug returned by list_marketplaces (prom, rozetka, olx, amazon, ebay, shopify, woocommerce).'}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': 'The activity id returned by list_activities.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id', 'patch'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': 'The pipeline stage id returned by list_pipeline_stages.'}, 'patch': {'type': 'object', 'required': ['defaultProbability', 'name'], 'properties': {'name': {'type': 'string', 'maxLength': 120, 'minLength': 1, 'description': 'Display name of the pipeline stage.'}, 'wipLimit': {'anyOf': [{'type': 'integer', 'maximum': 999, 'minimum': 1}, {'type': 'null'}], 'description': 'Work-in-progress limit (max deals allowed in the stage). Null or omit for no limit.'}, 'defaultProbability': {'type': 'integer', 'maximum': 100, 'minimum': 0, 'description': 'Default win probability for deals in this stage, 0-100.'}}, 'description': 'Pipeline stage fields to update: name, default probability, WIP limit or position.', 'additionalProperties': False}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id', 'input'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': 'The lead id returned by search_leads.'}, 'input': {'type': 'object', 'properties': {'dealTitle': {'type': 'string', 'maxLength': 255, 'description': 'Title for the created deal. Required when createDeal is true.'}, 'createDeal': {'type': 'boolean', 'default': False, 'description': 'Create an open pipeline deal from the lead. Default false.'}, 'dealAmount': {'type': 'string', 'pattern': '^\\d+(\\.\\d{1,2})?$', 'description': 'Deal amount, as a decimal string. Used when createDeal is true.'}, 'companyName': {'type': 'string', 'maxLength': 255, 'description': 'Name for the company to create. Required when createCompany is true.'}, 'createCompany': {'type': 'boolean', 'default': False, 'description': 'Create (or link) a company from the lead. Default false.'}, 'createContact': {'type': 'boolean', 'default': False, 'description': 'Create (or link) a contact from the lead. Default false.'}, 'contactLastName': {'type': 'string', 'maxLength': 120, 'description': 'Last name for the contact to create. Optional.'}, 'contactFirstName': {'type': 'string', 'maxLength': 120, 'description': 'First name for the contact to create. Required when createContact is true.'}, 'dealNextActionDate': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$', 'description': 'ISO 8601 next-action date for the created deal. Used when createDeal is true.'}, 'dealNextActionNote': {'type': 'string', 'maxLength': 500, 'description': 'Next-action note for the created deal. Used when createDeal is true.'}}, 'description': 'Conversion options that decide whether to create/link contact, company and deal records.', 'additionalProperties': False}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['title', 'type'], 'properties': {'type': {'enum': ['task', 'call', 'meeting', 'email', 'note'], 'type': 'string', 'description': 'Activity type. One of: task, call, meeting, email, note.'}, 'title': {'type': 'string', 'maxLength': 255, 'minLength': 1, 'description': 'Short title of the activity. Required.'}, 'dealId': {'anyOf': [{'type': 'string', 'maxLength': 160, 'minLength': 1}, {'type': 'null'}], 'description': 'Deal id to link the activity to (from search_deals). Link at least one entity.'}, 'leadId': {'anyOf': [{'type': 'string', 'maxLength': 160, 'minLength': 1}, {'type': 'null'}], 'description': 'Lead id to link the activity to (from search_leads). Link at least one entity.'}, 'dueDate': {'anyOf': [{'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}, {'type': 'null'}], 'description': 'Due date/time, ISO 8601. Optional.'}, 'priority': {'enum': ['low', 'medium', 'high'], 'type': 'string', 'description': 'Priority. Optional. One of: low, medium, high.'}, 'companyId': {'anyOf': [{'type': 'string', 'maxLength': 160, 'minLength': 1}, {'type': 'null'}], 'description': 'Company id to link the activity to (from search_companies). Link at least one entity.'}, 'contactId': {'anyOf': [{'type': 'string', 'maxLength': 160, 'minLength': 1}, {'type': 'null'}], 'description': 'Contact id to link the activity to (from search_contacts). Link at least one entity.'}, 'assignedTo': {'anyOf': [{'type': 'string', 'maxLength': 160, 'minLength': 1}, {'type': 'null'}], 'description': 'User id of the workspace member to assign the activity to; null/omit for unassigned.'}, 'description': {'anyOf': [{'type': 'string', 'maxLength': 5000, 'description': 'Detailed description or notes. Optional.'}, {'type': 'null'}], 'description': 'Detailed description or notes. Optional.'}, 'recurrenceRule': {'anyOf': [{'enum': ['daily', 'weekly', 'monthly'], 'type': 'string', 'description': 'Recurrence rule: daily, weekly, or monthly. Optional (one-off if omitted).'}, {'type': 'null'}], 'description': 'Recurrence rule: daily, weekly, or monthly. Optional (one-off if omitted).'}, 'recurrenceEndsAt': {'anyOf': [{'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}, {'type': 'null'}], 'description': 'When recurrence stops, ISO 8601. Optional; only meaningful with recurrenceRule.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['name'], 'properties': {'name': {'type': 'string', 'maxLength': 255, 'minLength': 1, 'description': 'The company name. Required and unique within the workspace.'}, 'size': {'enum': ['solo', 'small', 'medium', 'large', 'enterprise'], 'type': 'string', 'description': 'Company size band. Optional. One of: solo, small, medium, large, enterprise.'}, 'status': {'enum': ['prospect', 'active', 'inactive'], 'type': 'string', 'description': 'Relationship status. Optional. One of: prospect, active, inactive.'}, 'ownerId': {'anyOf': [{'type': 'string', 'description': 'User id of the workspace member who owns this company. Optional.'}, {'type': 'null'}], 'description': 'User id of the workspace member who owns this company. Optional.'}, 'website': {'anyOf': [{'type': 'string', 'format': 'uri', 'maxLength': 255, 'description': 'The company website URL. Optional.'}, {'type': 'null'}], 'description': 'The company website URL. Optional.'}, 'industry': {'anyOf': [{'type': 'string', 'maxLength': 120, 'description': "The company's industry. Optional."}, {'type': 'null'}], 'description': "The company's industry. Optional."}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['firstName'], 'properties': {'tags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 80}, 'default': [], 'description': 'Tags for segmentation. Optional.'}, 'email': {'anyOf': [{'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': 255, 'description': "The contact's email address. Optional."}, {'type': 'null'}], 'description': "The contact's email address. Optional."}, 'phone': {'anyOf': [{'type': 'string', 'maxLength': 50, 'description': "The contact's phone number. Optional."}, {'type': 'null'}], 'description': "The contact's phone number. Optional."}, 'ownerId': {'anyOf': [{'type': 'string', 'description': 'User id of the workspace member who owns this contact. Optional.'}, {'type': 'null'}], 'description': 'User id of the workspace member who owns this contact. Optional.'}, 'jobTitle': {'anyOf': [{'type': 'string', 'maxLength': 160, 'description': "The contact's job title. Optional."}, {'type': 'null'}], 'description': "The contact's job title. Optional."}, 'lastName': {'anyOf': [{'type': 'string', 'maxLength': 120, 'description': "The contact's last name. Optional."}, {'type': 'null'}], 'description': "The contact's last name. Optional."}, 'companyId': {'anyOf': [{'type': 'string', 'description': 'Company id to link this contact to (from search_companies). Optional.'}, {'type': 'null'}], 'description': 'Company id to link this contact to (from search_companies). Optional.'}, 'firstName': {'type': 'string', 'maxLength': 120, 'minLength': 1, 'description': "The contact's first name. Required."}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['nextActionDate', 'nextActionNote', 'stageId', 'title'], 'properties': {'notes': {'anyOf': [{'type': 'string', 'maxLength': 5000, 'description': 'Free-text notes on the deal. Optional.'}, {'type': 'null'}], 'description': 'Free-text notes on the deal. Optional.'}, 'title': {'type': 'string', 'maxLength': 255, 'minLength': 1, 'description': 'Deal title. Required.'}, 'amount': {'type': 'string', 'pattern': '^\\d+(\\.\\d{1,2})?$', 'description': 'Deal value as a decimal string, e.g. 1500.00. Optional.'}, 'ownerId': {'anyOf': [{'type': 'string', 'maxLength': 160, 'minLength': 1}, {'type': 'null'}], 'description': 'User id of the workspace member to own the deal; null/omit for none.'}, 'stageId': {'type': 'string', 'description': 'Pipeline stage id for the deal (from list_pipeline_stages). Required.'}, 'companyId': {'anyOf': [{'type': 'string', 'maxLength': 160, 'minLength': 1}, {'type': 'null'}], 'description': 'Company id to link the deal to (from search_companies); null/omit for none.'}, 'contactId': {'anyOf': [{'type': 'string', 'maxLength': 160, 'minLength': 1}, {'type': 'null'}], 'description': 'Contact id to link the deal to (from search_contacts); null/omit for none.'}, 'lostReason': {'anyOf': [{'type': 'string', 'maxLength': 500, 'description': 'Reason the deal was lost. Required only when moving to a Closed-lost stage.'}, {'type': 'null'}], 'description': 'Reason the deal was lost. Optional (required only for Closed-lost stages).'}, 'probability': {'type': 'integer', 'maximum': 100, 'minimum': 0, 'description': 'Win probability percent, 0-100. Optional (defaults from the stage).'}, 'nextActionDate': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$', 'description': 'Next-action date, ISO 8601. Required.'}, 'nextActionNote': {'type': 'string', 'maxLength': 500, 'minLength': 1, 'description': 'What the next action on this deal is. Required.'}, 'expectedCloseDate': {'anyOf': [{'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}, {'type': 'null'}], 'description': 'Expected close date, ISO 8601. Optional.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['externalId', 'name'], 'properties': {'name': {'type': 'string', 'maxLength': 255, 'minLength': 1, 'description': "The lead's full name or label. Required."}, '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': 255, 'description': "The lead's email. Provide email or phone (at least one)."}, 'notes': {'type': 'string', 'maxLength': 2000, 'description': 'Free-text notes about the lead. Optional.'}, 'phone': {'type': 'string', 'maxLength': 50, 'description': "The lead's phone number. Provide email or phone (at least one)."}, 'source': {'type': 'string', 'const': 'website', 'default': 'website', 'description': 'Lead source; fixed to "website" for MCP-created leads.'}, 'externalId': {'type': 'string', 'maxLength': 160, 'minLength': 1, 'description': "A stable unique id for this lead in your system â\x80\x94 the idempotency key. Re-sending the same externalId returns the existing lead instead of creating a duplicate (e.g. 'mcp-<uuid>')."}, 'companyName': {'type': 'string', 'maxLength': 255, 'description': "The lead's company name, if known. Optional."}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['externalId', 'items'], 'properties': {'items': {'type': 'array', 'items': {'type': 'object', 'required': ['productName', 'quantity', 'unitPrice'], 'properties': {'sku': {'type': 'string', 'maxLength': 120, 'description': 'Product SKU snapshot (from search_products). Optional.'}, 'discount': {'type': 'number', 'default': 0, 'maximum': 100, 'minimum': 0, 'description': 'Percentage discount on this line (0-100). Default 0.'}, 'quantity': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Quantity ordered (integer, at least 1).', 'exclusiveMinimum': 0}, 'unitPrice': {'anyOf': [{'type': 'string', 'pattern': '^\\d+(\\.\\d{1,2})?$'}, {'type': 'number', 'minimum': 0}], 'description': 'Price per unit in the order currency, as a decimal (e.g. 199.99). Snapshotted onto the line.'}, 'productName': {'type': 'string', 'maxLength': 255, 'minLength': 1, 'description': "Line item name, snapshotted onto the order. Use search_products to quote a real catalog product's name. Required."}}, 'additionalProperties': False}, 'maxItems': 100, 'minItems': 1, 'description': 'Order line items (1-100). Each snapshots productName/sku/unitPrice.'}, 'notes': {'type': 'string', 'maxLength': 5000, 'description': 'Internal note stored on the order. For a delivery instruction from the buyer use delivery.comment instead.'}, 'currency': {'type': 'string', 'default': 'UAH', 'pattern': '^[A-Z]{3}$', 'maxLength': 3, 'minLength': 3, 'description': 'ISO 4217 currency code for the order (uppercase, e.g. UAH). Default UAH.'}, 'customer': {'type': 'object', 'properties': {'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': 255}, 'phone': {'type': 'string', 'maxLength': 50, 'minLength': 1}, 'lastName': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'firstName': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'externalId': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'shippingAddress': {'type': 'object', 'required': ['city', 'country', 'line1'], 'properties': {'city': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'line1': {'type': 'string', 'maxLength': 255, 'minLength': 1}, 'line2': {'type': 'string', 'maxLength': 255, 'minLength': 1}, 'region': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'country': {'type': 'string', 'maxLength': 2, 'minLength': 2}, 'postalCode': {'type': 'string', 'maxLength': 32, 'minLength': 1}}, 'additionalProperties': False}}, 'description': 'Optional buyer snapshot (name/email/phone, or a storefront customer externalId). Omit for an anonymous order.', 'additionalProperties': False}, 'delivery': {'type': 'object', 'properties': {'cod': {'type': 'boolean', 'description': 'True when the buyer pays on delivery (cash on delivery).'}, 'flat': {'type': 'string', 'maxLength': 35, 'description': 'Apartment or office number for courier delivery.'}, 'phone': {'type': 'string', 'maxLength': 50, 'description': "Recipient phone, when it differs from the buyer's own contact phone."}, 'branch': {'type': 'string', 'maxLength': 200, 'description': 'Branch or parcel locker as the buyer named it, e.g. "вÑ\x96ддÑ\x96леннÑ\x8f â\x84\x965" or "поÑ\x88Ñ\x82омаÑ\x82 12345". Free text: the CRM resolves it against the live branch list of the carrier when creating a waybill.'}, 'method': {'enum': ['branch', 'courier', 'pickup'], 'type': 'string', 'description': 'How the parcel reaches the buyer: "branch" (carrier office/locker), "courier" (to the address) or "pickup" (buyer collects from you).'}, 'carrier': {'type': 'string', 'maxLength': 120, 'description': 'Carrier slug the buyer chose, from GET /capabilities (e.g. "nova_poshta", "ukrposhta", "pickup"). This is a preference, not a dispatch â\x80\x94 the shipment endpoint still records what actually ships.'}, 'cityRef': {'type': 'string', 'maxLength': 64, 'description': "The carrier's own identifier for the destination city, as returned by GET /api/v1/carriers/{carrier}/cities. Required alongside branchRef or streetRef for a waybill to be created from the order alone."}, 'comment': {'type': 'string', 'maxLength': 1000, 'description': 'Delivery note from the buyer, e.g. "дзвониÑ\x82и пÑ\x96Ñ\x81лÑ\x8f 18:00". Not the order notes.'}, 'building': {'type': 'string', 'maxLength': 35, 'description': 'House number for courier delivery, structured rather than inside the address line because carriers validate it on its own (Nova Poshta accepts up to 11 characters matching digits plus an optional Cyrillic letter or block, e.g. "12Ð\x91" or "12/4").'}, 'branchRef': {'type': 'string', 'maxLength': 64, 'description': "The carrier's own identifier for the branch or parcel locker, as returned by GET /api/v1/carriers/{carrier}/warehouses. The same value the shipment-label endpoint calls warehouseRef. Sent, this removes all guessing; omitted, the CRM falls back to matching `branch` as text."}, 'streetRef': {'type': 'string', 'maxLength': 64, 'description': "The carrier's own identifier for the street, as returned by GET /api/v1/carriers/{carrier}/streets. Courier delivery only; pair it with `building`."}, 'recipientName': {'type': 'string', 'maxLength': 200, 'description': 'Who receives the parcel, when that is not the buyer (a gift, an office).'}}, 'description': "How the buyer asked to receive the order: carrier, branch/courier/pickup, branch text, recipient, cash-on-delivery and a delivery note. This is the buyer's choice at checkout â\x80\x94 it does not dispatch anything. Record what actually ships with POST /orders/{externalId}/shipments.", 'additionalProperties': False}, 'promoCode': {'type': 'string', 'maxLength': 64, 'description': "The promo code the storefront applied to this order, recorded as-is. The CRM never validates or computes it â\x80\x94 the cart owns that â\x80\x94 but storing it is what makes 'did that campaign pay for itself?' answerable later."}, 'externalId': {'type': 'string', 'maxLength': 160, 'minLength': 1, 'description': "A stable unique id for this order in your system â\x80\x94 the idempotency key. Re-sending the same externalId returns the existing order instead of creating a duplicate (e.g. 'mcp-<uuid>')."}, 'discountAmount': {'type': 'number', 'minimum': 0, 'description': 'Money taken off by the promo code, in the order currency. A sum, not a percent: a percent at order level is ambiguous (before or after line discounts, with shipping or without). Does NOT change total â\x80\x94 send the total the buyer actually paid.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['name'], 'properties': {'ean': {'anyOf': [{'type': 'string', 'pattern': '^[0-9]{8,14}$'}, {'type': 'null'}], 'example': '4006381333931', 'description': 'GTIN/EAN-8/12/13/14 barcode. Presence-and-shape validation only, no checksum.'}, 'sku': {'anyOf': [{'type': 'string', 'maxLength': 120, 'minLength': 1}, {'type': 'null'}]}, 'name': {'type': 'string', 'maxLength': 255, 'minLength': 1}, 'size': {'anyOf': [{'type': 'string', 'maxLength': 60, 'minLength': 1}, {'type': 'null'}]}, 'tags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'default': []}, 'type': {'enum': ['simple', 'bundle'], 'type': 'string', 'default': 'simple'}, 'unit': {'anyOf': [{'type': 'string', 'maxLength': 40, 'minLength': 1}, {'type': 'null'}]}, 'color': {'anyOf': [{'type': 'string', 'maxLength': 80, 'minLength': 1}, {'type': 'null'}]}, 'depth': {'anyOf': [{'anyOf': [{'type': 'number'}, {'type': 'string', 'minLength': 1}]}, {'type': 'null'}]}, 'price': {'anyOf': [{'anyOf': [{'type': 'number'}, {'type': 'string', 'minLength': 1}]}, {'type': 'null'}]}, 'stock': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'null'}]}, 'width': {'anyOf': [{'anyOf': [{'type': 'number'}, {'type': 'string', 'minLength': 1}]}, {'type': 'null'}]}, 'gender': {'anyOf': [{'enum': ['male', 'female', 'unisex'], 'type': 'string'}, {'type': 'null'}]}, 'height': {'anyOf': [{'anyOf': [{'type': 'number'}, {'type': 'string', 'minLength': 1}]}, {'type': 'null'}]}, 'images': {'type': 'array', 'items': {'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'name': {'type': 'string', 'maxLength': 255, 'minLength': 1}, 'size': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'pathname': {'type': 'string', 'minLength': 1}, 'uploadedAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$'}, 'contentType': {'enum': ['image/jpeg', 'image/png', 'image/webp'], 'type': 'string'}}, 'additionalProperties': False}, 'maxItems': 10}, 'status': {'enum': ['draft', 'active', 'archived'], 'type': 'string', 'default': 'draft'}, 'videos': {'type': 'array', 'items': {'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string', 'format': 'uri'}}}, 'default': [], 'example': [{'url': 'https://www.youtube.com/watch?v=dQw4w9WgXcQ'}], 'maxItems': 5, 'description': 'Video links for the product page (YouTube, Vimeo or a direct file), https only, at most 5. Links, not uploads. On update, sending the field replaces the whole list.'}, 'weight': {'anyOf': [{'anyOf': [{'type': 'number'}, {'type': 'string', 'minLength': 1}]}, {'type': 'null'}]}, 'brandId': {'anyOf': [{'type': 'string', 'maxLength': 160, 'minLength': 1}, {'type': 'null'}]}, 'pattern': {'anyOf': [{'type': 'string', 'maxLength': 80, 'minLength': 1}, {'type': 'null'}]}, 'ageGroup': {'anyOf': [{'enum': ['newborn', 'infant', 'toddler', 'kids', 'adult'], 'type': 'string'}, {'type': 'null'}]}, 'material': {'anyOf': [{'type': 'string', 'maxLength': 120, 'minLength': 1}, {'type': 'null'}]}, 'sizeType': {'anyOf': [{'type': 'string', 'maxLength': 40, 'minLength': 1}, {'type': 'null'}]}, 'condition': {'anyOf': [{'enum': ['new', 'used', 'refurbished'], 'type': 'string'}, {'type': 'null'}]}, 'costPrice': {'anyOf': [{'anyOf': [{'type': 'number'}, {'type': 'string', 'minLength': 1}]}, {'type': 'null'}]}, 'categoryId': {'anyOf': [{'type': 'string', 'maxLength': 160, 'minLength': 1}, {'type': 'null'}]}, 'sizeSystem': {'anyOf': [{'enum': ['AU', 'BR', 'CN', 'DE', 'EU', 'FR', 'IT', 'JP', 'MEX', 'UK', 'US'], 'type': 'string'}, {'type': 'null'}]}, 'supplierId': {'anyOf': [{'type': 'string', 'maxLength': 160, 'minLength': 1}, {'type': 'null'}]}, 'weightUnit': {'anyOf': [{'enum': ['kg', 'g', 'lb', 'oz'], 'type': 'string'}, {'type': 'null'}]}, 'bundleItems': {'type': 'array', 'items': {'type': 'object', 'required': ['productId', 'quantity'], 'properties': {'quantity': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'productId': {'type': 'string', 'maxLength': 160, 'minLength': 1}}, 'additionalProperties': False}, 'default': []}, 'description': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}]}, 'warehouseId': {'anyOf': [{'type': 'string', 'maxLength': 160, 'minLength': 1}, {'type': 'null'}]}, 'costCurrency': {'anyOf': [{'type': 'string', 'pattern': '^[A-Z]{3}$'}, {'type': 'null'}]}, 'dimensionUnit': {'anyOf': [{'enum': ['cm', 'mm', 'in'], 'type': 'string'}, {'type': 'null'}]}, 'compareAtPrice': {'anyOf': [{'anyOf': [{'type': 'number'}, {'type': 'string', 'minLength': 1}]}, {'type': 'null'}]}, 'productGroupId': {'anyOf': [{'type': 'string', 'maxLength': 120, 'minLength': 1}, {'type': 'null'}]}, 'trackInventory': {'type': 'boolean', 'default': False}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': 'The activity id returned by list_activities.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': 'The company id returned by search_companies.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': 'The contact id returned by search_contacts.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['companyId'], 'properties': {'companyId': {'type': 'string', 'minLength': 1, 'description': 'The company/customer id returned by list_customers.'}}}
Esquema de entrada
{'type': 'object', 'properties': {}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': 'The deal id returned by search_deals.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': 'The lead id returned by search_leads.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['platform'], 'properties': {'platform': {'type': 'string', 'minLength': 1, 'description': 'The marketplace slug returned by list_marketplaces (prom, rozetka, olx, amazon, ebay, shopify, woocommerce).'}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['externalId'], 'properties': {'externalId': {'type': 'string', 'minLength': 1, 'description': 'The order externalId returned by list_orders.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': 'The product id returned by search_products.'}, 'sku': {'type': 'string', 'minLength': 1, 'description': 'The product SKU returned by search_products.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['report'], 'properties': {'days': {'anyOf': [{'type': 'number', 'const': 30}, {'type': 'number', 'const': 90}, {'type': 'number', 'const': 365}], 'description': 'Look-back window for conversion/team reports (default 90/30).'}, 'months': {'type': 'integer', 'maximum': 24, 'minimum': 1, 'description': 'Number of months for the revenue-trend report (default 6).'}, 'report': {'enum': ['lead_source_conversion', 'pipeline_velocity', 'team_performance', 'revenue_trend', 'product_sales', 'stock_valuation'], 'type': 'string', 'description': 'Which analytics report to return. lead_source_conversion: leads and conversion rate per source (uses days). pipeline_velocity: average time deals spend in each stage. team_performance: revenue and activity per member (uses days). revenue_trend: won revenue by month (uses months). product_sales: units, revenue and gross margin per brand, category and SKU, plus a trend (uses days). stock_valuation: units on hand and their value at weighted-average cost, per warehouse and per cost currency â\x80\x94 currencies are reported separately and never added together (takes no period).'}}}
Esquema de entrada
{'type': 'object', 'properties': {}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'q': {'type': 'string', 'maxLength': 255, 'description': 'Free-text search over the activity title. Omit for no text filter.'}, 'page': {'type': 'integer', 'default': 1, 'maximum': 9007199254740991, 'description': '1-based page number of results to return. Default 1.', 'exclusiveMinimum': 0}, 'type': {'enum': ['task', 'call', 'meeting', 'email', 'note'], 'type': 'string', 'description': 'Filter by activity type. Omit for any. Allowed: task, call, meeting, email, note.'}, 'dealId': {'type': 'string', 'description': 'Filter to activities linked to this deal id (from search_deals).'}, 'leadId': {'type': 'string', 'description': 'Filter to activities linked to this lead id (from search_leads).'}, 'overdue': {'enum': ['true', 'false'], 'type': 'string', 'description': 'Set "true" to return only overdue activities (past due date, not completed).'}, 'perPage': {'type': 'integer', 'default': 20, 'maximum': 100, 'minimum': 1, 'description': 'Number of activities per page (1-100). Default 20.'}, 'companyId': {'type': 'string', 'description': 'Filter to activities linked to this company id (from search_companies).'}, 'completed': {'enum': ['true', 'false'], 'type': 'string', 'description': 'Filter by completion: "true" only completed, "false" only open. Omit for both.'}, 'contactId': {'type': 'string', 'description': 'Filter to activities linked to this contact id (from search_contacts).'}, 'assignedTo': {'type': 'string', 'maxLength': 160, 'minLength': 1, 'description': "Filter to activities assigned to this workspace member's user id."}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'properties': {}}
Esquema de entrada
{'type': 'object', 'properties': {}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['platform'], 'properties': {'platform': {'type': 'string', 'minLength': 1, 'description': 'The marketplace slug returned by list_marketplaces (prom, rozetka, olx, amazon, ebay, shopify, woocommerce).'}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'q': {'type': 'string', 'maxLength': 255, 'description': 'Free-text search over the customer company name. Omit for no text filter.'}, 'ltv': {'enum': ['lt10k', '10k50k', 'gt50k'], 'type': 'string', 'description': 'Filter by lifetime-value bucket. Omit for any. Allowed: lt10k, 10k50k, gt50k.'}, 'page': {'type': 'integer', 'default': 1, 'maximum': 9007199254740991, 'description': '1-based page number of results to return. Default 1.', 'exclusiveMinimum': 0}, 'health': {'enum': ['healthy', 'at_risk', 'churned'], 'type': 'string', 'description': 'Filter by customer health. Omit for any. Allowed: healthy, at_risk, churned.'}, 'ownerId': {'type': 'string', 'maxLength': 160, 'minLength': 1, 'description': "Filter to customers owned by this workspace member's user id."}, 'perPage': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1, 'description': 'Number of customers per page (1-100). Default 25.'}, 'sortDir': {'enum': ['asc', 'desc'], 'type': 'string', 'default': 'desc', 'description': 'Sort direction by lifetime value. Default desc (highest first).'}, 'wonDealsMin': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Only customers with at least this many won deals.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'includeInactive': {'type': 'boolean', 'description': 'Set true to include archived/inactive lead sources.'}}}
Esquema de entrada
{'type': 'object', 'properties': {}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'to': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$', 'description': 'Only orders created at or before this ISO 8601 timestamp (e.g. 2026-02-28T23:59:59Z).'}, 'from': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$', 'description': 'Only orders created at or after this ISO 8601 timestamp (e.g. 2026-01-31T00:00:00Z).'}, 'page': {'type': 'integer', 'default': 1, 'maximum': 9007199254740991, 'minimum': 1, 'description': '1-based page number of results to return. Default 1.'}, 'status': {'enum': ['pending', 'confirmed', 'processing', 'shipped', 'delivered', 'cancelled', 'refunded'], 'type': 'string', 'description': 'Filter by order status. Omit to return every status. Allowed: pending, confirmed, processing, shipped, delivered, cancelled, refunded.'}, 'perPage': {'type': 'integer', 'default': 20, 'maximum': 100, 'minimum': 1, 'description': 'Number of results per page (1-100). Default 20.'}, 'customerExternalId': {'type': 'string', 'maxLength': 160, 'minLength': 1, 'description': "Filter to one storefront customer by their externalId (the id from the source system). Omit to list all customers' orders."}}}
Esquema de entrada
{'type': 'object', 'properties': {}}
Esquema de entrada
{'type': 'object', 'properties': {}}
Esquema de entrada
{'type': 'object', 'properties': {}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['externalId', 'itemId'], 'properties': {'itemId': {'type': 'string', 'minLength': 1, 'description': 'The order item id returned by get_order.'}, 'externalId': {'type': 'string', 'minLength': 1, 'description': 'The order externalId returned by list_orders or create_order.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'q': {'type': 'string', 'maxLength': 255, 'description': 'Free-text search over the company name. Omit for no text filter.'}, 'page': {'type': 'integer', 'default': 1, 'maximum': 9007199254740991, 'description': '1-based page number of results to return. Default 1.', 'exclusiveMinimum': 0}, 'status': {'enum': ['prospect', 'active', 'inactive'], 'type': 'string', 'description': 'Filter by relationship status. Omit for any. Allowed: prospect, active, inactive.'}, 'ownerId': {'type': 'string', 'maxLength': 160, 'minLength': 1, 'description': "Filter to companies owned by this workspace member's user id."}, 'perPage': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1, 'description': 'Number of companies per page (1-100). Default 25.'}, 'sortDir': {'enum': ['asc', 'desc'], 'type': 'string', 'default': 'asc', 'description': 'Sort direction by name. Default asc.'}, 'industry': {'type': 'string', 'maxLength': 120, 'minLength': 1, 'description': 'Filter to companies in this industry. Omit for any industry.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'q': {'type': 'string', 'maxLength': 255, 'description': 'Free-text search over name, email and company. Omit for no text filter.'}, 'tag': {'type': 'string', 'maxLength': 80, 'minLength': 1, 'description': 'Filter to contacts carrying this tag. Omit for any tag.'}, 'page': {'type': 'integer', 'default': 1, 'maximum': 9007199254740991, 'description': '1-based page number of results to return. Default 1.', 'exclusiveMinimum': 0}, 'sortBy': {'enum': ['name', 'email', 'createdAt'], 'type': 'string', 'default': 'name', 'description': 'Field to sort by. Default name. Allowed: name, email, createdAt.'}, 'ownerId': {'type': 'string', 'maxLength': 160, 'minLength': 1, 'description': "Filter to contacts owned by this workspace member's user id."}, 'perPage': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1, 'description': 'Number of contacts per page (1-100). Default 25.'}, 'sortDir': {'enum': ['asc', 'desc'], 'type': 'string', 'default': 'asc', 'description': 'Sort direction. Default asc.'}, 'companyId': {'type': 'string', 'maxLength': 160, 'minLength': 1, 'description': 'Filter to contacts at this company id (from search_companies).'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'q': {'type': 'string', 'maxLength': 255, 'description': 'Free-text search over the deal title. Omit for no text filter.'}, 'page': {'type': 'integer', 'default': 1, 'maximum': 9007199254740991, 'description': '1-based page number of results to return. Default 1.', 'exclusiveMinimum': 0}, 'stale': {'enum': ['true', 'false'], 'type': 'string', 'description': 'Set "true" to return only stale deals (past their next-action date or long untouched).'}, 'ownerId': {'type': 'string', 'maxLength': 160, 'minLength': 1, 'description': "Filter to deals owned by this workspace member's user id."}, 'perPage': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1, 'description': 'Number of deals per page (1-100). Default 25.'}, 'stageId': {'type': 'string', 'maxLength': 160, 'minLength': 1, 'description': 'Filter to deals in this pipeline stage id (from list_pipeline_stages).'}, 'companyId': {'type': 'string', 'maxLength': 160, 'minLength': 1, 'description': 'Filter to deals linked to this company id (from search_companies).'}, 'contactId': {'type': 'string', 'maxLength': 160, 'minLength': 1, 'description': 'Filter to deals linked to this contact id (from search_contacts).'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'q': {'type': 'string', 'maxLength': 255, 'description': 'Free-text search over lead name, email, phone, or company. Omit for no text filter.'}, 'to': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$', 'description': 'Only leads created at or before this ISO 8601 timestamp (e.g. 2026-02-28T23:59:59Z).'}, 'from': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$', 'description': 'Only leads created at or after this ISO 8601 timestamp (e.g. 2026-01-31T00:00:00Z).'}, 'page': {'type': 'integer', 'default': 1, 'maximum': 9007199254740991, 'minimum': 1, 'description': '1-based page number of results to return. Default 1.'}, 'stale': {'anyOf': [{'type': 'boolean'}, {'enum': ['true', 'false'], 'type': 'string'}], 'description': 'Set true to return only stale leads: not unqualified/converted and either past their next-action date or untouched for more than 7 days.'}, 'source': {'type': 'string', 'maxLength': 80, 'description': "Filter by lead source key (e.g. website, referral, telegram). Use list_lead_sources to see the workspace's keys. Omit for all sources."}, 'status': {'enum': ['new', 'contacted', 'qualified', 'unqualified', 'converted'], 'type': 'string', 'description': 'Filter by lead status. Omit to return every status. Allowed: new, contacted, qualified, unqualified, converted.'}, 'perPage': {'type': 'integer', 'default': 20, 'maximum': 100, 'minimum': 1, 'description': 'Number of results per page (1-100). Default 20.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'q': {'type': 'string', 'default': '', 'maxLength': 200, 'description': 'Free-text search over product name and SKU. Empty for no text filter.'}, 'tag': {'type': 'string', 'default': '', 'maxLength': 100, 'description': 'Filter to products carrying this tag. Empty means any tag.'}, 'page': {'type': 'integer', 'default': 1, 'maximum': 9007199254740991, 'minimum': 1, 'description': '1-based page number of results to return. Default 1.'}, 'size': {'type': 'string', 'default': '', 'maxLength': 60, 'description': "Filter to products whose size equals this value, ignoring letter case (the product's own size field). Empty means any size."}, 'sort': {'enum': ['', 'name_asc', 'name_desc', 'price_asc', 'price_desc', 'newest', 'popular'], 'type': 'string', 'default': '', 'description': 'Sort order. Empty sorts by name. Allowed: name_asc, name_desc, price_asc, price_desc, newest, popular â\x80\x94 popular ranks by units sold in confirmed, processing, shipped or delivered orders over the last 90 days. Ties break by name.'}, 'type': {'enum': ['', 'simple', 'bundle'], 'type': 'string', 'default': '', 'description': 'Filter by product type. Empty for any; "simple" or "bundle".'}, 'color': {'type': 'string', 'default': '', 'maxLength': 80, 'description': "Filter to products whose color equals this value, ignoring letter case (the product's own color field, not a free-form attribute). Empty means any color."}, 'status': {'enum': ['', 'draft', 'active', 'archived', 'any'], 'type': 'string', 'default': '', 'description': 'Filter by catalog status. Empty keeps the storefront default of active only. Use "draft" to find products waiting to be reviewed (marketplace imports and unknown SKUs from orders land there), or "any" for every status.'}, 'brandId': {'type': 'string', 'default': '', 'maxLength': 40, 'description': 'Filter to one brand by its id. Empty string means any brand.'}, 'inStock': {'enum': ['', 'true'], 'type': 'string', 'default': '', 'description': 'Set "true" to return only products with stock available. Empty means include out-of-stock.'}, 'perPage': {'type': 'integer', 'default': 20, 'maximum': 100, 'minimum': 1, 'description': 'Number of products per page (1-100). Default 20.'}, 'maxPrice': {'type': 'number', 'minimum': 0, 'description': 'Only products priced at or below this amount (workspace currency).'}, 'minPrice': {'type': 'number', 'minimum': 0, 'description': 'Only products priced at or above this amount (workspace currency).'}, 'categoryId': {'type': 'string', 'default': '', 'maxLength': 40, 'description': 'Filter to one category by its id. Empty string means any category.'}, 'collection': {'type': 'string', 'default': '', 'maxLength': 120, 'description': 'Filter to the products of one collection, by its slug from GET /collections. Only a collection that is visible and in season matches â\x80\x94 an unknown, hidden or out-of-season slug is reported as not found, exactly like GET /collections/{slug}. Empty means no collection filter.'}, 'stockState': {'enum': ['', 'low', 'out'], 'type': 'string', 'default': '', 'description': 'Filter by stock state, for products that track inventory. "low" returns products at or under their reorder threshold; "out" returns products with nothing left. Empty applies no stock-state filter.'}, 'warehouseId': {'type': 'string', 'default': '', 'maxLength': 40, 'description': 'Filter to products in one warehouse by its id, from the warehouse list. Use "none" for products assigned to no warehouse â\x80\x94 they match no id, so nothing else surfaces them. Empty means any warehouse. An id absent from this workspace is reported as an error, never as an empty result.'}, 'productGroupId': {'type': 'string', 'default': '', 'maxLength': 120, 'description': "Filter to the variants of one model: products whose productGroupId equals this value exactly. It is the merchant's (or supplier's) own model code, so letter case is part of it. Use it to render the other colours and sizes of the product a buyer is looking at. Empty means any model."}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['organizationId'], 'properties': {'organizationId': {'type': 'string', 'minLength': 1, 'description': 'The workspace organizationId chosen by the user from list_workspaces or WORKSPACE_SELECTION_REQUIRED.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['isActive', 'key', 'label'], 'properties': {'key': {'type': 'string', 'pattern': '^[a-z0-9]+(?:_[a-z0-9]+)*$', 'maxLength': 80, 'minLength': 1, 'description': 'Stable source key, lowercase_with_underscores (built-in or custom).'}, 'label': {'type': 'string', 'maxLength': 120, 'minLength': 1, 'description': 'Human-readable label shown for this source in the UI.'}, 'isActive': {'type': 'boolean', 'description': "Whether the source is selectable for new leads. Set false to archive it (the fallback 'other' source cannot be archived)."}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['stageId', 'id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': 'The deal id returned by search_deals.'}, 'stageId': {'type': 'string', 'maxLength': 160, 'minLength': 1, 'description': 'The target pipeline stage id to move the deal to (from list_pipeline_stages).'}, 'lostReason': {'anyOf': [{'type': 'string', 'maxLength': 500}, {'type': 'null'}], 'description': 'Reason the deal was lost. Required when the target stage is a Closed-lost stage; otherwise omit.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id', 'patch'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': 'The company id returned by search_companies.'}, 'patch': {'type': 'object', 'properties': {'name': {'type': 'string', 'maxLength': 255, 'minLength': 1, 'description': 'The company name (unique within the workspace).'}, 'size': {'enum': ['solo', 'small', 'medium', 'large', 'enterprise'], 'type': 'string', 'description': 'Company size band. Optional. One of: solo, small, medium, large, enterprise.'}, 'status': {'enum': ['prospect', 'active', 'inactive'], 'type': 'string', 'description': 'Relationship status. Optional. One of: prospect, active, inactive.'}, 'ownerId': {'anyOf': [{'type': 'string', 'description': 'User id of the workspace member who owns this company.'}, {'type': 'null'}], 'description': 'User id of the workspace member who owns this company. Optional.'}, 'website': {'anyOf': [{'type': 'string', 'format': 'uri', 'maxLength': 255, 'description': 'The company website URL.'}, {'type': 'null'}], 'description': 'The company website URL. Optional.'}, 'industry': {'anyOf': [{'type': 'string', 'maxLength': 120, 'description': "The company's industry."}, {'type': 'null'}], 'description': "The company's industry. Optional."}}, 'description': 'The company fields to update; include at least one changed field.', 'additionalProperties': False}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id', 'patch'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': 'The contact id returned by search_contacts.'}, 'patch': {'type': 'object', 'properties': {'tags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 80}, 'description': 'Tags for segmentation. Optional.'}, 'email': {'anyOf': [{'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': 255, 'description': "The contact's email address."}, {'type': 'null'}], 'description': "The contact's email address. Optional."}, 'phone': {'anyOf': [{'type': 'string', 'maxLength': 50, 'description': "The contact's phone number."}, {'type': 'null'}], 'description': "The contact's phone number. Optional."}, 'ownerId': {'anyOf': [{'type': 'string', 'description': 'User id of the workspace member who owns this contact.'}, {'type': 'null'}], 'description': 'User id of the workspace member who owns this contact. Optional.'}, 'jobTitle': {'anyOf': [{'type': 'string', 'maxLength': 160, 'description': "The contact's job title."}, {'type': 'null'}], 'description': "The contact's job title. Optional."}, 'lastName': {'anyOf': [{'type': 'string', 'maxLength': 120, 'description': "The contact's last name."}, {'type': 'null'}], 'description': "The contact's last name. Optional."}, 'companyId': {'anyOf': [{'type': 'string', 'description': 'Company id to link this contact to (from search_companies).'}, {'type': 'null'}], 'description': 'Company id to link this contact to (from search_companies). Optional.'}, 'firstName': {'type': 'string', 'maxLength': 120, 'minLength': 1, 'description': "The contact's first name."}}, 'description': 'The contact fields to update; include at least one changed field.', 'additionalProperties': False}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id', 'patch'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': 'The lead id returned by search_leads.'}, 'patch': {'type': 'object', 'properties': {'name': {'type': 'string', 'maxLength': 255, 'minLength': 1, 'description': "The lead's full name or label."}, 'tags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'maxItems': 30, 'description': 'Tags for segmentation (replaces the existing set; max 30).'}, 'email': {'anyOf': [{'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,}$"}, {'type': 'null'}], 'description': "The lead's email; null to clear."}, 'notes': {'anyOf': [{'type': 'string', 'maxLength': 5000}, {'type': 'null'}], 'description': 'Free-text notes; null to clear.'}, 'phone': {'anyOf': [{'type': 'string', 'maxLength': 50, 'minLength': 1}, {'type': 'null'}], 'description': "The lead's phone number; null to clear."}, 'score': {'type': 'integer', 'maximum': 100, 'minimum': 0, 'description': 'Lead quality score, 0-100.'}, 'source': {'type': 'string', 'maxLength': 80, 'minLength': 1, 'description': 'Lead source key (see list_lead_sources).'}, 'status': {'enum': ['new', 'contacted', 'qualified', 'unqualified'], 'type': 'string', 'description': 'Lead status: new, contacted, qualified, unqualified, or converted.'}, 'position': {'anyOf': [{'type': 'string', 'maxLength': 255, 'minLength': 1}, {'type': 'null'}], 'description': "The lead's job title/position; null to clear."}, 'assignedTo': {'anyOf': [{'type': 'string', 'maxLength': 160, 'minLength': 1}, {'type': 'null'}], 'description': 'User id of the workspace member to own the lead; null to unassign.'}, 'companyName': {'anyOf': [{'type': 'string', 'maxLength': 255, 'minLength': 1}, {'type': 'null'}], 'description': "The lead's company name; null to clear."}, 'nextActionDate': {'anyOf': [{'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}, {'type': 'null'}], 'description': 'ISO 8601 timestamp of the next action; null to clear.'}, 'nextActionNote': {'anyOf': [{'type': 'string', 'maxLength': 500, 'minLength': 1}, {'type': 'null'}], 'description': 'What the next action is; null to clear.'}}, 'description': 'The lead fields to update; include at least one changed field.', 'additionalProperties': False}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['externalId', 'itemId', 'patch'], 'properties': {'patch': {'type': 'object', 'properties': {'sku': {'type': 'string', 'maxLength': 120, 'description': 'Product SKU snapshot (from search_products). Optional.'}, 'discount': {'type': 'number', 'default': 0, 'maximum': 100, 'minimum': 0, 'description': 'Percentage discount on this line (0-100). Default 0.'}, 'quantity': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Quantity ordered (integer, at least 1).', 'exclusiveMinimum': 0}, 'unitPrice': {'anyOf': [{'type': 'string', 'pattern': '^\\d+(\\.\\d{1,2})?$'}, {'type': 'number', 'minimum': 0}], 'description': 'Price per unit in the order currency, as a decimal (e.g. 199.99). Snapshotted onto the line.'}, 'productName': {'type': 'string', 'maxLength': 255, 'minLength': 1, 'description': "Line item name, snapshotted onto the order. Use search_products to quote a real catalog product's name. Required."}}, 'description': 'The order item fields to update; include at least one changed field.', 'additionalProperties': False}, 'itemId': {'type': 'string', 'minLength': 1, 'description': 'The order item id returned by get_order.'}, 'externalId': {'type': 'string', 'minLength': 1, 'description': 'The order externalId returned by list_orders or create_order.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status', 'externalId'], 'properties': {'status': {'enum': ['pending', 'confirmed', 'processing', 'shipped', 'delivered', 'cancelled', 'refunded'], 'type': 'string', 'description': 'The new order status. Only valid transitions from the current status are accepted. Allowed values: pending, confirmed, processing, shipped, delivered, cancelled, refunded.'}, 'externalId': {'type': 'string', 'minLength': 1, 'description': 'The order externalId returned by list_orders or create_order.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id', 'patch'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': 'The product id returned by search_products.'}, 'patch': {'type': 'object', 'properties': {'ean': {'anyOf': [{'type': 'string', 'pattern': '^[0-9]{8,14}$'}, {'type': 'null'}], 'example': '4006381333931', 'description': 'GTIN/EAN-8/12/13/14 barcode. Presence-and-shape validation only, no checksum.'}, 'sku': {'anyOf': [{'type': 'string', 'maxLength': 120, 'minLength': 1}, {'type': 'null'}]}, 'name': {'type': 'string', 'maxLength': 255, 'minLength': 1}, 'size': {'anyOf': [{'type': 'string', 'maxLength': 60, 'minLength': 1}, {'type': 'null'}]}, 'tags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'default': []}, 'type': {'enum': ['simple', 'bundle'], 'type': 'string', 'default': 'simple'}, 'unit': {'anyOf': [{'type': 'string', 'maxLength': 40, 'minLength': 1}, {'type': 'null'}]}, 'color': {'anyOf': [{'type': 'string', 'maxLength': 80, 'minLength': 1}, {'type': 'null'}]}, 'depth': {'anyOf': [{'anyOf': [{'type': 'number'}, {'type': 'string', 'minLength': 1}]}, {'type': 'null'}]}, 'price': {'anyOf': [{'anyOf': [{'type': 'number'}, {'type': 'string', 'minLength': 1}]}, {'type': 'null'}]}, 'stock': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'null'}]}, 'width': {'anyOf': [{'anyOf': [{'type': 'number'}, {'type': 'string', 'minLength': 1}]}, {'type': 'null'}]}, 'gender': {'anyOf': [{'enum': ['male', 'female', 'unisex'], 'type': 'string'}, {'type': 'null'}]}, 'height': {'anyOf': [{'anyOf': [{'type': 'number'}, {'type': 'string', 'minLength': 1}]}, {'type': 'null'}]}, 'images': {'type': 'array', 'items': {'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'name': {'type': 'string', 'maxLength': 255, 'minLength': 1}, 'size': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'pathname': {'type': 'string', 'minLength': 1}, 'uploadedAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$'}, 'contentType': {'enum': ['image/jpeg', 'image/png', 'image/webp'], 'type': 'string'}}, 'additionalProperties': False}, 'maxItems': 10}, 'status': {'enum': ['draft', 'active', 'archived'], 'type': 'string', 'default': 'draft'}, 'videos': {'type': 'array', 'items': {'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string', 'format': 'uri'}}}, 'default': [], 'example': [{'url': 'https://www.youtube.com/watch?v=dQw4w9WgXcQ'}], 'maxItems': 5, 'description': 'Video links for the product page (YouTube, Vimeo or a direct file), https only, at most 5. Links, not uploads. On update, sending the field replaces the whole list.'}, 'weight': {'anyOf': [{'anyOf': [{'type': 'number'}, {'type': 'string', 'minLength': 1}]}, {'type': 'null'}]}, 'brandId': {'anyOf': [{'type': 'string', 'maxLength': 160, 'minLength': 1}, {'type': 'null'}]}, 'pattern': {'anyOf': [{'type': 'string', 'maxLength': 80, 'minLength': 1}, {'type': 'null'}]}, 'ageGroup': {'anyOf': [{'enum': ['newborn', 'infant', 'toddler', 'kids', 'adult'], 'type': 'string'}, {'type': 'null'}]}, 'material': {'anyOf': [{'type': 'string', 'maxLength': 120, 'minLength': 1}, {'type': 'null'}]}, 'sizeType': {'anyOf': [{'type': 'string', 'maxLength': 40, 'minLength': 1}, {'type': 'null'}]}, 'condition': {'anyOf': [{'enum': ['new', 'used', 'refurbished'], 'type': 'string'}, {'type': 'null'}]}, 'costPrice': {'anyOf': [{'anyOf': [{'type': 'number'}, {'type': 'string', 'minLength': 1}]}, {'type': 'null'}]}, 'categoryId': {'anyOf': [{'type': 'string', 'maxLength': 160, 'minLength': 1}, {'type': 'null'}]}, 'sizeSystem': {'anyOf': [{'enum': ['AU', 'BR', 'CN', 'DE', 'EU', 'FR', 'IT', 'JP', 'MEX', 'UK', 'US'], 'type': 'string'}, {'type': 'null'}]}, 'supplierId': {'anyOf': [{'type': 'string', 'maxLength': 160, 'minLength': 1}, {'type': 'null'}]}, 'weightUnit': {'anyOf': [{'enum': ['kg', 'g', 'lb', 'oz'], 'type': 'string'}, {'type': 'null'}]}, 'bundleItems': {'type': 'array', 'items': {'type': 'object', 'required': ['productId', 'quantity'], 'properties': {'quantity': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'productId': {'type': 'string', 'maxLength': 160, 'minLength': 1}}, 'additionalProperties': False}, 'default': []}, 'description': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}]}, 'warehouseId': {'anyOf': [{'type': 'string', 'maxLength': 160, 'minLength': 1}, {'type': 'null'}]}, 'costCurrency': {'anyOf': [{'type': 'string', 'pattern': '^[A-Z]{3}$'}, {'type': 'null'}]}, 'dimensionUnit': {'anyOf': [{'enum': ['cm', 'mm', 'in'], 'type': 'string'}, {'type': 'null'}]}, 'compareAtPrice': {'anyOf': [{'anyOf': [{'type': 'number'}, {'type': 'string', 'minLength': 1}]}, {'type': 'null'}]}, 'productGroupId': {'anyOf': [{'type': 'string', 'maxLength': 120, 'minLength': 1}, {'type': 'null'}]}, 'trackInventory': {'type': 'boolean', 'default': False}}, 'description': 'The product fields to update; include at least one changed field.', 'additionalProperties': False}}}
Cambios recientes en herramientas
Servidores MCP similares
TOTVS Protheus
Provides read-only access to TOTVS Protheus ERP data covering inventory, sales, purchasing, customers, suppliers, CRM, pricing, a…
Mercos
Connects to Mercos to manage customers, products, orders, inventory, price tables, payment terms, commissions, users, and logisti…
Nuvemshop
Manages Nuvemshop store products, categories, customers, coupons, and orders, including order status and product mutations.
Contractors Near Me
Searches contractor directories and project bids, retrieves profiles and reviews, and supports lead submission and management.
freedom-mcp
Supports company operations through commitments, teams, agents, customer evidence, leads, content workflows, spreadsheets, commer…
Meta Council
Provides governed workflows for consulting, outreach, sales deals, invoices, marketing campaigns, content approvals, accounting a…
AgentLot Marketplace
Enables agents and users to discover, bid on, purchase, deliver, and settle paid digital services and compute work.
GestãoClick
Connects to the GestãoClick ERP to manage customers, suppliers, products, sales, service orders, budgets, and financial records.