Skip to content

Create a draft credit note

POST
/api/public/v1/credit-notes
Code sample: cURL
curl --request POST \
--url 'https://api.getzutax.com/api/public/v1/credit-notes' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <unique-request-key>' \
--data '{
"external_id": "string",
"referenced_invoice_external_id": "string",
"currency": "NGN",
"issue_date": "2026-02-11",
"reason": "string",
"note": "string",
"lines": [
{
"name": "string",
"description": "string",
"product_external_id": "string",
"quantity": 1.0,
"unit_price_naira": 0.0,
"vat_rate": 0.0,
"discount_naira": 0.0,
"isic_code": "string"
}
]
}'

Creates a credit-note Invoice row (invoice_type_code=‘380’, NRS Credit Note code) in ‘draft’ status. Does NOT validate, sign, or submit to Pasca.

Media type application/json
CreditNoteCreateInput
object
external_id
required
External Id
string
>= 1 characters <= 255 characters
referenced_invoice_external_id
required
Referenced Invoice External Id
string
>= 1 characters <= 255 characters
currency
Currency
string
default: NGN >= 3 characters <= 3 characters
issue_date
required
Issue Date
string format: date
reason
required
Reason
string
note
Any of:
string
lines
required
Lines
Array<object>
>= 1 items
InvoiceLineInput
object
name
required
Name
string
>= 1 characters <= 500 characters
description
Any of:
string
product_external_id
Any of:
string
quantity
required
Any of:
number
> 0
unit_price_naira
required
Any of:
number
vat_rate
required
Any of:
number
<= 1
discount_naira
Any of:
number
isic_code
Any of:
string
Examples
Example Sample request

Request payload example

{
"external_id": "string",
"referenced_invoice_external_id": "string",
"currency": "NGN",
"issue_date": "2026-02-11",
"reason": "string",
"note": "string",
"lines": [
{
"name": "string",
"description": "string",
"product_external_id": "string",
"quantity": 1,
"unit_price_naira": 0,
"vat_rate": 0,
"discount_naira": 0,
"isic_code": "string"
}
]
}

Successful Response

Media type application/json
CreditNoteResponse
object
id
required
Id
string format: uuid
external_id
required
Any of:
string
status
required
Status
string
Allowed values: draft submitted validated dispatched delivered accepted rejected cancelled
credit_note_number
Any of:
string
irn
Any of:
string
currency
required
Currency
string
issue_date
required
Issue Date
string format: date
referenced_invoice_id
Any of:
string format: uuid
subtotal_naira
required
Subtotal Naira
string
/^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$/
vat_total_naira
required
Vat Total Naira
string
/^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$/
total_naira
required
Total Naira
string
/^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$/
pasca_dispatch_id
Any of:
string
Examples
Example Sample response

200 response example

{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"external_id": "string",
"status": "draft",
"credit_note_number": "string",
"irn": "string",
"currency": "string",
"issue_date": "2026-02-11",
"referenced_invoice_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"subtotal_naira": "100.00",
"vat_total_naira": "100.00",
"total_naira": "100.00",
"pasca_dispatch_id": "string"
}

Validation Error

Media type application/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
Examples
Example Sample response

422 response example

{
"detail": [
{
"loc": [],
"msg": "string",
"type": "string"
}
]
}