# Billing Milestones

Billing milestones allow you to set up billable items in a project that are separate from the Task Tracker work and have invoicing rules.
A set of billing milestones in a project is known as the [Billing Schedule](https://knowledge.kantata.com/hc/en-us/articles/35123275585947).

## Fetching a list of Billing Milestones

 - [GET /billing_milestones](https://developer.kantata.com/kantata/specification/billing-milestones/get-billing-milestones.md): Gets a list of billing milestones.


This endpoint returns structured Billing Milestones objects.
As with all Kantata OX API endpoints, the returned data will be referenced in sorted order in the results array
and will be indexed by ID in the billing_milestones top-level JSON key.
Please see our Response Format section for more information.

## Creating one or many Billing Milestones

 - [POST /billing_milestones](https://developer.kantata.com/kantata/specification/billing-milestones/create-billing-milestone.md): Add a billing milestone to your Billing Schedule. Up to 100 billing milestones can be created in one request.

This endpoint returns structured Billing Milestones objects.
As with all Kantata OX API endpoints, the returned data will be referenced in sorted order in the results array
and will be indexed by ID in the billing_milestones top-level JSON key.
Please see our Response Format section for more information.

## Fetching a single Billing Milestone

 - [GET /billing_milestones/{id}](https://developer.kantata.com/kantata/specification/billing-milestones/get-billing-milestone.md): Gets a single billing milestone.


This endpoint returns structured Billing Milestones objects.
As with all Kantata OX API endpoints, the returned data will be referenced in sorted order in the results array
and will be indexed by ID in the billing_milestones top-level JSON key.
Please see our Response Format section for more information.

## Updating an existing Billing Milestone

 - [PUT /billing_milestones/{id}](https://developer.kantata.com/kantata/specification/billing-milestones/update-billing-milestone.md): Edit information for a billing milestone in your Billing Schedule. You can only edit billing milestones that have not been invoiced.

This endpoint returns structured Billing Milestones objects.
As with all Kantata OX API endpoints, the returned data will be referenced in sorted order in the results array
and will be indexed by ID in the billing_milestones top-level JSON key.
Please see our Response Format section for more information.

## Deleting an existing Billing Milestones

 - [DELETE /billing_milestones/{id}](https://developer.kantata.com/kantata/specification/billing-milestones/delete-billing-milestone.md): Delete a billing milestone in your Billing Schedule. You can only delete billing milestones that have not been invoiced.


The response will contain no content and an HTTP 204 status code if the request was
successful, or a standard Kantata OX error message explaining why the object could not be deleted.

