Issue replacement for completed invoice
In the event you want to replace the deliverables of an invoice, this endpoint lets you do so.
In the event you want to replace the deliverables of an invoice, this endpoint lets you do so.
When you send a request to the endpoint, behind the scenes a new invoice gets created and immediately marked as completed. From there, the regular flow proceeds with a customer receiving a delivery email with a link to access their products, and you receiving a sales notification.
See the code examples for how to issue a replacement product for an existing invoice with the SellApp API.
Authorization
bearerAuth Provide your SellApp API key as a bearer token.
In: header
Path Parameters
The invoice path parameter.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X PATCH "https://sell.app/api/v2/invoices/0/issue-replacement" \ -H "Content-Type: application/json" \ -d '{ "product_variants": 0 }'{
"id": 2,
"payment": {
"fee": {
"base": "0",
"currency": "USD",
"units": 1,
"vat": 0,
"total": {
"exclusive": "0",
"inclusive": "0"
}
},
"gateway": {
"data": {
"total": {
"base": "1999",
"currency": "USD",
"units": 1,
"vat": 0,
"total": {
"exclusive": "1999",
"inclusive": "1999"
}
},
"customer_email": "customer@example.com",
"transaction_id": "CQEGF35V"
},
"type": "COINBASE"
},
"subtotal": {
"base": "1999",
"currency": "USD",
"units": 1,
"vat": 0,
"total": {
"exclusive": "1999",
"inclusive": "1999"
}
},
"expires_at": "2024-01-10T19:33:12.000000Z",
"full_price": {
"base": "1999",
"currency": "USD",
"units": 1,
"vat": 0,
"total": {
"exclusive": "1999",
"inclusive": "1999"
}
},
"original_amount": {
"base": "1999",
"currency": "USD",
"units": 1,
"vat": 0,
"total": {
"exclusive": "1999",
"inclusive": "1999"
}
}
},
"status": {
"history": [
{
"setAt": "2024-01-09T19:33:12.000000Z",
"status": "PENDING",
"updatedAt": "2024-01-09T21:17:47.000000Z"
}
],
"status": {
"setAt": "2024-01-09T21:17:47.000000Z",
"status": "COMPLETED",
"updatedAt": "2024-01-09T21:17:47.000000Z"
}
},
"webhooks": [],
"feedback": "",
"created_at": "2024-01-09T19:33:12.000000Z",
"updated_at": "2024-01-09T21:17:47.000000Z",
"store_id": 1,
"coupon_id": null,
"subscription_id": null,
"customer_information": {
"id": 1034,
"email": "customer@example.com",
"country": "Germany",
"location": "Munich",
"ip": "1.3.3.7",
"proxied": false,
"browser_agent": "Mozilla/4.9 (Windows 98; sl-SI; rv:1.9.1.20) Gecko/20110422 Firefox/21.0",
"vat": {
"amount": 0,
"country": "US"
}
}
}Mark pending invoice voided PATCH
This endpoint allows you to update a pending invoice's status as voided. If marked as voided, the purchased product(s) would not be delivered to the customer's email. See the code examples for how to mark a pending invoice as voided with the SellApp API.
Overview
On this page, we’ll dive into the different license key endpoints you can use to activate and manage license keys programmatically.