Project Legal Documents
Manage project-specific legal documents.
GET
Get a project legal document by ID
/organizations/{organizationId}/projects/{projectId}/legal/{documentId}Returns a single legal document version for the project, including its localized content map and publish status.
Parameters
organizationIdRequired
path · string
projectIdRequired
path · string
documentIdRequired
path · string
SDK
import { createGiantContext } from "@giantcontext/sdk-typescript";
const gc = createGiantContext({ apiKey: process.env.GIANTCONTEXT_API_KEY! });
const org = await gc.organizations.getOrganizationBySlug({ slug: "my-org" });const { projects } = await gc.projects.listProjects({ organizationId: org.id });
const document = await gc.projectLegalDocuments.getProjectLegalDocument({ organizationId: org.id, projectId: projects[0].id, documentId: "doc-123",});
GET
List a project's legal document versions across all types, draft and published
/organizations/{organizationId}/projects/{projectId}/legalReturns a paginated list of legal document versions for the project, including drafts and published versions across all document types (terms of service, privacy policy, acceptable use policy, cookie policy, custom).
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: type, status, version, createdAt, updatedAt, publishedAt. Direction is 'asc' or 'desc' and defaults to 'asc'.
type
query · stringFilter by type. Operators: type=value (equals), type_ne, type_gt, type_gte, type_lt, type_lte, type_like (contains), type_isnull=true|false, type_has=value (jsonb array contains), type[]=a&type[]=b (in).
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).
organizationIdRequired
path · string
projectIdRequired
path · string
SDK
import { createGiantContext } from "@giantcontext/sdk-typescript";
const gc = createGiantContext({ apiKey: process.env.GIANTCONTEXT_API_KEY! });
const org = await gc.organizations.getOrganizationBySlug({ slug: "my-org" });const { projects } = await gc.projects.listProjects({ organizationId: org.id });
const { legalDocuments } = await gc.projectLegalDocuments.listProjectLegalDocuments({ organizationId: org.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.