Optimize project billing with our easy-to-use project billing template.
Returns a collection with a key, ID, and link for each billing template.
OK
Bad Request
{- "ia::result": [
- {
- "key": "12",
- "id": "12",
- "href": "/objects/projects/project-billing-template/12"
}, - {
- "key": "13",
- "id": "13",
- "href": "/objects/projects/project-billing-template/13"
}, - {
- "key": "14",
- "id": "14",
- "href": "/objects/projects/project-billing-template/14"
}
], - "ia::meta": {
- "totalCount": 3,
- "start": 1,
- "pageSize": 100,
- "next": 101,
- "previous": null
}
}
Creates a new project billing template.
Create a project billing template
name required | string Unique name of the billing template. Example: "Project Estimated Hours" | ||||
description required | string Project billing template description. Example: "Template for billing by estimated project hours" | ||||
billingMethod | string Default: "percentCompleted" Billing method. Example: "percentCompleted" | ||||
calculateOn | string Default: "project" Calculate on. Example: "project" | ||||
basedOn | string Default: "estimatedHours" Based on. Example: "plannedHours" | ||||
status | string Default: "active" Object status. Active objects are fully functional. Inactive objects are essentially hidden and cannot be used or referenced. Example: "active" | ||||
Array of objects Line items of the billing template. | |||||
Array
|
Created
Bad Request
{- "name": "Project Estimated Hours",
- "description": "Template for billing by estimated project hours",
- "billingMethod": "percentCompleted",
- "calculateOn": "project",
- "basedOn": "plannedHours",
- "status": "active",
- "milestones": [
- {
- "percentCompleted": "0.1",
- "description": "Project Estimated Hours"
}
]
}
{- "ia::result": {
- "key": "15",
- "id": "15",
- "href": "/objects/projects/project-billing-template/15"
}, - "ia::meta": {
- "totalCount": 1,
- "totalSuccess": 1,
- "totalError": 0
}
}
Returns detailed information for a particular billing template.
key required | string system-assigned unique key for the billing template. |
OK
Bad Request
{- "ia::result": {
- "key": "15",
- "id": "15",
- "href": "/objects/projects/project-billing-template/15",
- "name": "Project Estimated Hours",
- "description": "Template for billing by estimated project hours",
- "billingMethod": "percentCompleted",
- "calculateOn": "project",
- "basedOn": "plannedHours",
- "status": "active",
- "milestones": [
- {
- "key": "23",
- "id": "23",
- "percentCompleted": "0.5",
- "percentToInvoice": "0.5",
- "description": "Bill at 50% completion",
- "href": "/objects/projects/project-billing-template-milestone/23",
- "projectBillingTemplate": {
- "key": "15",
- "id": "15",
- "href": "/objects/projects/project-billing-template/15"
}
}, - {
- "key": "24",
- "id": "24",
- "percentCompleted": "1",
- "percentInvoiced": "0.5",
- "description": "Bill at 100% completion",
- "href": "/objects/projects/project-billing-template-milestone/23",
- "projectBillingTemplate": {
- "key": "15",
- "id": "15",
- "href": "/objects/projects/project-billing-template/15"
}
}
]
}, - "ia::meta": {
- "totalCount": 1,
- "totalSuccess": 1,
- "totalError": 0
}
}
Updates an existing billing template by setting field values. Any fields not provided remain unchanged.
key required | string system-assigned unique key for the billing template. |
description | string Project billing template description. Example: "Template for billing by estimated project hours" | ||||
billingMethod | string Default: "percentCompleted" Billing method. Example: "percentCompleted" | ||||
calculateOn | string Default: "project" Calculate on. Example: "project" | ||||
basedOn | string Default: "estimatedHours" Based on. Example: "plannedHours" | ||||
status | string Default: "active" Object status. Active objects are fully functional. Inactive objects are essentially hidden and cannot be used or referenced. Example: "active" | ||||
Array of objects Line items of the billing template. | |||||
Array
|
OK
Bad Request
{- "description": "Bill by actual project hours"
}
{- "ia::result": {
- "key": "12",
- "id": "12",
- "href": "/objects/projects/project-billing-template/12"
}, - "ia::meta": {
- "totalCount": 1,
- "totalSuccess": 1,
- "totalError": 0
}
}
Deletes a billing template.
key required | string system-assigned unique key for the billing template. |
No Content
Bad Request
{- "ia::result": {
- "ia::error": {
- "code": "invalidRequest",
- "message": "Payload contains errors",
- "supportId": "sQrM9%7EYdh5oDEWVb80mrn9xuHjoAAAABBQ",
- "errorId": "REST-1064",
- "additionalInfo": {
- "messageId": "IA.PAYLOAD_CONTAINS_ERRORS",
- "placeholders": { },
- "propertySet": { }
}, - "details": [
- {
- "code": "invalidRequest",
- "message": "/testDate is not a valid field",
- "errorId": "REST-1043",
- "target": "/testDate",
- "additionalInfo": {
- "messageId": "IA.NOT_A_VALID_FIELD",
- "placeholders": {
- "FIELD": "/testDate"
}, - "propertySet": { }
}
}
]
}, - "ia::meta": {
- "totalCount": 3,
- "totalSuccess": 2,
- "totalError": 1
}
}, - "ia::error": {
- "code": "invalidRequest",
- "message": "Malformed URL",
- "supportId": "sQrM9%7EYdh5oDEWVb80mrn9xuHjoAAAABBQ",
- "details": [
- {
- "code": "invalidRequest",
- "message": "The content type is not valid",
- "correction": "TODO"
}
]
}
}
Queries an object for filtered data.
object | string Object type to query, in the form Example: "projects/project-billing-template" | ||||||||
fields | Array of strings List of fields to include in the response. Can be any combination of these:
Example: ["key","id","max:vendor.creditLimit"] | ||||||||
Array of equal (object) or not equal (object) or less than (object) or (less than or equal (object)) or greater than (object) or (greater than or equal (object)) or in (object) or not in (object) or between (object) or not between (object) or contains (object) or does not contain (object) or starts with (object) or does not start with (object) or ends with (object) or does not end with (object) Filter conditions to select the objects to return based on their field values. You use operators and conditions to build your filter, such as Example: [{"$eq":{"status":"active"}},{"$gt":{"totalDue":"1000"}},{"$contains":{"name":"Acme"}}] | |||||||||
Array Any of: Field value must be equal to this specified value. For date fields, you can use these macro values that are relative to the current date or the
These are most useful for queries that you want to save and use repeatedly, such as for views or reports. Just change the For example,
| |||||||||
filterExpression | string Default: "and" Logical operators to apply when there are multiple filter conditions. The conditions in the Shortcuts:
Example: "(1 and 2) or 3" | ||||||||
| |||||||||
Array of objects Set the order of the results by specifying field names to sort by and whether they should be in ascending or descending order. Example: [{"totalDue":"asc"},{"lastPaymentMadeDate":"desc"}] | |||||||||
Array
| |||||||||
start | integer First record of the result set to include in the response. Example: 1 | ||||||||
size | integer Number of records to include in the response. Example: 100 |
OK
Bad Request
{- "object": "accounts-payable/vendor",
- "fields": [
- "id",
- "name",
- "status",
- "href"
], - "filters": [
- {
- "$eq": {
- "status": "active"
}
}, - {
- "$eq": {
- "billingType": "openItem"
}
}
], - "filterExpression": "1 and 2",
- "orderBy": [
- {
- "id": "asc"
}
]
}
{- "ia::result": [
- {
- "id": "Vend-00002",
- "name": "Test vendor",
- "status": "active",
- "href": "/objects/accounts-payable/vendor/85"
}, - {
- "id": "VEND-00010",
- "name": "Design Works",
- "status": "active",
- "href": "/objects/accounts-payable/vendor/111"
}
], - "ia::meta": {
- "totalCount": 2,
- "start": 1,
- "pageSize": 100,
- "next": null,
- "previous": null
}
}