Navigation

Get Form Completion

Retrieve a form submission record and its associated contact data

POST /public/forms/getFormCompletion

Returns a single form completion record — including the submitted answers, tagged merge values, IP geolocation data, processing status, and the contact_id once async contact enrichment has finished.

Requires a valid `api_key` in the JSON request body

Parameters

Name In Type Required Description
api_key body string Yes Your Zyntro API key
org_id body string Yes Your organization UUID
member_id body string Yes The member UUID
brand_id body string Yes Your brand ID
form_id body string Yes The UUID of the form the completion belongs to
completion_id body string Yes The completion UUID returned by Submit Form or appended to the redirect URL
Important: The `contact_id` field may be `null` immediately after submission. Contact creation and enrichment run asynchronously — it may take a few seconds to complete. Poll this endpoint until `contact_id` is populated if you need the contact record. The `status` field indicates processing state.

Request Body

Content-Type: application/json

Example

json
{
    "org_id": "YOUR_ORG_ID",
    "api_key": "YOUR_API_KEY",
    "form_id": "f1a2b3c4-d5e6-7890-abcd-ef1234567890",
    "brand_id": "1",
    "member_id": "YOUR_MEMBER_ID",
    "completion_id": "c9d8e7f6-a5b4-3210-fedc-ba9876543210"
}

Code Samples

bash
curl -X POST https://app.zyntrohq.com/public/forms/getFormCompletion \
  -H "Content-Type: application/json" \
  -d '{
    "api_key": "YOUR_API_KEY",
    "org_id": "YOUR_ORG_ID",
    "member_id": "YOUR_MEMBER_ID",
    "brand_id": "1",
    "form_id": "f1a2b3c4-d5e6-7890-abcd-ef1234567890",
    "completion_id": "c9d8e7f6-a5b4-3210-fedc-ba9876543210"
  }'

Response

200 Completion retrieved
json
{
    "data": {
        "status": "processed",
        "answers": {
            "email": "[email protected]",
            "message": "I would like to learn more about the enterprise plan.",
            "interest": "enterprise",
            "first_name": "Jane"
        },
        "form_id": "f1a2b3c4-d5e6-7890-abcd-ef1234567890",
        "ip_data": {
            "city": "San Francisco",
            "country": "United States",
            "timezone": "America/Los_Angeles",
            "ip_address": "203.0.113.42",
            "country_code": "US"
        },
        "contact_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
        "created_at": "2026-04-02 14:30:00",
        "completion_id": "c9d8e7f6-a5b4-3210-fedc-ba9876543210",
        "tagged_values": {
            "{email}": "[email protected]",
            "{full_name}": "Jane",
            "{first_name}": "Jane"
        }
    },
    "status": "success"
}
200 Contact enrichment still pending
json
{
    "data": {
        "status": "processing",
        "answers": {
            "email": "[email protected]"
        },
        "form_id": "f1a2b3c4-d5e6-7890-abcd-ef1234567890",
        "ip_data": [],
        "contact_id": null,
        "created_at": "2026-04-02 14:30:00",
        "completion_id": "c9d8e7f6-a5b4-3210-fedc-ba9876543210",
        "tagged_values": {
            "{email}": "[email protected]"
        }
    },
    "status": "success"
}
200 Error response
json
{
    "data": [
        "Completion not found"
    ],
    "status": "error"
}
Tip: When your form has a `redirect_url` configured in form actions, the `completion_id` is automatically appended as a query parameter to that URL along with any other configured params. Your landing page or backend can extract the `completion_id` from the URL and call this endpoint to retrieve the full submission data and associated contact.

Errors

Code Message Resolution
MISSING_FIELD Missing required field: {field}
A required parameter is missing.
Include all six required fields.
INVALID_API_KEY Invalid API Key
No active user matches the key.
Verify your key.
INACTIVE_USER Inactive user account
The account is deactivated.
Contact your admin.
MEMBER_NOT_FOUND Member not found
The member_id does not exist.
Use a valid member ID.
NOT_FOUND Completion not found
No completion with that ID exists for this form.
Verify both the completion_id and form_id. The completion must belong to the specified form.

Was this article helpful?

NotebookLM Overviews