Giant Context
Giant ContextGet Early Access

Briefs

Inspect prepared Mind briefs between ideas and generated drafts.


POST

Approve a ready brief, which starts draft generation from its draft prompt

/organizations/{organizationId}/projects/{projectId}/mind/briefs/{briefId}/approve

Approves a ready Mind brief and starts draft generation from the brief's canonical draft prompt. The brief must be in 'ready' status.

Parameters
organizationIdRequired
path · stringOrganization ID
projectIdRequired
path · stringProject ID
briefIdRequired
path · stringBrief ID
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 { briefs } = await gc.briefs.listBriefs({  organizationId: orgs[0].id,  projectId: projects[0].id,});
const result = await gc.briefs.approveBrief({  organizationId: orgs[0].id,  projectId: projects[0].id,  briefId: briefs[0].id,});
POST

Reject a ready brief so it never reaches draft generation

/organizations/{organizationId}/projects/{projectId}/mind/briefs/{briefId}/reject

Rejects a ready Mind brief so it cannot be used to generate a draft.

Parameters
organizationIdRequired
path · stringOrganization ID
projectIdRequired
path · stringProject ID
briefIdRequired
path · stringBrief ID
BodyRequired
reason
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 result = await gc.briefs.rejectBrief({  organizationId: orgs[0].id,  projectId: "project_id",  briefId: "brief_id",  data: {}});
GET

Get one brief's full paper trail from idea to draft prompt

/organizations/{organizationId}/projects/{projectId}/mind/briefs/{briefId}

Returns full details of a Mind brief, including stream selection, discovery, plan, design, audit, retry history, and draft prompt/spec artifacts.

Parameters
organizationIdRequired
path · stringOrganization ID
projectIdRequired
path · stringProject ID
briefIdRequired
path · stringBrief ID
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 { briefs } = await gc.briefs.listBriefs({  organizationId: orgs[0].id,  projectId: projects[0].id,});
const brief = await gc.briefs.getBrief({  organizationId: orgs[0].id,  projectId: projects[0].id,  briefId: briefs[0].id,});
GET

List Mind briefs for a project

/organizations/{organizationId}/projects/{projectId}/mind/briefs

Returns a paginated list of Mind briefs for the project. Briefs are the prepared bridge between ideas and generated drafts, including stream, planning, audit, and draft prompt artifacts.

Parameters
page
query · numberPage number to return, 1-indexed. Defaults to 1.
pageSize
query · numberItems per page (1-100). Defaults to 10.
lite
query · stringWhen 'true', return only essential fields (id, slug, title/name) to reduce payload size. Useful for context fetching and link resolution.
sort
query · stringSort specifier as 'field:direction'. Sortable fields: status, targetContentType, createdAt, updatedAt, startedAt, completedAt. Direction is 'asc' or 'desc' and defaults to 'asc'.
status
query · stringFilter by status. Operators: status=value (equals), status_ne, status_gt, status_gte, status_lt, status_lte, status_like (contains), status_isnull=true|false, status_has=value (jsonb array contains), status[]=a&status[]=b (in).
contentType
query · stringFilter by contentType. Operators: contentType=value (equals), contentType_ne, contentType_gt, contentType_gte, contentType_lt, contentType_lte, contentType_like (contains), contentType_isnull=true|false, contentType_has=value (jsonb array contains), contentType[]=a&contentType[]=b (in).
targetContentType
query · stringFilter by targetContentType. Operators: targetContentType=value (equals), targetContentType_ne, targetContentType_gt, targetContentType_gte, targetContentType_lt, targetContentType_lte, targetContentType_like (contains), targetContentType_isnull=true|false, targetContentType_has=value (jsonb array contains), targetContentType[]=a&targetContentType[]=b (in).
ideaId
query · stringFilter by ideaId. Operators: ideaId=value (equals), ideaId_ne, ideaId_gt, ideaId_gte, ideaId_lt, ideaId_lte, ideaId_like (contains), ideaId_isnull=true|false, ideaId_has=value (jsonb array contains), ideaId[]=a&ideaId[]=b (in).
createdAt
query · stringFilter by createdAt. Operators: createdAt=value (equals), createdAt_ne, createdAt_gt, createdAt_gte, createdAt_lt, createdAt_lte, createdAt_like (contains), createdAt_isnull=true|false, createdAt_has=value (jsonb array contains), createdAt[]=a&createdAt[]=b (in).
updatedAt
query · stringFilter by updatedAt. Operators: updatedAt=value (equals), updatedAt_ne, updatedAt_gt, updatedAt_gte, updatedAt_lt, updatedAt_lte, updatedAt_like (contains), updatedAt_isnull=true|false, updatedAt_has=value (jsonb array contains), updatedAt[]=a&updatedAt[]=b (in).
startedAt
query · stringFilter by startedAt. Operators: startedAt=value (equals), startedAt_ne, startedAt_gt, startedAt_gte, startedAt_lt, startedAt_lte, startedAt_like (contains), startedAt_isnull=true|false, startedAt_has=value (jsonb array contains), startedAt[]=a&startedAt[]=b (in).
completedAt
query · stringFilter by completedAt. Operators: completedAt=value (equals), completedAt_ne, completedAt_gt, completedAt_gte, completedAt_lt, completedAt_lte, completedAt_like (contains), completedAt_isnull=true|false, completedAt_has=value (jsonb array contains), completedAt[]=a&completedAt[]=b (in).
organizationIdRequired
path · stringOrganization ID
projectIdRequired
path · stringProject ID
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 { briefs } = await gc.briefs.listBriefs({  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 Jesse accepted and published.
Giant Context
Product
  • How It Works
  • Mind
  • Create
  • Capture
  • Nurture
  • Optimize
  • Publishing
  • Pricing
  • Use Cases

© 2026 Giant Context
Privacy PolicyTermsCookie PolicyAcceptable Use
Powered by
Briefs | Giant Context