Drafts
Generate, edit, preview, and publish content drafts.
POST
Unarchive a draft back into the default list; already-unarchived is a no-op
/organizations/{organizationId}/projects/{projectId}/mind/drafts/{draftId}/unarchiveParameters
- organizationIdRequired
- path · string
- projectIdRequired
- path · string
- draftIdRequired
- path · string
SDK
import { createGiantContext } from "@giantcontext/sdk-typescript";
const gc = createGiantContext({ apiKey: process.env.GIANTCONTEXT_API_KEY! });
const { organizations: orgs } = await gc.me.listMyOrganizations();const { projects } = await gc.projects.listProjects({ organizationId: orgs[0].id });
const result = await gc.drafts.unarchiveDraft({ organizationId: orgs[0].id, projectId: projects[0].id, draftId: "draft-123",});
POST
Archive an accepted draft to hide it from the default list without deleting
/organizations/{organizationId}/projects/{projectId}/mind/drafts/{draftId}/archiveParameters
- organizationIdRequired
- path · string
- projectIdRequired
- path · string
- draftIdRequired
- path · string
SDK
import { createGiantContext } from "@giantcontext/sdk-typescript";
const gc = createGiantContext({ apiKey: process.env.GIANTCONTEXT_API_KEY! });
const { organizations: orgs } = await gc.me.listMyOrganizations();const { projects } = await gc.projects.listProjects({ organizationId: orgs[0].id });
const result = await gc.drafts.archiveDraft({ organizationId: orgs[0].id, projectId: projects[0].id, draftId: "draft_123",});
POST
Generate AI edits to existing content; async, returns a pending draftId to poll
/organizations/{organizationId}/projects/{projectId}/drafts/generate/editParameters
- organizationIdRequired
- path · string
- projectIdRequired
- path · string
BodyRequired
- appId
- string
- promptRequired
- string
- packageId
- string
- resourceIdRequired
- string
- contentType
- string
- dependencies
- array
- draftPackage
- object
SDK
import { createGiantContext } from "@giantcontext/sdk-typescript";
const gc = createGiantContext({ apiKey: process.env.GIANTCONTEXT_API_KEY! });
const { organizations: orgs } = await gc.me.listMyOrganizations();const { projects } = await gc.projects.listProjects({ organizationId: orgs[0].id });
const { draft } = await gc.drafts.generateEditDraft({ organizationId: orgs[0].id, projectId: projects[0].id, data: {},});
GET
Get one draft with its prompt, generated content and status; poll while pending
/organizations/{organizationId}/projects/{projectId}/mind/drafts/{draftId}Parameters
- lite
- query · string
- organizationIdRequired
- path · string
- projectIdRequired
- path · string
- draftIdRequired
- path · string
SDK
import { createGiantContext } from "@giantcontext/sdk-typescript";
const gc = createGiantContext({ apiKey: process.env.GIANTCONTEXT_API_KEY! });
const { organizations: orgs } = await gc.me.listMyOrganizations();const { projects } = await gc.projects.listProjects({ organizationId: orgs[0].id });const { drafts } = await gc.drafts.listDrafts({ organizationId: orgs[0].id, projectId: projects[0].id,});
const { draft } = await gc.drafts.getDraft({ organizationId: orgs[0].id, projectId: projects[0].id, draftId: drafts[0].id,});
DELETE
Delete a rejected, failed or cancelled draft permanently; other statuses return 409
/organizations/{organizationId}/projects/{projectId}/mind/drafts/{draftId}Parameters
- organizationIdRequired
- path · string
- projectIdRequired
- path · string
- draftIdRequired
- path · string
SDK
import { createGiantContext } from "@giantcontext/sdk-typescript";
const gc = createGiantContext({ apiKey: process.env.GIANTCONTEXT_API_KEY! });
const { organizations: orgs } = await gc.me.listMyOrganizations();const { projects } = await gc.projects.listProjects({ organizationId: orgs[0].id });
const result = await gc.drafts.deleteDraft({ organizationId: orgs[0].id, projectId: projects[0].id, draftId: "draft-id",});
POST
Generate new content from a prompt; async, takes 5-15 minutes, nothing publishes yet
/organizations/{organizationId}/projects/{projectId}/drafts/generate/newParameters
- organizationIdRequired
- path · string
- projectIdRequired
- path · string
BodyRequired
- appId
- string
- promptRequired
- string
- packageId
- string
- resourceId
- any
- contentType
- string
- dependencies
- array
- draftPackage
- object
- featuredContent
- object
SDK
import { createGiantContext } from "@giantcontext/sdk-typescript";
const gc = createGiantContext({ apiKey: process.env.GIANTCONTEXT_API_KEY! });
const { organizations: orgs } = await gc.me.listMyOrganizations();const { projects } = await gc.projects.listProjects({ organizationId: orgs[0].id });
const { draft } = await gc.drafts.generateNewDraft({ organizationId: orgs[0].id, projectId: projects[0].id, data: {}});
POST
Create a copy-on-write draft of existing content for manual editing, no AI
/organizations/{organizationId}/projects/{projectId}/drafts/editParameters
- organizationIdRequired
- path · string
- projectIdRequired
- path · string
BodyRequired
- prompt
- string
- resourceIdRequired
- string
- contentTypeRequired
- string
SDK
import { createGiantContext } from "@giantcontext/sdk-typescript";
const gc = createGiantContext({ apiKey: process.env.GIANTCONTEXT_API_KEY! });
const { organizations: orgs } = await gc.me.listMyOrganizations();const { projects } = await gc.projects.listProjects({ organizationId: orgs[0].id });
const draft = await gc.drafts.createEditDraft({ organizationId: orgs[0].id, projectId: projects[0].id, data: {}});
GET
List a project's drafts newest first; archived hidden unless includeArchived
/organizations/{organizationId}/projects/{projectId}/mind/draftsParameters
- page
- query · number
- pageSize
- query · number
- lite
- query · string
- sort
- query · string
- search
- query · string
- status
- query · string
- name
- query · string
- prompt
- query · string
- contentType
- query · string
- createdAt
- query · string
- updatedAt
- query · string
- includeArchived
- query · union
- organizationIdRequired
- path · string
- projectIdRequired
- path · string
SDK
import { createGiantContext } from "@giantcontext/sdk-typescript";
const gc = createGiantContext({ apiKey: process.env.GIANTCONTEXT_API_KEY! });
const { organizations: orgs } = await gc.me.listMyOrganizations();const { projects } = await gc.projects.listProjects({ organizationId: orgs[0].id });
const { drafts } = await gc.drafts.listDrafts({ organizationId: orgs[0].id, projectId: projects[0].id,});
BuiltAutonomously With AI
This content was built autonomously. Giant Context analyzed the site, determined what was missing, created and submitted an idea and draft, which Giant Context staff accepted and published.