Giant Context
Giant ContextAsk for early access

Project Apps

Create, configure, restore, and delete project apps.


GET

Get a project app by slug

/organizations/{organizationId}/projects/{projectId}/apps/by-slug/{appSlug}
Parameters
organizationIdRequired
path · string
projectIdRequired
path · string
appSlugRequired
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 { app } = await gc.projectApps.getProjectAppBySlug({  organizationId: orgs[0].id,  projectId: projects[0].id,  appSlug: "my-app-slug",});
GET

Read one app's settings, whatever kind of app it is

/organizations/{organizationId}/projects/{projectId}/apps/{appId}/settings
Parameters
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.projectApps.listProjectApps({  organizationId: orgs[0].id,  projectId: projects[0].id,});
const { settings } = await gc.projectApps.getAppSettings({  organizationId: orgs[0].id,  projectId: projects[0].id,  appId: apps[0].id,});
PATCH

Change one app's settings, merging into what is already there

/organizations/{organizationId}/projects/{projectId}/apps/{appId}/settings
Parameters
organizationIdRequired
path · string
projectIdRequired
path · string
appIdRequired
path · string
BodyRequired
settingsRequired
objectOnly the keys being changed. Omitted keys keep their value; send a key as null to clear it. Validated against the app's declared schema.
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.projectApps.listProjectApps({  organizationId: orgs[0].id,  projectId: projects[0].id,});
const result = await gc.projectApps.updateAppSettings({  organizationId: orgs[0].id,  projectId: projects[0].id,  appId: apps[0].id,  data: {},});
GET

Get a project app by ID

/organizations/{organizationId}/projects/{projectId}/apps/{appId}
Parameters
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.projectApps.listProjectApps({  organizationId: orgs[0].id,  projectId: projects[0].id,});
const { app } = await gc.projectApps.getProjectApp({  organizationId: orgs[0].id,  projectId: projects[0].id,  appId: apps[0].id,});
GET

List soft-deleted apps in a project's trash, restorable or permanently deletable

/organizations/{organizationId}/projects/{projectId}/apps/trash
Parameters
page
query · number
pageSize
query · number
lite
query · string
sort
query · string
search
query · string
name
query · string
slug
query · string
appType
query · string
isActive
query · string
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 { apps } = await gc.projectApps.listDeletedProjectApps({  organizationId: orgs[0].id,  projectId: projects[0].id});
GET

List a project's active apps and their types to obtain the appId

/organizations/{organizationId}/projects/{projectId}/apps
Parameters
page
query · number
pageSize
query · number
lite
query · string
sort
query · string
search
query · string
name
query · string
slug
query · string
appType
query · string
isActive
query · string
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 { apps } = await gc.projects.listProjectApps({  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.
Giant Context
Product
  • How It Works
  • Mind
  • Create
  • Capture
  • Nurture
  • Optimize
  • Publishing
  • Pricing
  • Use Cases

© 2026 Giant Context
Privacy PolicyTermsCookie PolicyAcceptable Use
Powered by
Project Apps | Giant Context