Skip to main content
POST
/
project-invoice-milestones
Create a project invoice milestone
curl --request POST \
  --url https://www.ruddr.io/api/workspace/project-invoice-milestones \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "projectId": "<string>",
  "invoiceItemId": "<string>",
  "date": "2023-12-25",
  "name": "<string>",
  "quantity": 123,
  "rate": 123,
  "fee": 123,
  "typeId": "custom"
}
'
{
  "id": "7f3e1a2d-94b8-4c6e-b3f1-d52a8e0c7b94",
  "typeId": "custom",
  "date": "2026-04-01",
  "quantity": 1,
  "rate": 15000,
  "fee": 15000,
  "name": "Phase 1 Delivery",
  "createdAt": "2026-03-03T09:15:00.000Z",
  "invoiceItem": {
    "id": "aba04832-216c-463e-8998-c520948f707c",
    "name": "Consulting Services"
  },
  "project": {
    "id": "d077258e-2158-4f34-aabd-97e971d0c18d",
    "name": "Cloud Infrastructure Services",
    "client": {
      "id": "aa39afdb-e168-4956-b061-41c7c62e8c2e",
      "name": "Paul's Boutique"
    }
  },
  "invoiced": false
}
Scheduled invoicing for a fixed fee project. This is only available for projects that have a billing type of “fixed” or “fixed_recurring”.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
projectId
string
required

The project ID (uuid) for this milestone. Must be a fixed or fixed_recurring billing type project.

invoiceItemId
string
required

The invoice item ID (uuid) for this milestone.

date
string<date>
required

The date of the milestone. Will be in the form YYYY-MM-DD.

name
string
required

The name of the milestone (max 255 chars).

quantity
number

The quantity for calculating the fee. Required when rate is provided.

rate
number

The rate for calculating the fee. Required when quantity is provided.

fee
number

The total amount for the milestone. Required when quantity and rate are not provided.

typeId
enum<string>

The type of invoice milestone. Identifies whether the milestone is one-off ("custom", the default) or recurring ("recurring").

Available options:
custom,
recurring

Response

200

id
string

The unique identifier for the object.

typeId
enum<string>

The type of invoice milestone. Identifies whether the milestone is one-off ("custom", the default) or recurring ("recurring").

Available options:
custom,
recurring
date
string<date>

The date of the milestone. Will be in the form YYYY-MM-DD.

quantity
number | null

The quantity used to calculate the fee.

rate
number | null

The rate used to calculate the fee.

fee
number

The total amount for the milestone.

name
string

The name of the milestone.

createdAt
string<date-time>

The timestamp when the object was created.

invoiceItem
object

The invoice item associated with this milestone.

project
object

The project this milestone belongs to.

invoiced
boolean

Whether the milestone has been invoiced.