module Harvest::Resources

Constants

Company

@param base_uri [String]

The Harvest URL for the company.

@param full_domain [String]

The Harvest domain for the company.

@param name [String]

The name of the company.

@param is_active [Boolean]

Whether the company is active or archived.

@param week_start_day [String]

The week day used as the start of the week. Returns one of: Saturday, Sunday, or Monday.

@param wants_timestamp_timers [Boolean]

Whether time is tracked via duration or start and end times.

@param time_format [String]

The format used to display time in Harvest. Returns either decimal or hours_minutes.

@param plan_type [String]

The type of plan the company is on. Examples: trial, free, or simple-v4

@param clock [String]

Used to represent whether the company is using a 12-hour or 24-hour clock.
Returns either 12h or 24h.

@param decimal_symbol [String]

Symbol used when formatting decimals.

@param thousands_separator [String]

Separator used when formatting numbers.

@param color_scheme [String]

The color scheme being used in the Harvest web client.

@param weekly_capacity [Integer]

The weekly capacity in seconds.

@param expense_feature [Boolean]

Whether the expense module is enabled.

@param invoice_feature [Boolean]

Whether the invoice module is enabled.

@param estimate_feature [Boolean]

Whether the estimate module is enabled.

@param approval_feature [Boolean]

Whether the approval module is enabled.
Estimate

@param id [Integer]

Unique ID for the estimate.

@param client [Struct]

An object containing estimate's client id and name.

@param line_items [List]

Array of estimate line items.

@param creator [Struct]

An object containing the id and name of the person that created the estimate.

@param client_key [String]

Used to build a URL to the public web invoice for your client:

@param number [String]

If no value is set, the number will be automatically generated.

@param purchase_order [String]

The purchase order number.

@param amount [decimal]

The total amount for the estimate, including any discounts and taxes.

@param tax [decimal]

This percentage is applied to the subtotal, including line items and
discounts.

@param tax_amount [decimal]

The first amount of tax included, calculated from tax. If no tax is
defined, this value will be null.

@param tax2 [decimal]

This percentage is applied to the subtotal, including line items and
discounts.

@param tax2_amount [decimal]

The amount calculated from tax2.

@param discount [decimal]

This percentage is subtracted from the subtotal.

@param discount_amount [decimal]

The amount calcuated from discount.

@param subject [String]

The estimate subject.

@param notes [String]

Any additional notes included on the estimate.

@param currency [String]

The currency code associated with this estimate.

@param state [String]

The current state of the estimate: draft, sent, accepted, or declined.

@param issue_date [Date]

Date the estimate was issued.

@param sent_at [DateTime]

Date and time the estimate was sent.

@param accepted_at [DateTime]

Date and time the estimate was accepted.

@param declined_at [DateTime]

Date and time the estimate was declined.

@param created_at [DateTime]

Date and time the estimate was created.

@param updated_at [DateTime]

Date and time the estimate was last updated.
EstimateItemCategory

@param id [Integer]

Unique ID for the estimate item category.

@param name [String]

The name of the estimate item category.

@param created_at [DateTime]

Date and time the estimate item category was created.

@param updated_at [DateTime]

Date and time the estimate item category was last updated.
EstimateLineItem

@param id [Integer]

Unique ID for the line item.

@param kind [String]

The name of an estimate item category.

@param description [String]

Text description of the line item.

@param quantity [Integer]

The unit quantity of the item.

@param unit_price [decimal]

The individual price per unit.

@param amount [decimal]

The line item subtotal (quantity * unit_price).

@param taxed [Boolean]

Whether the estimate's tax percentage applies to this line item.

@param taxed2 [Boolean]

Whether the estimate's tax2 percentage applies to this line item.
EstimateMessage

@param id [Integer]

Unique ID for the message.

@param sent_by [String]

Name of the user that created the message.

@param sent_by_email [String]

Email of the user that created the message.

@param sent_from [String]

Name of the user that the message was sent from.

@param sent_from_email [String]

Email of the user that message was sent from.

@param recipients [List]

Array of estimate message recipients.

@param subject [String]

The message subject.

