Controlled API contract
POST/v1/lead-opportunity-score
Receives a business domain and returns score, confidence, routing decision, suggested route and credit usage details.
GET/v1/usage
Returns credit balances and recent ledger events so automated clients can track what was consumed and what remains.
GET/machine-onboarding.json
Public machine-readable manifest that explains the machine-first flow, authentication, product scope and disabled flows.
GET/buyer-agent.json
Machine-readable fit check before an MS-DEC-250 entry order or an entitlement-gated MS-ACT-25 continuation order.
GET/machine-buyer-quickstart.json
Six-step read-only guide for external buyer machines before any real commercial submission.
GEThttps://mcp.machinesignal.it/.well-known/mcp/server-card.json
Current read-only MCP server card with its tools, resources and permanent safety boundaries.
GEThttps://a2a.machinesignal.it/.well-known/agent-card.json
A2A 1.0 Agent Card for the separate HTTP+JSON read-only discovery agent.
GEThttps://github.com/machinesignal-it/machinesignal-machine-buyer-docs
Official public documentation-only repository. Current live cards and production OpenAPI remain authoritative.
POSThttps://a2a.machinesignal.it/message:send
Accepts only coarse discovery, fit, synthetic-example and local-preparation intents with A2A-Version: 1.0. It persists no data and creates no order.
GET/agent-sales.json
Public machine-readable order-intent protocol for buyer agents before any controlled payment link is supplied.
POSThttps://api.machinesignal.it/v1/order-intents
Public production intake for a real MS-DEC-250 first-order intent from an eligible B2B Italy buyer machine. It rejects synthetic and placeholder data, returns a private receipt once and queues the zero-touch buyer-specific checkout flow.
GEThttps://api.machinesignal.it/v1/order-intents/{order_intent_id}
Private status for the same external buyer machine. Send the receipt in
X-MachineSignal-Order-Receipt; after validation it may return the
buyer-specific Checkout Session, then paid input, processing and artifact actions.
The receipt is not itself a payment credential.
GET/product-catalog.json
Public machine-readable catalog with the current product code, price, included deliverables and when valid-output credits are consumed.
GET/score-decision-contract.json
Public post-score decision contract. After a score, the customer machine reads this contract to decide whether to discard, watchlist, review or prioritize a B2B Italy lead within the current pack.
Current B2B Italy flow
Customer supplies inputs
The customer supplies valid B2B Italy domains, company rows or lead records for the Lead Decision Pack 250.
Machine receives decisions
The API returns score, confidence, decision, reason and suggested CRM route for each valid output.
Commercial controls are machine-gated
Public anonymous checkout, payout and external outreach remain disabled. Eligible buyer agents use agent-sales.json and the production order-intent endpoint to submit an MS-DEC-250 intent before any checkout or payment step.
Product fit: MS-DEC-250 is for buyer machines that already have a B2B Italy list to score. It is not the right product for no-list target discovery, and no target-discovery product is approved for live sale now.
Conditional continuation after scoring
Live post-purchase product
MS-ACT-25 / Opportunity Action Pack 25 costs 399 EUR plus 2 EUR bollo and accepts an order intent only with a valid signed entitlement.
Intended input
Exactly 25 unique qualified records selected by the same approved buyer from a completed MS-DEC-250 delivery.
Output
Deep analysis, action plan, message drafts, CRM/workflow payloads, approval gates, stop rules and audit data.
MachineSignal will prepare action data only. Sending messages, contacting targets and automatic CRM writes remain outside the product and require buyer-controlled approval.
Input
A valid B2B Italy domain, company row or lead record supplied by the customer.
Output
Opportunity score, confidence, decision, reason and suggested CRM route.
Ledger
Credits are consumed only when a valid usable output is produced.
Example request
Public examples use synthetic domains only. API calls require a private key and an approved B2B Italy customer scope.
{
"domain": "clinic3.it",
"sector_hint": "dentist",
"country_hint": "IT"
}
Example response
The same response is available as JSON at /api/lead-opportunity-score/example.json.
{
"domain": "clinic3.it",
"opportunity_score": 81,
"confidence": 0.79,
"priority": "high",
"decision": "prioritize",
"reason": "Signals suggest a high-priority opportunity for customer review.",
"suggested_route": "review_in_crm",
"product_code": "MS-DEC-250",
"request_id": "example-score-001",
"usage": {
"current_event": {
"product_code": "MS-DEC-250",
"status": "valid_output",
"credits_consumed": 1,
"credits_remaining": 249
},
"real_payment_executed": false,
"external_contact_executed": false
},
"scope": "b2b_italy_controlled",
"checkout_public": false
}
Credit usage
Automated clients should send an Idempotency-Key for each scoring request.
Repeating the same key does not consume a second credit.
{
"balances": [
{
"product_code": "MS-DEC-250",
"credits_purchased": 250,
"credits_used": 1,
"credits_remaining": 249
}
],
"rule": "credits are consumed only when the API produces a valid usable output"
}
Access
Buyer agents start from agent-sales.json for order
intent, inspect order-openapi.json, then submit real
B2B Italy data to POST https://api.machinesignal.it/v1/order-intents.
Synthetic and placeholder billing values are rejected by the production origin.
The discovery endpoint is also listed in the
Official MCP Registry
under the canonical name and the capability-named
B2B lead-scoring alias.