{
  "schema_version": "prelistproof.sdk_pack.v1",
  "generated_at": "2026-06-07T05:57:06Z",
  "name": "PreListProof Integration SDK Pack",
  "purpose": "Machine-readable quickstart for marketplaces, sourcing tools, procurement systems, shopping agents, and connector workers.",
  "auth": {
    "header": "x-prelistproof-api-key",
    "environment_variable": "PRELISTPROOF_API_KEY",
    "create_key_endpoint": "https://www.prelistproof.com/api/platform/accounts",
    "credential_values_visible_once": true,
    "credential_values_not_returned_by_this_pack": true
  },
  "endpoints": {
    "agent_decision": "https://www.prelistproof.com/api/agent/decision",
    "platform_accounts": "https://www.prelistproof.com/api/platform/accounts",
    "platform_keys": "https://www.prelistproof.com/api/platform/keys",
    "platform_usage": "https://www.prelistproof.com/api/platform/usage",
    "receivables": "https://www.prelistproof.com/api/receivables",
    "receivables_worker": "https://www.prelistproof.com/api/receivables/worker",
    "refunds": "https://www.prelistproof.com/api/refunds",
    "refunds_worker": "https://www.prelistproof.com/api/refunds/worker",
    "integration_kits": "https://www.prelistproof.com/api/integrations",
    "integration_conformance": "https://www.prelistproof.com/api/integrations/conformance",
    "integration_conformance_worker": "https://www.prelistproof.com/api/integrations/conformance/worker",
    "security_trust_center": "https://www.prelistproof.com/api/trust-center",
    "security_trust_worker": "https://www.prelistproof.com/api/trust-center/worker",
    "webhook_subscriptions": "https://www.prelistproof.com/api/webhooks/subscriptions",
    "event_polling": "https://www.prelistproof.com/api/webhooks/events",
    "outcome_listener": "https://www.prelistproof.com/api/outcome/listener",
    "connector_inbox": "https://www.prelistproof.com/api/connectors/inbox",
    "source_watchlist": "https://www.prelistproof.com/api/source-watchlist",
    "source_watchlist_worker": "https://www.prelistproof.com/api/source-watchlist/worker",
    "source_intelligence": "https://www.prelistproof.com/api/source-intelligence",
    "dispatch_queue": "https://www.prelistproof.com/api/dispatch/queue",
    "dispatch_lease": "https://www.prelistproof.com/api/dispatch/lease",
    "dispatch_ack": "https://www.prelistproof.com/api/dispatch/ack",
    "verification_catalog": "https://www.prelistproof.com/api/catalog",
    "trust_graph": "https://www.prelistproof.com/api/trust-graph",
    "outcome_calibration": "https://www.prelistproof.com/api/calibration",
    "learning_loop": "https://www.prelistproof.com/api/learning-loop",
    "rule_pack_recommendations": "https://www.prelistproof.com/api/rule-packs/recommendations",
    "rule_pack_releases": "https://www.prelistproof.com/api/rule-packs/releases",
    "openapi": "https://www.prelistproof.com/openapi.json"
  },
  "platform_contract": {
    "schema_version": "prelistproof.platform_sdk_contract.v1",
    "auth_header": "x-prelistproof-api-key",
    "account_endpoint": "https://www.prelistproof.com/api/platform/accounts",
    "key_lifecycle_endpoint": "https://www.prelistproof.com/api/platform/keys",
    "usage_endpoint": "https://www.prelistproof.com/api/platform/usage",
    "decision_endpoint": "https://www.prelistproof.com/api/agent/decision",
    "api_keys_visible_once": true,
    "api_keys_stored_as_hashes": true,
    "payment_gate": {
      "public_account_signup_returns_order_before_key": true,
      "fixed_fee_payment_required_before_active_key": true,
      "paid_activation_worker_mints_key": true,
      "no_free_active_api_key": true
    },
    "plans": {
      "pilot": {
        "name": "Platform/API pilot",
        "fixed_fee": "$2,500 setup + $500/month",
        "setup_fee_cents": 250000,
        "monthly_fee_cents": 50000,
        "monthly_decision_quota": 10000,
        "scope": "marketplace, sourcing, procurement, or agentic commerce integration pilot"
      },
      "growth": {
        "name": "Growth API",
        "fixed_fee": "$3,500/month",
        "setup_fee_cents": 0,
        "monthly_fee_cents": 350000,
        "monthly_decision_quota": 100000,
        "scope": "production decision API access, trust graph integration, and outcome ingestion"
      },
      "enterprise": {
        "name": "Enterprise API",
        "fixed_fee": "custom fixed fee",
        "setup_fee_cents": 0,
        "monthly_fee_cents": 0,
        "monthly_decision_quota": 1000000,
        "scope": "private registry adapters, security review, and marketplace-specific packet contracts"
      }
    },
    "current_account": {},
    "commercial_boundary": {
      "fixed_fee_only": true,
      "no_metered_overage_charge": true,
      "no_interest": true,
      "no_late_fees": true,
      "no_financing": true,
      "no_insurance": true,
      "no_approval_guarantee": true
    }
  },
  "event_contract": {
    "transport_default": "poll_or_connector_handoff",
    "poll_endpoint": "https://www.prelistproof.com/api/webhooks/events",
    "subscription_endpoint": "https://www.prelistproof.com/api/webhooks/subscriptions",
    "webhook_worker_endpoint": "https://www.prelistproof.com/api/webhooks/worker",
    "signature_header": "x-prelistproof-signature",
    "signature_algorithm": "hmac-sha256",
    "event_types": [
      "account.value.recorded",
      "backup.snapshot.recorded",
      "channel.play.recorded",
      "channel.response.recorded",
      "claim.guard.recorded",
      "connector.health.recorded",
      "connector.inbox.routed",
      "customer.success.triaged",
      "dormancy.case.recorded",
      "dormancy.case.reopened",
      "expansion.radar.recorded",
      "founder.update.recorded",
      "growth.source.recorded",
      "integration.activation.recorded",
      "integration.conformance.recorded",
      "integration.kit.created",
      "learning.loop.recorded",
      "marketplace.outcome.recorded",
      "ops.alert.recorded",
      "payment.event.recorded",
      "platform.key.lifecycle",
      "platform.usage.recorded",
      "portfolio.monitor.event",
      "receivable.notice.recorded",
      "refund.policy.recorded",
      "registry.refresh.recorded",
      "rule.promotion.audit",
      "rule_pack.recommendation.recorded",
      "rule_pack.release_candidate.recorded",
      "runtime.tick.recorded",
      "security.trust.answer.recorded",
      "source.intelligence.recorded",
      "source.watchlist.recorded",
      "system.canary.recorded",
      "verification.report.created"
    ],
    "raw_packet_hidden": true,
    "no_certification_or_approval_guarantee": true
  },
  "metering": {
    "schema_version": "prelistproof.decision_metering_contract.v1",
    "metered_endpoint": "https://www.prelistproof.com/api/agent/decision",
    "auth_header": "x-prelistproof-api-key",
    "public_demo_without_key": true,
    "keyed_calls_write_usage_ledger": true,
    "append_only_usage_file": "api_usage.jsonl",
    "quota_gate": {
      "enforced_before_decision": true,
      "over_quota_status": 429,
      "over_quota_action": "pause_decisions_and_route_fixed_fee_upgrade_or_renewal",
      "no_auto_overage_billing": true
    },
    "current_account_usage": {}
  },
  "sample_payloads": {
    "decision": {
      "marketplace": "amazon_us",
      "category": "electronics",
      "title": "SDK Test RF Speaker",
      "brand": "SDKTest",
      "model": "SDK-RF-1",
      "fcc_id": "2AH25NT311H",
      "intended_action": "recommend"
    },
    "outcome_listener": {
      "connector": "marketplace_webhook",
      "source_type": "marketplace_outcome",
      "subject": "Compliance documents accepted",
      "body": "Report pl_... compliance documents accepted after reviewer evidence check.",
      "report_id": "pl_...",
      "marketplace": "amazon_us",
      "category": "electronics"
    },
    "webhook_subscription": {
      "account_id": "acct_...",
      "company": "Marketplace QA",
      "email": "integrations@example.test",
      "endpoint_url": "https://example.test/prelistproof/webhook",
      "event_types": [
        "verification.report.created",
        "marketplace.outcome.recorded",
        "learning.loop.recorded",
        "rule_pack.recommendation.recorded",
        "rule_pack.release_candidate.recorded",
        "platform.usage.recorded",
        "platform.key.lifecycle",
        "source.watchlist.recorded",
        "source.intelligence.recorded",
        "refund.policy.recorded",
        "security.trust.answer.recorded"
      ],
      "delivery_mode": "webhook_handoff"
    }
  },
  "client_snippets": {
    "curl_decision": "curl -s -X POST 'https://www.prelistproof.com/api/agent/decision' \\\n  -H 'content-type: application/json' \\\n  -H \"x-prelistproof-api-key: ${PRELISTPROOF_API_KEY}\" \\\n  -d '{\"marketplace\": \"amazon_us\", \"category\": \"electronics\", \"title\": \"SDK Test RF Speaker\", \"brand\": \"SDKTest\", \"model\": \"SDK-RF-1\", \"fcc_id\": \"2AH25NT311H\", \"intended_action\": \"recommend\"}'",
    "javascript_decision": "const response = await fetch(\"https://www.prelistproof.com/api/agent/decision\", {\n  method: \"POST\",\n  headers: {\n    \"content-type\": \"application/json\",\n    \"x-prelistproof-api-key\": process.env.PRELISTPROOF_API_KEY\n  },\n  body: JSON.stringify({\n  \"marketplace\": \"amazon_us\",\n  \"category\": \"electronics\",\n  \"title\": \"SDK Test RF Speaker\",\n  \"brand\": \"SDKTest\",\n  \"model\": \"SDK-RF-1\",\n  \"fcc_id\": \"2AH25NT311H\",\n  \"intended_action\": \"recommend\"\n})\n});\nconst decision = await response.json();",
    "python_decision": "import json, os, urllib.request\n\npayload = {\n  \"marketplace\": \"amazon_us\",\n  \"category\": \"electronics\",\n  \"title\": \"SDK Test RF Speaker\",\n  \"brand\": \"SDKTest\",\n  \"model\": \"SDK-RF-1\",\n  \"fcc_id\": \"2AH25NT311H\",\n  \"intended_action\": \"recommend\"\n}\nrequest = urllib.request.Request(\n    \"https://www.prelistproof.com/api/agent/decision\",\n    data=json.dumps(payload).encode(\"utf-8\"),\n    headers={\n        \"content-type\": \"application/json\",\n        \"x-prelistproof-api-key\": os.environ[\"PRELISTPROOF_API_KEY\"],\n    },\n    method=\"POST\",\n)\nwith urllib.request.urlopen(request) as response:\n    decision = json.loads(response.read().decode(\"utf-8\"))",
    "curl_outcome_listener": "curl -s -X POST 'https://www.prelistproof.com/api/outcome/listener' \\\n  -H 'content-type: application/json' \\\n  -d '{\"connector\": \"marketplace_webhook\", \"source_type\": \"marketplace_outcome\", \"subject\": \"Compliance documents accepted\", \"body\": \"Report pl_... compliance documents accepted after reviewer evidence check.\", \"report_id\": \"pl_...\", \"marketplace\": \"amazon_us\", \"category\": \"electronics\"}'",
    "event_polling": "const events = await fetch(\"https://www.prelistproof.com/api/webhooks/events\").then((response) => response.json());",
    "webhook_subscription": "const subscription = await fetch(\"https://www.prelistproof.com/api/webhooks/subscriptions\", {\n  method: \"POST\",\n  headers: { \"content-type\": \"application/json\" },\n  body: JSON.stringify({\n    account_id: \"acct_...\",\n    company: \"Marketplace QA\",\n    email: \"integrations@example.test\",\n    endpoint_url: \"https://example.test/prelistproof/webhook\",\n    event_types: [\"verification.report.created\", \"marketplace.outcome.recorded\", \"learning.loop.recorded\", \"rule_pack.recommendation.recorded\", \"rule_pack.release_candidate.recorded\", \"source.watchlist.recorded\", \"source.intelligence.recorded\"],\n    delivery_mode: \"webhook_handoff\"\n  })\n}).then((response) => response.json());"
  },
  "examples": {
    "curl_decision": "curl -s -X POST 'https://www.prelistproof.com/api/agent/decision' \\\n  -H 'content-type: application/json' \\\n  -H \"x-prelistproof-api-key: ${PRELISTPROOF_API_KEY}\" \\\n  -d '{\"marketplace\": \"amazon_us\", \"category\": \"electronics\", \"title\": \"SDK Test RF Speaker\", \"brand\": \"SDKTest\", \"model\": \"SDK-RF-1\", \"fcc_id\": \"2AH25NT311H\", \"intended_action\": \"recommend\"}'",
    "javascript_decision": "const response = await fetch(\"https://www.prelistproof.com/api/agent/decision\", {\n  method: \"POST\",\n  headers: {\n    \"content-type\": \"application/json\",\n    \"x-prelistproof-api-key\": process.env.PRELISTPROOF_API_KEY\n  },\n  body: JSON.stringify({\n  \"marketplace\": \"amazon_us\",\n  \"category\": \"electronics\",\n  \"title\": \"SDK Test RF Speaker\",\n  \"brand\": \"SDKTest\",\n  \"model\": \"SDK-RF-1\",\n  \"fcc_id\": \"2AH25NT311H\",\n  \"intended_action\": \"recommend\"\n})\n});\nconst decision = await response.json();",
    "python_decision": "import json, os, urllib.request\n\npayload = {\n  \"marketplace\": \"amazon_us\",\n  \"category\": \"electronics\",\n  \"title\": \"SDK Test RF Speaker\",\n  \"brand\": \"SDKTest\",\n  \"model\": \"SDK-RF-1\",\n  \"fcc_id\": \"2AH25NT311H\",\n  \"intended_action\": \"recommend\"\n}\nrequest = urllib.request.Request(\n    \"https://www.prelistproof.com/api/agent/decision\",\n    data=json.dumps(payload).encode(\"utf-8\"),\n    headers={\n        \"content-type\": \"application/json\",\n        \"x-prelistproof-api-key\": os.environ[\"PRELISTPROOF_API_KEY\"],\n    },\n    method=\"POST\",\n)\nwith urllib.request.urlopen(request) as response:\n    decision = json.loads(response.read().decode(\"utf-8\"))",
    "curl_outcome_listener": "curl -s -X POST 'https://www.prelistproof.com/api/outcome/listener' \\\n  -H 'content-type: application/json' \\\n  -d '{\"connector\": \"marketplace_webhook\", \"source_type\": \"marketplace_outcome\", \"subject\": \"Compliance documents accepted\", \"body\": \"Report pl_... compliance documents accepted after reviewer evidence check.\", \"report_id\": \"pl_...\", \"marketplace\": \"amazon_us\", \"category\": \"electronics\"}'",
    "event_polling": "const events = await fetch(\"https://www.prelistproof.com/api/webhooks/events\").then((response) => response.json());",
    "webhook_subscription": "const subscription = await fetch(\"https://www.prelistproof.com/api/webhooks/subscriptions\", {\n  method: \"POST\",\n  headers: { \"content-type\": \"application/json\" },\n  body: JSON.stringify({\n    account_id: \"acct_...\",\n    company: \"Marketplace QA\",\n    email: \"integrations@example.test\",\n    endpoint_url: \"https://example.test/prelistproof/webhook\",\n    event_types: [\"verification.report.created\", \"marketplace.outcome.recorded\", \"learning.loop.recorded\", \"rule_pack.recommendation.recorded\", \"rule_pack.release_candidate.recorded\", \"source.watchlist.recorded\", \"source.intelligence.recorded\"],\n    delivery_mode: \"webhook_handoff\"\n  })\n}).then((response) => response.json());",
    "sample_decision_payload": {
      "marketplace": "amazon_us",
      "category": "electronics",
      "title": "SDK Test RF Speaker",
      "brand": "SDKTest",
      "model": "SDK-RF-1",
      "fcc_id": "2AH25NT311H",
      "intended_action": "recommend"
    },
    "sample_outcome_payload": {
      "connector": "marketplace_webhook",
      "source_type": "marketplace_outcome",
      "subject": "Compliance documents accepted",
      "body": "Report pl_... compliance documents accepted after reviewer evidence check.",
      "report_id": "pl_...",
      "marketplace": "amazon_us",
      "category": "electronics"
    }
  },
  "self_test_sequence": [
    {
      "key": "create_or_attach_platform_account",
      "action": "Create a fixed-fee platform account and store the one-time API key in the caller's secret manager.",
      "endpoint": "https://www.prelistproof.com/api/platform/accounts",
      "founder_required": false
    },
    {
      "key": "credential_lifecycle",
      "action": "Read key lifecycle policy and confirm the caller can rotate or revoke API keys without founder hand-work.",
      "endpoint": "https://www.prelistproof.com/api/platform/keys",
      "founder_required": false
    },
    {
      "key": "decision_api_test",
      "action": "Run one keyed decision call and confirm usage metering records the request.",
      "endpoint": "https://www.prelistproof.com/api/agent/decision",
      "founder_required": false
    },
    {
      "key": "event_subscription_or_polling",
      "action": "Create a webhook subscription or poll the replayable event stream.",
      "endpoint": "https://www.prelistproof.com/api/webhooks/subscriptions",
      "founder_required": false
    },
    {
      "key": "outcome_ingestion",
      "action": "Post marketplace outcome text so reports feed the trust graph and calibration loop.",
      "endpoint": "https://www.prelistproof.com/api/outcome/listener",
      "founder_required": false
    },
    {
      "key": "refund_policy_loop",
      "action": "Post a routine fixed-fee refund support case and confirm the refund worker records connector-ready policy instructions without founder review.",
      "endpoint": "https://www.prelistproof.com/api/refunds/worker",
      "founder_required": false
    },
    {
      "key": "source_watchlist_materialization",
      "action": "Post or update a watched source and run the worker so policy/case/source changes become source intelligence and candidate rules.",
      "endpoint": "https://www.prelistproof.com/api/source-watchlist/worker",
      "founder_required": false
    },
    {
      "key": "integration_conformance_report",
      "action": "Read the conformance report and confirm the partner can self-audit setup without founder review.",
      "endpoint": "https://www.prelistproof.com/api/integrations/conformance",
      "founder_required": false
    },
    {
      "key": "security_trust_center",
      "action": "Post a procurement/security questionnaire through the connector inbox and confirm trust-center answers are generated from factual controls without founder review.",
      "endpoint": "https://www.prelistproof.com/api/trust-center/worker",
      "founder_required": false
    },
    {
      "key": "safe_rule_pack_review",
      "action": "Read advisory rule-pack recommendations without changing live rules automatically.",
      "endpoint": "https://www.prelistproof.com/api/rule-packs/recommendations",
      "founder_required": false
    },
    {
      "key": "safe_release_candidate_gate",
      "action": "Read gated rule-pack release candidates without changing live rules automatically.",
      "endpoint": "https://www.prelistproof.com/api/rule-packs/releases",
      "founder_required": false
    }
  ],
  "webhook_signature": {
    "header": "x-prelistproof-signature",
    "algorithm": "hmac-sha256",
    "secret_environment_variable": "PRELISTPROOF_WEBHOOK_SECRET",
    "example_node": "import crypto from \"node:crypto\";\n\nexport function verifyPreListProofWebhook(rawBody, signature) {\n  const secret = process.env.PRELISTPROOF_WEBHOOK_SECRET;\n  const expected = crypto.createHmac(\"sha256\", secret).update(rawBody).digest(\"hex\");\n  return crypto.timingSafeEqual(Buffer.from(signature), Buffer.from(expected));\n}",
    "signing_secret_visible_once": true,
    "signing_secret_not_returned_by_this_pack": true
  },
  "kit_context": null,
  "account_context": null,
  "links": {
    "sdk": "https://www.prelistproof.com/sdk",
    "sdk_json": "https://www.prelistproof.com/api/sdk",
    "sdk_for_kit": "",
    "sdk_for_account": "",
    "integrations": "https://www.prelistproof.com/integrations",
    "integration_conformance": "https://www.prelistproof.com/integrations/conformance",
    "integration_conformance_json": "https://www.prelistproof.com/api/integrations/conformance",
    "platform": "https://www.prelistproof.com/platform",
    "agent_api": "https://www.prelistproof.com/agent-api",
    "source_watchlist": "https://www.prelistproof.com/source-watchlist",
    "source_watchlist_json": "https://www.prelistproof.com/api/source-watchlist",
    "openapi": "https://www.prelistproof.com/openapi.json"
  },
  "distribution_contract": {
    "outside_agents_can_integrate_without_founder_handwork": true,
    "integration_tests_are_self_serve": true,
    "integration_conformance_reports_are_append_only": true,
    "decision_usage_is_metered_to_fixed_fee_accounts": true,
    "outcomes_feed_trust_graph_and_calibration_loop": true,
    "source_watchlist_feeds_source_intelligence_and_rule_candidates": true,
    "routine_fixed_fee_refunds_publish_connector_instructions": true,
    "security_questionnaires_answer_from_trust_center_without_founder_handwork": true,
    "rule_pack_recommendations_are_advisory": true,
    "rule_pack_release_candidates_are_gated_and_advisory": true,
    "does_not_change_live_rules_automatically": true
  },
  "liability_boundary": {
    "decision_support_only": true,
    "not_legal_advice": true,
    "not_certification": true,
    "no_insurance": true,
    "no_marketplace_approval_guarantee": true,
    "fixed_fee_only": true
  },
  "content_sha256": "9fe96687f2b3e2f3b5f5b77952e2b0e2764fefbefd04a89e2de1964575fd7ca4"
}