@param body [String]

The message body.

@param send_me_a_copy [Boolean]

Whether to email a copy of the message to the current user.

@param event_type [String]

The type of estimate event that occurred with the message: send, accept,
decline, re-open, view, or invoice.

@param created_at [DateTime]

Date and time the message was created.

@param updated_at [DateTime]

Date and time the message was last updated.
Expense

@param id [Integer]

Unique ID for the expense.

@param client [Struct]

An object containing the expense's client id, name, and currency.

@param project [Struct]

An object containing the expense's project id, name, and code.

@param expense_category [Struct]

An object containing the expense's expense category id, name, unit_price,
and unit_name.

@param user [Struct]

An object containing the id and name of the user that recorded the expense.

@param user_assignment [Struct]

A user assignment object of the user that recorded the expense.

@param receipt [Struct]

An object containing the expense's receipt URL and file name.

@param invoice [Struct]

Once the expense has been invoiced, this field will include the associated
invoice's id and number.

@param notes [String]

Textual notes used to describe the expense.

@param billable [Boolean]

Whether the expense is billable or not.

@param is_closed [Boolean]

Whether the expense has been approved or closed for some other reason.

@param is_locked [Boolean]

Whether the expense has been been invoiced, approved, or the project or
person related to the expense is archived.

@param is_billed [Boolean]

Whether or not the expense has been marked as invoiced.

@param locked_reason [String]

An explanation of why the expense has been locked.

@param spent_date [Date]

Date the expense occurred.

@param created_at [DateTime]

Date and time the expense was created.

@param updated_at [DateTime]

Date and time the expense was last updated.
ExpenseCategory

@param id [Integer]

Unique ID for the expense category.

@param name [String]

The name of the expense category.

@param unit_name [String]

The unit name of the expense category.

@param unit_price [decimal]

The unit price of the expense category.

@param is_active [Boolean]

Whether the expense category is active or archived.

@param created_at [DateTime]

Date and time the expense category was created.

@param updated_at [DateTime]

Date and time the expense category was last updated.
Invoice

@param id [Integer]

Unique ID for the invoice.

@param client [Struct]

An object containing invoice's client id and name.

@param line_items [List]

Array of invoice line items.

@param estimate [Struct]

An object containing the associated estimate's id.

@param retainer [Struct]

An object containing the associated retainer's id.

@param creator [Struct]

An object containing the id and name of the person that created the invoice.

@param client_key [String]

Used to build a URL to the public web invoice for your client:

@param number [String]

If no value is set, the number will be automatically generated.

@param purchase_order [String]

The purchase order number.

@param amount [decimal]

The total amount for the invoice, including any discounts and taxes.

@param due_amount [decimal]

The total amount due at this time for this invoice.

@param tax [decimal]

This percentage is applied to the subtotal, including line items and discounts.

@param tax_amount [decimal]

The first amount of tax included, calculated from tax. If no tax is
defined, this value will be null.

@param tax2 [decimal]

This percentage is applied to the subtotal, including line items and discounts.

@param tax2_amount [decimal]

The amount calculated from tax2.

@param discount [decimal]

This percentage is subtracted from the subtotal.

@param discount_amount [decimal]

The amount calcuated from discount.

@param subject [String]

The invoice subject.

@param notes [String]

Any additional notes included on the invoice.

@param currency [String]

The currency code associated with this invoice.

@param state [String]

The current state of the invoice: draft, open, paid, or closed.

@param period_start [Date]

Start of the period during which time entries were added to this invoice.

@param period_end [Date]

End of the period during which time entries were added to this invoice.

@param issue_date [Date]

Date the invoice was issued.

@param due_date [Date]

Date the invoice is due.

@param payment_term [String]

The timeframe in which the invoice should be paid. Options: upon receipt,
net 15, net 30, net 45, net 60, or custom.

@param sent_at [DateTime]

Date and time the invoice was sent.

@param paid_at [DateTime]

Date and time the invoice was paid.

@param paid_date [Date]

Date the invoice was paid.

@param closed_at [DateTime]

Date and time the invoice was closed.

@param recurring_invoice_id [Integer]

