API Endpoints
This chapter contains a reference of all 125 API endpoints in 42Forms, organized by resource.
| Method | Path | Description |
|---|---|---|
PUT | /api/admin/license | Set or change a user’s license tier. Requires admin seat. |
DELETE | /api/admin/license | Revoke a user’s license (drops to view tier). Requires admin seat. |
GET | /api/admin/users | List all users in the org with their license tiers. Requires admin seat. |
| Method | Path | Description |
|---|---|---|
POST | /api/auth/activate | Activate a pending member by matching their email to an invitation. |
GET | /api/auth/me | Generate a new personal API key. The raw key is returned ONCE. |
PATCH | /api/auth/me | Generate a new personal API key. The raw key is returned ONCE. |
POST | /api/auth/api-keys | Generate a new personal API key. The raw key is returned ONCE. |
GET | /api/auth/api-keys | List all active API keys for the current user. |
DELETE | /api/auth/api-keys/{api_key_id} | Revoke (soft-delete) an API key. |
| Method | Path | Description |
|---|---|---|
POST | /api/chat/completions | Chat Completions |
Connections
Section titled “Connections”| Method | Path | Description |
|---|---|---|
GET | /api/orgs/{org_id}/connections/{connection_id} | Get Connection |
PUT | /api/orgs/{org_id}/connections/{connection_id} | Update Connection |
DELETE | /api/orgs/{org_id}/connections/{connection_id} | Delete Connection |
POST | /api/orgs/{org_id}/connections/test | Test Unsaved Connection |
POST | /api/orgs/{org_id}/connections/{connection_id}/test | Test Saved Connection |
GET | /api/orgs/{org_id}/connections/{connection_id}/databases | List Databases |
GET | /api/orgs/{org_id}/connections/{connection_id}/browse | Browse Connection |
GET | /api/orgs/{org_id}/connections/{connection_id}/databases/{database}/schemas | List Schemas |
GET | /api/orgs/{org_id}/connections/{connection_id}/databases/{database}/schemas/{schema}/objects | List Objects |
GET | /api/orgs/{org_id}/connections/{connection_id}/databases/{database}/schemas/{schema}/objects/{object_name}/columns | Describe Columns |
GET | /api/orgs/{org_id}/connections/{connection_id}/databases/{database}/schemas/{schema}/semantic-views | List Semantic Views |
GET | /api/orgs/{org_id}/connections/{connection_id}/databases/{database}/schemas/{schema}/semantic-views/{view_name} | Describe Semantic View |
Csv-Import
Section titled “Csv-Import”| Method | Path | Description |
|---|---|---|
POST | /api/partitions/{partition_id}/import/preview | Upload CSV/Excel and get column metadata + auto-suggested mappings. |
POST | /api/partitions/{partition_id}/import/validate | Validate all rows against mapped form fields. |
POST | /api/partitions/{partition_id}/import/execute | Execute the CSV import: create submissions from mapped data. |
GET | /api/partitions/{partition_id}/import/history | List past imports for a partition. |
POST | /api/projects/{project_id}/import-and-generate | Upload CSV, auto-create form from data, publish, and import all rows. |
Field Schema
Section titled “Field Schema”| Method | Path | Description |
|---|---|---|
GET | /api/projects/{project_id}/fields/{field_id}/json-schema | Discover the JSON schema for a Variant field by sampling Snowflake rows. |
Form Versions
Section titled “Form Versions”| Method | Path | Description |
|---|---|---|
GET | /api/projects/{project_id}/form-versions/draft | Generate a form structure from an uploaded CSV or Excel file using AI. |
GET | /api/projects/{project_id}/form-versions/published | Generate a form structure from an uploaded CSV or Excel file using AI. |
DELETE | /api/projects/{project_id}/form-versions/draft | Generate a form structure from an uploaded CSV or Excel file using AI. |
PUT | /api/projects/{project_id}/form-versions/draft | Generate a form structure from an uploaded CSV or Excel file using AI. |
POST | /api/projects/{project_id}/form-versions/publish | Generate a form structure from an uploaded CSV or Excel file using AI. |
POST | /api/projects/{project_id}/form-versions/revert/{version_id} | Generate a form structure from an uploaded CSV or Excel file using AI. |
POST | /api/projects/{project_id}/form-versions/draft/fields | Generate a form structure from an uploaded CSV or Excel file using AI. |
DELETE | /api/projects/{project_id}/form-versions/draft/fields/{field_id} | Generate a form structure from an uploaded CSV or Excel file using AI. |
POST | /api/projects/{project_id}/form-versions/draft/generate-from-file | Generate a form structure from an uploaded CSV or Excel file using AI. |
GET | /api/projects/{project_id}/form-versions/primary-keys | Return the list of fields currently marked as primary key. |
PUT | /api/projects/{project_id}/form-versions/primary-keys | Update which fields are marked as primary key. |
History
Section titled “History”| Method | Path | Description |
|---|---|---|
GET | /api/submissions/{submission_id}/history | Get Field History |
GET | /api/submissions/{submission_id}/access-log | Get Access Log |
| Method | Path | Description |
|---|---|---|
GET | /api/home | Get Home |
Organizations
Section titled “Organizations”| Method | Path | Description |
|---|---|---|
GET | /api/organizations/{org_id} | Get Organization |
PUT | /api/organizations/{org_id} | Update Organization |
DELETE | /api/organizations/{org_id} | Delete Organization |
GET | /api/organizations/{org_id}/analytics | Get Org Analytics |
GET | /api/organizations/{org_id}/activity | Get Org Activity |
GET | /api/organizations/{org_id}/members | List Members |
POST | /api/organizations/{org_id}/members | Add Member |
PUT | /api/organizations/{org_id}/members/{member_id} | Update Member |
DELETE | /api/organizations/{org_id}/members/{member_id} | Remove Member |
Partitions
Section titled “Partitions”| Method | Path | Description |
|---|---|---|
POST | /api/projects/{project_id}/partitions | Create Partition |
GET | /api/projects/{project_id}/partitions | List Partitions |
GET | /api/partitions/{partition_id} | Get Partition |
PUT | /api/partitions/{partition_id} | Update Partition |
DELETE | /api/partitions/{partition_id} | Delete Partition |
Permissions
Section titled “Permissions”| Method | Path | Description |
|---|---|---|
GET | /api/partitions/{partition_id}/my-permissions | Get My Permissions |
GET | /api/partitions/{partition_id}/accounts | List Partition Accounts |
POST | /api/partitions/{partition_id}/accounts | Add Partition Account |
PUT | /api/partitions/{partition_id}/accounts/{account_id} | Update Partition Account |
DELETE | /api/partitions/{partition_id}/accounts/{account_id} | Delete Partition Account |
GET | /api/partitions/{partition_id}/accounts/{account_id}/field-groups | Get Field Group Permissions |
PUT | /api/partitions/{partition_id}/accounts/{account_id}/field-groups | Set Field Group Permissions |
Projects
Section titled “Projects”| Method | Path | Description |
|---|---|---|
GET | /api/projects/favorites | Return project IDs the current user has favorited in this org. |
POST | /api/projects/{project_id}/favorite | Favorite a project. Idempotent. |
DELETE | /api/projects/{project_id}/favorite | Unfavorite a project. |
GET | /api/projects/recent | Return project IDs ordered by the user’s most recent access. |
GET | /api/projects/{project_id} | Trigger an immediate export of submissions to Snowflake table. |
GET | /api/projects/{project_id}/detail | Trigger an immediate export of submissions to Snowflake table. |
PUT | /api/projects/{project_id} | Trigger an immediate export of submissions to Snowflake table. |
DELETE | /api/projects/{project_id} | Trigger an immediate export of submissions to Snowflake table. |
POST | /api/projects/{project_id}/archive | Trigger an immediate export of submissions to Snowflake table. |
POST | /api/projects/{project_id}/unarchive | Trigger an immediate export of submissions to Snowflake table. |
GET | /api/projects/{project_id}/analytics | Trigger an immediate export of submissions to Snowflake table. |
GET | /api/projects/{project_id}/sync-summaries | Trigger an immediate export of submissions to Snowflake table. |
GET | /api/projects/{project_id}/access-log | Trigger an immediate export of submissions to Snowflake table. |
GET | /api/projects/{project_id}/access-log/filter-options | Trigger an immediate export of submissions to Snowflake table. |
GET | /api/projects/{project_id}/changelog | Trigger an immediate export of submissions to Snowflake table. |
GET | /api/projects/{project_id}/changelog/filter-options | Trigger an immediate export of submissions to Snowflake table. |
POST | /api/projects/{project_id}/export | Trigger an immediate export of submissions to Snowflake table. |
Relationships
Section titled “Relationships”| Method | Path | Description |
|---|---|---|
GET | /api/projects/{project_id}/relationships | List Relationships |
POST | /api/projects/{project_id}/relationships | Create Relationship |
GET | /api/relationships/{relationship_id} | Get Relationship |
PUT | /api/relationships/{relationship_id} | Update Relationship |
DELETE | /api/relationships/{relationship_id} | Delete Relationship |
GET | /api/relationships/{relationship_id}/children | List Relationship Children |
POST | /api/relationships/{relationship_id}/children | Create Relationship Child |
| Method | Path | Description |
|---|---|---|
POST | /api/rules/generate | Generate a rule expression from a natural language prompt using Cortex AI. |
Semantic-Views
Section titled “Semantic-Views”| Method | Path | Description |
|---|---|---|
POST | /api/orgs/{org_id}/semantic-views/preview-table | Pre-compute LLM form layout for a single logical table (no DB writes). |
POST | /api/orgs/{org_id}/semantic-views/generate-hierarchy | Generate project(s) from a Snowflake source (table or semantic view). |
GET | /api/orgs/{org_id}/semantic-views/{link_id} | Delete a semantic view link (does not delete the projects). |
DELETE | /api/orgs/{org_id}/semantic-views/{link_id} | Delete a semantic view link (does not delete the projects). |
Snowflake
Section titled “Snowflake”| Method | Path | Description |
|---|---|---|
GET | /api/projects/{project_id}/snowflake/native-status | Return whether the app is running in Snowflake Native App mode. |
POST | /api/projects/{project_id}/snowflake/suggest-mappings | Describe a Snowflake table with enriched metadata: columns, row count, and Select field candidates. |
POST | /api/projects/{project_id}/snowflake/describe-table-enriched | Describe a Snowflake table with enriched metadata: columns, row count, and Select field candidates. |
POST | /api/projects/{project_id}/snowflake/generate-from-table | Auto-generate form from Snowflake table columns, then create sync config. |
POST | /api/projects/{project_id}/snowflake/generate-from-semantic-view | Auto-generate form from a logical table in a Snowflake semantic view. |
POST | /api/projects/{project_id}/snowflake/distinct-values | Get distinct values for a column in a Snowflake table. |
POST | /api/projects/{project_id}/snowflake/sync-configs | Return feature capabilities based on deployment mode. |
GET | /api/projects/{project_id}/snowflake/sync-configs | Return feature capabilities based on deployment mode. |
PUT | /api/projects/{project_id}/snowflake/sync-configs/{config_id} | Return feature capabilities based on deployment mode. |
DELETE | /api/projects/{project_id}/snowflake/sync-configs/{config_id} | Return feature capabilities based on deployment mode. |
POST | /api/projects/{project_id}/snowflake/sync-configs/{config_id}/run | Return feature capabilities based on deployment mode. |
GET | /api/projects/{project_id}/snowflake/sync-logs | Return feature capabilities based on deployment mode. |
GET | /api/projects/{project_id}/snowflake/sync-logs/{log_id} | Return feature capabilities based on deployment mode. |
GET | /api/projects/{project_id}/snowflake/capabilities | Return feature capabilities based on deployment mode. |
Submissions
Section titled “Submissions”| Method | Path | Description |
|---|---|---|
POST | /api/submissions | Fetch a submission with its form structure, field values, and permission flags. |
GET | /api/submissions/{submission_id} | Fetch a submission with its form structure, field values, and permission flags. |
GET | /api/submissions/v/{sync_config_id}/{row_key} | Get a virtual submission from Snowflake by sync config ID and row key. |
POST | /api/submissions/v/materialize | Materialize a virtual Snowflake row into a local submission. |
PUT | /api/submissions/{submission_id}/fields | Return the full ancestor breadcrumb chain from root to current submission. |
GET | /api/partitions/{partition_id}/submissions | Return the full ancestor breadcrumb chain from root to current submission. |
POST | /api/submissions/{submission_id}/status | Return the full ancestor breadcrumb chain from root to current submission. |
GET | /api/submissions/{submission_id}/status-history | Return the full ancestor breadcrumb chain from root to current submission. |
DELETE | /api/submissions/{submission_id} | Return the full ancestor breadcrumb chain from root to current submission. |
POST | /api/submissions/{submission_id}/unarchive | Return the full ancestor breadcrumb chain from root to current submission. |
GET | /api/submissions/{submission_id}/breadcrumb | Return the full ancestor breadcrumb chain from root to current submission. |
POST | /api/breadcrumb | Return breadcrumb chain for a virtual submission (no database ID). |
POST | /api/partitions/{partition_id}/submissions/bulk-delete | Bulk Delete Submissions |
GET | /api/partitions/{partition_id}/submissions/export | Export Submissions |
System Log
Section titled “System Log”| Method | Path | Description |
|---|---|---|
POST | /api/system-log | Write a system log entry from the frontend. |
GET | /api/organizations/{org_id}/system-log | Org-wide system log (home page). Requires build seat. |
GET | /api/organizations/{org_id}/system-log/filter-options | Filter dropdown options for org-wide system log. |
GET | /api/projects/{project_id}/system-log | Project-scoped system log. Requires build seat. |
GET | /api/projects/{project_id}/system-log/filter-options | Filter dropdown options for project-scoped system log. |