Startup Marketplace Endpoints
Startup profiles, baselines, follow requests, investor surfaces, matching, and capital engagement.
The marketplace families cover the startup profile and baseline, permissioned follow relationships, investor-side watchlists and mandates, evidence-first matching, and capital engagement. See the Startup Capital Marketplace guide for the product model.
Authentication
Every marketplace endpoint requires an Authorization: Bearer $TOKEN header.
Authentication is checked before existence: unauthenticated callers cannot
distinguish an existing startup from a missing one.
{
"error": {
"code": "UNAUTHORIZED",
"message": "Missing or invalid Authorization header"
}
}Request contracts are strict — unrecognized keys are rejected with a 400
validation error rather than ignored.
Startup profiles
/v2/startupscurl -H "Authorization: Bearer $TOKEN" \ "https://api.sureshake.com/v2/startups"
| Method | Path | Purpose |
|---|---|---|
GET | /v2/startups/{slug} | Startup detail by slug |
PATCH | /v2/startups/{id} | Update profile fields (including structured capital status) |
GET | /v2/startups/{id}/profile/preview | Preview the profile as a named audience (audience required) |
GET | /v2/startups/{id}/profile/preview-audiences | Audiences available to preview |
GET | /v2/startups/{id}/profile/versions | Immutable profile version history |
PUT | /v2/startups/{id}/public-content | Select which content is publicly visible |
GET | /v2/startups/{id}/public-content/candidates | Content eligible for public selection |
GET | /v2/entities/{entityId}/startup-listing | Viewer-scoped listing detail resolved from the entity |
POST | /v2/entities/{entityId}/startup-listing | Owner-only self-serve marketplace opt-in (created unpublished) |
Baseline (deprecated paths)
Baselines are now entity-scoped so any company can run Execution Seasons — not
only startups with marketplace listings. These /v2/startups/{id}/baseline
paths remain as deprecated aliases with identical behavior; new integrations
should use the canonical entity-scoped family in the Execution
API.
| Method | Path | Purpose |
|---|---|---|
GET | /v2/startups/{id}/baseline | Read the baseline |
POST | /v2/startups/{id}/baseline | Create the baseline |
POST | /v2/startups/{id}/baseline/fields | Add a field with evidence |
PUT | /v2/startups/{id}/baseline/fields/{fieldId} | Update a field before lock |
PUT | /v2/startups/{id}/baseline/strategic-context | Constraints and assumptions |
POST | /v2/startups/{id}/baseline/lock | Lock the baseline |
POST | /v2/startups/{id}/baseline/corrections | Correct a locked baseline |
POST | /v2/startups/{id}/baseline/summary/generate | Draft an AI summary (pending) |
POST | /v2/startups/{id}/baseline/summary/confirm | Founder-confirm the summary |
Follow requests
/v2/startups/{id}/follow-requestscurl -X POST \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"reason": "We invest at pre-seed in vertical SaaS and want to observe execution ahead of your raise.",
"requestedTier": "follower",
"desiredObservation": "Weekly execution updates and season progress",
"requestedDurationDays": 180
}' \
"https://api.sureshake.com/v2/startups/{id}/follow-requests"requestedTier is one of follower, capital, diligence, or custom —
never public. Duration is 1–365 days.
| Method | Path | Purpose |
|---|---|---|
GET | /v2/me/startup-follow-requests | Founder inbox of pending follow requests |
Investor surfaces
Saves, watchlists, and notes are private to the investor; founders are never notified.
| Method | Path | Purpose |
|---|---|---|
GET/POST | /v2/investor/startup-watchlists | List and create startup watchlists |
GET/PATCH | /v2/investor/startup-watchlists/{watchlistId} | Read and rename a watchlist |
POST | /v2/investor/startup-watchlists/{watchlistId}/items | Add a startup |
DELETE | /v2/investor/startup-watchlists/{watchlistId}/items/{startupListingId} | Remove a startup |
GET/PUT | /v2/investor/startup-watchlists/alert-preferences | Alert triggers and digest cadence |
GET/POST | /v2/investor/startup-profile-saves | Private saves |
GET/POST | /v2/investor/startups/{startupListingId}/notes | Firm-scoped private notes |
GET | /v2/investor/startups/search | Verified-investor search over public startup facts (strict public-only query) |
GET/POST | /v2/investment-mandates | Mandates for a principal (principalType of person or firm required) |
GET | /v2/investment-mandates/observed-history | Observed mandate behavior |
Matching
Suggestions carry provenance; there is no universal score and no pay-to-rank.
| Method | Path | Purpose |
|---|---|---|
GET | /v2/startups/{startupListingId}/match-suggestions | Founder-side suggestions |
POST | /v2/startups/{startupListingId}/match-suggestions/{suggestionId}/dismiss | Dismiss a suggestion |
GET | /v2/capital-providers/{capitalProviderListingId}/match-suggestions | Provider-side suggestions |
Capital engagement
Engagement requests use a strict discriminated contract: kind is
meeting, report, or deeper_access, with a subject, a reason, and a
UUID idempotencyKey. Founder invitations are entity-scoped:
POST /v2/entities/{entityId}/engagement-invitations resolves the entity's
listing server-side.
| Method | Path | Purpose |
|---|---|---|
POST | /v2/startups/{startupListingId}/engagement-requests | Investor requests engagement |
POST | /v2/startups/{startupListingId}/engagement-requests/{engagementRequestId}/response | Founder responds |
POST | /v2/startups/{startupListingId}/engagement-invitations | Founder invites an active follower |
POST | /v2/startups/{startupListingId}/capital-objectives | Activate an equity Capital Objective |
POST | /v2/startups/{startupListingId}/engagement-requests/{engagementRequestId}/capital-outcomes-handoff | Hand qualified engagement to Capital Outcomes |
Portfolios and programs
| Method | Path | Purpose |
|---|---|---|
GET/POST | /v2/portfolios | List and create portfolios |
GET | /v2/portfolios/{portfolioId}/artifacts | Portfolio artifacts |
GET/POST | /v2/portfolios/{portfolioId}/collaborators | Portfolio collaborators |
POST | /v2/programs | Create a program workspace |