StoreLyne API docs 2026-11

Error codes

Every error has the same shape. type groups codes; code is stable and safe to match on; message is for people; param names the field at fault; docs links here.

{
  "error": {
    "type": "invalid_request",
    "code": "validation_failed",
    "message": "Title is required.",
    "param": "title",
    "trace_id": "tr_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
    "docs": "https://docs.storelyne.com/errors/validation_failed"
  }
}

invalid_request

CodeStatusMeaning
validation_failed400A field in the request is missing or invalid. See param.
invalid_json400The request body is not valid JSON.
bad_request400The request could not be understood.
payload_too_large413The request body is larger than allowed.
unsupported_media_type415Send JSON with Content-Type: application/json.
token_invalid400The link is invalid, already used or expired. Ask for a new one.
store_required400Send the Store-Id header to choose which of your stores this request is for.
setting_invalid400The value is not valid for this setting.
method_not_allowed405This endpoint does not support the HTTP method.
signature_invalid400The payment confirmation could not be verified. The payment is checked with the provider instead.

authentication_error

CodeStatusMeaning
authentication_required401Send a valid access token or session.
invalid_token401The access token is invalid, revoked or expired.
invalid_credentials401The email or password is wrong.
ops_login_failed401The email or authenticator code is wrong.

permission_error

CodeStatusMeaning
missing_scope403The app token does not have the scope this endpoint needs.
session_required403This endpoint needs a seller session; app tokens cannot call it.
forbidden403You do not have access to this resource.
not_a_member403You are not a member of this store, or your role cannot do this.
csrf_failed403The X-CSRF-Token header is missing or does not match. Reload the page and try again.
step_up_required403Confirm with a fresh authenticator code before doing this.

not_found

CodeStatusMeaning
route_not_found404No endpoint exists at this method and path.
resource_not_found404The object does not exist or belongs to another store.

conflict

CodeStatusMeaning
email_taken409An account with this email already exists. Sign in instead.
conflict409The request conflicts with the current state of the object.
retry_conflict409A concurrent change got there first. Retry the request.
out_of_stock409An item does not have enough stock for this quantity. Lower the quantity or remove it.
checkout_closed409This checkout is already completed or expired. Start again from the cart.
price_changed409A price changed since the checkout started. Review the new total and place the order again.

idempotency_error

CodeStatusMeaning
replay_unavailable409This request already succeeded and its response held a secret that is shown only once.
idempotency_key_required400Every POST needs an Idempotency-Key header.
idempotency_key_invalid400Idempotency-Key must be 1 to 255 visible ASCII characters.
idempotency_in_progress409A request with this Idempotency-Key is still running.
idempotency_key_reused422This Idempotency-Key was used with a different request.

rate_limit_error

CodeStatusMeaning
login_throttled429Too many failed sign-in attempts. Wait and try again.
ops_locked429This staff account is locked after repeated failures. Wait and try again.
rate_limited429Too many requests. Wait for the time in RateLimit-Reset.

api_error

CodeStatusMeaning
internal_error500Something went wrong on our side. Quote the trace_id to support.
service_unavailable503A dependency is unavailable. Retry with backoff.
server_agent_unavailable503The server agent is not running, so the super admin cannot reach the server. It is installed by the next deploy.
server_action_failed502The server agent tried the action and it failed. The message says what the server answered.
database_timeout503The request took too long. Retry with backoff.