@datafire/avaza v5.0.0
@datafire/avaza
Client library for Avaza API Documentation
Installation and Usage
npm install --save @datafire/avaza
let avaza = require('@datafire/avaza').create({
access_token: "",
refresh_token: "",
client_id: "",
client_secret: "",
redirect_uri: ""
});
.then(data => {
console.log(data);
});
Description
Welcome to the autogenerated documentation & test tool for Avaza's API. API Security & AuthenticationAuthentication options include OAuth2 Implicit and Authorization Code flows, and Personal Access Token. All connections should be encrypted over SSL/TLS You can set up and manage your api authentication credentials from within your Avaza account. (requires Administrator permissions on your Avaza account). OAuth2 Authorization endpoint: https://any.avaza.com/oauth2/authorize OAuth2 Token endpoint: https://any.avaza.com/oauth2/tokenBase URL for subsequent API Requests: https://api.avaza.com/ Blogpost about authenticating with Avaza's API: https://www.avaza.com/avaza-api-oauth2-authentication/ Blogpost on using Avaza's webhooks: https://www.avaza.com/avaza-api-webhook-notifications/The OAuth flow currently issues Access Tokens that last 1 day, and Refresh tokens that last 180 daysThe Api respects the security Roles assigned to the authenticating Avaza user and filters the data return appropriately. SupportFor API Support, and to request access please contact Avaza Support Team via our support chat. User Contributed Libraries:Graciously contributed by 3rd party users like you. Note these are not tested or endorsesd by Avaza. We encourage you to review before use, and use at own risk. - PHP OAuth Client Package for Azava API (by Debiprasad Sahoo)
Actions
Account_Get
Account Details
avaza.Account_Get(null, context)
Input
This action has no parameters
Output
- output AccountDetails
Company_Get
Gets list of Companies
avaza.Company_Get({}, context)
Input
- input
object
- UpdatedAfter
string
- pageSize
integer
: Number of results per page - pageNumber
integer
: 1 based page number to retrieve - Sort
string
- UpdatedAfter
Output
- output CompanyList
Company_Post
Create a Company
avaza.Company_Post({
"model": {
"CompanyName": ""
}
}, context)
Input
- input
object
- model required NewCompany
Output
- output Company
Company_Put
Requires CompanyID and a list of field names to update. The FieldsToUpdate field accepts a string array containing field names that should be updated.
avaza.Company_Put({
"model": {}
}, context)
Input
- input
object
- model required UpdateCompany
Output
- output Company
Company_GetByID
Gets Company by Company ID
avaza.Company_GetByID({
"id": 0
}, context)
Input
- input
object
- id required
integer
: Company ID Number
- id required
Output
- output Company
Contact_Get
Gets list of Contacts
avaza.Contact_Get({}, context)
Input
- input
object
- UpdatedAfter
string
- pageSize
integer
: Number of items per page (max 1000) - pageNumber
integer
: Page to display. Starts from 1. - Sort
string
- CompanyIDFK
integer
- UpdatedAfter
Output
- output ContactList
Contact_Post
Create a Contact
avaza.Contact_Post({
"model": {
"ContactEmail": "",
"Firstname": "",
"Lastname": ""
}
}, context)
Input
- input
object
- model required NewCompanyContact
Output
- output CompanyContact
Contact_GetByID
Gets Contact by Contact ID
avaza.Contact_GetByID({
"id": 0
}, context)
Input
- input
object
- id required
integer
: Contact ID number
- id required
Output
- output CompanyContact
CreditNote_Get
Gets list of CreditNotes
avaza.CreditNote_Get({}, context)
Input
- input
object
- UpdatedAfter
string
- pageSize
integer
: Number of items per page (max 1000) - pageNumber
integer
: Page to display. Starts from 1.
- UpdatedAfter
Output
- output CreditNoteList
CreditNote_GetByID
Gets Credit Note by CreditNoteID
avaza.CreditNote_GetByID({
"id": 0
}, context)
Input
- input
object
- id required
integer
: Credit Note ID Number
- id required
Output
- output CreditNote
Currency_Get
Gets list of Currencies
avaza.Currency_Get(null, context)
Input
This action has no parameters
Output
- output CurrencyList
Estimate_Get
EstimateStatusCode values are: "Draft", "Sent", "Accepted", "Converted", "Expired", "Rejected"
avaza.Estimate_Get({}, context)
Input
- input
object
- UpdatedAfter
string
- pageSize
integer
: Number of items per page (max 1000) - pageNumber
integer
: Page to display. Starts from 1. - Sort
string
- CompanyIDFK
integer
- UpdatedAfter
Output
- output EstimateList
Estimate_Post
Create a new draft Estimate
avaza.Estimate_Post({
"model": {}
}, context)
Input
- input
object
- model required NewEstimate
Output
- output EstimateDetails
Estimate_GetByID
Gets Estimate by Estimate ID
avaza.Estimate_GetByID({
"id": 0
}, context)
Input
- input
object
- id required
integer
: Estimate Estimate ID number
- id required
Output
Output schema unknown
Expense_Get
Gets list of Expenses
avaza.Expense_Get({}, context)
Input
- input
object
- UpdatedAfter
string
- ExpenseDateFrom
string
- ExpenseDateTo
string
- UserEmail
string
- CategoryName
string
- CustomerID
integer
- ProjectID
integer
- isChargeable
boolean
- isInvoiced
boolean
- ExpenseReimbursementIDFK
integer
- ExpensePaymentMethodIDFK
integer
- pageSize
integer
: Number of items per page (max 1000) - pageNumber
integer
: Page to display. Starts from 1. - Sort
string
- UpdatedAfter
Output
- output ExpenseList
Expense_Post
Create an Expense
avaza.Expense_Post({
"model": {}
}, context)
Input
- input
object
- model required NewExpense
Output
- output ExpenseDetails
Expense_GetByID
Gets an Expense Entry by Expense ID
avaza.Expense_GetByID({
"id": 0
}, context)
Input
- input
object
- id required
integer
: Expense ID number
- id required
Output
- output ExpenseDetails
FixedAmount_Get
Gets list of Fixed Amounts
avaza.FixedAmount_Get({}, context)
Input
- input
object
- UpdatedAfter
string
- EntryDateFrom
string
- EntryDateTo
string
- ProjectID
integer
: (Optional) The ProjectID of a Project to filter Fixed Amounts for - TaskID
integer
: (Optional) The TaskID of a Task to filter Fixed Amounts for - isInvoiced
boolean
- pageSize
integer
: Number of items per page (max 1000) - pageNumber
integer
: Page to display. Starts from 1. - Sort
string
: Optional sorting instruction. Currently possible values: "DateUpdated", "DateCreated", "DateUpdated desc", "DateCreated desc","EntryDate", "EntryDate desc", "StartTimeLocal","StartTimeLocal desc", "TimeSheetEntryID", "TimeSheetEntryID desc"
- UpdatedAfter
Output
- output FixedAmountList
Inventory_Get
Gets list of Inventory
avaza.Inventory_Get({}, context)
Input
- input
object
- UpdatedAfter
string
- pageSize
integer
: Number of items per page (max 1000) - pageNumber
integer
: Page to display. Starts from 1.
- UpdatedAfter
Output
- output InventoryList
Inventory_GetByID
Gets InventoryItem by InventoryItem ID
avaza.Inventory_GetByID({
"id": 0
}, context)
Input
- input
object
- id required
integer
: InventoryItem ID number
- id required
Output
Output schema unknown
Invoice_Get
TransactionStatusCode values are: "Draft", "Sent", "Late", "Paid", "Partial", "Void"
avaza.Invoice_Get({}, context)
Input
- input
object
- UpdatedAfter
string
- pageSize
integer
: Number of items per page (max 1000) - pageNumber
integer
: Page to display. Starts from 1. - Sort
string
- CompanyIDFK
integer
- UpdatedAfter
Output
- output InvoiceList
Invoice_Post
Create a new draft invoice
avaza.Invoice_Post({
"model": {}
}, context)
Input
- input
object
- model required NewInvoice
Output
- output Invoice
Invoice_GetByID
Gets Invoice by Invoice ID
avaza.Invoice_GetByID({
"id": 0
}, context)
Input
- input
object
- id required
integer
: Invoice Transaction ID number
- id required
Output
Output schema unknown
Payment_Get
Gets list of Payments
avaza.Payment_Get({}, context)
Input
- input
object
- UpdatedAfter
string
- pageSize
integer
: Number of items per page (max 1000) - pageNumber
integer
: Page to display. Starts from 1.
- UpdatedAfter
Output
- output PaymentList
Payment_Post
Create new Payment and optionally assign payment allocations to Invoices
avaza.Payment_Post({
"model": {}
}, context)
Input
- input
object
- model required NewPayment
Output
- output Payment
Payment_GetByID
Gets Payment by Payment Transaction ID
avaza.Payment_GetByID({
"id": 0
}, context)
Input
- input
object
- id required
integer
: Invoice Transaction ID Number
- id required
Output
- output Payment
Project_Get
Gets list of Projects
avaza.Project_Get({}, context)
Input
- input
object
- UpdatedAfter
string
: Only show project records updated after a certain date (UTC) - pageSize
integer
: Number of items per page (max 1000) - pageNumber
integer
: Page to display. Starts from 1. - Sort
string
: A column to sort on. Current possible values: "DateUpdated", "DateCreated", "DateUpdated desc", "DateCreated desc" - TimesheetUserID
integer
: Filter to the projects that the supplied UserID can add timesheets to - includeArchived
boolean
: Include Archived Projects in the results
- UpdatedAfter
Output
- output ProjectList
Project_Post
Create a Project
avaza.Project_Post({
"model": {
"ProjectTitle": ""
}
}, context)
Input
- input
object
- model required NewProjectModel
Output
- output ProjectDetails
ProjectLookup
Gets minimal list of active Projects for the current user
avaza.ProjectLookup({}, context)
Input
- input
object
- pageSize
integer
: Number of items per page (max 1000) - pageNumber
integer
: Page to display. Starts from 1. - TimesheetUserID
integer
: Filter to the projects that the supplied UserID can add timesheets to - search
string
: Search string to match against Project title and Customer name
- pageSize
Output
- output ProjectDropdownList
Project_GetByID
Gets Project by Project ID
avaza.Project_GetByID({
"id": 0
}, context)
Input
- input
object
- id required
integer
: Project ID number
- id required
Output
- output ProjectDetails
ProjectMember_Post
the Amount columns for Cost, Budget, Rates should be specified as a decimal. Financial amounts assume the currency of the Customer company. Budget units depend on the Budget method set on the Project.
avaza.ProjectMember_Post({
"model": {}
}, context)
Input
- input
object
- model required NewProjectMember
Output
- output ProjectMemberDetails
ProjectTimesheetCategory_Get
The default sort order is by isBillable desc, Name asc
avaza.ProjectTimesheetCategory_Get({}, context)
Input
- input
object
- ProjectID
integer
: Get categories filtered by ProjectID
- ProjectID
Output
- output ProjectTimesheetCategoryList
ScheduleAssignment_Get
Schedule assignments are per-day, and link to a parent Schedule Series.
avaza.ScheduleAssignment_Get({}, context)
Input
- input
object
- UpdatedAfter
string
: Limit results to records updated after the specified date - ScheduleDateFrom
string
: Filter for schedule assignement that are on or after a specific date - ScheduleDateTo
string
: Filter for schedules that are on or before a specific date - ScheduleSeriesID
integer
: Filter to records for a particular Schedule Series - UserID
integer
: The UserID of a schedule user to filter assignments for. Only api users with Admin role can see all schedules across all users. Users with ScheduleUser role can access their own ScheduleSeries. - UserEmail
string
: The email of the user who has been scheduled - pageSize
integer
: Number of items per page (max 1000) - pageNumber
integer
: Page to display. Starts from 1. - Sort
string
: Optional sorting instruction. Currently possible values: "DateUpdated", "DateCreated", "DateUpdated desc", "DateCreated desc"
- UpdatedAfter
Output
- output ScheduleAssignmentList
ScheduleSeries_Get
Schedule Series represents a strip of time assigned to a user over a date range, for a certain number of hours per day. They can be for Leave or for project work Bookings.
avaza.ScheduleSeries_Get({}, context)
Input
- input
object
- UpdatedAfter
string
: Limit results to records updated after the specified date - ScheduleStartDateFrom
string
: Filter for schedules that start on or after a specific date - ScheduleStartDateTo
string
: Filter for schedules that start on or before a specific date - ScheduleEndDateFrom
string
: Filter for schedules that end on or after a specific date - ScheduleEndDateTo
string
: Filter for schedules that end on or before a specific date - UserID
integer
: The UserID of a schedule user to filter assignments for. Only api users with Admin role can see all schedules across all users. Users with ScheduleUser role can access their own ScheduleSeries. - UserEmail
string
: The email of the user who has been scheduled - TimeSheetCategoryID
integer
: Filter for schedule records linked to a specific timesheeet category - TimeSheetCategoryName
string
: Filter for schedule records with a specific timesheeet category name (exact string match) - LeaveTypeID
integer
: Filter to records of a particular leave type - ProjectID
integer
: Filter to only include books linked to a specific project - CompanyID
integer
: Filter to only include records linked to projects, where that project belongs to a specific customer company - pageSize
integer
: Number of items per page (max 1000) - pageNumber
integer
: Page to display. Starts from 1. - Sort
string
: Optional sorting instruction. Currently possible values: "DateUpdated", "DateCreated", "DateUpdated desc", "DateCreated desc"
- UpdatedAfter
Output
- output ScheduleSeriesList
Section_Get
Gets list of Sections
avaza.Section_Get({
"ProjectID": 0
}, context)
Input
- input
object
- ProjectID required
integer
: Get sections for Project with ProjectID
- ProjectID required
Output
- output SectionList
Section_Post
Create a Section
avaza.Section_Post({
"model": {}
}, context)
Input
- input
object
- model required NewSection
Output
- output SectionDetails
Task_Delete
Delete a Task
avaza.Task_Delete({
"TaskID": 0
}, context)
Input
- input
object
- TaskID required
integer
- TaskID required
Output
- output
object
Task_Get
Gets list of Tasks
avaza.Task_Get({}, context)
Input
- input
object
- UpdatedAfter
string
: Optional filter to records updated after a specific date. - pageSize
integer
: Number of items per page. Defaults to 20. - pageNumber
integer
: Page to display. Starts from 1. Defaults to 1 - Sort
string
: Optional sorting instruction. Currently possible values: "DateUpdated", "DateCreated", "DateUpdated desc", "DateCreated desc", "SectionTitle", "Title" - isComplete
boolean
: Optional filter to only display tasks linked to a Task Status where isComplete=false, or where isComplete=true - ProjectID
integer
: Optional filter to only display tasks belonging to a specific ProjectID
- UpdatedAfter
Output
- output TaskList
Task_Post
Create a Task
avaza.Task_Post({
"model": {
"ProjectIDFK": 0,
"SectionIDFK": 0,
"Title": ""
}
}, context)
Input
- input
object
- model required NewTask
Output
- output TaskDetails
Task_Put
Requires TaskID and a list of field names to update. The FieldsToUpdate field accepts a string array containing field names that should be updated.
avaza.Task_Put({
"model": {
"TaskID": 0,
"FieldsToUpdate": []
}
}, context)
Input
- input
object
- model required UpdateTask
Output
- output TaskDetails
TaskLookup
Groups Tasks by Section. Default sort is by Section Title followed by Task Title
avaza.TaskLookup({}, context)
Input
- input
object
- pageSize
integer
: Number of items per page (max 1000) - pageNumber
integer
: Page to display. Starts from 1. - projectID
integer
: (optional) The ProjectID to use when filtering Tasks - hideCompleted
boolean
: (optional) true/false to hide completed tasks. Defaults false - search
string
: (optional) Search string to match against Task title. Performs begins-with match
- pageSize
Output
- output TaskDropdownList
Task_GetByID
Gets Task by Task ID
avaza.Task_GetByID({
"id": 0
}, context)
Input
- input
object
- id required
integer
: Task ID number
- id required
Output
- output TaskDetails
TaskStatus_Get
Gets list of Task Statuses
avaza.TaskStatus_Get(null, context)
Input
This action has no parameters
Output
- output TaskStatusList
TaskType_Get
Gets list of Task Types
avaza.TaskType_Get(null, context)
Input
This action has no parameters
Output
- output TaskTypeList
Tax_Get
Get List of Taxes configured in the Avaza account.
avaza.Tax_Get(null, context)
Input
This action has no parameters
Output
- output TaxList
Timesheet_Get
Gets list of Timsheets
avaza.Timesheet_Get({}, context)
Input
- input
object
- UpdatedAfter
string
- EntryDateFrom
string
- EntryDateTo
string
- UserID
integer
: The UserID of a timesheet user to filter timesheets for. Only api users with certain higher roles can see timesheets across multiple users. - UserEmail
string
- CategoryName
string
- ProjectID
integer
- isBillable
boolean
- isInvoiced
boolean
- isTimerRunning
boolean
- pageSize
integer
: Number of items per page (max 1000) - pageNumber
integer
: Page to display. Starts from 1. - Sort
string
: Optional sorting instruction. Currently possible values: "DateUpdated", "DateCreated", "DateUpdated desc", "DateCreated desc","EntryDate", "EntryDate desc", "StartTimeLocal","StartTimeLocal desc", "TimeSheetEntryID", "TimeSheetEntryID desc"
- UpdatedAfter
Output
- output TimesheetList
Timesheet_Post
Create a new Timesheet Entry
avaza.Timesheet_Post({
"model": {}
}, context)
Input
- input
object
- model required NewTimesheet
Output
- output TimesheetDetails
Timesheet_Put
The FieldsToUpdate field expects a string array collection of the field names you would like updated. Valid fields to update inlcude "ProjectIDFK", "TimeSheetCategoryIDFK", "TaskIDFK", "Duration", "EntryDate", "Notes", "hasStartEndTime". If you intend to provide start/end times on timesheets, this is achieved by including the start time in the EntryDate field (Iso date format), along with a Duration (decimal format).
avaza.Timesheet_Put({
"model": {
"TimeSheetEntryID": 0,
"FieldsToUpdate": [],
"ProjectIDFK": 0
}
}, context)
Input
- input
object
- model required UpdateTimesheetModel
Output
- output TimesheetDetails
Timesheet_Delete
Delete a Timesheet Entry
avaza.Timesheet_Delete({
"id": 0
}, context)
Input
- input
object
- id required
integer
: The id of the timesheet entry to be deleted
- id required
Output
- output
object
Timesheet_GetByID
Gets a Timesheet Entry by Timesheet ID
avaza.Timesheet_GetByID({
"id": 0
}, context)
Input
- input
object
- id required
integer
: Timesheet ID number
- id required
Output
- output TimesheetDetails
TimesheetSubmission_Post
Either provide a a specific Day (WholeDayOf) or any day in a Week (WholeWeekOf) to submit all draft timesheets in that day or week
avaza.TimesheetSubmission_Post({}, context)
Input
- input
object
- SendNotifications
boolean
: Send email alerts to timesheet approvers. Defaults to true - WholeWeekOf
string
: A date (yyyy-MM-dd) that falls within a Week to have all timesheets in that week submitted. Respects the First Day of Week setting in your account Timesheet Settings to determine the week range. - WholeDayOf
string
: A date (yyyy-MM-dd) to submit all timesheets on this day - UserID
integer
: The user to submit timesheets for. Defaults to current user. Only allowed to be different from the current user when the current user has rights to Impersonate other users.
- SendNotifications
Output
- output
object
TimesheetSummary_Get
Gets Basic Summary of Timesheet Statistics
avaza.TimesheetSummary_Get({}, context)
Input
- input
object
- model.groupBy
array
: (Optional) Combine one, two or three levels of Grouping. Combine these possible grouping values: "Customer", "Project", "Category", "User", "Task", "Year", "Month", "Day", "Week". - model.entryDateFrom
string
: (Required) Filter for timesheets greater or equal to the specified date. e.g. 2019-01-25. You can optionally include a time component, otherwise it assumes 00:00 - model.entryDateTo
string
: (Required) Filter for timesheets with an entry date smaller or equal to the specified date. e.g. 2019-01-25. You can optionally include a time component, otherwise it assumes 00:00 - model.userID
array
: (Optional) Defaults to the current user. Provide one or more UserIDs of Users whose timesheets should be retrieved. If the current user doesn't have impersonation rights, then they will only see their own data. - model.projectID
integer
: (Optional) Filter by Project - model.isBillable
boolean
: (Optional) Filter by the billable status of Timesheets. - model.isInvoiced
boolean
: (Optional) Filter for timesheets by whether they have been Invoiced or not.
- model.groupBy
Output
- output TimesheetSummaryResult
TimesheetTimer_GetRunningTimer
Gets the Running Timer if there is one for a user.
avaza.TimesheetTimer_GetRunningTimer({}, context)
Input
- input
object
- UserID
integer
: Optional - User ID number if impersonating a different user. Otherwise assumes the current user. Only users with certain security roles have permission to impersonate other users
- UserID
Output
- output
object
TimesheetTimer_StopTimer
Stop the timer running on an existing Timesheet Entry
avaza.TimesheetTimer_StopTimer({
"id": 0
}, context)
Input
- input
object
- id required
integer
: The ID of the existing timesheet entry that needs its timer stopped - UserID
integer
: Optional - User ID number if impersonating a different user. Otherwise assumes the current user. Only users with certain security roles have permission to impersonate other users
- id required
Output
- output
object
TimesheetTimer_StartTimer
Starts a Timer running on an existing Timesheet Entry
avaza.TimesheetTimer_StartTimer({
"id": 0
}, context)
Input
- input
object
- id required
integer
: id of timesheet entry that should be used as the basis for running a timer. If the existing timesheet is not on the current day, or you have start/end times enabled, then a new timesheet will be created for the timer. - UserID
integer
: Optional - User ID number if impersonating a different user. Otherwise assumes the current user. Only users with certain security roles have permission to impersonate other users
- id required
Output
- output
object
UserProfile_Get
Admin and Invoice Managers can see all. Other users are limited to seeing their own profile.
avaza.UserProfile_Get({}, context)
Input
- input
object
- Roles
string
: Optional list of comma separated role codes to filter users by (e.g. "TimesheetUser,Admin") - Tags
string
- CurrentUserOnly
boolean
: Optional boolean (true/false) to filter to only show current authenticated user (always true for non Admin/InvoiceManager users) - CompanyIDFK
integer
: Optionally filter by Company ID
- Roles
Output
- output UserList
Webhook_DeleteByUrl
Delete webhook subscription by URL
avaza.Webhook_DeleteByUrl({
"target_url": ""
}, context)
Input
- input
object
- target_url required
string
: Target URL that should be used to delete subscriptions
- target_url required
Output
- output
object
Webhook_Get
Get list of Webhook Subscriptions
avaza.Webhook_Get(null, context)
Input
This action has no parameters
Output
- output WebhookList
Webhook_Post
When you receive a webhook, you should respond with Http 200 OK Status Code, otherwise we will retry. To create a webhook, you need both the webhook_notifications scope, as well as the scope for the required entity being monitored. Event values are: "company_created", "company_deleted", "company_updated", "contact_created", "contact_deleted", "contact_updated", "invoice_created", "invoice_sent","invoice_updated","invoice_deleted", "project_created", "project_deleted", "project_updated", "task_created", "task_updated","task_deleted", "timesheet_created", "timesheet_deleted", "timesheet_updated". You can subscribe to any webhook, but you will only receive notifications for data appropriate to the roles of your user account. There is an optional Secret parameter (string 255 char max). This allows for webhook authentication. If provided, the Secret will be BASE 64 encoded and passed with notications as a basic authentication http header. i.e. Authorization Basic BASE64 of Secret"
avaza.Webhook_Post({
"model": {
"target_url": "",
"event": ""
}
}, context)
Input
- input
object
- model required CreateSubscription
Output
- output SubscribeResult
Webhook_Delete
Delete Webhook Subscription by ID
avaza.Webhook_Delete({
"id": 0
}, context)
Input
- input
object
- id required
integer
: Subscription id to be deleted
- id required
Output
- output
object
Definitions
AccountDetails
- AccountDetails
object
- AccountID
integer
- AllowHidingCompletedTasksOnTimesheet
boolean
- CompanyName
string
- CurrentServerTimeISO
string
: Format: ISO "YYYY-MM-DD HH:mm:ss.SSS" - LockApprovedTimesheets
boolean
- SC
string
- Subdomain
string
- TimesheetDayOfWeek
integer
- TimesheetDisplayFormatCode
string
- WeeklyTimesheetReminder
boolean
- has24HourTimesheetFormat
boolean
- hasStartEndTimesheets
boolean
- AccountID
AccountTaskTypeDetails
- AccountTaskTypeDetails
object
- AccountTaskTypeID
integer
- Icon
string
- IconType
string
- Name
string
- isDefault
boolean
- AccountTaskTypeID
Company
- Company
object
- BillingAddress
string
- BillingAddressCity
string
- BillingAddressLine
string
- BillingAddressPostCode
string
- BillingAddressState
string
- BillingCountryCode
string
- Comments
string
- CompanyID
integer
- CompanyName
string
- Contacts
array
- items CompanyContact
- CurrencyCode
string
- DateCreated
string
- DateUpdated
string
- DefaultTradingTermIDFK
integer
- Fax
string
- Phone
string
- TaxNumber
string
- website
string
- BillingAddress
CompanyContact
- CompanyContact
object
- CompanyIDFK
integer
- CompanyName
string
- ContactID
integer
- DateCreated
string
- DateUpdated
string
- Email
string
- Firstname
string
- Lastname
string
- Mobile
string
- Phone
string
- PositionTitle
string
- TimeZone
string
- CompanyIDFK
CompanyList
- CompanyList
object
- Companies
array
- items Company
- PageNumber
integer
- PageSize
integer
- TotalCount
integer
- Companies
ContactList
- ContactList
object
- Contacts
array
- items CompanyContact
- PageNumber
integer
- PageSize
integer
- TotalCount
integer
- Contacts
CreateSubscription
- CreateSubscription
object
: New Subscription to be Created- event required
string
: The event code to be notified about. Possible values: company_created, contact_created, invoice_created, invoice_sent, project_created, task_created - secret
string
: Optional Secret string (255 char max). If provided, the secret will be BASE 64 encoded and used as a basic authentication http header with webhook notifications. i.e. Authorization Basic BASE64 of Secret" - target_url required
string
: The URL that should be notified of the event.
- event required
CreditNote
- CreditNote
object
- Balance
number
- CreditNoteAllocations
array
- items CreditNoteAllocation
- CreditNoteLineItems
array
- items CreditNoteLineItem
- CreditNoteNumber
string
- CurrencyCode
string
- CustomerIDFK
integer
- DateCreated
string
- DateIssued
string
- DateUpdated
string
- Notes
string
- TotalAmount
number
- TransactionID
integer
- TransactionPrefix
string
- TransactionStatusCode
string
- Balance
CreditNoteAllocation
- CreditNoteAllocation
object
- AllocationAmount
number
- AllocationDate
string
- CreditNoteTransactionIDFK
integer
- InvoiceTransactionIDFK
integer
- TransactionAllocationID
integer
- AllocationAmount
CreditNoteLineItem
- CreditNoteLineItem
object
- Amount
number
- Description
string
- Discount
number
- Quantity
number
- TaxAmount
number
- TaxIDFK
integer
- TransactionLineItemID
integer
- UnitPrice
number
- Amount
CreditNoteList
- CreditNoteList
object
- CreditNotes
array
- items CreditNote
- PageNumber
integer
- PageSize
integer
- TotalCount
integer
- CreditNotes
Currency
- Currency
object
- CurrencyCode
string
- DecimalPlaces
integer
- Name
string
- Symbol
string
- Symbol2
string
- CurrencyCode
CurrencyList
- CurrencyList
object
- Currencies
array
- items Currency
- Currencies
EstimateDetails
- EstimateDetails
object
- AccountIDFK
integer
- Balance
number
- CompanyIDFK
integer
- CompanyName
string
- CurrencyCode
string
- DateCreated
string
- DateIssued
string
- DateSent
string
- DateUpdated
string
- DueDate
string
- EstimateID
integer
- EstimateItemNumber
string
- EstimatePrefix
string
- EstimateStatusCode
string
- EstimateTaxConfigCode
string
- ExchangeRate
number
- Issuer IssuerDetails
- LineItems
array
- items EstimateLineItemDetails
- Links EstimateLinks
- Notes
string
- Recipient RecipientDetails
- Subject
string
- TaxAmount
number
- TotalAmount
number
- AccountIDFK
EstimateLineItemDetails
- EstimateLineItemDetails
object
- Amount
number
- Description
string
- Discount
number
- EstimateLineItemID
integer
- InventoryItemIDFK
integer
- InventoryItemName
string
- InventoryItemSKU
string
- Quantity
number
- TaxAmount
number
- TaxCode
string
- TaxIDFK
integer
- TaxName
string
- UnitPrice
number
- Amount
EstimateLinks
- EstimateLinks
object
- ClientView
string
- Edit
string
- View
string
- ClientView
EstimateList
- EstimateList
object
- Estimates
array
- items EstimateDetails
- PageNumber
integer
- PageSize
integer
- TotalCount
integer
- Estimates
ExpenseDetails
- ExpenseDetails
object
- Amount
number
- AttachmentURL
string
- ChargeableStatusCode
string
- CurrencyCode
string
- CustomerIDFK
integer
- CustomerName
string
- DateCreated
string
- DateUpdated
string
- Email
string
- ExchangeRate
number
- ExpenseApprovalStatusCode
string
- ExpenseCategoryHasUnitPrice
boolean
- ExpenseCategoryIDFK
integer
- ExpenseCategoryName
string
- ExpenseCategoryUnitName
string
- ExpenseCategoryUnitPrice
number
- ExpenseDate
string
- ExpenseID
integer
- ExpensePaymentMethodIDFK
integer
- ExpensePaymentMethodName
string
- ExpenseReimbursementIDFK
integer
- ExpenseReimbursementStatusCode
string
- ExpenseReportIDFK
integer
- ExpenseReportName
string
- Firstname
string
- Lastname
string
- Merchant
string
- MerchantTaxNumber
string
- Notes
string
- ProjectIDFK
integer
- ProjectTitle
string
- Quantity
number
- TaxAmount
number
- TaxIDFK
integer
- TransactionTaxConfigCode
string
- UserIDFK
integer
- isChargeable
boolean
- isReimbursable
boolean
- Amount
ExpenseList
- ExpenseList
object
- Expenses
array
- items ExpenseDetails
- PageNumber
integer
- PageSize
integer
- TotalCount
integer
- Expenses
FixedAmountDetails
- FixedAmountDetails
object
- Amount
number
- DateCreated
string
- DateUpdated
string
- FixedAmountID
integer
- InventoryItemIDFK
integer
- InventoryItemName
string
- Notes
string
- ProjectIDFK
integer
- ProjectTitle
string
- TaskIDFK
integer
- TaskTitle
string
- UpdatedByUserIDFK
integer
- isInvoiced
boolean
- Amount
FixedAmountList
- FixedAmountList
object
- FixedAmounts
array
- items FixedAmountDetails
- PageNumber
integer
- PageSize
integer
- TotalCount
integer
- FixedAmounts
InventoryItem
- InventoryItem
object
- CostPrice
number
- DateCreated
string
- DateUpdated
string
- Description
string
- InventoryItemID
integer
- Name
string
- SKU
string
- SalePrice
number
- SaleTaxIDFK
integer
- isHidden
boolean
- CostPrice
InventoryList
- InventoryList
object
- Inventory
array
- items InventoryItem
- PageNumber
integer
- PageSize
integer
- TotalCount
integer
- Inventory
Invoice
- Invoice
object
- AccountIDFK
integer
- Balance
number
- CompanyIDFK
integer
- CompanyName
string
- CurrencyCode
string
- CustomerPONumber
string
- DateCreated
string
- DateIssued
string
- DateSent
string
- DateUpdated
string
- DueDate
string
- ExchangeRate
number
- InvoiceNumber
string
- Issuer IssuerDetails
- LineItems
array
- items InvoiceLineItem
- Links InvoiceLinks
- Notes
string
- Recipient RecipientDetails
- Subject
string
- TaxAmount
number
- TotalAmount
number
- TransactionID
integer
- TransactionPrefix
string
- TransactionStatusCode
string
- TransactionTaxConfigCode
string
- AccountIDFK
InvoiceLineItem
- InvoiceLineItem
object
- Amount
number
- Description
string
- Discount
number
- InventoryItemIDFK
integer
- InventoryItemName
string
- InventoryItemSKU
string
- ProjectIDFK
integer
- ProjectTitle
string
- Quantity
number
- TaxAmount
number
- TaxCode
string
- TaxIDFK
integer
- TaxName
string
- TransactionLineItemID
integer
- UnitPrice
number
- Amount
InvoiceLinks
- InvoiceLinks
object
- ClientView
string
- Edit
string
- View
string
- ClientView
InvoiceList
- InvoiceList
object
- Invoices
array
- items Invoice
- PageNumber
integer
- PageSize
integer
- TotalCount
integer
- Invoices
IssuerDetails
- IssuerDetails
object
- BillingAddress
string
- BillingAddressCity
string
- BillingAddressLine
string
- BillingAddressPostCode
string
- BillingAddressState
string
- BillingCountryCode
string
- TaxNumber
string
- BillingAddress
NewCompany
- NewCompany
object
- BillingAddress
string
- BillingAddressCity
string
- BillingAddressLine
string
- BillingAddressPostCode
string
- BillingAddressState
string
- BillingCountryCode
string
- Comments
string
- CompanyName required
string
- CurrencyCode
string
- Fax
string
- Phone
string
- TaxNumber
string
- website
string
- BillingAddress
NewCompanyContact
- NewCompanyContact
object
- CompanyBillingAddress
string
- CompanyBillingAddressCity
string
- CompanyBillingAddressCountryCode
string
- CompanyBillingAddressLine
string
- CompanyBillingAddressPostCode
string
- CompanyBillingAddressState
string
- CompanyIDFK
integer
- CompanyName
string
- ContactEmail required
string
- CurrencyCode
string
- Firstname required
string
- Lastname required
string
- Mobile
string
- Phone
string
- PositionTitle
string
- UpdateExisting
boolean
- CompanyBillingAddress
NewEstimate
- NewEstimate
object
: New Estimate to be created- CompanyIDFK
integer
: If left blank then you must specify Company Name. - CompanyName
string
: If left blank then you must specify Company ID. Specified Name will be used to match existing customer record. If not matched then it will be used to create a new customer. First Name, Last Name and Email will only be used if it is a new company. If the Company name appears multiple times we will check the email address to find a matching company. If email address doesn't identify a matching company then the Estimate creation will be rejected. - CurrencyCode
string
: Expects ISO Standard 3 character currency code. If left blank the currency will default to account's currency in general setting. For existing companies this field will be ignored and the Estimate will use the currency of the customer. For new customers if the currency is not specified then account currency will be used otherwise the specified currency will be used. - CustomerPONumber
string
: Plain UTF8 text. 100 characters max - DateIssued
string
: If not specified it will use today's date. The date should be specified as local date. - DueDate
string
: It will be auto calculated based on the payment term and issue date. Due Date must be greater than or equal to Issue Date. If the Due Date is specified then Payment Terms will be set to -1 (Custom) - Email
string
: Specified value will be used to create a new customer contact only if a new customer is being created. - EstimateNumber
string
: Pass any string. If left blank it will use the next number in the auto incrementing sequence. If an integer is passed then the largest integer will be use as the seed to auto generate the next Estimate number in the sequence. - EstimatePrefix
string
: A prefix for the Estimate number. e.g. 'INV'. If left blank it will be set to the account default. Max length 20 characters. - EstimateTaxConfigCode
string
: Possible values are (EX --- Tax Exclusive, INC --- Tax Inclusive). If left empty it will use the account default. - ExchangeRate
number
: Exchange rate is only valid for Estimates in currency other than default account currency. If not specified it will get the market rate based on the Date Issued. - Firstname
string
: Specified value will be used to create a new customer contact only if a new customer is being created. - InvoiceTemplateIDFK
integer
: If left blank the account default Estimate template will be used. - Lastname
string
: Specified value will be used to create a new customer contact only if a new customer is being created. - LineItems
array
- items NewEstimateLineItem
- Notes
string
: Plain UTF8 text. (no HTML). Max 2000 characters - Subject
string
: Plain UTF8 text. (no HTML). 255 characters max
- CompanyIDFK
NewEstimateLineItem
- NewEstimateLineItem
object
: Line item to be added to new Estimate- Description
string
: Plain UTF8 text. (no HTML) - Discount
number
: Enter 10.5 to give a 10.5% discount - InventoryItemIDFK
integer
: If not specified then Inventory Item Name must be specified. - InventoryItemName
string
: If not specified then Inventory item ID must be specified. If specified and not matched to any existing inventory items then a new inventory item will be created. Max 200 characters. - Quantity required
number
: The quantity for the line item - TaxIDFK
integer
: If specified then it must match an existing Tax ID. If not specified then Tax Name and Tax Percent must be specified. - TaxName
string
: Must be specified if the Tax ID is blank. If the Tax Name is specified it will be matched to an existing Tax Name or else a new Tax will be created. - TaxPercent
number
: The Tax Percent will only be used if a new tax is being created. - UnitPrice required
number
: The unit price for the lineitem.
- Description
NewExpense
- NewExpense
object
- Amount
number
: Expense Amount (Required). Must be >= 0 - CurrencyCode
string
: A 3-letter ISO CurrencyCode for the expense currency. (e.g. USD). If not provided, defaults to the Account base currency. - CustomerIDFK
integer
: The Avaza Customer ID to associate the Expense with. Either this field or CustomerName can be provided. - CustomerName
string
: The name of an existing customer in Avaza. Must be an exact (case insensitive) match. - ExchangeRate
number
: Optional (Only relevant if the expense currency is different to your account currency. If not provided we will look up the market exchange rate for you based on the expense date.) Exchange Rate = Expense Currency Amount / Base Currency Amount (e.g. if Expense currency is in AUD, and Base Currency is in USD, Exchange Rate = AUD $140 / USD $100 = 1.4) - ExpenseCategoryIDFK
integer
: The expense category to link the Expense to. If not provided, ExpenseCategoryName must be provided - ExpenseCategoryName
string
: Must match an existing expense category name otherwise a new category will be created. If left blank Expense Category ID must be provided. - ExpenseDate
string
: The date of the expense entry (Required) - GroupTripName
string
: Links the expense to a Grouping/Trip report. If no matching name found, creates a new Group/Trip Report name. - Merchant
string
: The name of the merchant. - MerchantTaxNumer
string
: A Tax number identifier for the merchant. - Notes
string
: Expense Notes - ProjectIDFK
integer
: The Avaza project ID to associate the Expense with. - ProjectName
string
: Can work for matching an expense to a project, but only if it's an exact match for a single project under the customer. - TaxIDFK
integer
: Avaza Tax ID the expense belongs to. If left blank then Tax Name must be provided. - TaxName
string
: Must exactly match an existing Tax Name that you have configured in Avaza Tax settings. If left blank then Tax ID must be provided. - TransactionTaxConfigCode
string
: Optional - Enter "INC" if the tax amount is included in the expense amount otherwise enter "EX" when the amount exlcudes the tax. Defaults to "Ex". The tax amount on the expense will be autocalculated. - UserEmail
string
: The email address of a Timesheet/Expense user in Avaza. If not provided, UserIDFK field must be provided. - UserIDFK
integer
: UserID for a Timesheet/Expense user in Avaza. If not provided, UserEmail field must be provided - isChargeable
boolean
: aka Billable. Defaults to false if not provided. If set to true, a CustomerIDFK or CustomerName must be provided. - isReimbursable
boolean
: Defaults to false if not provided.
- Amount
NewInvoice
- NewInvoice
object
: New invoice to be created- CompanyIDFK
integer
: If left blank then you must specify Company Name. - CompanyName
string
: If left blank then you must specify Company ID. Specified Name will be used to match existing customer record. If not matched then it will be used to create a new customer. First Name, Last Name and Email will only be used if it is a new company. If the Company name appears multiple times we will check the email address to find a matching company. If email address doesn't identify a matching company then the invoice creation will be rejected. - CurrencyCode
string
: Expects ISO Standard 3 character currency code. If left blank the currency will default to account's currency in general setting. For existing companies this field will be ignored and the invoice will use the currency of the customer. For new customers if the currency is not specified then account currency will be used otherwise the specified currency will be used. - CustomerPONumber
string
: Plain UTF8 text. 100 characters max - DateIssued
string
: If not specified it will use today's date. The date should be specified as local date. - DueDate
string
: It will be auto calculated based on the payment term and issue date. Due Date must be greater than or equal to Issue Date. If the Due Date is specified then Payment Terms will be set to -1 (Custom) - Email
string
: Specified value will be used to create a new customer contact only if a new customer is being created. - ExchangeRate
number
: Exchange rate is only valid for invoices in currency other than default account currency. If not specified it will get the market rate based on the Date Issued. - Firstname
string
: Specified value will be used to create a new customer contact only if a new customer is being created. - InvoiceNumber
string
: Pass any string. If left blank it will use the next number in the auto incrementing sequence. If an integer is passed then the largest integer will be use as the seed to auto generate the next invoice number in the sequence. - InvoiceTemplateIDFK
integer
: If left blank the account default invoice template will be used. - Lastname
string
: Specified value will be used to create a new customer contact only if a new customer is being created. - LineItems
array
- items NewInvoiceLineItem
- Notes
string
: Plain UTF8 text. (no HTML). Max 2000 characters - PaymentTerms
integer
: "If left blank we will set it to customer default. If specified then it must match one of your existing pre configured payment term periods. Your account starts with: - Subject
string
: Plain UTF8 text. (no HTML). 255 characters max - TransactionPrefix
string
: A prefix for the Invoice number. e.g. 'INV'. If left blank it will be set to the account default. Max length 20 characters. - TransactionTaxConfigCode
string
: Possible values are (EX --- Tax Exclusive, INC --- Tax Inclusive). If left empty it will use the account default.
- CompanyIDFK
NewInvoiceLineItem
- NewInvoiceLineItem
object
: Line item to be added to new invoice- Description
string
: Plain UTF8 text. (no HTML) - Discount
number
: Enter 10.5 to give a 10.5% discount - InventoryItemIDFK
integer
: If not specified then Inventory Item Name must be specified. - InventoryItemName
string
: If not specified then Inventory item ID must be specified. If specified and not matched to any existing inventory items then a new inventory item will be created. Max 200 characters. - ProjectIDFK
integer
: Optional. Project ID of an Avaza Project that belongs to this customer, so line item is attributed to that Project for reporting. - Quantity required
number
: The quantity for the line item - TaxIDFK
integer
: If specified then it must match an existing Tax ID. If not specified then Tax Name and Tax Percent must be specified. - TaxName
string
: Must be specified if the Tax ID is blank. If the Tax Name is specified it will be matched to an existing Tax Name or else a new Tax will be created. - TaxPercent
number
: The Tax Percent will only be used if a new tax is being created. - UnitPrice required
number
: The unit price for the lineitem.
- Description
NewPayment
- NewPayment
object
- Amount
number
- CustomerIDFK
integer
: Only required if no invoice allocations specified. - DateIssued
string
: Date of Payment. If not specified, assumes today. - ExchangeRate
number
: Optional. Only used when the Customer's currecy is different from the Avaza account's base currency. Specifies the exchange rate that should apply between the customer currency and base currency. If not provided we will obtain an up to date exchange rate for the Payment Issue Date. - Notes
string
- PaymentAllocations
array
: List of amounts within this payment that are allocated to invoices. The sum of these be less than or equal to the payment amount.- items NewPaymentAllocation
- PaymentNumber
string
: Optional. If not specified will be automatically generated - PaymentProviderCode
string
: Optional for storing the payment provider who was the source of funds. - TransactionPrefix
string
: Optional to override the default prefix added to Payment Numbers - TransactionReference
string
: Optional for storing the reference # of the payment method.
- Amount
NewPaymentAllocation
- NewPaymentAllocation
object
- AllocationAmount
number
: The Amount being allocated to the invoice. Expects same currency as invoice currency - AllocationDate
string
: Optional. Defaults to the current time in the Avaza account's timezone. The date the allocation is applied to the invoice. Can be difference from the Payment Date when doing prepayments etc. - InvoiceTransactionIDFK
integer
: The Avaza Invoice TransactionID that is having a payment amount allocated to it.
- AllocationAmount
NewProjectMember
- NewProjectMember
object
- BudgetAmount
number
: Optional - CostAmount
number
: Optional. If not provided, defaults to the User's default Cost Amount. - ProjectIDFK
integer
: Required. The ProjectID - RateAmount
number
: Optional. If not provided, defaults to the User's default Rate Amount. - UserIDFK
integer
: Required. The UserID to assign - canCommentOnTasks
boolean
- canCreateTasks
boolean
- canDeleteTasks
boolean
- canUpdateTasks
boolean
- isProjectManager
boolean
- isTimesheetAllowed
boolean
- isTimesheetApprovalRequired
boolean
- isTimesheetApprover
boolean
- BudgetAmount
NewProjectModel
- NewProjectModel
object
- BudgetAmount
number
- BudgetHours
number
- CompanyIDFK
integer
: An ID of a company in Avaza to create the Project under. You must provide either a CompanyID, or a CompanyName - CompanyName
string
: The name for a Company to create the project under. Will create company unless it matches an existing company name - CurrencyCode
string
: The ISO 3 letter currency code to use when creating a new Company. If not provided, the account's default currency will be used. - EndDate
string
- PopulateDefaultProjectMembers
boolean
- ProjectCategoryIDFK
integer
- ProjectNotes
string
: Any descriptive notes about the project. (2000 characters max) - ProjectStatusCode
string
- ProjectTitle required
string
: The title of the new project. (255 characters max) - StartDate
string
- TimesheetApprovalRequiredbyDefault
boolean
- isTaskRequiredOnTimesheet
boolean
- BudgetAmount
NewSection
- NewSection
object
- EndDateUTC
string
- ProjectIDFK
integer
- StartDateUTC
string
- Title
string
- EndDateUTC
NewTag
- NewTag
object
- Color
string
: Hex color code in format #000000 - Name
string
- Color
NewTask
- NewTask
object
- AccountTaskTypeIDFK
integer
- AssignedToUserIDFK
integer
- DateDue
string
- DateStart
string
- Description
string
- EstimatedEffort
number
: Decimal hours - ProjectIDFK required
integer
- SectionIDFK required
integer
- Tags
array
: Collection of tags specifying Name and Color (Hex)- items NewTag
- TaskPriorityCode
string
- Title required
string
- AccountTaskTypeIDFK
NewTimesheet
- NewTimesheet
object
- CustomMetadata
string
: Optional. free nvarchar field available via Api to store any additional metadata against a timesheet. We suggest you use Json or your preferred serialisation format. 1000 characters max. - Duration
number
: The duration of the timesheet, in decimal hours. If null or 0, a timer will be started. - EntryDate
string
: The date of the timesheet entry, with an optional start time component. - Notes
string
: Timesheet Notes - ProjectIDFK
integer
: The project to associate the timesheet with. - TaskIDFK
integer
: Optional. Link the timesheet to a specific task - TimesheetCategoryIDFK
integer
: The Project timesheet category to link the timesheet to - UserIDFK
integer
: UserID for a Timesheet user in Avaza - hasStartEndTime
boolean
: If true, the start time will be take from the time component of the Entry Date field, and the end time will be calculated by adding the Duration to the StartDate - isInvoiced
boolean
: Optional. False by default. Allows you to mark the timesheet as invoiced in an external system.
- CustomMetadata
Payment
- Payment
object
- AccountIDFK
integer
- Balance
number
- CurrencyCode
string
- CustomerIDFK
integer
- DateCreated
string
- DateIssued
string
- DateUpdated
string
- ExchangeRate
number
- Notes
string
- PaymentAllocations
array
- items PaymentAllocation
- PaymentNumber
string
- PaymentProviderCode
string
- TotalAmount
number
- TransactionID
integer
- TransactionPrefix
string
- TransactionReference
string
- TransactionStatusCode
string
- AccountIDFK
PaymentAllocation
- PaymentAllocation
object
- AllocationAmount
number
- AllocationDate
string
- InvoiceTransactionIDFK
integer
- PaymentTransactionIDFK
integer
- TransactionAllocationID
integer
- AllocationAmount
PaymentList
- PaymentList
object
- PageNumber
integer
- PageSize
integer
- Payments
array
- items Payment
- TotalCount
integer
- PageNumber
ProjectCompanyGroup
- ProjectCompanyGroup
object
- CompanyName
string
- projects
array
- items ProjectDropdownSelection
- CompanyName
ProjectDetails
- ProjectDetails
object
- BudgetAmount
number
- BudgetHours
number
- CompanyIDFK
integer
- CompanyName
string
- DateCreated
string
- DateUpdated
string
- DefaultAccountTaskTypeIDFK
integer
- DefaultAccountTaskTypeName
string
- EndDate
string
- Members
array
- items ProjectMemberDetails
- Notes
string
- ProjectBillableTypeCode
string
: Possible values: CategoryHourly, NoRate, NotBillable, PersonHourly, ProjectHourly - ProjectBudgetTypeCode
string
: Possible Values: CategoryHours, NoBudget, PersonHours, ProjectFees, ProjectHours - ProjectCategoryColor
string
: Html Hex Color Code starting with # - ProjectCategoryIDFK
integer
- ProjectCategoryName
string
- ProjectHourlyRate
number
- ProjectID
integer
- ProjectOwnerUserIDFK
integer
- ProjectStatusCode
string
: Possible values: NotStarted, InProgress, Complete - ProjectTags
array
- items ProjectTagItem
- Sections
array
- items ProjectSectionDetails
- StartDate
string
- Title
string
- isArchived
boolean
- isTaskRequiredOnTimesheet
boolean
- BudgetAmount
ProjectDropdownList
- ProjectDropdownList
object
- PageSize
integer
: Current page size - companies
array
: List of Projects grouped by Customer Name- items ProjectCompanyGroup
- hasMore
boolean
: More records probably exist - pageNumber
integer
: Current page number (1 based)
- PageSize
ProjectDropdownSelection
- ProjectDropdownSelection
object
- ProjectID
string
- Title
string
- ProjectID
ProjectList
- ProjectList
object
- PageNumber
integer
- PageSize
integer
- Projects
array
- items ProjectListDetails
- TotalCount
integer
- PageNumber
ProjectListDetails
- ProjectListDetails
object
- CompanyIDFK
integer
- CompanyName
string
- DateCreated
string
- DateUpdated
string
- DefaultAccountTaskTypeIDFK
integer
- DefaultAccountTaskTypeName
string
- Notes
string
- ProjectID
integer
- Title
string
- isArchived
boolean
- isTaskRequiredOnTimesheet
boolean
- CompanyIDFK
ProjectMemberDetails
- ProjectMemberDetails
object
- BudgetAmount
number
- CostAmount
number
- Email
string
- Firstname
string
- Fullname
string
- Lastname
string
- RateAmount
number
- UserIDFK
integer
- canCommentOnTasks
boolean
- canCreateTasks
boolean
- canDeleteTasks
boolean
- canUpdateTasks
boolean
- isMemberDisabled
boolean
- isProjectManager
boolean
- isTimesheetAllowed
boolean
- isTimesheetApprovalRequired
boolean
- isTimesheetApprover
boolean
- BudgetAmount
ProjectSectionDetails
- ProjectSectionDetails
object
- DisplayOrder
integer
- EndDate
string
- SectionID
integer
- StartDate
string
- Title
string
- DisplayOrder
ProjectTagItem
- ProjectTagItem
object
- Name
string
- ProjectTagID
integer
- Name
ProjectTimesheetCategoryDetails
- ProjectTimesheetCategoryDetails
object
- AccountIDFK
integer
- BudgetHours
number
- CostAmount
number
- Name
string
- ProjectIDFK
integer
- RateAmount
number
- TimeSheetCategoryIDFK
integer
- isBillable
boolean
- AccountIDFK
ProjectTimesheetCategoryList
- ProjectTimesheetCategoryList
object
- Categories
array
- Categories
RecipientDetails
- RecipientDetails
object
- CompanyIDFK
integer
- CompanyName
string
- RecipientBillingAddressCity
string
- RecipientBillingAddressCountryCode
string
- RecipientBillingAddressLine
string
- RecipientBillingAddressPostCode
string
- RecipientBillingAddressState
string
- RecipientFormattedBillingAddress
string
- CompanyIDFK
RoleDetails
- RoleDetails
object
- RoleCode
string
- RoleName
string
- RoleCode
ScheduleAssignmentDetails
- ScheduleAssignmentDetails
object
- AccountIDFK
integer
- DateCreated
string
- DateUpdated
string
- Duration
number
- ScheduleAssignmentID
integer
- ScheduleDate
string
- ScheduleSeriesIDFK
integer
- UserIDFK
integer
- AccountIDFK
ScheduleAssignmentList
- ScheduleAssignmentList
object
- PageNumber
integer
- PageSize
integer
- ScheduleAssignments
array
- TotalCount
integer
- PageNumber
ScheduleSeriesDetails
- ScheduleSeriesDetails
object
- AccountIDFK
integer
- CompanyIDFK
integer
- CompanyName
string
- DateCreated
string
- DateUpdated
string
- EndDate
string
- Firstname
string
- HoursPerDay
number
- Lastname
string
- LeaveTypeIDFK
integer
- LeaveTypeName
string
- Notes
string
- ProjectIDFK
integer
- ProjectTitle
string
- ScheduleOnDaysOff
boolean
- ScheduleSeriesID
integer
- StartDate
string
- TaskIDFK
integer
- TaskTitle
string
- TimeSheetCategoryIDFK
integer
- TimeSheetCategoryName
string
- TotalDuration
number
- UpdatedByUserIDFK
integer
- UserIDFK
integer
- AccountIDFK
ScheduleSeriesList
- ScheduleSeriesList
object
- PageNumber
integer
- PageSize
integer
- ScheduleSeries
array
- items ScheduleSeriesDetails
- TotalCount
integer
- PageNumber
SectionDetails
- SectionDetails
object
- DisplayOrder
integer
- EndDate
string
- EndDateUTC
string
- ProjectIDFK
integer
- SectionID
integer
- StartDate
string
- StartDateUTC
string
- Title
string
- DisplayOrder
SectionList
- SectionList
object
- Sections
array
- items SectionDetails
- TotalCount
integer
- Sections
SubscribeResult
- SubscribeResult
object
- ID
integer
- ID
TagItem
- TagItem
object
- Color
string
- Name
string
- TagID
integer
- Color
TaskDetails
- TaskDetails
object
- AccountTaskTypeIDFK
integer
- ActualTime
number
- AssignedToEmail
string
- AssignedToFirstname
string
- AssignedToLastname
string
- AssignedToUserIDFK
string
- DateCompleted
string
- DateCreated
string
- DateDue
string
- DateStart
string
- DateUpdated
string
- Description
string
- DescriptionNoHTML
string
- EstimatedEffort
number
- PercentComplete
number
- ProjectIDFK
integer
- ProjectTitle
string
- SectionIDFK
integer
- SectionTitle
string
- Tags
array
- items TagItem
- TaskID
integer
- TaskPriorityCode
string
- TaskPriorityName
string
- TaskStatusCode
string
- TaskStatusName
string
- Title
string
- isCompleteStatus
boolean
- AccountTaskTypeIDFK
TaskDropdownList
- TaskDropdownList
object
- PageSize
integer
: Current page size - hasMore
boolean
: More records probably exist - pageNumber
integer
: Current page number (1 based) - sections
array
: List of Task grouped by Section- items TaskSectionGroup
- PageSize
TaskDropdownSelection
- TaskDropdownSelection
object
- TaskID
string
- Title
string
- TaskID
TaskList
- TaskList
object
- PageNumber
integer
- PageSize
integer
- Tasks
array
- items TaskDetails
- TotalCount
integer
- PageNumber
TaskSectionGroup
- TaskSectionGroup
object
- SectionTitle
string
- tasks
array
- items TaskDropdownSelection
- SectionTitle
TaskStatusDetails
- TaskStatusDetails
object
- AccountTaskTypeIDFK
integer
- Color
string
- DisplayOrder
integer
- Name
string
- TaskStatusCode
string
- TaskTypeName
string
- isComplete
boolean
- AccountTaskTypeIDFK
TaskStatusList
- TaskStatusList
object
- statuses
array
- items TaskStatusDetails
- statuses
TaskTypeList
- TaskTypeList
object
- tasktypes
array
- items AccountTaskTypeDetails
- tasktypes
TaxComponent
- TaxComponent
object
- ComponentTaxCode
string
- Name
string
- Percentage
number
- TaxComponentID
integer
- TaxIDFK
integer
- isCompound
boolean
- ComponentTaxCode
TaxItem
- TaxItem
object
- CalculatedPercent
number
- Name
string
- TaxCode
string
- TaxComponents
array
- items TaxComponent
- TaxID
integer
- CalculatedPercent
TaxList
- TaxList
object
- Taxes
array
- items TaxItem
- Taxes
TimesheetDetails
- TimesheetDetails
object
- ApprovedBy
string
- CategoryName
string
- CustomMetadata
string
- CustomerIDFK
integer
- CustomerName
string
- DateApproved
string
- DateCreated
string
- DateUpdated
string
- Duration
number
- Email
string
- EndTimeLocal
string
- EndTimeUTC
string
- EntryDate
string
- Firstname
string
- HasTimer
boolean
- InvoiceIDFK
integer
- InvoiceLineItemIDFK
integer
- Lastname
string
- Notes
string
- ProjectIDFK
integer
- ProjectTitle
string
- StartTimeLocal
string
- StartTimeUTC
string
- TaskIDFK
integer
- TaskTitle
string
- TimerStartedAtUTC
string
- TimesheetCategoryIDFK
integer
- TimesheetEntryApprovalStatusCode
string
- TimesheetEntryID
integer
- TimesheetUserTimeZone
string
- UserIDFK
integer
- isBillable
boolean
- isInvoiced
boolean
- ApprovedBy
TimesheetList
- TimesheetList
object
- PageNumber
integer
- PageSize
integer
- Timesheets
array
- items TimesheetDetails
- TotalCount
integer
- PageNumber
TimesheetSummaryGroup
- TimesheetSummaryGroup
object
- BillableHours
number
- GroupData
array
- items TimesheetSummaryGroup
- GroupID
string
- GroupName
string
- TotalHours
number
- BillableHours
TimesheetSummaryRequest
- TimesheetSummaryRequest
object
- EntryDateFrom
string
: (Required) Filter for timesheets greater or equal to the specified date. e.g. 2019-01-25. You can optionally include a time component, otherwise it assumes 00:00 - EntryDateTo
string
: (Required) Filter for timesheets with an entry date smaller or equal to the specified date. e.g. 2019-01-25. You can optionally include a time component, otherwise it assumes 00:00 - GroupBy
array
: (Optional) Combine one, two or three levels of Grouping. Combine these possible grouping value
- EntryDateFrom