Merion API

Forms API

The POST /public/forms/{'{key}'} endpoint is the only genuinely open write endpoint — no authentication token required. It handles marketing and partner form intake.

Endpoint

POST https://api.merion.com.au/public/forms/{key}

Replace {key} with one of the supported form keys listed below. No bearer token is required. Requests should send JSON with Content-Type: application/json.

Request body

{
  "form":   "<key>",
  "fields": {
    "field_name": "value",
    ...
  },
  "hp": ""
}
form (string, required)
Must match the {key} in the URL path. Redundant but validated for consistency.
fields (object, required)
Key-value map of form field names to values. See per-form schemas below.
hp (string, required)
Honeypot field — must be an empty string. Any non-empty value causes the submission to be silently discarded (bot mitigation). Always send "hp": "".

Available form keys

contact

General enquiry form (merion.com.au/contact-us/).

name (string, required)
Full name of the enquirer.
email (string, required)
Contact email address.
phone (string, optional)
Contact phone number.
message (string, required)
Enquiry text. Minimum 10 characters.
curl -s -X POST \
  -H "Content-Type: application/json" \
  -d '{
    "form": "contact",
    "fields": {
      "name":    "Jane Smith",
      "email":   "[email protected]",
      "phone":   "0400 000 000",
      "message": "I would like to enquire about commercial debt recovery services."
    },
    "hp": ""
  }' \
  https://api.merion.com.au/public/forms/contact

refer-a-debt

Refer an overdue account for recovery.

name (string, required)
Your full name.
email (string, required)
Your email address.
company (string, required)
Your business name.
debtor_name (string, required)
Name of the debtor business or person.
amount (string, required)
Approximate amount owed (AUD).
notes (string, optional)
Any additional context about the debt.
curl -s -X POST \
  -H "Content-Type: application/json" \
  -d '{
    "form": "refer-a-debt",
    "fields": {
      "name":        "Alex Brown",
      "email":       "[email protected]",
      "company":     "My Business Pty Ltd",
      "debtor_name": "Debtor Co Pty Ltd",
      "amount":      "12500",
      "notes":       "Invoice #INV-0042, due 60 days ago."
    },
    "hp": ""
  }' \
  https://api.merion.com.au/public/forms/refer-a-debt

request-a-quote

Request a commission quote before committing to a referral.

name (string, required)
Your full name.
email (string, required)
Your email address.
company (string, optional)
Your business name.
debt_amount (string, required)
Approximate value of the debt (AUD).
debt_age (string, optional)
How long overdue (e.g., "90 days").

partner-referral

Submit a referral on behalf of a partner account.

partner_name (string, required)
Partner business name.
partner_email (string, required)
Partner contact email.
client_name (string, required)
End client business name.
client_email (string, required)
End client contact email.
debtor_name (string, required)
Debtor business or person name.
amount (string, required)
Approximate amount owed (AUD).
notes (string, optional)
Additional context.

become-a-partner

Apply for the Merion Partner Programme.

name (string, required)
Your full name.
email (string, required)
Your email address.
company (string, required)
Your business name.
role (string, optional)
Your role (e.g., "Accountant", "Bookkeeper").
message (string, optional)
Why you'd like to partner with Merion.

Success response

On success, the API returns 200 OK with:

{
  "data": {
    "message": "Thank you. We will be in touch shortly.",
    "redirect": "https://merion.com.au/thank-you/"
  }
}
data.message (string)
Human-readable confirmation text. Display this to the user.
data.redirect (string, optional)
If present, redirect the user to this URL after submission. Not all forms include a redirect.

Error response

On failure, the API returns a non-200 status with:

{
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "Please check the highlighted fields and try again.",
    "details": {
      "email": "A valid email address is required.",
      "message": "Message must be at least 10 characters."
    }
  }
}
error.code (string)
Machine-readable error code. Common values: VALIDATION_ERROR, FORM_NOT_FOUND, RATE_LIMITED, SERVER_ERROR.
error.message (string)
Human-readable summary. Safe to display to the user.
error.details (object, optional)
Field-level validation errors. Keys are field names; values are error descriptions.

Honeypot & bot mitigation

The hp field is a honeypot — it is a hidden field that legitimate users never fill in. If the value is non-empty, the submission is silently discarded: the API returns a 200 OK (to avoid fingerprinting) but nothing is delivered. Always send "hp": "" from your integration.

Additional server-side checks (rate limiting, IP reputation) may also cause submissions to be silently dropped. If your integration is generating a high volume of submissions, contact Merion to arrange appropriate rate limit allowances.

Content type

Send requests with Content-Type: application/json. The endpoint does not accept multipart/form-data or application/x-www-form-urlencoded.

Get started

Ready to integrate with Merion?

API access is available to approved partners and integrators. Contact us to start the conversation — no commitment required.