Skip to main content
POST
/
vendor-prepayments
/
{id}
/
refund
Refund a vendor prepayment
curl --request POST \
  --url https://api.arcuserp.com/v1/vendor-prepayments/{id}/refund \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "refund_amount": 2500,
  "reason": "Vendor unable to fulfill -- advance returned via wire 2026-05-14"
}
'
{
  "data": {
    "prepayment_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "prepayment_number": "<string>",
    "refund_amount": 123,
    "prepayment_status": "refunded",
    "prepayment_balance": 123,
    "journal_entry_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.arcuserp.com/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

API key issued per entity via Settings > Developers > API Keys. Each key carries scopes (e.g. orders:read, products:write). Bearer token format: Authorization: Bearer ark_live_ent_Test keys use ark_test_ent_. Both are issued per entity
via Settings > Developers > API Keys.

Headers

Idempotency-Key
string<uuid>

Optional idempotency key.

Path Parameters

id
string<uuid>
required

Vendor prepayment UUID.

Body

application/json
refund_amount
number<double> | null

Amount to refund. If omitted, refunds the full unapplied balance.

reason
string | null

Human-readable reason for the refund (e.g., "Vendor declined the order").

Response

Prepayment refunded

data
object