Hiflow API (1.0.0)

Download OpenAPI specification:

Documentation OpenAPI Hiflow for interaction with the Hiflow modules and access to data. Before using our API, you have to create an API key. This can be done in the « Parameters » module. Documentation can be found here (in French): Créer une clé d'API

Authentication

All API requests require a Bearer token for authentication. Include the token in the Authorization header:

Authorization: Bearer <your_token>

Pagination

Most list endpoints support pagination with the following parameters:

  • page: Page number (1-based)
  • items_per_page: Number of items per page (default: 10)

Paginated responses return:

{
  "items": [...],
  "total": 100,
  "itemsPerPage": 10
}

Error Handling

The API uses standard HTTP status codes:

  • 200: Success
  • 201: Resource created
  • 204: Resource deleted (no content)
  • 400: Bad request
  • 401: Unauthorized
  • 403: Forbidden
  • 404: Not found
  • 406: Invalid parameters
  • 500: Server error

Authentication

Authenticate a user

Authenticates a user with login and password credentials. Returns user information and permissions on success.

Request Body schema: application/json
required
login
required
string
password
required
string

Responses

Request samples

Content type
application/json
{
  • "login": "string",
  • "password": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "lang": "string",
  • "id": 0,
  • "firstname": "string",
  • "name": "string",
  • "displayname": "string",
  • "permissions": { }
}

Request an API token

Generates a new JWT token for API authentication. Requires an existing authenticated session.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "token": "string",
  • "msg": "string"
}

Customers

Get list of customers

Returns a list of all customers with their contacts. Results are sorted by name.

Authorizations:
BearerAuth
query Parameters
search
string

Search string applied on the name field

include_coord
boolean

Include GPS coordinates (lat/lng) for each customer

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a customer

Creates a new customer with the provided information.

Authorizations:
BearerAuth
Request Body schema: application/json
required
name
required
string

Customer name

address
string
postal_code
string
city
string
id_country
string
vat_number
string
phone
string
email
string <email>
website
string
id_tracker
integer
id_legal_form
integer
due_date_formatted
integer

Payment terms in days

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "address": "string",
  • "postal_code": "string",
  • "city": "string",
  • "id_country": "string",
  • "vat_number": "string",
  • "phone": "string",
  • "email": "user@example.com",
  • "website": "string",
  • "id_tracker": 0,
  • "id_legal_form": 0,
  • "due_date_formatted": 0
}

Response samples

Content type
application/json
"customer/123"

Update a customer

Updates an existing customer.

Authorizations:
BearerAuth
Request Body schema: application/json
required
id
required
integer
name
required
string

Customer name

address
string
postal_code
string
city
string
id_country
string
vat_number
string
phone
string
email
string <email>
website
string
id_tracker
integer
id_legal_form
integer
due_date_formatted
integer

Payment terms in days

Responses

Request samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "address": "string",
  • "postal_code": "string",
  • "city": "string",
  • "id_country": "string",
  • "vat_number": "string",
  • "phone": "string",
  • "email": "user@example.com",
  • "website": "string",
  • "id_tracker": 0,
  • "id_legal_form": 0,
  • "due_date_formatted": 0
}

Get a specific customer

Returns detailed information about a customer including:

  • Basic customer data
  • Invoice amounts by year (chart_amount_by_year)
Authorizations:
BearerAuth
path Parameters
id
required
integer

Resource ID

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "address": "string",
  • "postal_code": "string",
  • "city": "string",
  • "id_country": "string",
  • "vat_number": "string",
  • "phone": "string",
  • "email": "user@example.com",
  • "website": "http://example.com",
  • "id_tracker": 0,
  • "id_legal_form": 0,
  • "due_date_formatted": 0,
  • "creation_date": "2019-08-24T14:15:22Z",
  • "contacts": [
    ],
  • "coord": {
    },
  • "chart_amount_by_year": {
    }
}

Delete a customer

Authorizations:
BearerAuth
path Parameters
id
required
integer

Resource ID

Responses

Get contacts for a customer

Returns all contacts associated with a specific customer.

Authorizations:
BearerAuth
path Parameters
id
required
integer

Resource ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get list of legal forms

Returns all available legal form types.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get list of VAT types

Returns VAT types for the current country (sales side).

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Authenticate a customer by auth key

Identifies a customer using their authentication key. Requires customer authentication to be enabled in account settings.

