bitroad
Qué hace este MCP
Enables agents to search and purchase marketplace goods under spending controls, manage orders and returns, and handle payments and disputes.
Herramientas
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['recipient_name', 'line1', 'town', 'postcode', 'country', 'is_default_shipping'], 'properties': {'town': {'type': 'string', 'maxLength': 120, 'minLength': 1, 'description': 'Town or city.'}, 'line1': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'First address line (street address).'}, 'line2': {'anyOf': [{'type': 'string', 'maxLength': 200}, {'type': 'null'}], 'description': 'Second address line, if any.'}, 'phone': {'anyOf': [{'type': 'string', 'maxLength': 40}, {'type': 'null'}], 'description': 'Contact phone number for delivery, if any.'}, 'region': {'anyOf': [{'type': 'string', 'maxLength': 40}, {'type': 'null'}], 'description': 'Two-letter US state code (e.g. CA); required for country=US, unused for GB.'}, 'country': {'enum': ['GB', 'US'], 'type': 'string', 'default': 'GB', 'description': 'Destination country code: GB (default) or US.'}, 'postcode': {'type': 'string', 'maxLength': 12, 'minLength': 2, 'description': 'UK postcode for GB; US ZIP as 12345 or 12345-6789.'}, 'recipient_name': {'type': 'string', 'maxLength': 120, 'minLength': 1, 'description': 'Full name of the delivery recipient.'}, 'is_default_shipping': {'type': 'boolean', 'default': False, 'description': "When true, make this the buyer's default shipping address. Defaults to false."}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'minLength': 1, 'description': 'Slug of the category to describe, e.g. "electronics/phones/smartphones".'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['product_id'], 'properties': {'product_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$', 'description': 'UUID of the product to fetch.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'slug': {'type': 'string', 'description': 'Category slug to root the listing at (that node plus descendants); omit for the full tree.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['category_subtree', 'restricted', 'min_seller_tier', 'page_size'], 'properties': {'q': {'type': 'string', 'maxLength': 200, 'description': 'Free-text query matched case-insensitively against product title and description.'}, 'spec': {'type': 'object', 'description': 'Exact-match filters on category spec fields, as key/value pairs.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'cursor': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$', 'description': 'Opaque cursor from next_cursor in the previous page; omit for the first page.'}, 'category': {'type': 'string', 'maxLength': 120, 'description': 'Category slug to filter by (see catalog_list_categories); unknown slugs return no hits.'}, 'spec_max': {'type': 'object', 'description': 'Numeric upper bounds on spec fields; keys must be rangeable for the given leaf `category`.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'number'}}, 'spec_min': {'type': 'object', 'description': 'Numeric lower bounds on spec fields; keys must be rangeable for the given leaf `category`.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'number'}}, 'page_size': {'type': 'integer', 'default': 20, 'maximum': 100, 'minimum': 1, 'description': 'Results per page, 1-100. Defaults to 20.'}, 'seller_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$', 'description': "Filter to one seller's listings."}, 'restricted': {'enum': ['allow', 'exclude_age', 'exclude_all'], 'type': 'string', 'default': 'exclude_age', 'description': 'Restricted-goods filter: exclude_age (default) hides age-restricted items, exclude_all hides all restricted, allow hides none.'}, 'certifications': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Only products carrying at least one of these certification strings.'}, 'min_seller_tier': {'enum': ['basic', 'verified', 'premium'], 'type': 'string', 'default': 'basic', 'description': 'Minimum seller verification tier: basic (default) < verified < premium.'}, 'category_subtree': {'type': 'boolean', 'default': False, 'description': 'When true, also match products in descendant categories of `category`. Defaults to false.'}, 'improves_on_statutory': {'type': 'boolean', 'description': 'When true, only products whose return policy improves on the statutory minimum.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['dispute_id', 'kind', 'mime_type', 'body_b64'], 'properties': {'kind': {'enum': ['image', 'document', 'delivery_proof', 'communication_log', 'other'], 'type': 'string', 'description': 'What the evidence item is.'}, 'caption': {'anyOf': [{'type': 'string', 'maxLength': 500}, {'type': 'null'}], 'description': 'Optional caption shown alongside the evidence item.'}, 'body_b64': {'type': 'string', 'maxLength': 34952536, 'description': 'File contents, base64-encoded. Max 25 MB per item.'}, 'mime_type': {'type': 'string', 'maxLength': 120, 'minLength': 1, 'description': "MIME type of the file, e.g. 'image/jpeg'."}, 'dispute_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$', 'description': 'UUID of the open dispute to attach evidence to.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['reason', 'summary'], 'properties': {'reason': {'enum': ['not_as_described', 'defective', 'not_received', 'fraud_unauthorized_charge', 'duplicate_charge', 'other', 'service_not_delivered', 'service_quality', 'service_scope_mismatch'], 'type': 'string', 'description': 'Dispute reason. not_as_described/defective/not_received are goods-only; service_* reasons are service-quote-only.'}, 'summary': {'type': 'string', 'maxLength': 4000, 'minLength': 1, 'description': 'Plain-text account of the problem, max 4000 chars.'}, 'order_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$', 'description': 'UUID of the goods order in dispute. Provide exactly one of order_id / service_quote_id.'}, 'desired_outcome': {'anyOf': [{'type': 'string', 'maxLength': 500}, {'type': 'null'}], 'description': 'What the buyer wants, e.g. a full refund. Max 500 chars.'}, 'service_quote_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$', 'description': 'UUID of the service quote in dispute. Provide exactly one of order_id / service_quote_id.'}, 'claimed_amount_pence': {'anyOf': [{'anyOf': [{}, {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}]}, {'type': 'null'}], 'description': 'Amount claimed, in pence (minor units); cannot exceed the charged total. Omit if unsure.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['dispute_id'], 'properties': {'dispute_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$', 'description': 'UUID of the dispute to fetch.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['page_size'], 'properties': {'cursor': {'type': 'string', 'description': 'Opaque cursor from next_cursor in the previous page; omit for the first page.'}, 'status': {'enum': ['filed', 'triaged', 'auto_resolved_buyer', 'auto_resolved_seller', 'admin_review', 'resolved_buyer', 'resolved_seller', 'resolved_split', 'withdrawn', 'expired'], 'type': 'string', 'description': 'Filter to a single dispute status; omit for all statuses.'}, 'page_size': {'type': 'integer', 'default': 20, 'maximum': 100, 'minimum': 1, 'description': 'Results per page, 1-100. Defaults to 20.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['dispute_id', 'text'], 'properties': {'text': {'type': 'string', 'maxLength': 4000, 'minLength': 1, 'description': "The seller's response, free-form text."}, 'dispute_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$', 'description': 'UUID of the dispute being responded to.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['dispute_id'], 'properties': {'dispute_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$', 'description': 'UUID of the open dispute to withdraw.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['envelope_id'], 'properties': {'envelope_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$', 'description': 'UUID of the payment envelope to fetch.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['order_id'], 'properties': {'order_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$', 'description': 'UUID of the order to fetch.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['page_size'], 'properties': {'cursor': {'type': 'string', 'description': 'Opaque cursor from next_cursor in the previous page; omit for the first page.'}, 'status': {'enum': ['paid_awaiting_fulfillment', 'shipped', 'delivered', 'cancelled', 'refunded'], 'type': 'string', 'description': 'Filter to a single order status; omit for all statuses.'}, 'page_size': {'type': 'integer', 'default': 20, 'maximum': 100, 'minimum': 1, 'description': 'Results per page, 1-100. Defaults to 20.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'maxLength': 120, 'minLength': 1, 'description': 'URL slug of the platform to fetch (not a UUID).'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['intent_id'], 'properties': {'intent_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$', 'description': 'UUID of the pending intent to cancel.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['intent_id', 'acknowledged_confirmation'], 'properties': {'intent_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$', 'description': 'UUID of the purchase intent to confirm.'}, 'confirmation_token': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Token from the confirmation_required response; must match when acknowledging a confirmation.'}, '__outcomeForTesting': {'enum': ['ok', 'requires_action', 'declined', 'provider_error'], 'type': 'string', 'description': 'Test-only override of the simulated card outcome. Omit in normal use.'}, 'acknowledged_confirmation': {'type': 'boolean', 'default': False, 'description': 'Set true to acknowledge an intent that requires explicit confirmation. Defaults to false.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['product_id', 'quantity'], 'properties': {'quantity': {'type': 'integer', 'default': 1, 'maximum': 100, 'minimum': 1, 'description': 'Units to buy, 1-100. Defaults to 1.'}, 'address_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$', 'description': "UUID of a saved shipping address; defaults to the buyer's default address."}, 'product_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$', 'description': 'UUID of the product to purchase.'}, 'payment_method_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$', 'description': "UUID of a saved payment method owned by the buyer; defaults to the buyer's default card."}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['return_id'], 'properties': {'return_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$', 'description': 'UUID of the return to fetch.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['return_id'], 'properties': {'return_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$', 'description': 'UUID of the return whose label is being fetched.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['order_id', 'reason'], 'properties': {'reason': {'enum': ['cooling_off_statutory', 'cooling_off_extended', 'defective'], 'type': 'string', 'description': "Why the item is coming back: statutory 14-day cooling-off, seller's extended cooling-off window, or defective goods."}, 'order_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$', 'description': 'UUID of the order to return.'}, 'description': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'description': 'Free-text detail about the return, max 2000 chars.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['page_size'], 'properties': {'cursor': {'type': 'string', 'description': 'Opaque cursor from next_cursor in the previous page; omit for the first page.'}, 'status': {'enum': ['requested', 'approved', 'received', 'refunded', 'rejected', 'expired'], 'type': 'string', 'description': 'Filter to a single return status; omit for all statuses.'}, 'order_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$', 'description': 'Filter to returns for one order.'}, 'page_size': {'type': 'integer', 'default': 20, 'maximum': 100, 'minimum': 1, 'description': 'Results per page, 1-100. Defaults to 20.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['return_id'], 'properties': {'return_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$', 'description': 'UUID of the return to accept. Acceptance refunds the buyer immediately (idempotent).'}, 'inspection_notes': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'description': 'Optional inspection notes recorded on the return (max 2000 chars).'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['product_id'], 'properties': {'product_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$', 'description': 'UUID of the listing to archive (deactivate). Refused while purchase intents are pending.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['order_id', 'carrier', 'tracking_number'], 'properties': {'carrier': {'enum': ['royal_mail', 'dpd', 'other'], 'type': 'string', 'description': 'Carrier handling the shipment.'}, 'order_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$', 'description': 'UUID of the order to attach tracking to (must be awaiting fulfilment or shipped).'}, 'tracking_number': {'type': 'string', 'maxLength': 120, 'minLength': 1, 'description': 'Carrier tracking number; replaces any tracking already on the shipment.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['title', 'description', 'category_slug', 'price_pence', 'shipping_pence', 'vat_rate_bp', 'stock', 'images', 'certifications', 'specs'], 'properties': {'slug': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9-]*$', 'maxLength': 200, 'description': 'URL slug base (lowercase letters, digits, hyphens); a random suffix is appended. Omit to derive from title.'}, 'specs': {'type': 'object', 'default': {}, 'description': "Category-specific spec values; must match the category's spec schema.", 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'stock': {'type': 'integer', 'default': 0, 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Initial units in stock. Defaults to 0.'}, 'title': {'type': 'string', 'maxLength': 300, 'minLength': 1, 'description': 'Product title shown to buyers (1-300 chars).'}, 'images': {'type': 'array', 'items': {'type': 'string', 'format': 'uri', 'maxLength': 2000}, 'default': [], 'maxItems': 12, 'description': 'Image URLs (https, max 12); the first entry becomes the primary image.'}, 'width_mm': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Package width in millimetres.'}, 'height_mm': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Package height in millimetres.'}, 'length_mm': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Package length in millimetres.'}, 'description': {'type': 'string', 'maxLength': 20000, 'description': 'Full product description (max 20000 chars).'}, 'price_pence': {'anyOf': [{}, {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}], 'description': "Item price in pence (integer minor units of the seller's currency)."}, 'vat_rate_bp': {'type': 'integer', 'default': 0, 'maximum': 2500, 'minimum': 0, 'description': 'VAT rate in basis points, 0-2500 (2000 = 20%). Defaults to 0.'}, 'weight_grams': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Item weight in grams.'}, 'category_slug': {'type': 'string', 'minLength': 1, 'description': 'Slug of a leaf catalog category to list under.'}, 'return_policy': {'description': 'Return-policy object; omit to use the seller-country default. Validated against platform floors.'}, 'certifications': {'type': 'array', 'items': {'type': 'string'}, 'default': [], 'description': 'Certification labels the product holds (free-form strings).'}, 'shipping_pence': {'anyOf': [{}, {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}], 'default': 0, 'description': 'Shipping charge in pence (integer minor units). Defaults to 0.'}, 'country_of_origin': {'type': 'string', 'maxLength': 2, 'minLength': 2, 'description': 'ISO 3166-1 alpha-2 country of origin (e.g. GB).'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['product_id'], 'properties': {'product_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$', 'description': 'UUID of the listing to fetch.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['order_id'], 'properties': {'order_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$', 'description': 'UUID of the order to fetch.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['return_id'], 'properties': {'return_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$', 'description': 'UUID of the return to fetch.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['page_size'], 'properties': {'cursor': {'type': 'string', 'description': "Opaque cursor from the previous page's next_cursor."}, 'is_active': {'type': 'boolean', 'description': 'Filter by active status; omit to include archived listings too.'}, 'page_size': {'type': 'integer', 'default': 20, 'maximum': 100, 'minimum': 1, 'description': 'Results per page (1-100, default 20).'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['page_size'], 'properties': {'cursor': {'type': 'string', 'description': "Opaque cursor from the previous page's next_cursor."}, 'status': {'enum': ['paid_awaiting_fulfillment', 'shipped', 'delivered', 'cancelled', 'refunded'], 'type': 'string', 'description': 'Filter by order status; omit for all orders.'}, 'page_size': {'type': 'integer', 'default': 20, 'maximum': 100, 'minimum': 1, 'description': 'Results per page (1-100, default 20).'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['page_size'], 'properties': {'cursor': {'type': 'string', 'description': "Opaque cursor from the previous page's next_cursor."}, 'status': {'enum': ['requested', 'approved', 'received', 'refunded', 'rejected', 'expired'], 'type': 'string', 'description': 'Filter by return status; omit for all returns.'}, 'page_size': {'type': 'integer', 'default': 20, 'maximum': 100, 'minimum': 1, 'description': 'Results per page (1-100, default 20).'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['page_size'], 'properties': {'cursor': {'type': 'string', 'description': "Opaque cursor from the previous page's next_cursor."}, 'page_size': {'type': 'integer', 'default': 20, 'maximum': 100, 'minimum': 1, 'description': 'Results per page (1-100, default 20).'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['order_id'], 'properties': {'order_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$', 'description': 'UUID of the shipped order to declare delivered. Already-delivered is a no-op success.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['order_id', 'carrier', 'tracking_number'], 'properties': {'carrier': {'enum': ['royal_mail', 'dpd', 'other'], 'type': 'string', 'description': 'Carrier handling the shipment.'}, 'order_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$', 'description': 'UUID of the paid order to mark as shipped.'}, 'label_url': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}], 'description': 'URL of the shipping label, if available.'}, 'tracking_number': {'type': 'string', 'maxLength': 120, 'minLength': 1, 'description': 'Carrier tracking number. Idempotent: repeating the same order + number is a no-op success.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['return_id', 'inspection_notes'], 'properties': {'return_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$', 'description': 'UUID of the return to reject. Rejection is terminal: no refund is issued.'}, 'inspection_notes': {'type': 'string', 'maxLength': 2000, 'minLength': 1, 'description': 'Reason for rejection, shared with the buyer (1-2000 chars).'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['review_id', 'text'], 'properties': {'text': {'type': 'string', 'maxLength': 2000, 'minLength': 1, 'description': 'Public response text shown under the review (1-2000 chars).'}, 'review_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$', 'description': 'UUID of the review to respond to. Each review allows one seller response.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['seller_id'], 'properties': {'seller_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$', 'description': 'UUID of the seller whose public profile to fetch.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['product_id'], 'properties': {'specs': {'type': 'object', 'description': "Replacement spec values; must match the listing's category spec schema.", 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'title': {'type': 'string', 'maxLength': 300, 'minLength': 1, 'description': 'New product title (1-300 chars).'}, 'images': {'type': 'array', 'items': {'type': 'string', 'format': 'uri', 'maxLength': 2000}, 'maxItems': 12, 'description': 'Replacement image URL array (https, max 12); the first entry becomes the primary image.'}, 'width_mm': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'null'}], 'description': 'New package width in millimetres; null clears it.'}, 'height_mm': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'null'}], 'description': 'New package height in millimetres; null clears it.'}, 'length_mm': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'null'}], 'description': 'New package length in millimetres; null clears it.'}, 'product_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$', 'description': 'UUID of the listing to update. Omitted fields are left unchanged.'}, 'description': {'type': 'string', 'maxLength': 20000, 'description': 'New product description (max 20000 chars).'}, 'price_pence': {'anyOf': [{}, {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}], 'description': 'New item price in pence (integer minor units).'}, 'vat_rate_bp': {'type': 'integer', 'maximum': 2500, 'minimum': 0, 'description': 'New VAT rate in basis points, 0-2500 (2000 = 20%).'}, 'weight_grams': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'null'}], 'description': 'New item weight in grams; null clears it.'}, 'return_policy': {'description': 'Replacement return-policy object; validated against platform floors.'}, 'certifications': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Replacement list of certification labels.'}, 'shipping_pence': {'anyOf': [{}, {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}], 'description': 'New shipping charge in pence (integer minor units).'}, 'country_of_origin': {'anyOf': [{'type': 'string', 'maxLength': 2, 'minLength': 2}, {'type': 'null'}], 'description': 'New ISO 3166-1 alpha-2 country of origin; null clears it.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['product_id'], 'properties': {'delta': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Signed adjustment applied to current stock (e.g. -2). Result cannot go below reserved stock.'}, 'stock': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Absolute new stock level in units. Provide either stock or delta, not both.'}, 'product_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$', 'description': 'UUID of the listing whose stock to change.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['service_quote_id', 'acknowledged_confirmation'], 'properties': {'service_quote_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$', 'description': 'UUID of the quoted thread to accept and pay.'}, 'payment_method_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$', 'description': "UUID of a saved payment method to charge. Omitted = envelope-bound card, else the principal's default."}, 'confirmation_token': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Token from the confirmation_required kickback; must match to complete the charge.'}, '__outcomeForTesting': {'enum': ['ok', 'requires_action', 'declined', 'provider_error'], 'type': 'string', 'description': 'Test-only: force a simulated card outcome. Never set in production.'}, 'acknowledged_confirmation': {'type': 'boolean', 'default': False, 'description': 'Set true when retrying after a confirmation_required kickback, together with confirmation_token.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['service_quote_id'], 'properties': {'service_quote_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$', 'description': 'UUID of the delivered quote thread to accept.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['service_quote_id', 'price_pence', 'eta_minutes'], 'properties': {'terms': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'description': "Optional free-text terms replacing the standing offer's terms."}, 'eta_minutes': {'type': 'integer', 'maximum': 129600, 'description': 'Revised turnaround estimate in minutes.', 'exclusiveMinimum': 0}, 'price_pence': {'anyOf': [{}, {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}], 'description': "Counter-offer price in pence (minor units of the seller's currency); must stay inside the listing's price band."}, 'service_quote_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$', 'description': 'UUID of the quote thread to counter.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['title', 'summary', 'category', 'scope_schema', 'auto_quote_enabled', 'haggling_enabled', 'pricing_mode', 'vat_rate_bp', 'status'], 'properties': {'title': {'type': 'string', 'maxLength': 160, 'minLength': 1, 'description': 'Short human-readable title of the service listing.'}, 'status': {'enum': ['draft', 'active'], 'type': 'string', 'default': 'active', 'description': "'active' (default) publishes immediately; 'draft' keeps the listing hidden from buyers."}, 'summary': {'type': 'string', 'maxLength': 4000, 'minLength': 1, 'description': 'Plain-text description of what the service does and its limits.'}, 'category': {'enum': ['gpu_compute', 'synthetic_data', 'inference', 'vector_hosting', 'code_review', 'research', 'other'], 'type': 'string', 'description': 'Service category. Delegation/envelope spend checks see it as service:<category>.'}, 'vat_rate_bp': {'type': 'integer', 'default': 0, 'maximum': 10000, 'minimum': 0, 'description': "VAT rate in basis points (0–10000, e.g. 2000 = 20%) applied to this listing's charges."}, 'pricing_hint': {'anyOf': [{'type': 'string', 'maxLength': 500}, {'type': 'null'}], 'description': "Free-text pricing guidance shown to buyers (e.g. 'from £50 per 1k rows')."}, 'pricing_mode': {'enum': ['quote', 'fixed'], 'type': 'string', 'default': 'quote', 'description': "'quote' (default): buyers request a quote; 'fixed': buyers purchase in one call at a deterministic price."}, 'scope_schema': {'type': 'object', 'default': {}, 'description': "Field DSL a buyer's scope must conform to: {name: {type, required, min, max, max_length, values}}. Max 32 fields.", 'propertyNames': {'type': 'string', 'pattern': '^[a-z][a-z0-9_]{0,63}$'}, 'additionalProperties': {'type': 'object', 'required': ['type', 'required'], 'properties': {'max': {'type': 'number', 'description': 'Maximum value (int/number fields only).'}, 'min': {'type': 'number', 'description': 'Minimum value (int/number fields only).'}, 'type': {'enum': ['string', 'int', 'number', 'boolean', 'enum'], 'type': 'string', 'description': "Value type a buyer's scope must supply for this field."}, 'values': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 100, 'minItems': 1, 'description': "Allowed values (enum fields only; required for type 'enum')."}, 'required': {'type': 'boolean', 'default': True, 'description': 'Whether the buyer must supply this field.'}, 'max_length': {'type': 'integer', 'maximum': 100000, 'description': 'Maximum string length (string fields only).', 'exclusiveMinimum': 0}, 'description': {'type': 'string', 'maxLength': 500, 'description': 'Human/agent-readable explanation of what this field means.'}}, 'additionalProperties': False}}, 'max_price_pence': {'anyOf': [{'anyOf': [{}, {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}]}, {'type': 'null'}], 'description': 'Inclusive maximum quoted price in pence. Null = no upper bound.'}, 'min_price_pence': {'anyOf': [{'anyOf': [{}, {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}]}, {'type': 'null'}], 'description': "Inclusive minimum quoted price in pence (minor units of the seller's currency). Null = no lower bound."}, 'eta_hint_minutes': {'anyOf': [{'type': 'integer', 'maximum': 129600, 'exclusiveMinimum': 0}, {'type': 'null'}], 'description': 'Indicative turnaround time in minutes shown to buyers.'}, 'fixed_unit_field': {'anyOf': [{'type': 'string', 'maxLength': 64}, {'type': 'null'}], 'description': 'Fixed mode: name of a required int scope_schema field to meter billing on. Set all three fixed_unit_* together.'}, 'haggling_enabled': {'type': 'boolean', 'default': False, 'description': 'Allow iterative buyer/seller counter-offers on this quote-mode listing. Ignored for fixed-price listings.'}, 'fixed_price_pence': {'anyOf': [{'anyOf': [{}, {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}]}, {'type': 'null'}], 'description': "Fixed mode: flat base price in pence. Required when pricing_mode='fixed'."}, 'auto_quote_enabled': {'type': 'boolean', 'default': False, 'description': 'Signals that quote requests on this listing are answered automatically by a seller agent.'}, 'fixed_unit_quantity': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, {'type': 'null'}], 'description': 'Fixed mode: units per billed block; partial blocks are rounded up.'}, 'fixed_unit_price_pence': {'anyOf': [{'anyOf': [{}, {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}]}, {'type': 'null'}], 'description': 'Fixed mode: price in pence per block of fixed_unit_quantity units.'}, 'fulfillment_instance_id': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$'}, {'type': 'null'}], 'description': 'Bind fulfilment to one seller agent instance. Null/omitted = any seller key with respond_quote may fulfil.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['service_listing_id'], 'properties': {'service_listing_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$', 'description': 'UUID of the service listing to fetch.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['service_quote_id'], 'properties': {'service_quote_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$', 'description': 'UUID of the quote thread to fetch.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['page_size'], 'properties': {'cursor': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$', 'description': 'Pagination cursor — the next_cursor value from the previous page.'}, 'status': {'enum': ['requested', 'withdrawn', 'quoted', 'rejected', 'expired', 'pending_principal_confirmation', 'accepted', 'paid', 'in_progress', 'delivered', 'released', 'disputed', 'refunded', 'cancelled'], 'type': 'string', 'description': 'Filter by thread status (requested, quoted, paid, delivered, released, ...).'}, 'page_size': {'type': 'integer', 'default': 20, 'maximum': 100, 'minimum': 1, 'description': 'Results per page (1-100, default 20).'}, 'service_listing_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$', 'description': 'Filter to quote threads on one service listing.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status', 'page_size'], 'properties': {'cursor': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$', 'description': 'Pagination cursor — the next_cursor value from the previous page.'}, 'status': {'enum': ['paid', 'in_progress', 'delivered', 'active'], 'type': 'string', 'default': 'active', 'description': "'active' (default) = paid + in_progress + delivered together; or one exact status."}, 'page_size': {'type': 'integer', 'default': 20, 'maximum': 100, 'minimum': 1, 'description': 'Results per page (1-100, default 20).'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'cursor': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$', 'description': "Pagination cursor from the previous page's response."}, 'page_size': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Results per page, 1-100.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['service_listing_id', 'scope', 'acknowledged_confirmation'], 'properties': {'scope': {'type': 'object', 'default': {}, 'description': "Scope-of-work values; must conform to the listing's scope_schema. The metered field drives the computed price.", 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'payment_method_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$', 'description': "UUID of a saved payment method to charge. Omitted = envelope-bound card, else the principal's default."}, 'requested_summary': {'anyOf': [{'type': 'string', 'maxLength': 4000}, {'type': 'null'}], 'description': 'Free-text description of the work being requested.'}, 'confirmation_token': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Token from the confirmation_required kickback; must match to complete the charge.'}, 'service_listing_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$', 'description': 'UUID of the fixed-price service listing to buy.'}, '__outcomeForTesting': {'enum': ['ok', 'requires_action', 'declined', 'provider_error'], 'type': 'string', 'description': 'Test-only: force a simulated card outcome. Never set in production.'}, 'acknowledged_confirmation': {'type': 'boolean', 'default': False, 'description': 'Set true when retrying after a confirmation_required kickback, together with confirmation_token.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['service_quote_id'], 'properties': {'service_quote_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$', 'description': 'UUID of the quote thread to reject.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['service_listing_id', 'scope'], 'properties': {'scope': {'type': 'object', 'default': {}, 'description': "Scope-of-work values; must conform to the listing's scope_schema.", 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'requested_summary': {'anyOf': [{'type': 'string', 'maxLength': 4000}, {'type': 'null'}], 'description': 'Free-text description of the work being requested.'}, 'service_listing_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$', 'description': 'UUID of the quote-mode service listing to request a quote against.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['page_size'], 'properties': {'q': {'type': 'string', 'maxLength': 200, 'description': 'Substring to match against listing titles and summaries.'}, 'cursor': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$', 'description': 'Pagination cursor — the next_cursor value from the previous page.'}, 'category': {'enum': ['gpu_compute', 'synthetic_data', 'inference', 'vector_hosting', 'code_review', 'research', 'other'], 'type': 'string', 'description': 'Filter to one service category.'}, 'page_size': {'type': 'integer', 'default': 20, 'maximum': 100, 'minimum': 1, 'description': 'Results per page (1-100, default 20).'}, 'pricing_mode': {'enum': ['quote', 'fixed'], 'type': 'string', 'description': "Filter by pricing mode: 'fixed' (one-call purchase) or 'quote' (request a quote)."}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['service_quote_id'], 'properties': {'service_quote_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$', 'description': 'UUID of the paid quote thread to start work on.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['service_quote_id', 'kind'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'maxLength': 2000, 'description': 'Required for kind=url: link where the deliverable lives.'}, 'kind': {'enum': ['url', 'text', 'file', 'secret'], 'type': 'string', 'description': 'Deliverable type: url, text, file (base64 upload) or secret (encrypted, buyer-only).'}, 'text': {'type': 'string', 'maxLength': 100000, 'minLength': 1, 'description': 'Required for kind=text: the deliverable content itself.'}, 'secret': {'type': 'string', 'maxLength': 10000, 'minLength': 1, 'description': 'Required for kind=secret: sensitive value (API key, credential). Encrypted at rest; only the buyer can read it.'}, 'file_b64': {'type': 'string', 'maxLength': 37049686, 'description': 'Required for kind=file: base64-encoded file bytes, max 25 MB decoded.'}, 'file_name': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Required for kind=file: filename shown to the buyer; unsafe characters are replaced.'}, 'seller_note': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'description': 'Optional note to the buyer accompanying the deliverable.'}, 'file_mime_type': {'type': 'string', 'maxLength': 120, 'minLength': 1, 'description': 'Required for kind=file: MIME type. Types outside the inert allowlist are served as forced downloads.'}, 'service_quote_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$', 'description': 'UUID of the paid or in-progress quote thread to deliver on.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['service_quote_id', 'price_pence', 'eta_minutes'], 'properties': {'terms': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'description': 'Optional free-text terms attached to the quote.'}, 'eta_minutes': {'type': 'integer', 'maximum': 129600, 'description': 'Estimated turnaround in minutes.', 'exclusiveMinimum': 0}, 'price_pence': {'anyOf': [{}, {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}], 'description': "Quoted price in pence (minor units of the seller's settlement currency); must sit inside the listing's price band."}, 'service_quote_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$', 'description': 'UUID of the requested quote thread to answer.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['service_quote_id'], 'properties': {'service_quote_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$', 'description': 'UUID of the quote request to withdraw.'}}, 'additionalProperties': False}
Cambios recientes en herramientas
Servidores MCP similares
AgentLot Marketplace
Enables agents and users to discover, bid on, purchase, deliver, and settle paid digital services and compute work.
Digital Manager Guru
Provides Digital Manager Guru checkout, customer, transaction, subscription, affiliate, coupon, blocklist, and digital-product sa…
Pagar.me
Connects to Pagar.me to manage customers, cards, orders, charges, invoices, payment captures, confirmations, retries, refunds, an…
roastify-mcp
Supports a coffee commerce workflow with product and blend catalogs, inventory, coupons, packaging design editing, artwork genera…
Singularity Layer MCP
Provides marketplace discovery, agent endpoint and asset management, dataset and product purchases, payment flows, and ERC-8004 a…
agentic-commerce
Enables on-chain commerce through Boson Protocol, including product offers, buyer and seller accounts, voucher exchanges, escrow-…
agentcard
Manages prepaid virtual cards with spending controls, approvals, funding, rewards, and connected-merchant shopping flows.
sella
Operates an agent marketplace for purchasing datasets, APIs, and products, including catalog discovery, purchase settlement, deli…