parameter_missing API Origin: Application & API Last updated 13 Oct 2026

API Error: Missing required parameter (parameter_missing / "x" is required)

The API rejected the request because a field it requires — in the query string, path, headers or JSON body — wasn’t sent or was empty.

Exact message you may see Missing required parameteris a required fieldRequired parameter is missingMissing required request body
Seen on: REST API

Meaning

Every endpoint declares which inputs are mandatory. If one is absent, null or an empty string, the server stops before doing any work and returns a 400 (sometimes 422) naming the missing field.

The field is often there in your code but never reaches the wire: it was undefined and got dropped during JSON serialization, it was sent as a query parameter when the API expects it in the body, or a form encoding/Content-Type mismatch meant the server couldn’t read the body at all.

Common causes

  • The field was left out of the request
  • The value was undefined/null and silently dropped by JSON.stringify
  • Sent in the wrong place (query string instead of body, or body instead of header)
  • Body not parsed because Content-Type is missing or wrong
  • Field name misspelled or wrong case (customerId vs customer_id)

⚡ Quick fix

  1. Read the error body — it usually names the missing parameter
  2. Log the exact request the client sends and compare it with the API docs
  3. Add client-side validation so required fields can’t be empty

Detailed fix by platform

Node.js

  1. `// undefined values vanish from JSON — check before sending const body = { email, plan }; for (const [k, v] of Object.entries(body)) if (v == null
  2. v === '') throw new Error(missing ${k}); await fetch(url, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(body) });`

Python

  1. python
    r = requests.post(url, json={"email": email, "plan": plan})  # json= sets Content-Type for you
    print(r.status_code, r.json())

curl

  1. curl -X POST https://api.example.com/v1/users -H 'Content-Type: application/json' -d '{"email":"a@b.com","plan":"pro"}'

How to diagnose

  1. Error body — Which parameter does it name?
  2. Raw request — Is the field present in the bytes actually sent (proxy/devtools log)?
  3. Location — Does the docs say query, path, header or body?
  4. Spelling — Exact name and case match the docs?

🔧 Still not fixed?

Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:

Where this error sits

Origin: Application & API. Errors that are often confused with or caused by this one (click to open):

400 — HTTP 400 Bad Request (HTTP)400411 — HTTP 411 Length Required (HTTP)411415 — HTTP 415 Unsupported Media Type (HTTP)415422 — HTTP 422 Unprocessable Content (HTTP)422additionalProperties — API Error: Request failed schema validation (must NOT have additional properties / Additional properties are not allowed) (API)additionalPropertiesDocument failed validation — MongoDB: MongoServerError: Document failed validation (code 121) (MongoDB)Document failed valid…entity.parse.failed — API Error: Malformed JSON in request body (entity.parse.failed / JSON parse error) (API)entity.parse.failederror converting YAML to JSON — error converting YAML to JSON: yaml: line 12: did not find expected key (Kubernetes)error converting YAML…parameter…

Explore the map of this error Full error map →

🧠 Still stuck? Analyze your error

Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.

💬 What worked for others

No tips yet — did something else fix this for you?

Share what worked for you

Tips are checked by an editor before they appear. Links are removed.