Unique ID of the associated recurring invoice.

@param created_at [DateTime]

Date and time the invoice was created.

@param updated_at [DateTime]

Date and time the invoice was last updated.
InvoiceItemCategory

@param id [Integer]

Unique ID for the invoice item category.

@param name [String]

The name of the invoice item category.

@param use_as_service [Boolean]

Whether this invoice item category is used for billable hours when generating an invoice.

@param use_as_expense [Boolean]

Whether this invoice item category is used for expenses when generating an invoice.

@param created_at [DateTime]

Date and time the invoice item category was created.

@param updated_at [DateTime]

Date and time the invoice item category was last updated.
InvoiceLineItem

@param id [Integer]

Unique ID for the line item.

@param project [Struct]

An object containing the associated project's id, name, and code.

@param kind [String]

The name of an invoice item category.

@param description [String]

Text description of the line item.

@param quantity [decimal]

The unit quantity of the item.

@param unit_price [decimal]

The individual price per unit.

@param amount [decimal]

The line item subtotal (quantity * unit_price).

@param taxed [Boolean]

Whether the invoice's tax percentage applies to this line item.

@param taxed2 [Boolean]

Whether the invoice's tax2 percentage applies to this line item.
InvoiceMessage

@param id [Integer]

Unique ID for the message.

@param sent_by [String]

Name of the user that created the message.

@param sent_by_email [String]

Email of the user that created the message.

@param sent_from [String]

Name of the user that the message was sent from.

@param sent_from_email [String]

Email of the user that message was sent from.

@param recipients [List]

Array of invoice message recipients.

@param subject [String]

The message subject.

@param body [String]

The message body.

@param include_link_to_client_invoice [Boolean]

Whether to include a link to the client invoice in the message body. Not
used when thank_you is true.

@param attach_pdf [Boolean]

Whether to attach the invoice PDF to the message email.

@param send_me_a_copy [Boolean]

Whether to email a copy of the message to the current user.

@param thank_you [Boolean]

Whether this is a thank you message.

@param event_type [String]

The type of invoice event that occurred with the message: send, close,
draft, re-open, or view.

@param reminder [Boolean]

Whether this is a reminder message.

@param send_reminder_on [Date]

The Date the reminder email will be sent.

@param created_at [DateTime]

Date and time the message was created.

@param updated_at [DateTime]

Date and time the message was last updated.
InvoicePayment

@param id [Integer]

Unique ID for the payment.

@param amount [decimal]

The amount of the payment.

@param paid_at [DateTime]

Date and time the payment was made.

@param paid_date [Date]

Date the payment was made.

@param recorded_by [String]

The name of the person who recorded the payment.

@param recorded_by_email [String]

The email of the person who recorded the payment.

@param notes [String]

Any notes associated with the payment.

@param transaction_id [String]

Either the card authorization or PayPal transaction ID.

@param payment_gateway [Struct]

The payment gateway id and name used to process the payment.

@param created_at [DateTime]

Date and time the payment was recorded.

@param updated_at [DateTime]

Date and time the payment was last updated.
MessageRecipient

@param name [String]

Name of the message recipient.

@param email [String]

Email of the message recipient.
Project

help.getharvest.com/api-v2/projects-api/projects/projects/ @param id [Integer]

Unique ID for the project.

@param client [Struct]

An object containing the project's client id, name, and currency.

@param name [String]

Unique name for the project.

@param code [String]

The code associated with the project.

@param is_active [Boolean]

Whether the project is active or archived.

@param is_billable [Boolean]

Whether the project is billable or not.

@param is_fixed_fee [Boolean]

Whether the project is a fixed-fee project or not.

@param bill_by [String]

The method by which the project is invoiced.

@param hourly_rate [decimal]

Rate for projects billed by Project Hourly Rate.

@param budget [decimal]

The budget in hours for the project when budgeting by time.

@param budget_by [String]

The method by which the project is budgeted.

@param budget_is_monthly [Boolean]

Option to have the budget reset every month.

@param notify_when_over_budget [Boolean]

Whether Project Managers should be notified when the project goes over budget.

