Gett Developer Portal
  • Welcome
  • Distribution Partners
  • Brand Partners
  • Commerce Partners
  • Ecosystem Partners
  • Errors
  • API Reference
Documentation
  • Get Started
  • Marketfront SDK
  • API Reference
Resources
  • Payments
Company
  • Gett
  • Terms of Service
  • Privacy Policy

Copyright 2026 Gett. All rights reserved.

409 Conflict403 Forbidden500 Internal Server Error400 Bad Request404 Not Found429 Too Many Requests503 Service Unavailable401 Unauthorized502 Bad Gateway422 Unprocessable EntityADDRESS_INVALIDADDRESS_OUT_OF_RANGECART_EMPTYCATALOGSET_NOT_FOUNDCATALOGSET_REQUIREDCLIENT_CONTEXT_REQUIREDCLIENT_IP_INVALIDCLIENT_USER_AGENT_INVALIDITEM_UNAVAILABLEMODIFIER_REQUIREDORDER_ALREADY_PLACEDORDER_BELOW_MINIMUMORDER_TOTAL_DIFFERENTPRECISION_EXCEEDEDPAYMENT_DECLINEDPAYMENT_FAILEDPAYMENT_METHOD_INVALIDSESSION_USER_REQUIREDSTORE_CLOSEDSTORE_NOT_FOUND
powered by Zuplo
Errors

CLIENT_CONTEXT_REQUIRED

CLIENT_CONTEXT_REQUIRED

The order request omitted client, or omitted one of its two fields.

Summary

FieldValue
HTTP status400
errorCategoryvalidation
retryablefalse

Why This Exists

Your order requests reach Gett server-to-server, so the connection we observe belongs to your backend, not to the person ordering. The commerce partners we forward orders to run anti-fraud checks that need the real customer's originating address and browser — so those values have to travel with the order.

We reject rather than substitute a placeholder. A synthetic address forwarded to a partner counts against the integration in the traffic reviews they run, and it would do so silently.

When This Fires

  • POST /v1/marketfront/orders/validate
  • POST /v1/marketfront/orders/place

…when client is absent, or when client.ip or client.userAgent is missing or blank.

Recommended Action

Forward both values from the request your own front end received — the same request that gave you the cart:

TerminalCode
POST /v1/marketfront/orders/validate Authorization: Bearer YOUR_TOKEN Content-Type: application/json { "cart": { ... }, "fulfillment": { ... }, "client": { "ip": "203.0.113.7", "userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0 Safari/537.36" } }

If your front end sits behind a proxy or CDN, client.ip is the first address in the forwarded-for chain — the customer — not your own server's address. See CLIENT_IP_INVALID for the values we reject.

client is declared on OrderCore, so it applies to both validate and place. See Conventions → Schema inheritance.

Example

Code
{ "type": "https://developer.gett-tech.com/errors/CLIENT_CONTEXT_REQUIRED", "title": "Bad Request", "status": 400, "detail": "client is required. Supply the end user's originating ip and userAgent, forwarded from the request your own front end received.", "instance": "/v1/marketfront/orders/validate", "requestId": "req_abc123", "timestamp": "2026-08-10T14:30:00.000Z", "errorCode": "CLIENT_CONTEXT_REQUIRED", "errorCategory": "validation", "retryable": false }
CATALOGSET_REQUIREDCLIENT_IP_INVALID
On this page
  • Summary
  • Why This Exists
  • When This Fires
  • Recommended Action
  • Example
JSON