Skip to content

invalid_parameter

HTTP/1.1 400 Bad Request
{
"error": {
"type": "invalid_request_error",
"code": "invalid_parameter",
"message": "expires_at must be in the future.",
"param": "expires_at",
"docs_url": "https://docs.patomic.dev/errors/invalid-parameter",
"request_id": "…",
"suggestion": "Provide a millisecond Unix timestamp greater than the current time, or omit the field for a non-expiring key."
}
}

A parameter you sent did not pass validation. The param field tells you which one. message tells you why.

paramCauseFix
expires_atTimestamp is in the past or zeroUse Date.now() + N for a future timestamp, or omit the field
cursorCursor is invalid, expired, or tamperedUse next_cursor from the previous response verbatim — never modify or persist cursors
nameEmpty or > 255 charsTrim, ensure non-empty, keep under 255
rate_limit_rpm< 1 or > 100,000Use a value in [1, 100000]
Path id (e.g. /v1/keys/{id})Doesn’t match apk_[a-z0-9]{21}Use the exact id returned from earlier responses
  1. Read the param field — it tells you exactly which input is wrong.
  2. Read the message — it tells you the constraint that failed.
  3. Read the suggestion — it tells you what valid input looks like.

If those three together don’t get you to a fix, the bug is on Patomic’s side — include request_id when reporting.