Forms
Manage forms, fields, and form submissions.
GET
Count what a form blocked, and why, over a recent window
/organizations/{organizationId}/projects/{projectId}/apps/forms/{appId}/forms/{formId}/blocked-submissionsParameters
- windowDays
- query · integer
- organizationIdRequired
- path · string
- projectIdRequired
- path · string
- appIdRequired
- path · string
- formIdRequired
- 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 { forms } = await gc.forms.listForms({ organizationId: orgs[0].id, projectId: projects[0].id, appId: apps[0].id,});
const { submissions } = await gc.forms.getFormBlockedSubmissions({ organizationId: orgs[0].id, projectId: projects[0].id, appId: apps[0].id, formId: forms[0].id,});
GET
Get one form's fields, settings and content blocks in Builder format
/organizations/{organizationId}/projects/{projectId}/apps/forms/{appId}/forms/{formId}Parameters
- organizationIdRequired
- path · string
- projectIdRequired
- path · string
- appIdRequired
- path · string
- formIdRequired
- 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 { forms } = await gc.forms.listForms({ organizationId: orgs[0].id, projectId: projects[0].id, appId: apps[0].id,});
const { form } = await gc.forms.getForm({ organizationId: orgs[0].id, projectId: projects[0].id, appId: apps[0].id, formId: forms[0].id,});
DELETE
Delete form
/organizations/{organizationId}/projects/{projectId}/apps/forms/{appId}/forms/{formId}Parameters
- organizationIdRequired
- path · string
- projectIdRequired
- path · string
- appIdRequired
- path · string
- formIdRequired
- 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 { forms } = await gc.forms.listForms({ organizationId: orgs[0].id, projectId: projects[0].id, appId: apps[0].id,});
const result = await gc.forms.deleteForm({ organizationId: orgs[0].id, projectId: projects[0].id, appId: apps[0].id, formId: forms[0].id,});
PATCH
Update a form's name and description; cannot re-slug it or change fields
/organizations/{organizationId}/projects/{projectId}/apps/forms/{appId}/forms/{formId}Parameters
- organizationIdRequired
- path · string
- projectIdRequired
- path · string
- appIdRequired
- path · string
- formIdRequired
- path · string
BodyRequired
- name
- stringInternal use only
- settings
- object
- description
- union
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 { forms } = await gc.forms.listForms({ organizationId: orgs[0].id, projectId: projects[0].id, appId: apps[0].id,});
const result = await gc.forms.updateFormMeta({ organizationId: orgs[0].id, projectId: projects[0].id, appId: apps[0].id, formId: forms[0].id, data: {},});
GET
Get one submission's full answers plus its user agent, IP and referer
/organizations/{organizationId}/projects/{projectId}/apps/forms/{appId}/forms/{formId}/submissions/{submissionId}Parameters
- organizationIdRequired
- path · string
- projectIdRequired
- path · string
- appIdRequired
- path · string
- formIdRequired
- path · string
- submissionIdRequired
- 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 { forms } = await gc.forms.listForms({ organizationId: orgs[0].id, projectId: projects[0].id, appId: apps[0].id,});const { submissions } = await gc.forms.listFormSubmissions({ organizationId: orgs[0].id, projectId: projects[0].id, appId: apps[0].id, formId: forms[0].id,});
const submission = await gc.forms.getFormSubmission({ organizationId: orgs[0].id, projectId: projects[0].id, appId: apps[0].id, formId: forms[0].id, submissionId: submissions[0].id,});
GET
List one form's submissions, newest first, with submitted data and metadata
/organizations/{organizationId}/projects/{projectId}/apps/forms/{appId}/forms/{formId}/submissionsParameters
- page
- query · number
- pageSize
- query · number
- lite
- query · string
- sort
- query · string
- search
- query · string
- createdAt
- query · string
- organizationIdRequired
- path · string
- projectIdRequired
- path · string
- appIdRequired
- path · string
- formIdRequired
- 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 { forms } = await gc.forms.listForms({ organizationId: orgs[0].id, projectId: projects[0].id, appId: apps[0].id,});
const { submissions } = await gc.forms.listFormSubmissions({ organizationId: orgs[0].id, projectId: projects[0].id, appId: apps[0].id, formId: forms[0].id,});
GET
List forms in a Forms app with their fields and submission counts, newest first
/organizations/{organizationId}/projects/{projectId}/apps/forms/{appId}/formsParameters
- page
- query · number
- pageSize
- query · number
- lite
- query · string
- sort
- query · string
- search
- query · string
- slug
- query · string
- isActive
- query · string
- createdAt
- query · string
- updatedAt
- 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 { forms } = await gc.forms.listForms({ 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.