Authorizations:
BearerAuth
Request Body schema: application/json
required
auth_key
required
string

Customer authentication key

Responses

Request samples

Content type
application/json
{
  • "auth_key": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "address": "string",
  • "postal_code": "string",
  • "city": "string",
  • "id_country": "string",
  • "vat_number": "string",
  • "phone": "string",
  • "email": "user@example.com",
  • "website": "http://example.com",
  • "id_tracker": 0,
  • "id_legal_form": 0,
  • "due_date_formatted": 0,
  • "creation_date": "2019-08-24T14:15:22Z",
  • "contacts": [
    ],
  • "coord": {
    }
}

Estimates

Get list of estimates

Returns a list of estimates with optional filtering and pagination.

Authorizations:
BearerAuth
query Parameters
search
string

Search string applied on the name field

page
integer >= 1

Page number for pagination (1-based)

items_per_page
integer [ 1 .. 100 ]
Default: 10

Number of items per page

id_statuses
Array of integers

Filter by status IDs

id_customers
Array of integers

Filter by customer IDs

Responses

Response samples

Content type
application/json
Example
[ ]

Create an estimate

Creates a new estimate with entries. If id_item is specified in an entry, the entry data will be populated from the catalog item. If id_status is provided and corresponds to an ACCEPTED status, a job will be automatically created.

Authorizations:
BearerAuth
Request Body schema: application/json
required
id_customer
required
integer

Customer ID (mandatory)

description
string
customer_ref
string
id_status
integer
required
Array of objects

Responses

Request samples

Content type
application/json
{
  • "id_customer": 0,
  • "description": "string",
  • "customer_ref": "string",
  • "id_status": 0,
  • "entries": [
    ]
}

Response samples

Content type
application/json
"estimate/123"

Update an estimate

Updates an existing estimate. All existing entries are replaced with the new entries. If id_status changes to ACCEPTED, a job will be automatically created.

Authorizations:
BearerAuth
Request Body schema: application/json
required
id
required
integer
id_customer
required
integer

Customer ID (mandatory)

description
string
customer_ref
string
id_status
integer
required
Array of objects

Responses

Request samples

Content type
application/json
{
  • "id": 0,
  • "id_customer": 0,
  • "description": "string",
  • "customer_ref": "string",
  • "id_status": 0,
  • "entries": [
    ]
}

Get a specific estimate

Returns detailed information about an estimate including all entries.

Authorizations:
BearerAuth
path Parameters
id
required
integer

Resource ID

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "id_customer": 0,
  • "customer_name": "string",
  • "description": "string",
  • "customer_ref": "string",
  • "id_status": 0,
  • "status": "string",
  • "status_color": "string",
  • "amount": 0.1,
  • "entries": [
    ]
}

Delete an estimate

Authorizations:
BearerAuth
path Parameters
id
required
integer

Resource ID

Responses

Get list of estimate statuses

Returns all available estimate status types.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get list of units

Returns all available units for estimate entries.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Invoices

Get list of invoices

Returns a list of invoices with optional filtering and pagination.

Authorizations:
BearerAuth
query Parameters
search
string

Search string applied on the name field

page
integer >= 1

Page number for pagination (1-based)

items_per_page
integer [ 1 .. 100 ]
Default: 10

Number of items per page

id_customers
Array of integers

Filter by customer IDs

id_statuses
Array of integers

Filter by status IDs

id_tracker
integer

Filter by tracker ID

dateFrom
string <date>

Filter invoices from this date

dateTo
string <date>

Filter invoices until this date

Responses

Response samples

Content type
application/json
Example
[ ]

Create an invoice

Creates a new invoice. Can be created:

  • From scratch with entries
  • From an existing estimate (by providing id_estimate)
Authorizations:
BearerAuth
Request Body schema: application/json
required
id_customer
required
integer
id_estimate
integer

If specified, creates invoice from an existing estimate

required
Array of objects

Responses

Request samples

Content type
application/json
{
  • "id_customer": 0,
  • "id_estimate": 0,
  • "entries": [
    ]
}

Response samples

Content type
application/json
"invoice/123"

Get a specific invoice

Returns detailed information about an invoice including all entries.

Authorizations:
BearerAuth
path Parameters
id
required
integer

