Update a payment
Scope: accounting:payments.write https://api.alladdin.com/api/v2/payments/{paymentId}
Updates an existing payment movement. All fields are optional; only provided fields are updated.
If type is provided it changes the movement direction and flips the stored sign accordingly. If amount is provided it must be a positive absolute value.
Parameters
Path parameters
paymentId string required
Payment ID (24-char hex ObjectId)
Request body
object type string
Movement direction: "payment" for outgoing money, "collection" for incoming money
Enum: payment collection amount string
Absolute payment amount as decimal string (must be greater than zero)
date string<date>
Payment date in ISO 8601 format (YYYY-MM-DD)
bank_account_id string | null
Treasury account identifier
contact_id string | null
Contact identifier
description string | null
Payment description
Request
import requests
url = "https://api.alladdin.com/api/v2/payments/{paymentId}"
headers = {
"Authorization": "Bearer YOUR_API_KEY",
"Accept": "application/json",
}
payload = {
"type": "payment",
"amount": "1500.50",
"date": "2026-05-13",
"bank_account_id": "string",
"contact_id": "string",
"description": "string"
}
response = requests.put(url, headers=headers, json=payload)
print(response.json())Responses
Success responses
200 Payment updated
Error responses
400 Bad request application/json 401 Invalid or missing API key application/json 403 Insufficient permissions application/json 404 Payment not found application/json 429 Rate limit exceeded application/json
