Skip to content

Update Invoice

PUT
/api/Invoices/{id}
curl --request PUT \
--url https://example.com/api/Invoices/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0 \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "invoiceNumber": "example", "memberId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "clientName": "example", "clientDetail": "example", "clientEmail": "hello@example.com", "issueDate": "2026-04-15T12:00:00Z", "dueDate": "2026-04-15T12:00:00Z", "tax": 1, "currency": "example", "notes": "example", "lineItems": [ { "description": "example", "quantity": 1, "unitPrice": 1 } ] }'

Updates an existing Draft invoice. Sent or Paid invoices cannot be edited — void and re-issue instead. Replaces all line items.

id
required
string format: uuid

The invoice’s unique identifier.

Updated invoice data.

object
id
string format: uuid
invoiceNumber
string
nullable <= 50 characters
memberId
string format: uuid
nullable
clientName
required
string
>= 1 characters <= 200 characters
clientDetail
string
nullable <= 200 characters
clientEmail
string format: email
nullable <= 256 characters
issueDate
required
string format: date-time
dueDate
string format: date-time
nullable
tax
number format: double
currency
string
nullable <= 3 characters
notes
string
nullable <= 2000 characters
lineItems
required
Array<object>
>= 1 items
object
description
required
string
>= 1 characters <= 500 characters
quantity
number format: double
unitPrice
number format: double
Example generated
{
"id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"invoiceNumber": "example",
"memberId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"clientName": "example",
"clientDetail": "example",
"clientEmail": "hello@example.com",
"issueDate": "2026-04-15T12:00:00Z",
"dueDate": "2026-04-15T12:00:00Z",
"tax": 1,
"currency": "example",
"notes": "example",
"lineItems": [
{
"description": "example",
"quantity": 1,
"unitPrice": 1
}
]
}

Invoice updated successfully.

Media type application/json
object
id
string format: uuid
merchantId
string format: uuid
invoiceNumber
string
nullable
memberId
string format: uuid
nullable
clientName
string
nullable
clientDetail
string
nullable
clientEmail
string
nullable
status
string
Allowed values: Draft Sent Paid Overdue Void
issueDate
string format: date-time
dueDate
string format: date-time
nullable
sentAt
string format: date-time
nullable
paidAt
string format: date-time
nullable
subtotal
number format: double
tax
number format: double
total
number format: double
currency
string
nullable
notes
string
nullable
lineItems
Array<object>
nullable
object
id
string format: uuid
description
string
nullable
quantity
number format: double
unitPrice
number format: double
total
number format: double
sortOrder
integer format: int32
createdAt
string format: date-time
updatedAt
string format: date-time
Example
{
"status": "Draft"
}

Validation failed or invoice is not editable.

Media type application/json
object
type
string
nullable
title
string
nullable
status
integer format: int32
nullable
detail
string
nullable
instance
string
nullable
key
additional properties
Example generated
{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"instance": "example"
}

No invoice with the given ID exists.

Media type application/json
object
type
string
nullable
title
string
nullable
status
integer format: int32
nullable
detail
string
nullable
instance
string
nullable
key
additional properties
Example generated
{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"instance": "example"
}