Resource ID

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "id_customer": 0,
  • "invoice_date": "2019-08-24",
  • "invoice_duedate": "2019-08-24",
  • "invoice_type": "invoice",
  • "amount": 0.1,
  • "id_status": 0,
  • "reference": "string",
  • "entries": [
    ]
}

Delete an invoice

Authorizations:
BearerAuth
path Parameters
id
required
integer

Resource ID

Responses

Get list of invoice statuses

Returns all available invoice status types.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get list of VAT types

Returns all VAT types available for invoices.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Items

Get list of catalog items

Returns a list of catalog items with optional filtering.

Authorizations:
BearerAuth
query Parameters
search
string

Search string applied on the name field

id_folder
integer

Filter by folder ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create an item or folder

Creates a new catalog item or folder. Set type='folder' to create a folder instead of an item.

Authorizations:
BearerAuth
Request Body schema: application/json
required
label
string
description
string
id_folder
integer
id_unit
integer
unitary_price
number <float>
unitary_cost
number <float>
id_vat_type
integer
id_supplier
integer
type
string
Enum: "item" "folder"

Set to 'folder' to create a folder instead of an item

id_parent
integer

Parent folder ID (when creating a folder)

name
string

Folder name (when creating a folder)

Responses

Request samples

Content type
application/json
{
  • "label": "string",
  • "description": "string",
  • "id_folder": 0,
  • "id_unit": 0,
  • "unitary_price": 0.1,
  • "unitary_cost": 0.1,
  • "id_vat_type": 0,
  • "id_supplier": 0,
  • "type": "item",
  • "id_parent": 0,
  • "name": "string"
}

Response samples

Content type
application/json
"item/123"

Get list of folders

Returns all catalog folders.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Jobs

Get list of jobs

Returns a list of jobs (projects) with optional filtering and pagination.

Authorizations:
BearerAuth
query Parameters
search
string

Search string applied on the name field

page
integer >= 1

Page number for pagination (1-based)

items_per_page
integer [ 1 .. 100 ]
Default: 10

Number of items per page

id_statuses
Array of integers

Filter by project status IDs

id_customers
Array of integers

Filter by customer IDs

from
string <date>

Start date filter

to
string <date>

End date filter

Responses

Response samples

Content type
application/json
Example
[ ]

Create a job

Creates a new job (project).

Authorizations:
BearerAuth
Request Body schema: application/json
required
name
required
string
title
string
description
string
id_customer
required
integer
id_status
integer

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "title": "string",
  • "description": "string",
  • "id_customer": 0,
  • "id_status": 0
}

Response samples

Content type
application/json
"job/123"

Update a job

Authorizations:
BearerAuth
Request Body schema: application/json
required
id
required
integer
name
required
string
title
string
description
string
id_customer
required
integer
id_status
integer

Responses

Request samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "title": "string",
  • "description": "string",
  • "id_customer": 0,
  • "id_status": 0
}

Get a specific job

Returns detailed information about a job including:

  • Time consumption data
  • Budget breakdown by trackers and workers
  • Customer information
  • Financial details (if user has invoice view permission)
Authorizations:
BearerAuth
path Parameters
id
required
integer

Resource ID

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "title": "string",
  • "description": "string",
  • "id_tracker": 0,
  • "id_status": 0,
  • "customer": {
    },
  • "tracker": { },
  • "consumed": { },
  • "top_trackers": [ ],
  • "workers": [ ],
  • "details": { }
}

Delete a job

Authorizations:
BearerAuth
path Parameters
id
required
integer

Resource ID

Responses

Get list of job statuses

Returns all available project status types.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Tasks

Get list of tasks

Returns a list of tasks with optional filtering, sorting, and pagination. Supports both singular and plural parameter names for compatibility.

Authorizations:
BearerAuth
query Parameters
search
string

Search string applied on the name field

page
integer >= 1

Page number for pagination (1-based)

items_per_page
integer [ 1 .. 100 ]
Default: 10

Number of items per page

integer or Array of integers

Filter by customer ID (can be array)

integer or Array of integers

Filter by customer IDs (alias for id_customer)

integer or Array of integers

Filter by status ID (can be array)

integer or Array of integers

Filter by status IDs (alias for id_status)

integer or Array of integers

Filter by assigned user ID (can be array)

integer or Array of integers

Filter by assigned user IDs (alias for id_user)

date_start
string <date>

Filter tasks starting from this date

