Draft journeys for a persona
Returns DRAFTS and persists nothing — see POST /projects/{projectId}/personas/generate for why, and for the quota this counts against.
Authorizations
MCPJam API key (sk_…). Create one at Settings → API keys. Guest sessions cannot use the API, and API keys cannot manage other API keys.
Path Parameters
ID of the hosted project that contains the server.
Body
Grounding source and the persona to draft for.
Exactly ONE grounding source: serverAttachmentId or environmentId. Sending both is a 400 — a request that is already confused about what it wants should not have a winner picked for it.
The persona to draft goals FOR, passed BY VALUE rather than by id. Not an oversight: the create flow drafts a persona and its goals before either exists, so requiring a persisted persona would force you to save a draft you may discard.
2000Response
Draft goals.
DRAFTS. Nothing here is persisted — feed what you want to keep to POST /projects/{projectId}/personas or POST /projects/{projectId}/goals.
The shape depends on the request: POST /personas/generate returns {persona, journeys} without personaCount and {personas: [{persona, journeys}]} with it; POST /goals/generate returns {journeys}. The payload KEY is still journeys: it is the drafting service's own shape, not a resource noun, and it moves at general availability with the rest of the deprecated surface.

