Kantata Kantata OX Knowledge Base
Release Notes
Status Page

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.

Fetching a list of Billing Milestones

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.

Request
query Parameters
date_between
string

Filter by a range of invoice dates. Format as YYYY-MM-DD:YYYY-MM-DD. The filter is inclusive.

external_reference_external_message
string

Filter the objects based on the external message of their associated external references. This is an exact match.

external_reference_external_status
string

Filter by the status of the external object in the external system.

external_reference_service_model
string

Filter by the type of the external object this external reference belongs to.

external_reference_service_model_ref
integer <int32>

Filter by the id of the external object this external reference belongs to.

external_reference_service_model_refs
string

Filter for objects that correlate to the specified external object IDs. Provide a comma-separated list of up to 200 external IDs.

external_reference_service_name
string

Filter by the name of the provider for integration.

external_reference_status
string

Filter by the status of the integration, this can be successful or fail.

has_external_references
boolean

Filter by whether or not the object has external references.

include
string

Any of the below associations can be included in your request by providing the include param, e.g. include=association1,association2.

  • external_references (ExternalReference) - Includes references to external integrations for this object.
  • invoices (Invoice) - Retrieves the invoices that the billing milestones are on. The response will include invoice_ids, which references the data in the invoices top-level key.
  • workspace (Workspace) - Retrieves the project that the billing milestone is in. The response will include workspace_id, which references the data in the workspaces top-level key.
only
string

Allows you to request one or more resources directly by ID. Multiple IDs can be supplied in a comma separated list, like GET /api/v1/workspaces.json?only=5,6,7.

order
string
Default: "created_at:desc"

Supply order with the name of a valid sort field for the endpoint and a direction.

Valid values: created_at:asc and created_at:desc.

page
integer <int32>
Default: 1
per_page
integer <int32> <= 200
Default: 20
story_ids
string

Filter for billing milestones associated to specific tasks. Provide a comma-separated list of task IDs. For example, 10,20.

without_external_reference_service_name
string

Exclude by the existence of an external reference with the specified service name.

workspace_ids
string

Filter by the workspace. Provide a comma-separated list of workspace IDs. For example, 10,20.

Responses
200

A list of Billing Milestones have been retrieved.

Response Schema: application/json
count
integer <int32>
object
Array of objects
object
object
object
object
400

Bad Request

401

Unauthorized request

403

Forbidden request

404

Page Not Found

422

Unprocessable Entity

503

Service is unavailable

get/billing_milestones
Request samples
Response samples
application/json
{
  • "count": 0,
  • "meta": {
    },
  • "results": [
    ],
  • "billing_milestones": {
    },
  • "external_references": {
    },
  • "workspaces": {
    },
  • "invoices": {
    }
}

Creating one or many Billing Milestones

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.

Request
query Parameters
include
string

Any of the below associations can be included in your request by providing the include param, e.g. include=association1,association2.

  • external_references (ExternalReference) - Includes references to external integrations for this object.
  • invoices (Invoice) - Retrieves the invoices that the billing milestones are on. The response will include invoice_ids, which references the data in the invoices top-level key.
  • workspace (Workspace) - Retrieves the project that the billing milestone is in. The response will include workspace_id, which references the data in the workspaces top-level key.
Request Body schema: application/json
required
object
Array of objects

Add multiple billing milestones and their attributes in an array.

Responses
200

Billing Milestones has been created.

Response Schema: application/json
count
integer <int32>
object
Array of objects
object
object
object
object
400

Bad Request

401

Unauthorized request

403

Forbidden request

404

Page Not Found

422

Unprocessable Entity

503

Service is unavailable

post/billing_milestones
Request samples
application/json
{
  • "billing_milestone": {
    },
  • "billing_milestones": [
    ]
}
Response samples
application/json
{
  • "count": 0,
  • "meta": {
    },
  • "results": [
    ],
  • "billing_milestones": {
    },
  • "external_references": {
    },
  • "workspaces": {
    },
  • "invoices": {
    }
}

Fetching a single Billing Milestone

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.

Request
path Parameters
id
required
integer

The ID of the Model.

query Parameters
include
string

Any of the below associations can be included in your request by providing the include param, e.g. include=association1,association2.

  • external_references (ExternalReference) - Includes references to external integrations for this object.
  • invoices (Invoice) - Retrieves the invoices that the billing milestones are on. The response will include invoice_ids, which references the data in the invoices top-level key.
  • workspace (Workspace) - Retrieves the project that the billing milestone is in. The response will include workspace_id, which references the data in the workspaces top-level key.
Responses
200

The Billing Milestones has been retrieved.

Response Schema: application/json
count
integer <int32>
object
Array of objects
object
object
object
object
400

Bad Request

401

Unauthorized request

403

Forbidden request

404

Page Not Found

422

Unprocessable Entity

503

Service is unavailable

get/billing_milestones/{id}
Request samples
Response samples
application/json
{
  • "count": 0,
  • "meta": {
    },
  • "results": [
    ],
  • "billing_milestones": {
    },
  • "external_references": {
    },
  • "workspaces": {
    },
  • "invoices": {
    }
}

Updating an existing Billing Milestone

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.

Request
path Parameters
id
required
integer

The ID of the Model.

query Parameters
include
string

Any of the below associations can be included in your request by providing the include param, e.g. include=association1,association2.

  • external_references (ExternalReference) - Includes references to external integrations for this object.
  • invoices (Invoice) - Retrieves the invoices that the billing milestones are on. The response will include invoice_ids, which references the data in the invoices top-level key.
  • workspace (Workspace) - Retrieves the project that the billing milestone is in. The response will include workspace_id, which references the data in the workspaces top-level key.
Request Body schema: application/json
required
object
title
string

The title of the billing milestone.

amount_in_cents
integer <int32>

The billing milestone amount, in the subunits of the currency (e.g. cents for USD).

date_to_invoice
string <date>

The date that the billing milestone becomes invoiceable. The date must be in ISO 8601 format.

object

Typically populated programmatically by a third party system via an integration, this is an optional object that holds data from an external system. It connects objects in an external system with objects in Kantata OX (for example, to connect a Jira issue to a Kantata OX Project).

Responses
200

Billing Milestones has been updated.

Response Schema: application/json
count
integer <int32>
object
Array of objects
object
object
object
object
400

Bad Request

401

Unauthorized request

403

Forbidden request

404

Page Not Found

422

Unprocessable Entity

503

Service is unavailable

put/billing_milestones/{id}
Request samples
application/json
{
  • "billing_milestone": {
    }
}
Response samples
application/json
{
  • "count": 0,
  • "meta": {
    },
  • "results": [
    ],
  • "billing_milestones": {
    },
  • "external_references": {
    },
  • "workspaces": {
    },
  • "invoices": {
    }
}

Deleting an existing Billing Milestones

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.

Request
path Parameters
id
required
integer

The ID of the Model.

Responses
204

Billing Milestones has been deleted.

400

Bad Request

401

Unauthorized request

403

Forbidden request

404

Page Not Found

422

Unprocessable Entity

503

Service is unavailable

delete/billing_milestones/{id}
Request samples
Response samples
application/json
{
  • "errors": [
    ]
}