{
  "name": "api.forsale",
  "description": "The sell rail: a typed Deal state machine — 7 stages (sourced, qualified, meeting, proposal, negotiation, closed_won, closed_lost), 3 marketplace Roles (setter, closer, nurturer) — where executors propose and the deal gate alone commits. Keyless sandbox over labeled example data; every collection answers typed OK | EMPTY | BLOCKED | OFFER.",
  "interfaces": {
    "http": [
      {
        "method": "GET",
        "url": "https://api.forsale/deals"
      },
      {
        "method": "GET",
        "url": "https://api.forsale/pricing"
      },
      {
        "method": "GET",
        "url": "https://api.forsale/openapi.json"
      },
      {
        "method": "GET",
        "url": "https://api.forsale/llms.txt"
      },
      {
        "method": "GET",
        "url": "https://api.forsale/family.json"
      },
      {
        "method": "GET",
        "url": "https://api.forsale/gigs"
      },
      {
        "method": "GET",
        "url": "https://api.forsale/offer"
      },
      {
        "method": "GET",
        "url": "https://api.forsale/verify"
      }
    ],
    "mcp": {
      "url": "https://api.forsale/mcp",
      "transport": "streamable-http",
      "tools": [
        "listDeals",
        "getDeal",
        "listGigs"
      ]
    }
  },
  "openapi": "https://api.forsale/openapi.json",
  "llms": "https://api.forsale/llms.txt",
  "links": {
    "openapi": "https://api.forsale/openapi.json",
    "llms": "https://api.forsale/llms.txt",
    "pricing": "https://api.forsale/pricing",
    "docs": "https://api.forsale/docs",
    "icp": "https://api.forsale/icp.json",
    "family": "https://api.forsale/family.json",
    "verify": "https://api.forsale/verify",
    "conformance": "https://api.qa/api.forsale"
  },
  "g2": {
    "substrate": "fn-sales-marketing",
    "motion": "B2A",
    "icp": {
      "companyTypes": [
        "Sales and marketing leadership across every CompanyType (both-sides venue: buyers AND sellers are ICPs)"
      ],
      "jobTypes": [
        "head of sales",
        "revenue operations lead",
        "founder-seller",
        "agent developer"
      ]
    },
    "personas": [
      {
        "name": "seller-operator",
        "summary": "declares the Mandate, watches deals advance, pays only on outcome"
      },
      {
        "name": "agent-builder",
        "summary": "mounts the sell rail as tools (HTTP or MCP) inside an autonomous agent"
      },
      {
        "name": "buying-agent",
        "summary": "machine caller transacting on the demand side of the venue"
      }
    ],
    "systems": [
      {
        "system": "CRM",
        "coordinates": [
          "fn-sales-marketing"
        ]
      },
      {
        "system": "Marketplace/deal-room",
        "coordinates": [
          "fn-sales-marketing",
          "both-sides-venue"
        ]
      }
    ]
  },
  "attestationLadder": [
    {
      "rung": "anonymous",
      "status": "live",
      "description": "keyless sandbox over labeled example data — no account, no key, disclosed retention (none: read-only seed)"
    },
    {
      "rung": "human-claimed",
      "status": "waitlist",
      "description": "a human claims the workspace for attribution and tenure — the waitlist door on the home page"
    },
    {
      "rung": "machine-identity",
      "status": "stub",
      "description": "id.org.ai-bound identity with 402 metering — advertised in the /offer stub, not yet live"
    }
  ],
  "probes": {
    "keyless": {
      "url": "/deals"
    },
    "knownEmpty": [
      {
        "url": "/deals?stage=none"
      },
      {
        "url": "/deals?role=none"
      }
    ],
    "knownForbidden": [
      {
        "url": "/deals?scope=tenant"
      },
      {
        "url": "/deals?scope=settlement"
      }
    ],
    "pricing": {
      "url": "/pricing"
    }
  }
}