@param over_budget_notification_percentage [decimal]

Percentage value used to trigger over budget email alerts.

@param over_budget_notification_date [Date]

Date of last over budget notification. If none have been sent, this will be null.

@param show_budget_to_all [Boolean]

Option to show project budget to all employees. Does not apply to Total Project Fee projects.

@param cost_budget [decimal]

The monetary budget for the project when budgeting by money.

@param cost_budget_include_expenses [Boolean]

Option for budget of Total Project Fees projects to include tracked expenses.

@param fee [decimal]

The amount you plan to invoice for the project. Only used by fixed-fee projects.

@param notes [String]

Project notes.

@param starts_on [Date]

Date the project was started.

@param ends_on [Date]

Date the project will end.

@param created_at [DateTime]

Date and time the project was created.

@param updated_at [DateTime]

Date and time the project was last updated.
ProjectAssignment

@param id [Integer]

Unique ID for the project assignment.

@param is_active [Boolean]

Whether the project assignment is active or archived.

@param is_project_manager [Boolean]

Determines if the user has Project Manager permissions for the project.

@param use_default_rates [Boolean]

Determines which billable rate(s) will be used on the project for this
user when bill_by is People. When true, the project will use the user's
default billable rates. When false, the project will use the custom rate
defined on this user assignment.

@param hourly_rate [decimal]

Custom rate used when the project's bill_by is People and use_default_rates is false.

@param budget [decimal]

Budget used when the project's budget_by is person.

@param created_at [DateTime]

Date and time the project assignment was created.

@param updated_at [DateTime]

Date and time the project assignment was last updated.

@param project [Struct]

An object containing the assigned project id, name, and code.

@param client [Struct]

An object containing the project's client id and name.

@param task_assignments [List]

Array of task assignment objects associated with the project.
ResourceClient

@param id [Integer]

Unique ID for the client.

@param name [String]

A textual description of the client.

@param is_active [Boolean]

Whether the client is active or archived.

@param address [String]

The physical address for the client.

@param statement_key [String]

Used to build a URL to your client's invoice dashboard:

@param currency [String]

The currency code associated with this client.

@param created_at [DateTime]

Date and time the client was created.

@param updated_at [DateTime]

Date and time the client was last updated.
Task

@param id [Integer]

Unique ID for the task.

@param name [String]

The name of the task.

@param billable_by_default [Boolean]

Used in determining whether default tasks should be marked billable when
creating a new project.

@param default_hourly_rate [decimal]

The hourly rate to use for this task when it is added to a project.

@param is_default [Boolean]

Whether this task should be automatically added to future projects.

@param is_active [Boolean]

Whether this task is active or archived.

@param created_at [DateTime]

Date and time the task was created.

@param updated_at [DateTime]

Date and time the task was last updated.
TaskAssignment

@param id [Integer]

Unique ID for the task assignment.

@param project [Struct]

An object containing the id, name, and code of the associated project.

@param task [Struct]

An object containing the id and name of the associated task.

@param is_active [Boolean]

Whether the task assignment is active or archived.

@param billable [Boolean]

Whether the task assignment is billable or not. For example: if set to
true, all time tracked on this project for the associated task will be
marked as billable.

@param hourly_rate [decimal]

Rate used when the project's bill_by is Tasks.

@param budget [decimal]

Budget used when the project's budget_by is task or task_fees.

@param created_at [DateTime]

Date and time the task assignment was created.

@param updated_at [DateTime]

Date and time the task assignment was last updated.
TimeEntry

@param id [Integer]

Unique ID for the time entry.

@param spent_date [Date]

Date of the time entry.

@param user [Struct]

An object containing the id and name of the associated user.

@param user_assignment [Struct]

A user assignment object of the associated user.

@param client [Struct]

An object containing the id and name of the associated client.

@param project [Struct]

An object containing the id and name of the associated project.

@param task [Struct]

An object containing the id and name of the associated task.

@param task_assignment [Struct]

A task assignment object of the associated task.

@param external_reference [Struct]

An object containing the id, group_id, permalink, service, and
service_icon_url of the associated external reference.

