Why Projection matters
Webhook andGET/Submission responses include every field that the applicant entered or Argos generated during processing. As submissions grow, payload size, PII storage obligations, and data management complexity scale together.
Projection lets you persist exclusion policies per project so your applications only receive the slices of data they care about—enabling least-privilege data flows without modifying core workflows.
POST /projection API rather than the dashboard.Scope and constraints
- Projection currently applies only to submissions created via Liveform.
- The policy affects webhook events linked to those submissions (
submission.submit,submission.approved,submission.rejected) and theGET/SubmissionAPI alike. GET/Submissionreturns data based on the Projection assigned at submission time. Editing a policy later does not retroactively change existing submissions.
Policy components
How the flow works
- Call
POST /projectionto define the exclusion set and receive aprojection_id. - Encrypt that
projectionId(orprojectionName) inside the Liveform URL or token payload. - Once the user finishes the submission, webhooks and
GET/Submissionemit responses already filtered by the chosen Projection.
fields—such as identityNumber here—are omitted or set to null in both webhook payloads and GET/Submission responses, even though Argos still retains the underlying values.
Projection workflow
Create the policy
POST /projection to define the exclusion list. Policies become active immediately."message": "Create projection success" and a projection_id.Attach the policy to Liveform
projectionId to the Liveform URL or token payload, for example:projectionId and projectionName are mutually exclusive, and both must be encrypted. See the query string and token guide for encryption details.Validate via webhooks or Get Submission
GET/Submission responses include projection.projectionId. Confirm that the payload now only surfaces the intended fields.projection.projectionId in your downstream services to trace which policy shaped each payload.Monitor and retire policies
GET /projection and GET /projection/{projectionId} help you review active policies. Delete unused entries via DELETE /projection/{projectionId} to free up slots or re-expose data.Projection API quick links
POST/Projection
GET/Projection
GET/Projection/{projectionId}
DELETE/Projection
Operational best practices
- Gather required-field lists from each consumer team before rolling out Projection and document the approvals.
- Store
projectionIdalongside webhook payloads or analytics logs to simplify audits and troubleshooting. - Reuse existing policies when possible so you do not hit the 10-policy ceiling unnecessarily.
- Define explicit schemas per Projection in downstream services to avoid null-pointer exceptions when fields disappear.
Troubleshooting
Projection seems ignored
Projection seems ignored
- Confirm the Liveform
encryptedpayload is actually encrypted; plaintext values are rejected. - When using
projectionName, verify the spelling follows the lowercase-and-underscore rule. - Call
GET /projectionto ensure the referenced ID still exists and the timestamp matches your expectations.
Need to review excluded fields again
Need to review excluded fields again
GET/Submission will keep hiding those fields. Delete the policy with DELETE /projection/{projectionId} and trigger a new submission to receive full payloads again.Policy quota exceeded
Policy quota exceeded
GET /projection. Remove unused policies or consolidate field combinations into a smaller shared set before creating new ones.