SureshakeDocs
API ReferenceEndpoints

Execution Endpoints

Execution Seasons, cycles, weekly commitments, evidence, reviews, and the execution calendar.

The execution family manages Execution Seasons and cycles, weekly commitments with proof standards, evidence, weekly reviews, and the execution calendar. See the Execution Seasons guide for the product model.

All execution endpoints require an Authorization: Bearer $TOKEN header and return the standard 401 envelope without one.

List Cycles

Retrieve execution cycles for a specific entity.

GET/v2/execution/{entityId}/cycles
curl -H "Authorization: Bearer $TOKEN" \
"https://api.sureshake.com/v2/execution/8f2349ef.../cycles"
200 OK
{
"data": [
  {
    "id": "8f2349ef...",
    "entityId": "8f2349ef...",
    "label": "Founding Season",
    "status": "active",
    "startDate": "2026-01-05T00:00:00Z",
    "endDate": "2026-03-01T23:59:59Z",
    "createdAt": "2026-01-02T10:00:00Z"
  }
],
"meta": {
  "total": 1,
  "limit": 100,
  "offset": 0,
  "hasMore": false
}
}

Baseline

Every company records a pre-season baseline on its entity — a marketplace listing is not required. Fields carry evidence, locking makes the baseline immutable (a hash-sealed snapshot), and corrections preserve the original entries. Season activation requires the latest locked baseline.

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

The older /v2/startups/{id}/baseline paths remain as deprecated aliases with identical behavior.

Create an Execution Season

Season creation is a discriminated contract on durationModeeight_week_template or custom (custom supplies its own endDate). Every season names its primary outcome, links a locked baseline, and picks a cadence (weekly, biweekly, or monthly) and a visibility tier (public, follower, capital, diligence, or custom).

POST/v2/execution/cycles
curl -X POST \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
  "durationMode": "eight_week_template",
  "entityId": "8f2349ef...",
  "label": "Founding Season",
  "startDate": "2026-01-05T00:00:00.000Z",
  "primaryOutcome": "Reach 20 paying design partners",
  "baselineId": "1c9a77b2...",
  "ownerUserId": "did:privy:...",
  "cadence": "weekly",
  "visibility": "follower"
}' \
"https://api.sureshake.com/v2/execution/cycles"

Season structure and lifecycle

MethodPathPurpose
POST/v2/execution/cycles/{cycleId}/phasesAdd a season phase
POST/v2/execution/cycles/{cycleId}/milestonesAdd a milestone event
GET/v2/execution/cycles/{cycleId}/activation-readinessCheck what activation still needs
POST/v2/execution/cycles/{cycleId}/activateActivate the season
GET/v2/execution/cycles/{cycleId}/lifecycleLifecycle history
GET/v2/execution/cycles/{cycleId}/planThe season plan

Weekly commitments

Commitments are versioned; edits after the week starts are guarded and preserved. Quality warnings and AI rewrite proposals return pending drafts that require explicit acceptance.

MethodPathPurpose
POST/v2/execution/cycles/{cycleId}/first-week-commitmentsCall the first week's commitments
GET/POST/v2/execution/cycles/{cycleId}/commitments/{commitmentId}/versionsVersion history and new versions
POST/v2/execution/cycles/{cycleId}/commitment-quality-assessmentQuality warnings
POST/v2/execution/cycles/{cycleId}/commitment-rewrite-proposalsAI rewrite proposal (pending draft)
POST/v2/execution/cycles/{cycleId}/commitments/{commitmentId}/closureClose against the original text
POST/v2/execution/cycles/{cycleId}/commitments/{commitmentId}/resetLinked reset of a missed commitment

Evidence and attestations

Missing evidence is an explicit state — never silent completion.

MethodPathPurpose
GET/POST/v2/execution/cycles/{cycleId}/commitments/{commitmentId}/evidenceRead and attach evidence
POST/v2/execution/cycles/{cycleId}/commitments/{commitmentId}/evidence/attestationsAttest evidence
GET/POST/v2/execution/cycles/{cycleId}/commitments/{commitmentId}/attestation-invitationsInvite an attester
GET/v2/execution/attestation-invitations/meYour attestation invitations
GET/v2/execution/evidence-label-reviewsEvidence label review queue

Weekly reviews and the record

MethodPathPurpose
POST/v2/execution/cycles/{cycleId}/weekly-reviewsFile a structured weekly review
GET/v2/execution/cycles/{cycleId}/weekly-reviews/currentThe current week's review
POST/v2/execution/cycles/{cycleId}/weekly-reviews/ai-draftEditable AI draft
GET/PUT/v2/execution/cycles/{cycleId}/review-promptConfigurable review prompts
GET/v2/execution/cycles/{cycleId}/recordThe cycle's execution record
GET/v2/execution/cycles/{cycleId}/record/exportExport the record

Calendar

Calendar reads are explicit: view (today, week, month, or season), timeZone, and — for today/week/month — an anchorDate are required, never defaulted server-side.

GET/v2/execution/cycles/{cycleId}/calendar
curl -H "Authorization: Bearer $TOKEN" \
"https://api.sureshake.com/v2/execution/cycles/{cycleId}/calendar?view=week&timeZone=America/New_York&anchorDate=2026-01-05"
MethodPathPurpose
POST/v2/execution/cycles/{cycleId}/calendar/linksLink an item to the calendar
DELETE/v2/execution/cycles/{cycleId}/calendar/links/{linkId}Remove a link
POST/v2/execution/cycles/{cycleId}/calendar/reschedulesReschedule (history preserved)
POST/v2/execution/cycles/{cycleId}/calendar/sharing-policiesPrivate details, shared outcomes

Goals

Cycle-scoped and standalone goals from the Verified Execution Record remain available:

MethodPathPurpose
GET/v2/execution/cycles/{cycleId}/goalsGoals for a cycle
POST/v2/execution/goalsCreate a goal

On this page