Skip to content
Leadtime
English
Esc
↑↓navigate↵open⌘Jpreview

Update manual position in potential invoice

What does this do? Updates an existing custom manual position in a potential invoice. You can modify the title and/or price of the position.

When to use:

  • To correct the title or price of a manual position
  • To adjust pricing before finalizing the invoice
  • To update position details after initial creation

How it works:

  • Updates the manual position stored in the potential invoice metadata
  • Only custom manual positions (type: manual) can be updated
  • Project manual positions (from project snapshots) are read-only and cannot be modified
  • Both title and price must be provided (even if only one is changing)

Position requirements:

  • Position must exist in the potential invoice
  • Position must be a custom manual position (not a project position)
  • Title and price are required

Invoice ID Format: The invoice ID follows the format: {type}::{projectId}::{dateFrom}::{dateTo}

  • Example: SingleProject::0e9d033a-ab41-4212-8637-66c4e3b01fe2::2025-10-01::2025-10-31

Permission requirements: Requires Invoices.manage permission and access to the project.

PATCH/billing/potential-invoices/{id}/manual-positions/{positionId}
Authorization
AuthorizationOAuth2 access token · headerrequired
Scopes:api:write
or
AuthorizationBearer token (JWT) · headerrequired
Path parameters
idstringrequired

Potential invoice ID in format: {type}::{projectId}::{dateFrom}::{dateTo}

positionIdstring<uuid>required

Manual position ID (UUID) to update

Request body
requiredapplication/json
pricenumberrequired

Net price (before tax) for this manual position in the workspace currency

titlestringrequired

Title or description of the manual position

Responses
200

Manual position updated successfully

successbooleanrequired

Operation success flag

401

Unauthorized - Invalid or missing authentication token

403

User lacks Invoices.manage permission or project access

404

Potential invoice or manual position not found

Try it
Server
Authorization
Parameters
Bodyapplication/json
Request
curl -X PATCH "https://leadtime.app/api/public/billing/potential-invoices/SingleProject%3A%3A0e9d033a-ab41-4212-8637-66c4e3b01fe2%3A%3A2025-10-01%3A%3A2025-10-31/manual-positions/550e8400-e29b-41d4-a716-446655440000" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "price": 150,
  "title": "Workshop travel expenses"
}'
Response
{
  "success": true
}