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
- An OpenAPI 3.1 description of this endpoint.
- A GET request to the endpoint returns its fields as JSON, and says whether it is accepting requests.
