Skip to main content
POST
/
orders
/
pos
Create a POS (in-person) order
curl --request POST \
  --url https://api.salesive.com/api/v1/orders/pos \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "items": [
    {
      "_id": "6699aabbccddeeff00112233",
      "name": "Wireless Earbuds",
      "price": 24990,
      "promoPrice": 19990,
      "qty": 2,
      "sku": "WE-BLK-01",
      "images": [
        "https://cdn.salesive.com/p/earbuds.jpg"
      ]
    }
  ],
  "discount": 1000,
  "tax": 500,
  "paymentMethod": "cash",
  "customerName": "Walk-in Customer",
  "customerEmail": "walkin@example.com",
  "customerPhone": "+2348012345678"
}
'
{
  "status": 201,
  "success": true,
  "message": "POS order created successfully",
  "data": {
    "_id": "66b2010a1b2c3d4e5f60718a",
    "orderId": 1043,
    "user": "66a0c1d2e3f4a5b6c7d8e9f0",
    "shop": "6680aabbccddeeff00112200",
    "items": [
      {
        "_id": "66b2010a1b2c3d4e5f60718b",
        "product": "6699aabbccddeeff00112233",
        "variant": null,
        "name": "Wireless Earbuds",
        "sku": "WE-BLK-01",
        "price": 19990,
        "quantity": 2,
        "variantAttributes": {},
        "imageUrl": "https://cdn.salesive.com/p/earbuds.jpg"
      }
    ],
    "subtotal": 39980,
    "discount": 1000,
    "tax": 500,
    "shippingCost": 0,
    "status": "paid",
    "source": "pos",
    "paymentMethod": "cash",
    "posCustomerName": "Walk-in Customer",
    "posCustomerEmail": "walkin@example.com",
    "posCustomerPhone": "+2348012345678",
    "payment": "66b2010a1b2c3d4e5f607180",
    "total": 39480,
    "createdAt": "2026-06-21T11:00:00.000Z",
    "updatedAt": "2026-06-21T11:00:00.000Z"
  }
}
Creates an in-person POS order with source pos, marked paid, computing totals as subtotal − discount + tax. The store is bound to your app token server-side — never send a shop id.

Authorizations

Authorization
string
header
required

Installed-app access token (prefix app_), issued by the OAuth install flow. The store is bound to the token server-side — never send a shop id.

Body

application/json
items
object[]
required

Line items (at least one).

Minimum array length: 1
discount
number
default:0

Order-level discount amount.

Required range: x >= 0
tax
number
default:0

Order-level tax amount.

Required range: x >= 0
paymentMethod
enum<string>
default:cash

Payment method used at the point of sale.

Available options:
cash,
card,
transfer,
other
customerName
string

Walk-in customer name (optional).

customerEmail
string<email>

Walk-in customer email (optional, validated as an email when provided).

customerPhone
string

Walk-in customer phone (optional).

Response

The created POS order.

Standard Salesive response envelope. The operation-specific payload is carried in data.

status
integer
required

HTTP status code, echoed in the body.

success
boolean
required

Whether the request succeeded.

message
string
required

Human-readable result message.

data
object

An order created through the POS endpoint. Item products and the payment are referenced by id.