Validate Order

Validate order details without creating the order in the POS system. PAR calls this endpoint to validate orders before submission.

Status Values

  • validated - Order has been validated successfully and ready for submission
  • rejected - Order was rejected due to business rules
  • errored - Validation error occurred (See errors array for details)
Headers
  • Authorization
    Type: string
    required

    Used to authorize the request with jwt_token. It should be supplied as Bearer JWT_TOKEN_GOES_HERE.

  • x-pch-digest
    Type: string
    required

    HMAC-SHA256 signature for request authentication.

    How to generate: hmac("sha256", concat(uriPath, requestBody), clientSecret)

    Where:

    • uriPath - The API endpoint path (e.g., /posnext/order/validate), without the base URL
    • requestBody - The JSON request body exactly as sent, with whitespace removed
    • clientSecret - Your shared secret provided by PAR Technology during integration setup

    A 412 response indicates a signature mismatch.

  • Content-Type
    Type: string
    required

    Set this header to application/json.

Body·
required
application/json
  • location_id
    Type: string
    required

    Location identifier

  • order_details
    Type: object ·
    required
  • request_datetime
    Type: string Format: date-time
    required

    ISO 8601 UTC datetime of the request

  • request_type
    Type: string enum
    required

    Type of request

    values
    • validate-order
    • submit-order
  • request_uid
    Type: string
    required

    Unique identifier for this request

  • callback_url
    Type: string Format: uri

    URL for asynchronous callbacks

  • schedule_type
    Type: string enum

    Order scheduling type

    values
    • current
    • future
  • ttl
    Type: integer

    Time-to-live in seconds

Responses
  • application/json
  • application/json
  • application/json
  • 401

    Unauthorized

  • application/json
Request Example for post/posnext/order/validate
curl https://api.partech.com/v1/posnext/order/validate \
  --request POST \
  --header 'Authorization: Bearer JWT_TOKEN_GOES_HERE' \
  --header 'x-pch-digest: SIGNATURE_GOES_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
  "request_type": "validate-order",
  "request_uid": "order-12345",
  "request_datetime": "2025-01-15T10:30:00.000Z",
  "location_id": "loc-001",
  "schedule_type": "current",
  "ttl": 300,
  "order_details": {
    "online_order_id": "ONL-12345",
    "subtotal": 25.99,
    "order_total": 28.09,
    "grand_total": 30.09,
    "menu_items": [
      {
        "id": "item-001",
        "name": "Burger",
        "item_type": "Item",
        "quantity": 2,
        "price_per_unit": 12.99,
        "total_price": 25.98,
        "modifiers": [
          {
            "id": "mod-001",
            "name": "Large",
            "item_type": "Modifier",
            "quantity": 1,
            "price_per_unit": 1,
            "total_price": 1
          }
        ]
      }
    ],
    "taxes": [
      {
        "name": "Sales Tax",
        "amount": 2.1
      }
    ],
    "payments": [
      {
        "tender_id": "tender-001",
        "payment_type": "credit_card",
        "amount": 30.09
      }
    ],
    "tips": [
      {
        "name": "Tip",
        "amount": 2
      }
    ],
    "customer_info": {
      "name": "N Patel",
      "phone_number": "999-888-9999",
      "email": "n.patel@example.com"
    }
  }
}'
{
  "status": "validated",
  "request_uid": "order-12345",
  "request_datetime": "2025-01-15T10:30:00.000Z",
  "location_id": "loc-001",
  "completed_at": "2025-01-15T10:30:05.000Z",
  "received_at": "2025-01-15T10:30:00.000Z",
  "order_details": {
    "online_order_id": "ONL-12345",
    "pos_order_id": "POS-67890",
    "subtotal": 25.99,
    "order_total": 28.09,
    "grand_total": 30.09,
    "menu_items": [
      "..."
    ]
  }
}