Hanzo
OpenapiCrm

Moves one Startup Program application through the pipeline.

Moves one Startup Program application through the pipeline.

PATCH /v1/crm/applications/{id}

Addresshttps://api.hanzo.ai/v1/crm/applications/{id}
MethodPATCH
Operationpatch_crm_applications_by_id
AuthAuthorization: Bearer $HANZO_API_KEY

Moves one Startup Program application through the pipeline. The move is recorded on the application's timeline, attributed to the calling staff user: it may advance exactly one stage, go back to any earlier stage, reject from any non-rejected stage, or reopen a rejected application to applied; anything else is refused. Rejecting requires a reason. A note with no stage change is still recorded.

Request

5 fields, body application/json (required).

FieldInTypeRequiredDescription
idpathstringyesID is the application to move, from the path.
idbodystringID is the application to move, from the path.
notebodystringNote is a free-text comment recorded on the timeline, with or without a stage change.
reasonbodystringReason records WHY, and is required to reject.
stagebodystringStage is the stage to move to: applied, screened, qualified, credits-offered, onboarded or rejected.

Response

StatusBodyMeaning
200ProgramApplicationok

200 body — 31 fields.

FieldInTypeAlwaysDescription
companybodystringCompany is the applicant's company name.
companyIdbodystringCompanyID is the CRM Company minted for this lead at intake, so the startup also appears in the org's standard CRM tabs.
contactIdbodystringContactID is the CRM Contact minted for this lead at intake.
contactNamebodystringContactName is the person who applied.
createdAtbodyintegerCreatedAt is the unix second the application arrived.
emailbodystringEmail is the applicant's email — half of the (email, company) key a resubmission refreshes instead of duplicating.
eventsbodyStageEvent[]Events is the append-only stage-transition log, oldest first.
events[].atbodyintegerAt is the unix second of the move.
events[].bybodystringBy is who moved it: "system" for intake and the AI auto-advance, else the validated staff user id.
events[].frombodystringFrom is the stage moved out of; empty on the intake event that opens the log.
events[].notebodystringNote is the free-text comment recorded with the move.
events[].tobodystringTo is the stage moved into.
idbodystringID is the server-minted application id ("appl_" + 128 random bits).
metadatabodyobjectMetadata is the FULL submitted form, every field, including the arrays the promoted columns above do not carry (tier1Investors, useCases) and the deterministic…
metadata.*bodyobject
reasonbodystringReason is why the application was rejected, required to reject.
rolebodystringRole is the applicant's role at their company.
screenbodyScreenResult
screen.draftReplybodystringDraftReply is a suggested email reply for staff to edit and send.
screen.errorbodystringError says why a failed screen failed — no AI gateway configured, a gateway error, or a reply that carried no parseable JSON.
screen.modelbodystringModel is the LLM the screen ran on.
screen.scorebodyintegerScore is the model's 0..100 fit score, clamped to that range.
screen.screenedAtbodyintegerScreenedAt is the unix second the screen finished (0 while pending).
screen.statusbodystringStatus is the screen's state: pending | done | failed.
screen.suggestedCreditsbodyintegerSuggestedCredits is the recommended credit grant in USD, snapped to the nearest allowed rung: 0 | 5000 | 25000 | 50000 | 150000.
screen.summarybodystringSummary is the model's short assessment of the application.
screen.tier1BackedbodystringTier1Backed is the model's read on tier-1 backing, normalized to "yes", "no" or "unclear" (anything it cannot resolve reads "unclear").
stagebodystringStage is the pipeline stage: applied, screened, qualified, credits-offered, onboarded or rejected.
tier1bodybooleanTier1 is whether the applicant is tier-1 backed, derived deterministically at intake from the submitted fund list — independent of the AI screen.
updatedAtbodyintegerUpdatedAt is the unix second of the last write.
websitebodystringWebsite is the applicant's website as submitted.

Failure carries the platform error shape — see Errors.

Examples

hanzo crm applications update <id>

CRM API · All Hanzo APIs · Interactive reference

How is this guide?

On this page