SureshakeDocs
API ReferenceEndpoints

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.

401 Unauthorized
{
"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

GET/v2/startups
curl -H "Authorization: Bearer $TOKEN" \
"https://api.sureshake.com/v2/startups"
MethodPathPurpose
GET/v2/startups/{slug}Startup detail by slug
PATCH/v2/startups/{id}Update profile fields (including structured capital status)
GET/v2/startups/{id}/profile/previewPreview the profile as a named audience (audience required)
GET/v2/startups/{id}/profile/preview-audiencesAudiences available to preview
GET/v2/startups/{id}/profile/versionsImmutable profile version history
PUT/v2/startups/{id}/public-contentSelect which content is publicly visible
GET/v2/startups/{id}/public-content/candidatesContent eligible for public selection
GET/v2/entities/{entityId}/startup-listingViewer-scoped listing detail resolved from the entity
POST/v2/entities/{entityId}/startup-listingOwner-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.

MethodPathPurpose
GET/v2/startups/{id}/baselineRead the baseline
POST/v2/startups/{id}/baselineCreate the baseline
POST/v2/startups/{id}/baseline/fieldsAdd a field with evidence
PUT/v2/startups/{id}/baseline/fields/{fieldId}Update a field before lock
PUT/v2/startups/{id}/baseline/strategic-contextConstraints and assumptions
POST/v2/startups/{id}/baseline/lockLock the baseline
POST/v2/startups/{id}/baseline/correctionsCorrect a locked baseline
POST/v2/startups/{id}/baseline/summary/generateDraft an AI summary (pending)
POST/v2/startups/{id}/baseline/summary/confirmFounder-confirm the summary

Follow requests

POST/v2/startups/{id}/follow-requests
curl -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.

MethodPathPurpose
GET/v2/me/startup-follow-requestsFounder inbox of pending follow requests

Investor surfaces

Saves, watchlists, and notes are private to the investor; founders are never notified.

MethodPathPurpose
GET/POST/v2/investor/startup-watchlistsList and create startup watchlists
GET/PATCH/v2/investor/startup-watchlists/{watchlistId}Read and rename a watchlist
POST/v2/investor/startup-watchlists/{watchlistId}/itemsAdd a startup
DELETE/v2/investor/startup-watchlists/{watchlistId}/items/{startupListingId}Remove a startup
GET/PUT/v2/investor/startup-watchlists/alert-preferencesAlert triggers and digest cadence
GET/POST/v2/investor/startup-profile-savesPrivate saves
GET/POST/v2/investor/startups/{startupListingId}/notesFirm-scoped private notes
GET/v2/investor/startups/searchVerified-investor search over public startup facts (strict public-only query)
GET/POST/v2/investment-mandatesMandates for a principal (principalType of person or firm required)
GET/v2/investment-mandates/observed-historyObserved mandate behavior

Matching

Suggestions carry provenance; there is no universal score and no pay-to-rank.

MethodPathPurpose
GET/v2/startups/{startupListingId}/match-suggestionsFounder-side suggestions
POST/v2/startups/{startupListingId}/match-suggestions/{suggestionId}/dismissDismiss a suggestion
GET/v2/capital-providers/{capitalProviderListingId}/match-suggestionsProvider-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.

MethodPathPurpose
POST/v2/startups/{startupListingId}/engagement-requestsInvestor requests engagement
POST/v2/startups/{startupListingId}/engagement-requests/{engagementRequestId}/responseFounder responds
POST/v2/startups/{startupListingId}/engagement-invitationsFounder invites an active follower
POST/v2/startups/{startupListingId}/capital-objectivesActivate an equity Capital Objective
POST/v2/startups/{startupListingId}/engagement-requests/{engagementRequestId}/capital-outcomes-handoffHand qualified engagement to Capital Outcomes

Portfolios and programs

MethodPathPurpose
GET/POST/v2/portfoliosList and create portfolios
GET/v2/portfolios/{portfolioId}/artifactsPortfolio artifacts
GET/POST/v2/portfolios/{portfolioId}/collaboratorsPortfolio collaborators
POST/v2/programsCreate a program workspace

On this page