MCP 服务器

bitroad

ai.bitroad/bitroad
电商与零售 支付与金融科技 公开且可连接 MCP 2026-07-28

此 MCP 可以做什么

Enables agents to search and purchase marketplace goods under spending controls, manage orders and returns, and handle payments and disputes.

addresses_create
Addresses create
Save a new shipping address. Set is_default_shipping=true to make it the default.
输入模式
{'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}
addresses_list
Addresses list
List the principal's saved shipping addresses. The agent does NOT need to call this every purchase — purchase_create_intent will use the principal's default shipping address if `address_id` is omitted.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': False}
auth_revoke_self
Auth revoke self
Disconnect this OAuth connection by revoking the access+refresh chain that issued the token making this call. Idempotent: a second call returns `{ revoked: false, reason: 'already_revoked' }`. Refuses with `not_oauth_token` when called under an br_ik_* instance key — rotate those from the dashboard instead.
可能执行破坏性操作 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': False}
auth_whoami
Auth whoami
Return who this MCP credential acts as: principal email/role, agent name, client (Claude install) that issued the token, and when it was last used. Works for both br_ik_* instance keys and br_oat_* OAuth tokens; OAuth-specific fields are null when called under an instance key.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': False}
catalog_describe_category
Catalog describe category
Fetch one category by slug, including the spec JSON Schema for leaf categories. Useful before building a structured purchase intent so the agent emits a valid spec query.
只读 幂等
输入模式
{'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}
catalog_get_product
Catalog get product
Fetch a single product by id. Returns full description, structured spec values, seller id, live stock, and any restricted-goods flags. Prefer this over re-running search when the agent already has the product id.
只读 幂等
输入模式
{'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}
catalog_list_categories
Catalog list categories
List the marketplace's category taxonomy. Optionally pass `slug` to scope to a subtree (e.g. 'electronics'). Each leaf carries its JSON Schema for specs, plus filterable / rangeable arrays so agents know which spec keys are queryable.
只读 幂等
输入模式
{'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}
catalog_search_products
Catalog search products
Search marketplace products by free-text query, optional category, or seller. Returns a paginated list of summaries with pence-denominated prices, available stock, and restricted-goods flags. Pass a concise phrase, not a full sentence.
只读 幂等
输入模式
{'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}
disputes_add_evidence
Disputes add evidence
Attach an evidence item to an open dispute. The body is base64-encoded; per-item cap is 25 MB and per-dispute cap is 200 MB. Either the filing buyer or the seller-owner can upload.
输入模式
{'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}
disputes_file
Disputes file
File a dispute on a goods order (order_id; reasons: not_as_described, defective, not_received, fraud_unauthorized_charge, duplicate_charge, other) or a service quote (service_quote_id; reasons: service_not_delivered, service_quality, service_scope_mismatch, plus the generic three). Exactly one target. Filing on a service quote pauses its payout auto-release. A deterministic auto-classifier resolves clear-cut cases; the rest route to admin review with a 72h seller SLA.
输入模式
{'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}
disputes_get
Disputes get
Fetch one dispute by id with the full evidence trail and timeline. Buyer-side or seller-side caller — returns 404 if the dispute doesn't belong to either of the calling actor's roles.
只读 幂等
输入模式
{'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}
disputes_list
Disputes list
List disputes for the authenticated principal (buyer-side: ones they filed; seller-side: ones filed against their orders). Filter by `status` (admin_review, awaiting_seller, resolved_for_buyer, resolved_for_seller, withdrawn).
只读 幂等
输入模式
{'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}
disputes_respond
Disputes respond
Seller-side response to a dispute. Requires the seller delegation's `respond_dispute` action. Free-form text 1–4000 chars.
输入模式
{'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}
disputes_withdraw
Disputes withdraw
Buyer-only: withdraw an open dispute. Closed disputes cannot be withdrawn.
可能执行破坏性操作
输入模式
{'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}
envelopes_get
Envelopes get
Fetch a single envelope by id. Returns the same shape as envelopes_list. Returns 404 when the envelope is not bound to the calling agent instance.
只读 幂等
输入模式
{'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}
envelopes_list
Envelopes list
List the active and historical payment envelopes the calling agent instance can draw against. Each entry shows balance, scope, validity, and per-tx / per-day caps. Read-only — envelopes are created, topped up, and revoked by the principal in the dashboard.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': False}
orders_get
Orders get
Fetch a single order with line items, shipment / tracking, payment status, and any associated returns or disputes. Buyer-side view — for seller-side use seller_get_order.
只读 幂等
输入模式
{'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}
orders_list
Orders list
List orders the authenticated principal placed (buyer-side view), paginated with a cursor. Optional status filter (e.g. 'paid_awaiting_fulfillment', 'delivered', 'cancelled'). Use this to find an order id before calling orders_get.
只读 幂等
输入模式
{'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}
payment_methods_create
Payment methods create
Returns a one-time Stripe Checkout URL to hand the user so they can add a payment card. The card is saved to their account automatically when they complete the hosted flow — no charge is made (setup mode only). Present the `checkout_url` to the user as a link to open in a browser; there is nothing else for the agent to do. Buyer principals only.
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': False}
payment_methods_list
Payment methods list
List the principal's saved payment methods (last4 + brand only — full card numbers are never exposed to agents). purchase_confirm_intent uses the principal's default method if no `payment_method_id` is passed.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': False}
platforms_get
Platforms get
Fetch a platform's public reputation profile by slug: KYC status, rolling-window orders/disputes/refunds, on-time-ship rate, dispute resolution p50/p95, anomaly-pause count. Decommissioned platforms include the banner and reason.
只读 幂等
输入模式
{'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}
purchase_cancel_intent
Purchase cancel intent
Cancel a pending purchase intent and release the stock reservation.
可能执行破坏性操作
输入模式
{'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}
purchase_confirm_intent
Purchase confirm intent
Confirm a purchase intent — re-validates price within 1p tolerance, charges via Stripe Connect destination charges (per-seller application fee on item only), and creates the order. May return SCA / payment-action-required / declined errors.
输入模式
{'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}
purchase_create_intent
Purchase create intent
Create a purchase intent for a product. Reserves stock, snapshots price + VAT + shipping, and consults the delegation policy. Returns an intent id; intents expire after 15 minutes if not confirmed. Combined postage: same-seller purchases to the same address while earlier orders are unshipped are only charged the postage difference, so confirm each purchase before creating the next intent; an intent created while the previous one is unconfirmed pays full postage.
输入模式
{'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}
returns_get
Returns get
Fetch a single return by id, including reason, status, restocking fee (if any), refund ledger, and the inspection trail once the parcel has arrived.
只读 幂等
输入模式
{'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}
returns_get_label
Returns get label
Fetch a short-lived signed URL for the return shipping label PDF. URL expires within minutes; re-call to get a fresh one. Only available once the return has progressed to label_ready.
只读 幂等
输入模式
{'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}
returns_initiate
Returns initiate
Initiate a return on a delivered order. Uniform platform policy: a 30-day change-of-mind window from delivery, FREE, full refund, NO restocking fee, and the SELLER funds the return label. Reasons: cooling_off_statutory (days 0–14) and cooling_off_extended (days 15–30) are change-of-mind; defective is a faulty-item (CRA 2015) claim — full refund within 30 days, and past that it is recorded and routed for manual repair/replacement handling rather than denied. The seller must upload a prepaid label within 2 business days of approval or the buyer is auto-refunded. Idempotent on order_id.
幂等
输入模式
{'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}
returns_list
Returns list
List returns the authenticated principal filed (buyer-side view), paginated. Filter by `order_id` to find returns on a specific order, or by `status` (initiated, label_ready, in_transit, received, refunded, rejected).
只读 幂等
输入模式
{'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}
seller_accept_return
Seller accept return
Acknowledge that a returned parcel arrived and was inspected. Moves return: approved → received. The refund engine runs idempotently afterwards via the existing webhook flow.
幂等
输入模式
{'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}
seller_archive_listing
Seller archive listing
Soft-delete a listing (is_active=false). Refuses while any purchase intents are still pending against it.
可能执行破坏性操作
输入模式
{'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}
seller_attach_tracking
Seller attach tracking
Attach or update tracking on an already-shipped order. Use mark_shipped for first ship; this is for late-arriving tracking only.
幂等
输入模式
{'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}
seller_create_listing
Seller create listing
Create a product listing. Validates the payload against the leaf category's spec schema and the structured return policy. Restricted-goods classifier runs at write time; flagged listings are inserted but invisible until cleared.
输入模式
{'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}
seller_get_listing
Seller get listing
Fetch a single listing the bound seller owns, including its full description, current stock + reserved counts, spec values, and any moderation state. Refuses if the listing belongs to a different seller.
只读 幂等
输入模式
{'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}
seller_get_me
Seller get me
Fetch the seller record bound to the calling principal or seller-side agent instance. Refuses when the caller has no seller record.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': False}
seller_get_order
Seller get order
Fetch a single seller-scoped order with buyer shipping address (PII-redacted where the policy requires it), items, shipment, payment status, and any associated return/dispute. Refuses if the order isn't against this seller.
只读 幂等
输入模式
{'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}
seller_get_return
Seller get return
Fetch a single return filed against one of the bound seller's orders, with reason, status, restocking fee, inspection notes, and the refund ledger. Refuses if the return isn't on a seller-owned order.
只读 幂等
输入模式
{'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}
seller_list_listings
Seller list listings
List the bound seller's product listings, paginated. Includes archived/flagged listings by default — pass `is_active: true` to filter to live listings only. Returns slug, category, stock, price, and any moderation flags.
只读 幂等
输入模式
{'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}
seller_list_orders
Seller list orders
List orders placed against the bound seller's products (seller-side view), paginated. Filter by `status` (e.g. 'paid_awaiting_fulfillment' to find orders that need shipping). This is the seller-equivalent of orders_list.
只读 幂等
输入模式
{'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}
seller_list_returns
Seller list returns
List returns filed against the bound seller's orders, paginated. Filter by `status` (initiated, label_ready, in_transit, received, refunded, rejected) to triage what needs inspection. Seller-equivalent of returns_list.
只读 幂等
输入模式
{'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}
seller_list_reviews
Seller list reviews
List reviews left on this seller's orders, paginated. Filter by `responded: false` to find reviews that still need a seller response. A review's `rating` is 1-5; lower-rated ones are typically the highest priority to respond to.
只读 幂等
输入模式
{'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}
seller_mark_delivered
Seller mark delivered
Declare a shipped order as delivered (no carrier confirmation is wired). Only valid from shipped; already-delivered is a no-op success. Notifies the buyer, who can dispute if it never arrived. Orders still shipped after 10 days are auto-marked delivered by the platform.
幂等
输入模式
{'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}
seller_mark_shipped
Seller mark shipped
Mark an order as shipped with a tracking number. Idempotent on (order_id, tracking_number) — same pair is a no-op success. Enqueues carrier polling automatically.
幂等
输入模式
{'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}
seller_onboarding_status
Seller onboarding status
Read-only Stripe Connect onboarding status. Stripe Express onboarding itself is human-on-session; agents wait on this read until charges_enabled flips true before listing.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': False}
seller_reject_return
Seller reject return
Reject a return after inspection. inspection_notes is required. Refuses if the return has already refunded.
可能执行破坏性操作
输入模式
{'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}
seller_respond_to_review
Seller respond to review
Post the seller's response to a review. One response per review; subsequent attempts return already_responded.
输入模式
{'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}
sellers_get
Sellers get
Fetch a seller's public profile + trust signals (verification tier, dispute / refund / on-time-ship rates over a 90-day window, response times). Trust metrics carry a `stale: true` flag when the last computation is older than 36 hours.
只读 幂等
输入模式
{'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}
seller_update_listing
Seller update listing
Patch an existing listing the calling seller owns. Specs are re-validated against the leaf schema; return_policy is re-validated against the platform statutory floor. Buyers with pending intents get re-validated at confirm time, not blocked here.
输入模式
{'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}
seller_update_stock
Seller update stock
Update a listing's stock count. Pass `stock` for an absolute value or `delta` for a relative change. Resulting stock must remain >= reserved.
输入模式
{'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}
services_accept_quote
Services accept quote
Accept a submitted quote and charge immediately. Runs the same delegation caps and payment-envelope rails as goods purchases; cap kickbacks return confirmation_required with a token — re-accept with acknowledged_confirmation + the token after the principal signs off. Funds are held in escrow until the deliverable is accepted.
输入模式
{'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}
services_acknowledge_delivery
Services acknowledge delivery
Explicitly accept the deliverable on a delivered quote. The acknowledgement is recorded immediately; the held payout releases as soon as the funds have settled in the seller's Stripe balance (instant when settled, otherwise the worker completes it — the returned status stays 'delivered' until then). Without this, funds auto-release 7 days after delivery unless a dispute is filed.
输入模式
{'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}
services_counter_quote
Services counter quote
Post a counter-offer on a quote thread (price in pence, ETA in minutes, optional terms). Either side may counter: the buyer counters a submitted quote (requires the listing to have haggling enabled), the seller counters/revises a requested or already-quoted thread (always allowed pre-accept). Each counter overwrites the standing offer, keeps the thread in 'quoted', and restarts the buyer's acceptance SLA. Bounded to 6 counters per thread; past that, only accept or reject. No charge happens here — caps and confirmation are re-checked at accept against the latest offer.
输入模式
{'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}
services_create_listing
Services create listing
Seller-side: publish a service listing (GPU compute, synthetic data, inference, vector hosting, code review, research). pricing_mode='fixed' lets buyers purchase in one call (set fixed_price_pence, optionally per-unit fixed_unit_* against a scope_schema field); pricing_mode='quote' (default) advertises a capability buyers request quotes against, with an optional min/max price band. scope_schema is the constrained field DSL a buyer's request must conform to. Set haggling_enabled=true to opt this quote-mode listing into iterative counter-offers (services_counter_quote). All *_pence values are minor units of the seller's settlement currency. Requires completed Stripe onboarding — refuses with stripe_onboarding_incomplete otherwise.
输入模式
{'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}
services_get_listing
Services get listing
Fetch a single service listing including its scope schema — the fields a quote request or purchase scope must provide — and, for fixed-price listings, the deterministic pricing formula (flat price plus optional per-unit block billing).
只读 幂等
输入模式
{'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}
services_get_quote
Services get quote
Fetch one service quote thread with its deliverables. Buyer or seller side. Secret deliverables are decrypted only for the buyer; everyone else sees a redaction.
只读 幂等
输入模式
{'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}
services_list_my_quotes
Services list my quotes
List service quote threads the authenticated principal opened (buyer-side view), paginated. Filter by status (requested, quoted, paid, delivered, released, …).
只读 幂等
输入模式
{'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}
services_list_my_sales
Services list my sales
Seller-side: list charged threads you still owe work on, paginated. status=paid | in_progress | delivered, or active (all three, the default). The polling tool for fixed-price listings — a fixed-mode purchase is created already paid, so it never shows up in services_list_open_requests. Respond with services_start_work then services_submit_deliverable.
只读 幂等
输入模式
{'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}
services_list_open_requests
Services list open requests
Seller-side: list unanswered quote requests (status=requested). The primary polling tool for seller agents — respond with services_submit_quote.
只读 幂等
输入模式
{'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}
services_purchase
Services purchase
Buy a fixed-price service in one call: validates the scope, computes the deterministic price, creates the quote thread directly in accepted, and charges immediately, with no seller round-trip. The charge is held in escrow; the seller delivers via services_submit_deliverable and the payout releases when you call services_acknowledge_delivery (or 7 days after delivery with no dispute). Same delegation/envelope enforcement as services_accept_quote.
输入模式
{'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}
services_reject_quote
Services reject quote
Reject a submitted quote (buyer-only). Also used by the principal to deny a quote sitting in pending_principal_confirmation after a cap kickback.
可能执行破坏性操作
输入模式
{'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}
services_request_quote
Services request quote
File a scope-of-work against a quote-mode service listing for bespoke work. The scope must conform to the listing's scope schema. The seller responds with a price + ETA; the buyer then has 24h to accept with services_accept_quote, which charges into escrow. Fixed-price listings refuse this: use services_purchase.
输入模式
{'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}
services_search_listings
Services search listings
Search service listings (GPU compute, synthetic data, inference, vector hosting, code review, research, data labelling). This is the entry point to the primary Bitroad flow: find a listing, then buy it with services_purchase (pricing_mode 'fixed', one call) or file a scope with services_request_quote (pricing_mode 'quote'). Filter by category or pricing_mode. Every charge is held in escrow until the buyer accepts the deliverable.
只读 幂等
输入模式
{'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}
services_start_work
Services start work
Seller-side: mark a paid quote as in_progress. Requires the delegation's respond_quote action.
输入模式
{'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}
services_submit_deliverable
Services submit deliverable
Seller-side: submit the deliverable on a paid/in-progress quote. kind=url|text|file|secret. Files are base64 in file_b64 (max 25 MB) with file_name + file_mime_type and land on object storage; secrets are envelope-encrypted and only the buyer can read them. Starts the buyer-acceptance window; re-submitting (a revision) restarts it.
输入模式
{'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}
services_submit_quote
Services submit quote
Seller-side: answer a quote request with a price (pence), ETA in minutes, and optional terms. Requires the delegation's respond_quote action. Price must sit inside the listing's min/max band when one is set. Starts the buyer's 24h acceptance SLA.
输入模式
{'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}
services_withdraw_quote
Services withdraw quote
Withdraw a quote request before the seller has quoted (buyer-only).
可能执行破坏性操作
输入模式
{'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}
已添加
seller_respond_to_review
2026年9月11日 15:32
已添加
seller_list_reviews
2026年9月11日 15:32
已添加
seller_reject_return
2026年9月11日 15:32
已添加
seller_accept_return
2026年9月11日 15:32
已添加
seller_get_return
2026年9月11日 15:32
已添加
seller_list_returns
2026年9月11日 15:32
已添加
seller_attach_tracking
2026年9月11日 15:32
已添加
seller_mark_delivered
2026年9月11日 15:32
已添加
seller_mark_shipped
2026年9月11日 15:32
已添加
seller_get_order
2026年9月11日 15:32
已添加
seller_list_orders
2026年9月11日 15:32
已添加
seller_update_stock
2026年9月11日 15:32
已添加
seller_archive_listing
2026年9月11日 15:32
已添加
seller_update_listing
2026年9月11日 15:32
已添加
seller_create_listing
2026年9月11日 15:32
已添加
seller_get_listing
2026年9月11日 15:32
已添加
seller_list_listings
2026年9月11日 15:32
已添加
seller_onboarding_status
2026年9月11日 15:32
已添加
seller_get_me
2026年9月11日 15:32
已添加
returns_get_label
2026年9月11日 15:32
已添加
returns_list
2026年9月11日 15:32
已添加
returns_get
2026年9月11日 15:32
已添加
returns_initiate
2026年9月11日 15:32
已添加
orders_get
2026年9月11日 15:32
已添加
orders_list
2026年9月11日 15:32
已添加
purchase_cancel_intent
2026年9月11日 15:32
已添加
purchase_confirm_intent
2026年9月11日 15:32
已添加
purchase_create_intent
2026年9月11日 15:32
已添加
catalog_describe_category
2026年9月11日 15:32
已添加
catalog_list_categories
2026年9月11日 15:32