date_end
string <date>

Filter tasks ending before this date

created_from
string <date>

Filter tasks created from this date

created_to
string <date>

Filter tasks created until this date

sort
string

Field to sort by (must be in allowed sort fields)

sortAscending
boolean

Sort in ascending order (presence of parameter enables ascending)

only_open
boolean
Deprecated

Only return open tasks (deprecated, use id_status instead)

Responses

Response samples

Content type
application/json
Example
[ ]

Create a task

Creates a new task with optional user assignments and tags.

Authorizations:
BearerAuth
Request Body schema: application/json
required
name
string
description
string
id_tracker
integer
id_status
integer
id_priority
integer
date_start
string <date>
date_end
string <date>
users
Array of integers

List of user IDs to assign

tags
Array of integers

List of tag IDs

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "id_tracker": 0,
  • "id_status": 0,
  • "id_priority": 0,
  • "date_start": "2019-08-24",
  • "date_end": "2019-08-24",
  • "users": [
    ],
  • "tags": [
    ]
}

Response samples

Content type
application/json
"task/123"

Update a task

Updates an existing task including user assignments and tags.

Authorizations:
BearerAuth
Request Body schema: application/json
required
id
required
integer
name
string
description
string
id_tracker
integer
id_status
integer
id_priority
integer
date_start
string <date>
date_end
string <date>
users
Array of integers

List of user IDs to assign

tags
Array of integers

List of tag IDs

Responses

Request samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "description": "string",
  • "id_tracker": 0,
  • "id_status": 0,
  • "id_priority": 0,
  • "date_start": "2019-08-24",
  • "date_end": "2019-08-24",
  • "users": [
    ],
  • "tags": [
    ]
}

Get a specific task

Returns detailed information about a task.

Authorizations:
BearerAuth
path Parameters
id
required
integer

Resource ID

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "description": "string",
  • "id_tracker": 0,
  • "id_status": 0,
  • "id_priority": 0,
  • "date_start": "2019-08-24",
  • "date_end": "2019-08-24",
  • "users": [
    ],
  • "tags": [
    ]
}

Delete a task

Authorizations:
BearerAuth
path Parameters
id
required
integer

Resource ID

Responses

Get task history

Returns the change history for a specific task.

Authorizations:
BearerAuth
path Parameters
id
required
integer

Resource ID

Responses

Response samples

Content type
application/json
[
  • { }
]

Get list of task statuses

Returns all available task status types.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get list of task priorities

Returns all available task priority levels.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get candidate assignees

Returns users who can be assigned to tasks.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get available tags

Returns all tags applicable to tasks.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get available trackers

Returns trackers that can be associated with tasks.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Timesheets

Get list of timesheet entries

Returns timesheet entries (time blocks) with optional filtering. If no user filter is provided, returns entries for the logged-in user only. Use all_users parameter to retrieve entries for all users.

Authorizations:
BearerAuth
query Parameters
date_start
string <date>

Start date for selection (defaults to 1970-01-01)

date_end
string <date>

End date for selection (defaults to 2037-01-01)

integer or Array of integers

Filter by customer ID (can be array)

integer or Array of integers

Filter by user ID (can be array, defaults to logged user)

integer or Array of integers

Filter by tracker ID (can be array)

integer or Array of integers

Filter by task ID (can be array)

integer or Array of integers

Filter by tracker type ID (can be array)

all_users
boolean

Include entries from all users (ignores id_user filter)

summary
boolean

Return only total time summary instead of individual entries

Responses

Response samples

Content type
application/json
Example
[ ]

Create a timesheet entry

Creates a new timesheet entry (time block). Validates for overlapping entries and other constraints.

Authorizations:
BearerAuth
Request Body schema: application/json
required
id_tracker
required
integer

Tracker ID (mandatory)

date_start
required
string <date-time>

Start datetime (mandatory)

date_end
required
string <date-time>

End datetime (mandatory)

id_user
integer

User ID (defaults to logged user)

comment
string
quantity
number <float>
location
string
signature
string

Base64 encoded customer signature

lat
number <float>

Latitude

lng
number <float>

Longitude

signer_name
string

Name of the person who signed

Array of objects

Responses

Request samples

