Manage project ideas and approval workflows.
Approve a Mind idea
/organizations/{id}/projects/{projectId}/mind/ideas/{ideaId}/approveApprove an idea, which sets its status to 'approved'. Email sends and focused email edits enqueue durable materialization contracts; other content types trigger draft generation automatically. The idea must be in 'pending' status.
import { createGiantContext } from "@giantcontext/sdk-typescript";
const gc = createGiantContext({ apiKey: process.env.GIANTCONTEXT_API_KEY! });
const id = "example-id";const projectId = "example-project-id";const ideaId = "example-idea-id";const data = {};
const { data: approvedIdea } = await gc.ideas.approveIdea({ id, projectId, ideaId, data});Dismiss a Mind idea
/organizations/{id}/projects/{projectId}/mind/ideas/{ideaId}/dismissDismiss an idea that the user doesn't want to pursue. The idea must be in 'pending' status. Optionally include a reason for dismissal. Dismissed ideas are tracked so Mind doesn't re-suggest them.
import { createGiantContext } from "@giantcontext/sdk-typescript";
const gc = createGiantContext({ apiKey: process.env.GIANTCONTEXT_API_KEY! });
const { data: idea } = await gc.ideas.dismissIdea({ id: "id-123", projectId: "proj-123", ideaId: "idea-123", data: {}});Get a Mind idea
/organizations/{id}/projects/{projectId}/mind/ideas/{ideaId}Returns full details of a Mind idea including title, rationale, outline, priority, similarity score, and status. If the idea has status 'pending', it can be approved (triggering draft generation) or dismissed.
import { createGiantContext } from "@giantcontext/sdk-typescript";
const gc = createGiantContext({ apiKey: process.env.GIANTCONTEXT_API_KEY! });
const { data: idea } = await gc.ideas.getIdea({ id: "id", projectId: "projectId", ideaId: "ideaId"});List Mind ideas for a project
/organizations/{id}/projects/{projectId}/mind/ideasReturns a paginated list of Mind ideas for the project. Ideas represent content gaps or suggestions identified by the AI ideation engine. Filter by status to see pending, approved, dismissed, or drafted ideas.
import { createGiantContext } from "@giantcontext/sdk-typescript";
const gc = createGiantContext({ apiKey: process.env.GIANTCONTEXT_API_KEY! });
const { data: ideas } = await gc.ideas.listIdeas({ id: "idea-id", projectId: "project-id"});Trigger Mind ideation for a project
/organizations/{id}/projects/{projectId}/mind/ideasEnqueues a durable Mind ideation contract for this project. Optional 'target' narrows execution to one (contentType, operationKey) operation — useful for targeted testing. Returns the run and contract IDs immediately.
import { createGiantContext } from "@giantcontext/sdk-typescript";
const gc = createGiantContext({ apiKey: process.env.GIANTCONTEXT_API_KEY! });
const { data: ideation } = await gc.ideas.triggerIdeation({ id: "idea_123", projectId: "proj_123", data: {}});