Moneybird logo
Moneybird API

Time entries

Endpoint:https://moneybird.com/api/v2

Time entries are used to track time spent on projects, which can then be billed to customers.


Get a time entry by id

GET
https://moneybird.com/api/v2
/{administration_id}/time_entries/{id}{format}

Returns a time entry in the administration.

Get a time entry by idpath Parameters

  • administration_idstring | integer · pattern: ^\d+$ · required

    The unique identifier of the administration

    A unique record identifier of an administration

  • idstring | integer · pattern: ^\d+$ · required

    A unique record identifier

  • formatstring · pattern: ^(.(json|xml))?$ · required

    The format in which the response is given, can be empty to use the default format

    Default: .json

Get a time entry by idResponses

A time entry

  • idstring | integer · pattern: ^\d+$

    A unique record identifier

  • administration_idstring | integer · pattern: ^\d+$

    A unique record identifier of an administration

  • contact_idstring | integer | null · pattern: ^\d+$

    A unique record identifier

  • project_idstring | integer | null · pattern: ^\d+$

    A unique record identifier

  • sales_invoice_idstring | integer | null · pattern: ^\d+$

    A unique record identifier

  • user_idstring | integer · pattern: ^\d+$

    A unique record identifier

  • started_atstring · date-time
  • ended_at
  • descriptionstring
  • paused_durationinteger
  • billableboolean | null
  • created_atstring · date-time
  • updated_atstring · date-time
  • contact
  • userobject
  • project
  • sales_invoice
  • eventsobject[]
  • notesobject[]

Delete a time entry

DELETE
https://moneybird.com/api/v2
/{administration_id}/time_entries/{id}{format}

Delete a time entry by id.

Delete a time entrypath Parameters

  • administration_idstring | integer · pattern: ^\d+$ · required

    The unique identifier of the administration

    A unique record identifier of an administration

  • idstring | integer · pattern: ^\d+$ · required

    A unique record identifier

  • formatstring · pattern: ^(.(json|xml))?$ · required

    The format in which the response is given, can be empty to use the default format

    Default: .json

Delete a time entryResponses

Time entry deleted

No data returned

Update a time entry

PATCH
https://moneybird.com/api/v2
/{administration_id}/time_entries/{id}{format}

When updating a time entry, provide only the attributes you want to update. The other attributes will not be changed. started_at and ended_at are rounded down to full minutes when updating a time entry, with a minimum of 1 minute between them.

Update a time entrypath Parameters

  • administration_idstring | integer · pattern: ^\d+$ · required

    The unique identifier of the administration

    A unique record identifier of an administration

  • idstring | integer · pattern: ^\d+$ · required

    A unique record identifier

  • formatstring · pattern: ^(.(json|xml))?$ · required

    The format in which the response is given, can be empty to use the default format

    Default: .json

Update a time entryRequest Body

  • time_entryobject

Update a time entryResponses

Time entry updated

  • idstring | integer · pattern: ^\d+$

    A unique record identifier

  • administration_idstring | integer · pattern: ^\d+$

    A unique record identifier of an administration

  • contact_idstring | integer | null · pattern: ^\d+$

    A unique record identifier

  • project_idstring | integer | null · pattern: ^\d+$

    A unique record identifier

  • sales_invoice_idstring | integer | null · pattern: ^\d+$

    A unique record identifier

  • user_idstring | integer · pattern: ^\d+$

    A unique record identifier

  • started_atstring · date-time
  • ended_at
  • descriptionstring
  • paused_durationinteger
  • billableboolean | null
  • created_atstring · date-time
  • updated_atstring · date-time
  • contact
  • userobject
  • project
  • sales_invoice
  • eventsobject[]
  • notesobject[]

Destroys note from entity

DELETE
https://moneybird.com/api/v2
/{administration_id}/time_entries/{time_entry_id}/notes/{id}{format}

Deletes a note from a time entry.

Destroys note from entitypath Parameters

  • administration_idstring | integer · pattern: ^\d+$ · required

    The unique identifier of the administration

    A unique record identifier of an administration

  • time_entry_idstring | integer · pattern: ^\d+$ · required

    A unique record identifier

  • idstring | integer · pattern: ^\d+$ · required

    A unique record identifier

  • formatstring · pattern: ^(.(json|xml))?$ · required

    The format in which the response is given, can be empty to use the default format

    Default: .json

Destroys note from entityResponses

Note deleted

No data returned

Adds note to entity

POST
https://moneybird.com/api/v2
/{administration_id}/time_entries/{time_entry_id}/notes{format}

Adds a note to the time entry.

Adds note to entitypath Parameters

  • administration_idstring | integer · pattern: ^\d+$ · required

    The unique identifier of the administration

    A unique record identifier of an administration

  • time_entry_idstring | integer · pattern: ^\d+$ · required

    A unique record identifier

  • formatstring · pattern: ^(.(json|xml))?$ · required

    The format in which the response is given, can be empty to use the default format

    Default: .json

