Developer docs menu

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.

GET

List debit notes

/api/v1/purchase-debit-notes

Scope: Scalar360.purchase-debit-notes.READ

ParameterInTypeRequired
vendorIdquerystring (uuid)No
billIdquerystring (uuid)No
statusquerystringNo
startDatequerystring (date)No
endDatequerystring (date)No
qquerystringNo
pagequeryintegerNo
pageSizequeryintegerNo
sortByquerystringNo
sortDirquerystringNo
Example request
curl -X GET "https://api.scalar360.com/api/v1/purchase-debit-notes" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
POST

Create debit note

/api/v1/purchase-debit-notes

Scope: Scalar360.purchase-debit-notes.CREATE

Body fieldTypeRequiredNotes
vendorIdstring (uuid)Yes
billIdstring (uuid)
purchaseOrderIdstring (uuid)
debitNoteDatestring (date)Yes
amountnumberYesrequired, >= 0.01
taxableAmountnumber
cgstnumber
sgstnumber
igstnumber
reasonstringYesrequired, not blank, max length 200
notesstringmax length 1000
Example request
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

Get debit note

/api/v1/purchase-debit-notes/{id}

Scope: Scalar360.purchase-debit-notes.READ

ParameterInTypeRequired
idpathstring (uuid)Yes
Example request
curl -X GET "https://api.scalar360.com/api/v1/purchase-debit-notes/{id}" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
PUT

Update debit note

/api/v1/purchase-debit-notes/{id}

Scope: Scalar360.purchase-debit-notes.UPDATE

ParameterInTypeRequired
idpathstring (uuid)Yes
Body fieldTypeRequiredNotes
vendorIdstring (uuid)
billIdstring (uuid)
purchaseOrderIdstring (uuid)
debitNoteDatestring (date)
amountnumberYesrequired, >= 0.01
taxableAmountnumber
cgstnumber
sgstnumber
igstnumber
reasonstringYesrequired, not blank, max length 200
notesstringmax length 1000
Example request
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

Delete debit note

/api/v1/purchase-debit-notes/{id}

Scope: Scalar360.purchase-debit-notes.DELETE

ParameterInTypeRequired
idpathstring (uuid)Yes
Example request
curl -X DELETE "https://api.scalar360.com/api/v1/purchase-debit-notes/{id}" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
POST

Apply to bills

/api/v1/purchase-debit-notes/{id}/applications

Scope: Scalar360.purchase-debit-notes.CREATE

ParameterInTypeRequired
idpathstring (uuid)Yes
Body fieldTypeRequiredNotes
billIdstring (uuid)Yes
amountnumberYesrequired, >= 0.01
appliedDatestring (date)
Example request
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"}]'
PATCH

Cancel debit note

/api/v1/purchase-debit-notes/{id}/cancel

Scope: Scalar360.purchase-debit-notes.UPDATE

ParameterInTypeRequired
idpathstring (uuid)Yes
reasonquerystringNo
Example request
curl -X PATCH "https://api.scalar360.com/api/v1/purchase-debit-notes/{id}/cancel" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
POST

Record refund

/api/v1/purchase-debit-notes/{id}/refunds

Scope: Scalar360.purchase-debit-notes.CREATE

ParameterInTypeRequired
idpathstring (uuid)Yes
Body fieldTypeRequiredNotes
amountnumberYesrequired, >= 0.01
refundDatestring (date)
methodstringmax length 50
referencestringmax length 200
Example request
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}'
GET

Applications for bill

/api/v1/purchase-debit-notes/applications

Scope: Scalar360.purchase-debit-notes.READ

ParameterInTypeRequired
billIdquerystring (uuid)Yes
Example request
curl -X GET "https://api.scalar360.com/api/v1/purchase-debit-notes/applications" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
DELETE

Remove application

/api/v1/purchase-debit-notes/applications/{applicationId}

Scope: Scalar360.purchase-debit-notes.DELETE

ParameterInTypeRequired
applicationIdpathstring (uuid)Yes
Example request
curl -X DELETE "https://api.scalar360.com/api/v1/purchase-debit-notes/applications/{applicationId}" \
  -H "Authorization: Scalar360-oauthtoken $ACCESS_TOKEN"
POST

Reverse refund

/api/v1/purchase-debit-notes/refunds/{refundId}/reverse

Scope: Scalar360.purchase-debit-notes.CREATE

ParameterInTypeRequired
refundIdpathstring (uuid)Yes
Body fieldTypeRequiredNotes
datestring (date)
reasonstringYesrequired, not blank, max length 500
Example request
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"}'