Xero · Schema

Task

AccountingBank FeedsFinanceFinancial ServicesInvoicingPayrollSmall Business

Properties

Name Type Description
taskId string Identifier of the task.
name string Name of the task.
rate number
chargeType string
estimateMinutes integer An estimated time to perform the task
projectId string Identifier of the project task belongs to.
totalMinutes integer Total minutes which have been logged against the task. Logged by assigning a time entry to a task
totalAmount number
minutesInvoiced integer Minutes on this task which have been invoiced.
minutesToBeInvoiced integer Minutes on this task which have not been invoiced.
fixedMinutes integer Minutes logged against this task if its charge type is `FIXED`.
nonChargeableMinutes integer Minutes logged against this task if its charge type is `NON_CHARGEABLE`.
amountToBeInvoiced number
amountInvoiced number
status string Status of the task. When a task of ChargeType is `FIXED` and the rate amount is invoiced the status will be set to `INVOICED` and can't be modified. A task with ChargeType of `TIME` or `NON_CHARGEABLE
View JSON Schema on GitHub

JSON Schema

xero-task-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/Task",
  "title": "Task",
  "externalDocs": {
    "url": "https://developer.xero.com/documentation/projects/projects"
  },
  "type": "object",
  "properties": {
    "taskId": {
      "type": "string",
      "format": "uuid",
      "example": "00000000-0000-0000-000-000000000000",
      "description": "Identifier of the task."
    },
    "name": {
      "type": "string",
      "description": "Name of the task."
    },
    "rate": {
      "$ref": "#/components/schemas/Amount",
      "type": "number"
    },
    "chargeType": {
      "$ref": "#/components/schemas/ChargeType",
      "type": "string"
    },
    "estimateMinutes": {
      "type": "integer",
      "description": "An estimated time to perform the task"
    },
    "projectId": {
      "type": "string",
      "format": "uuid",
      "example": "00000000-0000-0000-000-000000000000",
      "description": "Identifier of the project task belongs to."
    },
    "totalMinutes": {
      "type": "integer",
      "description": "Total minutes which have been logged against the task. Logged by assigning a time entry to a task"
    },
    "totalAmount": {
      "$ref": "#/components/schemas/Amount",
      "type": "number"
    },
    "minutesInvoiced": {
      "type": "integer",
      "description": "Minutes on this task which have been invoiced."
    },
    "minutesToBeInvoiced": {
      "type": "integer",
      "description": "Minutes on this task which have not been invoiced."
    },
    "fixedMinutes": {
      "type": "integer",
      "description": "Minutes logged against this task if its charge type is `FIXED`."
    },
    "nonChargeableMinutes": {
      "type": "integer",
      "description": "Minutes logged against this task if its charge type is `NON_CHARGEABLE`."
    },
    "amountToBeInvoiced": {
      "$ref": "#/components/schemas/Amount",
      "type": "number"
    },
    "amountInvoiced": {
      "$ref": "#/components/schemas/Amount",
      "type": "number"
    },
    "status": {
      "type": "string",
      "enum": [
        "ACTIVE",
        "INVOICED",
        "LOCKED"
      ],
      "description": "Status of the task. When a task of ChargeType is `FIXED` and the rate amount is invoiced the status will be set to `INVOICED` and can't be modified. A task with ChargeType of `TIME` or `NON_CHARGEABLE` cannot have a status of `INVOICED`. A `LOCKED` state indicates that the task is currently changing state (for example being invoiced) and can't be modified."
    }
  }
}