Skip to main content
You can send leads from external systems directly into a Z360 inquiry pipeline using the API. This is useful when your developer or form tool can send HTTP POST requests — for example, from a website contact form, a custom app, or any tool that supports webhooks. You do not need to be highly technical to use this guide. Most customers will only need to copy a link, copy a key, and paste a few values into the right place.
Before you start, make sure your inquiry pipeline is created, saved, and active. Test with one pipeline before building more integrations.

Find Your API Details

Both the API endpoint and Organization API Key come from the same screen in Z360.
  • Go to Settings → Product → Inquiries.
  • Find the pipeline you want to use.
  • Open the menu on that pipeline (three dots).
  • Click Generate Link.
  • Open the API tab.
  • Copy the Endpoint (e.g., https://beta.z360.biz/forms/{id}/api).
  • Copy the Organization API Key (Bearer Token).
Do not type the API URL manually. Always copy the exact Endpoint shown on this screen.
Optional: Set Default Values At the top of the Generate Link screen, you can set defaults for all submissions coming through this integration — Default Assignee, Default Status, and Default Source. After you choose these, Z360 updates the generated endpoint automatically.

Required Fields

Z360 requires four fields for every submission:
FieldKeyExample
First NameFirst Name"John"
Last NameLast Name"Doe"
EmailEmail"john@example.com"
Phone NumberPhone Number"+15555555555"
Use the exact field names as shown in your pipeline’s inquiry form. Field names are case-insensitive but must match the format shown in your form. If your pipeline has custom fields, use the exact field name shown in your inquiry form. Z360 matches custom field names by lowercasing both sides. If consent is enabled in your pipeline, include "consent": true in the request body (outside of form_data).

How Authentication Works

Z360 uses your Organization API Key as a Bearer token. Every request must include this header:
Authorization: Bearer YOUR_ORGANIZATION_API_KEY

Send the Request

Every request must include:
  • Method: POST
  • Format: JSON
  • Body: all lead fields inside form_data
  • Header: Authorization: Bearer YOUR_ORGANIZATION_API_KEY
  • Recommended header: Accept: application/json
Example request:
curl -X POST 'https://your-z360-domain/forms/PIPELINE_ID/api' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer YOUR_ORGANIZATION_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "form_data": {
      "First Name": "John",
      "Last Name": "Doe",
      "Email": "john@example.com",
      "Phone Number": "+15555555555"
    }
  }'
Replace the endpoint with the exact Endpoint from Generate Link → API. Replace YOUR_ORGANIZATION_API_KEY with the exact API Key from the same screen. Replace the sample values with your real test data. Example success response:
{
    "success": true,
    "inquiry_id": 123
}

Optional Fields

Depending on your setup, you can also pass stage_id, source_id, assigned_user_ids, and consent. If you already selected default values in Generate Link, those may already be included in the generated API URL.

What to Give Your Developer

Share the following with whoever is setting up the integration:
  • The Endpoint copied from Generate Link → API
  • The Organization API Key
  • A screenshot of the API tab
  • The exact field names from your pipeline form

Rotating or Revoking the API Key

You can revoke the key from the Generate Link → API screen. Once you revoke the key, all existing integrations using it will stop working immediately. Have the new key ready to update everywhere before revoking.

Troubleshooting

  • 401 Unauthorized — The API key is missing, wrong, or formatted incorrectly. Check that your Authorization header is correct and has no extra spaces.
  • 422 Unprocessable Entity — A required field is missing, or the email or phone number is invalid. Check that all field names match your form exactly.
  • HTML page instead of JSON error — Add the Accept: application/json header and try again.
  • Unknown field error — The integration is sending a field name that does not exist in the pipeline. Check the exact field names in your form.
  • Duplicate lead not created — Z360 blocks duplicate submissions for the same pipeline when the same email has already been used.
  • Request fails unexpectedly or returns an authentication error — Check that the pipeline’s communication channel is still configured. If someone removes or changes the communication channel on the pipeline, the integration may fail even if the API key and fields are correct. Go to Settings → Product → Inquiries, open the pipeline, and make sure it has an active communication channel assigned.

Quick Summary

  1. Go to Settings → Product → Inquiries.
  2. Open Generate Link → API tab.
  3. Copy the endpoint and API key.
  4. Send a POST request with your lead fields inside form_data.
  5. Add Accept: application/json if your tool allows custom headers.
  6. Test with a real sample lead before going live.

Tips

  • Start with one pipeline only. Add more after the first one works.
  • Test with your own email and phone number first before connecting live data.
  • Copy field names exactly — do not type them from memory.
  • Confirm the inquiry appears in the correct pipeline after each test.
  • Prepend +1 if your source sends phone numbers without country codes before they reach Z360.
  • Save a screenshot of your working configuration for your team.