Opens in a new tab

For agents

Enquiry endpoint

This endpoint accepts a project enquiry for MF Consulting from an agent acting for a person. It needs no account or sign-up, and takes the same details as our enquiry form.

Sending a request

Send a POST request with a JSON body to https://matthiasfrank.de/wp-json/mf/v1/enquiry, with the Content-Type application/json. Requests need a User-Agent header that names the client, such as my-agent/1.0. A missing one, or a default script identity such as curl/8, gets a 400 saying so. Our CDN refuses a few others, such as Python-urllib, with a 403 before they reach us.

curl -X POST https://matthiasfrank.de/wp-json/mf/v1/enquiry \
  -H "Content-Type: application/json" \
  -H "User-Agent: my-agent/1.0" \
  -d '{
    "language": "en",
    "name": "Ada Example",
    "email": "ada@example.com",
    "company": "Example GmbH",
    "role": "Head of Operations",
    "team_size": "26-75",
    "message": "We want one place for our projects and client work in Notion.",
    "how_found": "My assistant found your case studies."
  }'

Fields

All fields are required except idempotency_key. Unknown fields are refused.

language
en or de. We reply in this language.
name
The person's name. Up to 200 characters.
email
The person's email address. Our reply goes here. Up to 254 characters.
company
The person's company. Up to 200 characters.
role
The person's role at the company. Up to 200 characters.
team_size
How many people work at the company. One of 2-10, 11-25, 26-75, 76-150 or 150+.
message
What the person needs help with. Up to 5,000 characters.
how_found
How the person found us, or how their agent did. Up to 1,000 characters.
idempotency_key
Optional. Send the same value when retrying, and the retry gets the same receipt. Up to 200 characters.

Responses

  • 202: received, with a receipt holding request_id, status, booking_confirmed, received_at and next_step. A repeat of the same request returns the same receipt.
  • 400: a field is missing or invalid. Every problem is listed under errors.
  • 413 or 415: the body is larger than 32 KB, or the Content-Type is wrong.
  • 429: too many requests. See retry_after and the Retry-After header.
  • 503: not accepting requests right now. Use the form in fallback_url.

What happens next

The enquiry goes into our CRM in Notion, and we'll reach out by email as soon as possible, usually within 24 hours, to help assess the situation. A 202 means the request arrived. It does not book a meeting.

Before sending

We ask that the person sees the whole message and approves the exact text before it is sent.

Other ways to reach us

  • The consulting page has an enquiry form with the same details, for anyone with a browser.
  • Email reaches us at hello@matthiasfrank-consulting.com.

For tools

Deutsch