API reference / Sales orders
Sales orders API
7 endpoints. Scopes: Scalar360.sales-orders.READ, .CREATE, .UPDATE, .DELETE or .ALL. All calls need Authorization: Scalar360-oauthtoken <access_token> — see Authentication.
GET
List
/api/v1/sales-orders
Scope: Scalar360.sales-orders.READ
| Parameter | In | Type | Required |
|---|---|---|---|
orderType | query | string | No |
status | query | string | No |
customerId | query | string (uuid) | No |
q | query | string | No |
page | query | integer | No |
pageSize | query | integer | No |
sortBy | query | string | No |
sortDir | query | string | No |
startDate | query | string (date) | No |
endDate | query | string (date) | No |
curl -X GET "https://api.scalar360.com/api/v1/sales-orders" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"POST
Create
/api/v1/sales-orders
Scope: Scalar360.sales-orders.CREATE
| Body field | Type | Required | Notes |
|---|---|---|---|
customerId | string (uuid) | ||
customerName | string | ||
orderType | string | ||
orderDate | string (date) | ||
expectedShipDate | string (date) | ||
warehouseId | string (uuid) | ||
notes | string | ||
saveAsDraft | boolean | ||
lines | array of object | Yes | required, not empty |
lines[].itemId | string (uuid) | ||
lines[].description | string | Yes | required, not blank |
lines[].hsn | string | ||
lines[].qty | number | >= 0 | |
lines[].unit | string | ||
lines[].rate | number | >= 0 | |
lines[].gstRate | number | >= 0 | |
lines[].discount | number | >= 0 |
curl -X POST "https://api.scalar360.com/api/v1/sales-orders" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"lines":[{"itemId":"3f1c2b9e-7a1d-4c3e-9b2a-1e5f6a7b8c9d","description":"string","hsn":"string","qty":100,"unit":"string","rate":100}]}'GET
Get
/api/v1/sales-orders/{id}
Scope: Scalar360.sales-orders.READ
| Parameter | In | Type | Required |
|---|---|---|---|
id | path | string (uuid) | Yes |
curl -X GET "https://api.scalar360.com/api/v1/sales-orders/{id}" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"PUT
Update
/api/v1/sales-orders/{id}
Scope: Scalar360.sales-orders.UPDATE
| Parameter | In | Type | Required |
|---|---|---|---|
id | path | string (uuid) | Yes |
| Body field | Type | Required | Notes |
|---|---|---|---|
customerId | string (uuid) | ||
customerName | string | ||
orderType | string | ||
orderDate | string (date) | ||
expectedShipDate | string (date) | ||
warehouseId | string (uuid) | ||
notes | string | ||
saveAsDraft | boolean | ||
lines | array of object | Yes | required, not empty |
lines[].itemId | string (uuid) | ||
lines[].description | string | Yes | required, not blank |
lines[].hsn | string | ||
lines[].qty | number | >= 0 | |
lines[].unit | string | ||
lines[].rate | number | >= 0 | |
lines[].gstRate | number | >= 0 | |
lines[].discount | number | >= 0 |
curl -X PUT "https://api.scalar360.com/api/v1/sales-orders/{id}" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"customerId":"3f1c2b9e-7a1d-4c3e-9b2a-1e5f6a7b8c9d","customerName":"string","orderType":"string","orderDate":"2026-10-12","expectedShipDate":"2026-10-12","warehouseId":"3f1c2b9e-7a1d-4c3e-9b2a-1e5f6a7b8c9d"}'POST
Cancel
/api/v1/sales-orders/{id}/cancel
Scope: Scalar360.sales-orders.CREATE
| Parameter | In | Type | Required |
|---|---|---|---|
id | path | string (uuid) | Yes |
curl -X POST "https://api.scalar360.com/api/v1/sales-orders/{id}/cancel" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"POST
Confirm
/api/v1/sales-orders/{id}/confirm
Scope: Scalar360.sales-orders.CREATE
| Parameter | In | Type | Required |
|---|---|---|---|
id | path | string (uuid) | Yes |
curl -X POST "https://api.scalar360.com/api/v1/sales-orders/{id}/confirm" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"POST
Convert
/api/v1/sales-orders/{id}/convert
Scope: Scalar360.sales-orders.CREATE
| Parameter | In | Type | Required |
|---|---|---|---|
id | path | string (uuid) | Yes |
curl -X POST "https://api.scalar360.com/api/v1/sales-orders/{id}/convert" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"