Manage forms, fields, and form submissions.
Get form
/organizations/{organizationId}/projects/{projectId}/apps/forms/{appId}/forms/{formId}Retrieve the full details of a single form by its identifier. Returns the form's unique identifier, associated app identifier, name, URL slug, description, field definitions (each with name, type, and required status), rich content layout (Builder block structure used for rendering), settings (notification email, redirect URL, tags, source), active/inactive status, and creation and update timestamps.
import { createGiantContext } from "@giantcontext/sdk-typescript";
const gc = createGiantContext({ apiKey: process.env.GIANTCONTEXT_API_KEY! });
const { data: form } = await gc.forms.getForm({ organizationId: "org_123", projectId: "proj_123", appId: "app_123", formId: "form_123"});Get form submission
/organizations/{organizationId}/projects/{projectId}/apps/forms/{appId}/forms/{formId}/submissions/{submissionId}Retrieve the full details of a single form submission by its identifier. Returns the submission's unique identifier, the parent form identifier, the complete user-submitted data (key-value pairs corresponding to form fields), metadata (user agent, IP address, referer, submission timestamp, tags, source), and the creation timestamp.
import { createGiantContext } from "@giantcontext/sdk-typescript";
const gc = createGiantContext({ apiKey: process.env.GIANTCONTEXT_API_KEY! });
const organizationId = "org_123";const projectId = "proj_123";const appId = "app_123";const formId = "form_123";const submissionId = "sub_123";
const { data: submission } = await gc.forms.getFormSubmission({ organizationId, projectId, appId, formId, submissionId});Get form submissions
/organizations/{organizationId}/projects/{projectId}/apps/forms/{appId}/forms/{formId}/submissionsRetrieve a paginated list of all submissions received for a specific form. Each submission includes its unique identifier, the parent form identifier, the user-submitted data (key-value pairs corresponding to form fields), metadata (user agent, IP address, referer, submission timestamp, tags, source), and the creation timestamp. Supports full-text search across submission data.
import { createGiantContext } from "@giantcontext/sdk-typescript";
const gc = createGiantContext({ apiKey: process.env.GIANTCONTEXT_API_KEY! });
const organizationId = "org_123";const projectId = "proj_123";const appId = "app_123";const formId = "form_123";
const { data: formSubmissions } = await gc.forms.getFormSubmissions({ organizationId, projectId, appId, formId});Get forms
/organizations/{organizationId}/projects/{projectId}/apps/forms/{appId}/formsRetrieve a paginated list of all forms belonging to the specified Forms app. Each form in the response includes its unique identifier, name, URL slug, description, field definitions (name, type, required status), rich content layout, settings (notification email, redirect URL), active/inactive status, creation and update timestamps, and a count of how many submissions have been received. Supports searching forms by name or slug.
import { createGiantContext } from "@giantcontext/sdk-typescript";
const gc = createGiantContext({ apiKey: process.env.GIANTCONTEXT_API_KEY! });
const { data: forms } = await gc.forms.getFormsList({ organizationId: "org-id", projectId: "project-id", appId: "app-id"});