Kantata Kantata OX Knowledge Base
Release Notes
Status Page

Expense Budgets

Expense budgets allow you to plan for non-labor expenses.

Fetching a list of Expense Budgets

Gets a list of expense budgets.

This endpoint returns structured Expense Budgets 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 expense_budgets top-level JSON key. Please see our Response Format section for more information.

Request
query Parameters
created_after
string <date-time>

Filter for records created after a specified datetime. The datetime must be in ISO 8601 format.

created_before
string <date-time>

Filter for records created before a specified datetime. The datetime must be in ISO 8601 format.

include
string

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

  • expenses (Expense) - The expenses associated with the expense budget.
  • fixed_fee_items (FixedFeeItem) - The fixed fee items associated with the expense budget.
  • story (Story) - Retrieves the associated story (task). The response will include story_id, which references the data in the stories top-level key.
  • workspace (Workspace) - Retrieves the workspace (project) the expense budget is on. 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
updated_after
string <date-time>

Filter for records updated after a specified datetime. The datetime must be in ISO 8601 format.

updated_before
string <date-time>

Filter for records updated before a specified datetime. The datetime must be in ISO 8601 format.

workspace_id
integer <int32>

Filter by workspace ID.

Responses
200

A list of Expense Budgets have been retrieved.

Response Schema: application/json
count
integer <int32>
object
Array of objects
object
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/expense_budgets
Request samples
Response samples
application/json
{
  • "count": 0,
  • "meta": {
    },
  • "results": [
    ],
  • "expense_budgets": {
    },
  • "workspaces": {
    },
  • "stories": {
    },
  • "expenses": {
    },
  • "fixed_fee_items": {
    }
}

Creating a new Expense Budgets

Creates a new expense budget. The following combinations of fixed_fee, burns_budget, and billable are allowed:

  • fixed_fee and burns_budget and billable: Known as a fixed fee budget
  • burns_budget and billable: Known as an itemized budget
  • burns_budget only: Known as a cost-only budget
  • billable only: Known as a pass-through budget
  • fixed_fee and billable: Known as a pass-through fixed fee budget

This endpoint returns structured Expense Budgets 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 expense_budgets 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.

  • expenses (Expense) - The expenses associated with the expense budget.
  • fixed_fee_items (FixedFeeItem) - The fixed fee items associated with the expense budget.
  • story (Story) - Retrieves the associated story (task). The response will include story_id, which references the data in the stories top-level key.
  • workspace (Workspace) - Retrieves the workspace (project) the expense budget is on. The response will include workspace_id, which references the data in the workspaces top-level key.
Request Body schema: application/json
required
object
workspace_id
required
integer <int32>

The ID of the workspace to create the expense budget for.

title
required
string

The name of the expense budget.

description
string

The description of the expense budget.

fixed_fee
required
boolean

Whether the expense will be billed as a fixed cost.

burns_budget
required
boolean

Whether the expense budget affects the project margin.

billable
required
boolean

Whether the expense will be billed to the client.

expected_by
string <date>

When the expenses are expected to be logged by. The date must be in ISO 8601 format.

story_id
integer <int32>

The ID of the story (task) to associate this expense budget to.

cost_per_unit_in_subunits
integer <int32>

The cost, in the subunits of the currency (e.g. cents for USD).

Responses
200

Expense Budgets has been created.

Response Schema: application/json
count
integer <int32>
object
Array of objects
object
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/expense_budgets
Request samples
application/json
{
  • "expense_budget": {
    }
}
Response samples
application/json
{
  • "count": 0,
  • "meta": {
    },
  • "results": [
    ],
  • "expense_budgets": {
    },
  • "workspaces": {
    },
  • "stories": {
    },
  • "expenses": {
    },
  • "fixed_fee_items": {
    }
}

Fetching a single Expense Budgets

Gets a single expense budget.

This endpoint returns structured Expense Budgets 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 expense_budgets 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.

  • expenses (Expense) - The expenses associated with the expense budget.
  • fixed_fee_items (FixedFeeItem) - The fixed fee items associated with the expense budget.
  • story (Story) - Retrieves the associated story (task). The response will include story_id, which references the data in the stories top-level key.
  • workspace (Workspace) - Retrieves the workspace (project) the expense budget is on. The response will include workspace_id, which references the data in the workspaces top-level key.
Request Body schema: application/json
required
object
id
required
integer <int32>
Responses
200

The Expense Budgets has been retrieved.

Response Schema: application/json
count
integer <int32>
object
Array of objects
object
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/expense_budgets/{id}
Request samples
application/json
{
  • "expense_budget": {
    }
}
Response samples
application/json
{
  • "count": 0,
  • "meta": {
    },
  • "results": [
    ],
  • "expense_budgets": {
    },
  • "workspaces": {
    },
  • "stories": {
    },
  • "expenses": {
    },
  • "fixed_fee_items": {
    }
}

Updating an existing Expense Budgets

Updates an expense budget.

This endpoint returns structured Expense Budgets 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 expense_budgets 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.

  • expenses (Expense) - The expenses associated with the expense budget.
  • fixed_fee_items (FixedFeeItem) - The fixed fee items associated with the expense budget.
  • story (Story) - Retrieves the associated story (task). The response will include story_id, which references the data in the stories top-level key.
  • workspace (Workspace) - Retrieves the workspace (project) the expense budget is on. 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 name of the expense budget.

description
string

The description of the expense budget.

fixed_fee
boolean

Whether the expense will be billed as a fixed cost.

burns_budget
boolean

Whether the expense budget affects the project margin.

billable
boolean

Whether the expense will be billed to the client.

expected_by
string <date>

When the expenses are expected to be logged by. The date must be in ISO 8601 format.

story_id
integer <int32>

The ID of the story (task) to associate this expense budget to.

cost_per_unit_in_subunits
integer <int32>

The cost, in the subunits of the currency (e.g. cents for USD).

Responses
200

Expense Budgets has been updated.

Response Schema: application/json
count
integer <int32>
object
Array of objects
object
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/expense_budgets/{id}
Request samples
application/json
{
  • "expense_budget": {
    }
}
Response samples
application/json
{
  • "count": 0,
  • "meta": {
    },
  • "results": [
    ],
  • "expense_budgets": {
    },
  • "workspaces": {
    },
  • "stories": {
    },
  • "expenses": {
    },
  • "fixed_fee_items": {
    }
}

Deleting an existing Expense Budgets

Deletes an expense budget. An expense budget cannot be deleted if there are expenses logged to it.

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

Expense Budgets has been deleted.

400

Bad Request

401

Unauthorized request

403

Forbidden request

404

Page Not Found

422

Unprocessable Entity

503

Service is unavailable

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