@param invoice [Struct]

Once the time entry has been invoiced, this field will include the
associated invoice's id and number.

@param hours [decimal]

Number of (decimal time) hours tracked in this time entry.

@param hours_without_timer [decimal]

Number of (decimal time) hours already tracked in this time entry, before the timer was last started.

@param rounded_hours [decimal]

Number of (decimal time) hours tracked in this time entry used in summary
reports and invoices. This value is rounded according to the Time Rounding
setting in your Preferences.

@param notes [String]

Notes attached to the time entry.

@param is_locked [Boolean]

Whether or not the time entry has been locked.

@param locked_reason [String]

Why the time entry has been locked.

@param is_closed [Boolean]

Whether or not the time entry has been approved via Timesheet Approval.

@param is_billed [Boolean]

Whether or not the time entry has been marked as invoiced.

@param timer_started_at [DateTime]

Date and time the timer was started (if tracking by duration). Use the ISO 8601 Format.

@param started_time [Time]

Time the time entry was started (if tracking by start/end times).

@param ended_time [Time]

Time the time entry was ended (if tracking by start/end times).

@param is_running [Boolean]

Whether or not the time entry is currently running.

@param billable [Boolean]

Whether or not the time entry is billable.

@param budgeted [Boolean]

Whether or not the time entry counts towards the project budget.

@param billable_rate [decimal]

The billable rate for the time entry.

@param cost_rate [decimal]

The cost rate for the time entry.

@param created_at [DateTime]

Date and time the time entry was created. Use the ISO 8601 Format.

@param updated_at [DateTime]

Date and time the time entry was last updated. Use the ISO 8601 Format.
TimeEntryExternalReference
User

@param id [Integer]

Unique ID for the user.

@param first_name [String]

The first name of the user.

@param last_name [String]

The last name of the user.

@param email [String]

The email address of the user.

@param timezone [String]

The users timezone.

@param has_access_to_all_future_projects [Boolean]

Whether the user should be automatically added to future projects.

@param is_contractor [Boolean]

Whether the user is a contractor or an employee.

@param is_admin [Boolean]

Whether the user has Admin permissions.

@param is_project_manager [Boolean]

Whether the user has Project Manager permissions.

@param can_see_rates [Boolean]

Whether the user can see billable rates on projects. Only applicable to Project Managers.

@param can_create_projects [Boolean]

Whether the user can create projects. Only applicable to Project Managers.

@param can_create_invoices [Boolean]

Whether the user can create invoices. Only applicable to Project Managers.

@param is_active [Boolean]

Whether the user is active or archived.

@param weekly_capacity [Integer]

The number of hours per week this person is available to work in seconds,
in half hour increments. For example, if a persons capacity is 35 hours,i
the API will return 126000 seconds.

@param default_hourly_rate [decimal]

The billable rate to use for this user when they are added to a project.

@param cost_rate [decimal]

The cost rate to use for this user when calculating a projects costs vs billable amount.

@param roles [List]

of Strings    The role names assigned to this person.

@param avatar_url [String]

The URL to the users avatar image.

@param created_at [DateTime]

Date and time the user was created.

@param updated_at [DateTime]

Date and time the user was last updated.

@param name [String] combined first name and last name, only used in TimeEntry

UserAssignment

@param id [Integer]

Unique ID for the user assignment.

@param project [Struct]

An object containing the id, name, and code of the associated project.

@param user [Struct]

An object containing the id and name of the associated user.

@param is_active [Boolean]

Whether the user assignment is active or archived.

@param is_project_manager [Boolean]

Determines if the user has Project Manager permissions for the project.

@param use_default_rates [Boolean]

Determines which billable rates will be used on the project for this user
when bill_by is People. When true, the project will use the users
default billable rates. When false, the project will use the custom rate
defined on this user assignment.

@param hourly_rate [decimal]

Custom rate used when the projects bill_by is People and use_default_rates is false.

@param budget [decimal]

Budget used when the projects budget_by is person.

@param created_at [DateTime]

Date and time the user assignment was created.

@param updated_at [DateTime]

Date and time the user assignment was last updated.