Content type
application/json
{
  • "id_tracker": 0,
  • "date_start": "2019-08-24T14:15:22Z",
  • "date_end": "2019-08-24T14:15:22Z",
  • "id_user": 0,
  • "comment": "string",
  • "quantity": 0.1,
  • "location": "string",
  • "signature": "string",
  • "lat": 0.1,
  • "lng": 0.1,
  • "signer_name": "string",
  • "items": [
    ]
}

Response samples

Content type
application/json
"timesheet/123"

Update a timesheet entry

Updates an existing timesheet entry.

Authorizations:
BearerAuth
Request Body schema: application/json
required
id
required
integer
from_app
boolean

Set to true when updating from mobile app (affects item handling)

id_tracker
required
integer

Tracker ID (mandatory)

date_start
required
string <date-time>

Start datetime (mandatory)

date_end
required
string <date-time>

End datetime (mandatory)

id_user
integer

User ID (defaults to logged user)

comment
string
quantity
number <float>
location
string
signature
string

Base64 encoded customer signature

lat
number <float>

Latitude

lng
number <float>

Longitude

signer_name
string

Name of the person who signed

Array of objects

Responses

Request samples

Content type
application/json
{
  • "id": 0,
  • "from_app": true,
  • "id_tracker": 0,
  • "date_start": "2019-08-24T14:15:22Z",
  • "date_end": "2019-08-24T14:15:22Z",
  • "id_user": 0,
  • "comment": "string",
  • "quantity": 0.1,
  • "location": "string",
  • "signature": "string",
  • "lat": 0.1,
  • "lng": 0.1,
  • "signer_name": "string",
  • "items": [
    ]
}

Delete a timesheet entry

Authorizations:
BearerAuth

Responses

Get a specific timesheet entry

Returns detailed information about a timesheet entry including metadata and items.

Authorizations:
BearerAuth
path Parameters
id
required
integer

Resource ID

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "id_user": 0,
  • "id_tracker": 0,
  • "date_start": "2019-08-24T14:15:22Z",
  • "date_end": "2019-08-24T14:15:22Z",
  • "comment": "string",
  • "quantity": 0.1,
  • "location": "string",
  • "meta": {
    },
  • "items": [
    ]
}

Send timesheet worksheet

Sends the timesheet entry worksheet via email to configured recipients.

Authorizations:
BearerAuth
path Parameters
id
required
integer

Resource ID

Responses

Trackers

Get list of trackers

Returns a list of trackers with optional filtering. Can return flat list or tree structure depending on parameters.

Authorizations:
BearerAuth
query Parameters
id_customer
integer

Filter by customer ID

level
integer

Filter by hierarchy level

id_parent
integer

Filter by parent tracker ID (also returns children as tree)

search
string

Search trackers by name (returns tree structure, max 100 results)

mostused
boolean

Return most used trackers for the current user (returns tree structure, max 15 results)

Responses

Response samples

Content type
application/json
Example
[ ]

Create a tracker

Creates a new tracker under a customer or job.

Authorizations:
BearerAuth
Request Body schema: application/json
required
name
string
note
string
id_parent
integer
id_type
integer
id_tracker_root
integer

Root tracker ID for creating under a job

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "note": "string",
  • "id_parent": 0,
  • "id_type": 0,
  • "id_tracker_root": 0
}

Get a specific tracker

Returns detailed information about a tracker.

Authorizations:
BearerAuth
path Parameters
id
required
integer

Resource ID

query Parameters
show_details
boolean

Include time consumption details

from
string <date>

Start date for consumption calculation

to
string <date>

End date for consumption calculation

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "note": "string",
  • "id_parent": 0,
  • "id_type": 0,
  • "id_customer": 0,
  • "level": 0,
  • "path": "string",
  • "consumed": { }
}

Delete a tracker

Authorizations:
BearerAuth
path Parameters
id
required
integer

Resource ID

Responses

Users

Get list of users

Returns a list of users (excluding sensitive fields like password).

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a user

Creates a new user with optional customer access assignments.

Authorizations:
BearerAuth
Request Body schema: application/json
required
login
required
string
firstname
required
string
name
required
string
email
string <email>
phone
string
mobile
string
customers
Array of integers

List of customer IDs to grant access to

Responses

Request samples

Content type
application/json
{
  • "login": "string",
  • "firstname": "string",
  • "name": "string",
  • "email": "user@example.com",
  • "phone": "string",
  • "mobile": "string",
  • "customers": [
    ]
}

Response samples

