API reference / Purchase debit notes
Purchase debit notes API
11 endpoints. Scopes: Scalar360.purchase-debit-notes.READ, .CREATE, .UPDATE, .DELETE or .ALL. All calls need Authorization: Scalar360-oauthtoken <access_token> — see Authentication.
List debit notes
/api/v1/purchase-debit-notes
Scope: Scalar360.purchase-debit-notes.READ
| Parameter | In | Type | Required |
|---|---|---|---|
vendorId | query | string (uuid) | No |
billId | query | string (uuid) | No |
status | query | string | No |
startDate | query | string (date) | No |
endDate | query | string (date) | No |
q | query | string | No |
page | query | integer | No |
pageSize | query | integer | No |
sortBy | query | string | No |
sortDir | query | string | No |
curl -X GET "https://api.scalar360.com/api/v1/purchase-debit-notes" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"Create debit note
/api/v1/purchase-debit-notes
Scope: Scalar360.purchase-debit-notes.CREATE
| Body field | Type | Required | Notes |
|---|---|---|---|
vendorId | string (uuid) | Yes | |
billId | string (uuid) | ||
purchaseOrderId | string (uuid) | ||
debitNoteDate | string (date) | Yes | |
amount | number | Yes | required, >= 0.01 |
taxableAmount | number | ||
cgst | number | ||
sgst | number | ||
igst | number | ||
reason | string | Yes | required, not blank, max length 200 |
notes | string | max length 1000 |
curl -X POST "https://api.scalar360.com/api/v1/purchase-debit-notes" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"vendorId":"3f1c2b9e-7a1d-4c3e-9b2a-1e5f6a7b8c9d","debitNoteDate":"2026-10-12","amount":100,"reason":"string"}'Get debit note
/api/v1/purchase-debit-notes/{id}
Scope: Scalar360.purchase-debit-notes.READ
| Parameter | In | Type | Required |
|---|---|---|---|
id | path | string (uuid) | Yes |
curl -X GET "https://api.scalar360.com/api/v1/purchase-debit-notes/{id}" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"Update debit note
/api/v1/purchase-debit-notes/{id}
Scope: Scalar360.purchase-debit-notes.UPDATE
| Parameter | In | Type | Required |
|---|---|---|---|
id | path | string (uuid) | Yes |
| Body field | Type | Required | Notes |
|---|---|---|---|
vendorId | string (uuid) | ||
billId | string (uuid) | ||
purchaseOrderId | string (uuid) | ||
debitNoteDate | string (date) | ||
amount | number | Yes | required, >= 0.01 |
taxableAmount | number | ||
cgst | number | ||
sgst | number | ||
igst | number | ||
reason | string | Yes | required, not blank, max length 200 |
notes | string | max length 1000 |
curl -X PUT "https://api.scalar360.com/api/v1/purchase-debit-notes/{id}" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"vendorId":"3f1c2b9e-7a1d-4c3e-9b2a-1e5f6a7b8c9d","billId":"3f1c2b9e-7a1d-4c3e-9b2a-1e5f6a7b8c9d","purchaseOrderId":"3f1c2b9e-7a1d-4c3e-9b2a-1e5f6a7b8c9d","debitNoteDate":"2026-10-12","amount":100,"taxableAmount":100}'Delete debit note
/api/v1/purchase-debit-notes/{id}
Scope: Scalar360.purchase-debit-notes.DELETE
| Parameter | In | Type | Required |
|---|---|---|---|
id | path | string (uuid) | Yes |
curl -X DELETE "https://api.scalar360.com/api/v1/purchase-debit-notes/{id}" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"Apply to bills
/api/v1/purchase-debit-notes/{id}/applications
Scope: Scalar360.purchase-debit-notes.CREATE
| Parameter | In | Type | Required |
|---|---|---|---|
id | path | string (uuid) | Yes |
| Body field | Type | Required | Notes |
|---|---|---|---|
billId | string (uuid) | Yes | |
amount | number | Yes | required, >= 0.01 |
appliedDate | string (date) |
curl -X POST "https://api.scalar360.com/api/v1/purchase-debit-notes/{id}/applications" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '[{"billId":"3f1c2b9e-7a1d-4c3e-9b2a-1e5f6a7b8c9d","amount":100,"appliedDate":"2026-10-12"}]'Cancel debit note
/api/v1/purchase-debit-notes/{id}/cancel
Scope: Scalar360.purchase-debit-notes.UPDATE
| Parameter | In | Type | Required |
|---|---|---|---|
id | path | string (uuid) | Yes |
reason | query | string | No |
curl -X PATCH "https://api.scalar360.com/api/v1/purchase-debit-notes/{id}/cancel" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"Record refund
/api/v1/purchase-debit-notes/{id}/refunds
Scope: Scalar360.purchase-debit-notes.CREATE
| Parameter | In | Type | Required |
|---|---|---|---|
id | path | string (uuid) | Yes |
| Body field | Type | Required | Notes |
|---|---|---|---|
amount | number | Yes | required, >= 0.01 |
refundDate | string (date) | ||
method | string | max length 50 | |
reference | string | max length 200 |
curl -X POST "https://api.scalar360.com/api/v1/purchase-debit-notes/{id}/refunds" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"amount":100}'Applications for bill
/api/v1/purchase-debit-notes/applications
Scope: Scalar360.purchase-debit-notes.READ
| Parameter | In | Type | Required |
|---|---|---|---|
billId | query | string (uuid) | Yes |
curl -X GET "https://api.scalar360.com/api/v1/purchase-debit-notes/applications" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"Remove application
/api/v1/purchase-debit-notes/applications/{applicationId}
Scope: Scalar360.purchase-debit-notes.DELETE
| Parameter | In | Type | Required |
|---|---|---|---|
applicationId | path | string (uuid) | Yes |
curl -X DELETE "https://api.scalar360.com/api/v1/purchase-debit-notes/applications/{applicationId}" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"Reverse refund
/api/v1/purchase-debit-notes/refunds/{refundId}/reverse
Scope: Scalar360.purchase-debit-notes.CREATE
| Parameter | In | Type | Required |
|---|---|---|---|
refundId | path | string (uuid) | Yes |
| Body field | Type | Required | Notes |
|---|---|---|---|
date | string (date) | ||
reason | string | Yes | required, not blank, max length 500 |
curl -X POST "https://api.scalar360.com/api/v1/purchase-debit-notes/refunds/{refundId}/reverse" \
-H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"reason":"string"}'