Partially update interim payment
Updates only the provided fields of an existing interim payment. Fields not included in the request remain unchanged.
How partial updates work:
- Only fields included in the request body are updated
- Omitted fields retain their current values
- Description can be updated with new HTML or Markdown content
- Sort order is not changed (use the sort endpoint to reorder payments)
Updatable fields:
- title: Update the payment label
- description: Update payment notes (HTML or Markdown format)
- amount: Change the payment amount (must be positive, minimum 0.01)
Important restrictions:
- Cannot update the isBilled status (this is managed automatically by the invoicing system)
- Cannot change the project ID (payment is tied to the project)
- Cannot update creation date or user ID
Validation:
- If amount is provided, it must be a positive number (minimum 0.01)
- If title is provided, it cannot be empty
- Payment must exist and belong to the specified project
Permissions: Requires Projects.edit permission
PATCH
/projects/{projectId}/interim-payments/{id}Authorization
AuthorizationOAuth2 access token · headerrequiredScopes:
api:writeor
AuthorizationBearer token (JWT) · headerrequiredPath parameters
projectIdstringrequiredidstringrequiredRequest body
requiredapplication/jsonamountnumberPayment amount in the workspace currency. If provided, must be a positive number with a minimum value of 0.01. If omitted, the current amount remains unchanged.
descriptionstringOptional detailed description or notes about the payment. Can be provided as HTML or Markdown format. If omitted, the current description remains unchanged. To clear the description, provide an empty string.
titlestringShort label or title for the payment. If provided, must not be empty. If omitted, the current title remains unchanged.
Responses
200Interim payment updated successfully
successbooleanrequiredOperation success flag
400Invalid input data
401Unauthorized - Invalid or missing authentication token
403Forbidden - Insufficient API scopes or permissions
404Interim payment not found
Request
curl -X PATCH "https://leadtime.app/api/public/projects/string/interim-payments/string" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"amount": 20000,
"description": "<p>Updated payment description</p>",
"title": "Updated Payment Title"
}'const response = await fetch("https://leadtime.app/api/public/projects/string/interim-payments/string", {
method: "PATCH",
headers: {
"Authorization": "Bearer YOUR_ACCESS_TOKEN",
"Content-Type": "application/json"
},
body: JSON.stringify({
"amount": 20000,
"description": "<p>Updated payment description</p>",
"title": "Updated Payment Title"
})
});import requests
response = requests.patch(
"https://leadtime.app/api/public/projects/string/interim-payments/string",
headers={
"Authorization": "Bearer YOUR_ACCESS_TOKEN",
"Content-Type": "application/json"
},
json={
"amount": 20000,
"description": "<p>Updated payment description</p>",
"title": "Updated Payment Title"
},
)Response
{
"success": true
}Invalid input data
Unauthorized - Invalid or missing authentication token
Forbidden - Insufficient API scopes or permissions
Interim payment not found