Vendor Refunds
Create vendor refund
Create a new vendor refund record (parent transaction).
**Idempotency**: Uses `external_id` field - duplicate requests with the same
`external_id` will return HTTP 200 with the existing refund instead of creating
a duplicate.
**Required Fields:**
- `vendor_id`: UUID of the vendor issuing the refund
- `total_refunded_amount_cents`: Total amount being refunded in cents (e.g., 10050 for £100.50)
- `currency`: ISO 4217 currency code (EUR, GBP, USD)
**Optional Fields:**
- `external_id`: Your system's unique identifier (for idempotency)
- `reference_number`: External reference number
- `refund_type`: Type of refund (overpayment, billing_error, goods_return, etc.)
- `refund_date`: Date of refund (defaults to today)
- `description`: Detailed description
- `memo`: Internal memo/notes
- `reason`: Reason for the refund
- `metadata`: Additional structured data (JSON object)
- `allocations`: Array of allocations to create with the refund
- `payments`: Array of payments to create with the refund
- `document`: Optional document upload (multipart field `file` with optional document_type, upload_source, metadata, tags)
**Common Scenarios:**
1. **Overpayment refund** - Vendor returns excess payment
```json
{
"vendor_id": "uuid",
"total_refunded_amount_cents": 15000,
"currency": "GBP",
"refund_type": "overpayment",
"description": "Refund of overpayment"
}
```
2. **Billing error** - Vendor refunds due to billing mistake
```json
{
"vendor_id": "uuid",
"total_refunded_amount_cents": 50000,
"currency": "GBP",
"refund_type": "billing_error",
"reference_number": "REF-12345",
"allocations": [{
"allocation_type": "bill",
"bill_id": "bill-uuid",
"amount_cents": 50000
}]
}
```
3. **Complete refund with payment** - Create refund with allocation and payment in one request
```json
{
"vendor_id": "uuid",
"total_refunded_amount_cents": 100000,
"currency": "GBP",
"external_id": "my-refund-123",
"allocations": [{
"allocation_type": "bill",
"bill_id": "bill-uuid",
"amount_cents": 100000
}],
"payments": [{
"refunded_amount_cents": 100000,
"payment_method": "bank_transfer",
"processor": "wise"
}]
}
```
**Returns:**
- HTTP 201: Refund created successfully
- HTTP 200: Existing refund (idempotent - same external_id)
- HTTP 400: Validation error
post/v1/platform/businesses/{business_id}/vendor-refunds/
Request
- Base URLhttps://docs.thredfi.com (the document declares no server; this is the origin it was published from)
- Auth
- HTTP bearer
- or HTTP bearer
- or HTTP basic
- or HTTP bearer
- or HTTP bearer
Path parameters
business_idstring required
Request body
Response
Changes
No recorded changes to this operation across all 1 revision of this API.