Skip to content

Attach receipt URL to a billing entry

PATCH
/api/v1/billing/{id}/document-url
curl --request PATCH \
--url https://api.dokanmazad.com/api/v1/billing/cmbill00000001ny11aabbcc0/document-url \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <X-API-Key>' \
--data '{ "type": "receipt", "pdfUrl": "https://cdn.dokanmazad.com/receipts/receipt-001.pdf", "invoiceNumber": "REC-2026-001" }'
id
required
string

Billing ID (CUID)

Example
cmbill00000001ny11aabbcc0
Media typeapplication/json
object
type
required

Document type — invoice or receipt

string
pdfUrl
required

Public URL to the uploaded PDF

string
invoiceNumber

Optional invoice/receipt number

string
Examples
Exampledefault
{
"type": "receipt",
"pdfUrl": "https://cdn.dokanmazad.com/receipts/receipt-001.pdf",
"invoiceNumber": "REC-2026-001"
}

Success

Media typeapplication/json
object
success
required
boolean
data
required
meta
object
page
integer
limit
integer
total
integer
totalPages
integer
data
required
object
id
required

Billing ID

string
receiptFileUrl

Attached PDF URL

string
invoiceNumber

Invoice number

string
updatedAt
required

Last updated

string format: date-time
Examples
Examplesuccess
{
"success": true,
"data": {
"id": "cmbill00000001ny11aabbcc0",
"orderId": "cmosor2zy000313ny24hgtfy0",
"amount": 5000,
"currency": "USD",
"type": "invoice",
"status": "Pending",
"description": "Deposit payment for BMW 3 Series",
"items": [
{
"type": "deposit",
"description": "Initial deposit",
"amount": 3000
},
{
"type": "fee",
"description": "Processing fee",
"amount": 200
}
],
"receiptFileUrl": "https://cdn.dokanmazad.com/receipts/receipt-001.pdf",
"createdAt": "2026-05-01T09:00:00.000Z",
"invoiceNumber": "REC-2026-001"
}
}

Unauthorized — missing or invalid API key

Media typeapplication/json
object
success
required
boolean
error
required
string
statusCode
required
integer
Example
{
"success": false
}

Forbidden — route not in this key’s allowedRoutes

Media typeapplication/json
object
success
required
boolean
error
required
string
statusCode
required
integer
Example
{
"success": false
}

Rate limit exceeded

Media typeapplication/json
object
success
required
boolean
error
required
string
statusCode
required
integer
Example
{
"success": false
}
Retry-After
integer

Seconds to wait before retrying