Adds note to entityRequest Body

  • noteobject

Adds note to entityResponses

Note created

  • idstring | integer · pattern: ^\d+$

    A unique record identifier

  • administration_idstring | integer · pattern: ^\d+$

    A unique record identifier of an administration

  • entity_idstring | integer | null · pattern: ^\d+$

    A unique record identifier

  • entity_typestring
  • user_idstring | integer · pattern: ^\d+$

    A unique record identifier

  • assignee_idstring | integer | null · pattern: ^\d+$

    A unique record identifier

  • todoboolean | string | null
    Default: false
  • notestring | null
  • completed_atstring | null · date-time
  • completed_by_idstring | integer | null · pattern: ^\d+$

    A unique record identifier

  • todo_typestring | null · enum
    Enum values:
    sales_invoice_due
    purchase_invoice_due
    general_document_reminder
    general_document_due
    new_document_awaiting_processing
    new_financial_mutation_awaiting_processing
    financial_mutations_not_updated
    sales_invoice_payment_not_linked_to_financial_mutation
  • dataobject | null
  • created_atstring · date-time
  • updated_atstring · date-time

List all time entries

GET
https://moneybird.com/api/v2
/{administration_id}/time_entries{format}

Returns a paginated list of all time entries in the administration.

The filter argument allows you to filter the list of time entries. Filters are a combination of keys and values, separated by a comma: period:this_year,state:all. The available options for filtering are:

FilterTypeDefaultDescription
stateStringallall, open or non_billable
periodStringthis_yearThis can either be the description of a period (this_month, prev_month, next_month, this_quarter, prev_quarter, next_quarter, this_year, prev_year, next_year) or a custom period (201301..201302, 20130101..20130131)
contact_idIntegerSelect time entries belonging to a certain contact
include_nil_contactsBooleanfalseWhether to include time entries that have no assigned contact
include_activeBooleanfalseWhether to include active time entries i.e. time entries without ended_at
project_idIntegerSelect time entries belonging to a certain project
user_idIntegerSelect time entries belonging to a certain user
dayDateSelect time entries on a specific date

You can filter by multiple states at the same time as well. To do this, separate the state values by a pipe: state:open|non_billable.

List all time entriespath Parameters

  • administration_idstring | integer · pattern: ^\d+$ · required

    The unique identifier of the administration

    A unique record identifier of an administration

  • formatstring · pattern: ^(.(json|xml))?$ · required

    The format in which the response is given, can be empty to use the default format

    Default: .json

List all time entriesquery Parameters

  • filterstring
  • per_pageinteger | string · min: 1 · max: 100 · pattern: ^\d+$
  • querystring

    Allows filtering by time entry description.

List all time entriesResponses

A list of time entries

  • idstring | integer · pattern: ^\d+$

    A unique record identifier

  • administration_idstring | integer · pattern: ^\d+$

    A unique record identifier of an administration

  • contact_idstring | integer | null · pattern: ^\d+$

    A unique record identifier

  • project_idstring | integer | null · pattern: ^\d+$

    A unique record identifier

  • sales_invoice_idstring | integer | null · pattern: ^\d+$

    A unique record identifier

  • user_idstring | integer · pattern: ^\d+$

    A unique record identifier

  • started_atstring · date-time
  • ended_at
  • descriptionstring
  • paused_durationinteger
  • billableboolean | null
  • created_atstring · date-time
  • updated_atstring · date-time
  • contact
  • userobject
  • project
  • sales_invoice
  • eventsobject[]
  • notesobject[]

Create a time entry

POST
https://moneybird.com/api/v2
/{administration_id}/time_entries{format}

Api user needs access to both sales invoices and time entries for this action. started_at and ended_at are rounded down to full minutes when creating a time entry, with a minimum of 1 minute between them.

Create a time entrypath Parameters

  • administration_idstring | integer · pattern: ^\d+$ · required

    The unique identifier of the administration

    A unique record identifier of an administration

  • formatstring · pattern: ^(.(json|xml))?$ · required

    The format in which the response is given, can be empty to use the default format

    Default: .json

Create a time entryRequest Body

  • time_entryobject

Create a time entryResponses

Time entry created

  • idstring | integer · pattern: ^\d+$

    A unique record identifier

  • administration_idstring | integer · pattern: ^\d+$

    A unique record identifier of an administration

  • contact_idstring | integer | null · pattern: ^\d+$

    A unique record identifier

  • project_idstring | integer | null · pattern: ^\d+$

    A unique record identifier

  • sales_invoice_idstring | integer | null · pattern: ^\d+$

    A unique record identifier

  • user_idstring | integer · pattern: ^\d+$

    A unique record identifier

  • started_atstring · date-time
  • ended_at
  • descriptionstring
  • paused_durationinteger
  • billableboolean | null
  • created_atstring · date-time
  • updated_atstring · date-time
  • contact
  • userobject
  • project
  • sales_invoice
  • eventsobject[]
  • notesobject[]