Content type
application/json
"user/123"

Get a specific user

Returns user information (excluding sensitive fields).

Authorizations:
BearerAuth
path Parameters
id
required
integer

Resource ID

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "login": "string",
  • "firstname": "string",
  • "name": "string",
  • "email": "user@example.com",
  • "phone": "string",
  • "mobile": "string",
  • "active": true
}

Reports

Get list of report bookmarks

Returns all report bookmarks accessible to the current user (owned or public).

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Execute a report

Executes a saved report bookmark and returns the results. Only GenericReport-based reports are supported via API.

Example request with custom parameters:

/report/11?rawmode=1&custom_parameters={"from": "2024-01-01", "to": "2024-12-31"}
Authorizations:
BearerAuth
path Parameters
id
required
integer

Resource ID

query Parameters
rawmode
integer
Enum: 0 1

Set to 1 to return raw data without formatting

custom_parameters
string
Example: custom_parameters={"from": "2024-01-01", "to": "2024-12-31"}

JSON-encoded custom parameters to override report defaults

Responses

Response samples

Content type
application/json
{
  • "meta": { },
  • "data": { },
  • "level": 0,
  • "entries": { }
}

Activity

Get activity dashboard

Returns the activity dashboard with:

  • Recent timeline events (last 15)
  • Key metrics (time worked, invoices, etc.)
Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "timeline": [
    ],
  • "metrics": {
    }
}

Incoming Invoices

Get list of incoming invoices

Returns a list of incoming invoices (purchase invoices) with optional filtering and pagination.

Authorizations:
BearerAuth
query Parameters
search
string

Search string applied on the name field

page
integer >= 1

Page number for pagination (1-based)

items_per_page
integer [ 1 .. 100 ]
Default: 10

Number of items per page

id_supplier
integer

Filter by supplier ID

payment_status
string
Enum: "new" "rejected" "topay" "paid"

Filter by payment status

dateFrom
string <date>

Filter invoices from this date

dateTo
string <date>

Filter invoices until this date

dueFrom
string <date>

Filter by due date from

dueTo
string <date>

Filter by due date until

Responses

Response samples

Content type
application/json
Example
[ ]

Create an incoming invoice

Creates a new incoming invoice. Supports image upload via base64 encoded data. If no entries are provided, a default entry with zero amounts is created.

Authorizations:
BearerAuth
Request Body schema: application/json
required
docno
string
cost_date
string <date>
tmonth
integer

Accounting month

tyear
integer

Accounting year

id_supplier
integer
supplier_ref
string
internal_ref
string
payment_status
string
Enum: "new" "rejected" "topay" "paid"
due_date
string <date>
image
string

Base64 encoded image data

extension
string

File extension (e.g., 'jpg', 'png', 'pdf')

mark_po_entries_booked
boolean
Array of objects

Responses

Request samples

Content type
application/json
{
  • "docno": "string",
  • "cost_date": "2019-08-24",
  • "tmonth": 0,
  • "tyear": 0,
  • "id_supplier": 0,
  • "supplier_ref": "string",
  • "internal_ref": "string",
  • "payment_status": "new",
  • "due_date": "2019-08-24",
  • "image": "string",
  • "extension": "string",
  • "mark_po_entries_booked": true,
  • "entries": [
    ]
}

Response samples

Content type
application/json
"incominginvoice/123"

Get a specific incoming invoice

Returns detailed information about an incoming invoice including entries and files.

Authorizations:
BearerAuth
path Parameters
id
required
integer

Resource ID

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "docno": "string",
  • "cost_date": "2019-08-24",
  • "tmonth": 0,
  • "tyear": 0,
  • "id_supplier": 0,
  • "supplier_name": "string",
  • "supplier_ref": "string",
  • "internal_ref": "string",
  • "payment_status": "new",
  • "due_date": "2019-08-24",
  • "entries": [
    ],
  • "files": [
    ]
}

Delete an incoming invoice

Authorizations:
BearerAuth
path Parameters
id
required
integer

Resource ID

Responses

Get list of payment statuses

Returns all available payment status options for incoming invoices.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Files

Get file information or serve file

Returns file information or serves the file content. Use serve parameter to download the actual file.

Authorizations:
BearerAuth
path Parameters
id
required
integer

Resource ID

query Parameters
serve
boolean

Set to serve/download the actual file

Responses