Giant Context
Giant ContextAsk for early access

Chat

Manage chat conversations, messages, and prompts.


GET

Get chat conversation with paginated messages

/organizations/{organizationId}/projects/{projectId}/apps/chat/{appId}/conversations/{conversationId}
Parameters
cursor
query · string
cursorId
query · string
direction
query · union
limit
query · number
organizationIdRequired
path · string
projectIdRequired
path · string
appIdRequired
path · string
conversationIdRequired
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 { conversation } = await gc.chat.getChatConversation({  organizationId: orgs[0].id,  projectId: projects[0].id,  appId: "app-id",  conversationId: "conversation-id",});
POST

Reply into a chat conversation as a human operator

/organizations/{organizationId}/projects/{projectId}/apps/chat/{appId}/conversations/{conversationId}/reply
Parameters
organizationIdRequired
path · string
projectIdRequired
path · string
appIdRequired
path · string
conversationIdRequired
path · string
BodyRequired
contentRequired
string
SDK
import { createGiantContext } from "@giantcontext/sdk-typescript";
const gc = createGiantContext({ apiKey: process.env.GIANTCONTEXT_API_KEY! });
const { organizations } = await gc.me.listMyOrganizations();const { projects } = await gc.projects.listProjects({ organizationId: organizations[0].id });
const result = await gc.chat.replyToChatConversation({  organizationId: organizations[0].id,  projectId: projects[0].id,  appId: "YOUR_APP_ID",  conversationId: "YOUR_CONVERSATION_ID",  data: {    message: "Hello, how can I help you today?"  }});
POST

Take over a chat conversation from the AI

/organizations/{organizationId}/projects/{projectId}/apps/chat/{appId}/conversations/{conversationId}/takeover
Parameters
organizationIdRequired
path · string
projectIdRequired
path · string
appIdRequired
path · string
conversationIdRequired
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 { apps } = await gc.projects.listProjectApps({  organizationId: orgs[0].id,  projectId: projects[0].id,});const { conversations } = await gc.chat.listChatConversations({  organizationId: orgs[0].id,  projectId: projects[0].id,  appId: apps[0].id,});
const result = await gc.chat.takeOverChatConversation({  organizationId: orgs[0].id,  projectId: projects[0].id,  appId: apps[0].id,  conversationId: conversations[0].id,});
DELETE

Release a chat conversation back to the AI

/organizations/{organizationId}/projects/{projectId}/apps/chat/{appId}/conversations/{conversationId}/takeover
Parameters
organizationIdRequired
path · string
projectIdRequired
path · string
appIdRequired
path · string
conversationIdRequired
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 { apps } = await gc.projects.listProjectApps({  organizationId: orgs[0].id,  projectId: projects[0].id,});const { conversations } = await gc.chat.listChatConversations({  organizationId: orgs[0].id,  projectId: projects[0].id,  appId: apps[0].id,});
const result = await gc.chat.releaseChatConversation({  organizationId: orgs[0].id,  projectId: projects[0].id,  appId: apps[0].id,  conversationId: conversations[0].id,});
GET

The visitor's trail behind a conversation, newest first

/organizations/{organizationId}/projects/{projectId}/apps/chat/{appId}/conversations/{conversationId}/timeline
Parameters
page
query · number
pageSize
query · number
lite
query · string
limit
query · integer
organizationIdRequired
path · string
projectIdRequired
path · string
appIdRequired
path · string
conversationIdRequired
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 { apps } = await gc.projects.listProjectApps({  organizationId: orgs[0].id,  projectId: projects[0].id,});const { conversations } = await gc.chat.listChatConversations({  organizationId: orgs[0].id,  projectId: projects[0].id,  appId: apps[0].id,});
const timeline = await gc.chat.getChatConversationTimeline({  organizationId: orgs[0].id,  projectId: projects[0].id,  appId: apps[0].id,  conversationId: conversations[0].id,});
GET

List every visitor conversation in a chat app, most recently updated first

/organizations/{organizationId}/projects/{projectId}/apps/chat/{appId}/conversations
Parameters
page
query · number
pageSize
query · number
lite
query · string
sort
query · string
search
query · string
visitorId
query · string
userId
query · string
organizationIdRequired
path · string
projectIdRequired
path · string
appIdRequired
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 { apps } = await gc.projects.listProjectApps({  organizationId: orgs[0].id,  projectId: projects[0].id,});
const { conversations } = await gc.chat.listChatConversations({  organizationId: orgs[0].id,  projectId: projects[0].id,  appId: apps[0].id,});
GET

List every escalation in a chat app, newest first

/organizations/{organizationId}/projects/{projectId}/apps/chat/{appId}/escalations
Parameters
page
query · number
pageSize
query · number
lite
query · string
sort
query · string
search
query · string
status
query · string
visitorEmail
query · string
organizationIdRequired
path · string
projectIdRequired
path · string
appIdRequired
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 { apps } = await gc.projects.listProjectApps({  organizationId: orgs[0].id,  projectId: projects[0].id,});
const { escalations } = await gc.chat.listChatEscalations({  organizationId: orgs[0].id,  projectId: projects[0].id,  appId: apps[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.
Giant Context
Product
  • How It Works
  • Mind
  • Create
  • Capture
  • Nurture
  • Optimize
  • Publishing
  • Pricing
  • Use Cases

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