API reference / Quotes
Quotes API
8 endpoints. Scopes: Scalar360.quotes.READ, .CREATE, .UPDATE, .DELETE or .ALL. All calls need Authorization: Scalar360-oauthtoken <access_token> — see Authentication.
GET
List
/api/v1/quotes
Scope: Scalar360.quotes.READ
| Parameter | In | Type | Required |
|---|---|---|---|
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/quotes" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"POST
Create
/api/v1/quotes
Scope: Scalar360.quotes.CREATE
| Body field | Type | Required | Notes |
|---|---|---|---|
customerId | string (uuid) | ||
customerName | string | ||
issueDate | string (date) | ||
validTill | string (date) | ||
notes | string | ||
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/quotes" \
-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/quotes/{id}
Scope: Scalar360.quotes.READ
| Parameter | In | Type | Required |
|---|---|---|---|
id | path | string (uuid) | Yes |
curl -X GET "https://api.scalar360.com/api/v1/quotes/{id}" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"PUT
Update
/api/v1/quotes/{id}
Scope: Scalar360.quotes.UPDATE
| Parameter | In | Type | Required |
|---|---|---|---|
id | path | string (uuid) | Yes |
| Body field | Type | Required | Notes |
|---|---|---|---|
customerId | string (uuid) | ||
customerName | string | ||
issueDate | string (date) | ||
validTill | string (date) | ||
notes | string | ||
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/quotes/{id}" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"customerId":"3f1c2b9e-7a1d-4c3e-9b2a-1e5f6a7b8c9d","customerName":"string","issueDate":"2026-10-12","validTill":"2026-10-12","notes":"string","lines":[{"itemId":"3f1c2b9e-7a1d-4c3e-9b2a-1e5f6a7b8c9d","description":"string","hsn":"string","qty":100,"unit":"string","rate":100}]}'POST
Cancel
/api/v1/quotes/{id}/cancel
Scope: Scalar360.quotes.CREATE
| Parameter | In | Type | Required |
|---|---|---|---|
id | path | string (uuid) | Yes |
curl -X POST "https://api.scalar360.com/api/v1/quotes/{id}/cancel" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"POST
Convert
/api/v1/quotes/{id}/convert
Scope: Scalar360.quotes.CREATE
| Parameter | In | Type | Required |
|---|---|---|---|
id | path | string (uuid) | Yes |
curl -X POST "https://api.scalar360.com/api/v1/quotes/{id}/convert" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"POST
Decision
/api/v1/quotes/{id}/decision
Scope: Scalar360.quotes.CREATE
| Parameter | In | Type | Required |
|---|---|---|---|
id | path | string (uuid) | Yes |
| Body field | Type | Required | Notes |
|---|---|---|---|
decision | string |
curl -X POST "https://api.scalar360.com/api/v1/quotes/{id}/decision" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"decision":"string"}'POST
Send
/api/v1/quotes/{id}/send
Scope: Scalar360.quotes.CREATE
| Parameter | In | Type | Required |
|---|---|---|---|
id | path | string (uuid) | Yes |
curl -X POST "https://api.scalar360.com/api/v1/quotes/{id}/send" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"