Skip to main content

Organization & Master Data

This page describes the API endpoints for master data used across various areas of InLoox: categories, clients, project status, default task item status, templates, and other helper entities.


Category​

The Category entity enables the categorization of projects. Categories can be freely defined and assigned.

Data Model​

PropertyTypeDescription
CategoryIdguidUnique ID of the category.
NamestringName of the category.

Endpoints​

List all categories

GET/odata/Category

Supports OData query options.


Get a category by ID

GET/odata/Category({key})
ParameterTypeRequiredDescription
keyguid✅The CategoryId.

Create a new category

POST/odata/Category
ParameterTypeRequiredDescription
BodyDelta<ApiCategory>✅JSON object with the properties from the data model.

Update a category

PATCH/odata/Category({key})
ParameterTypeRequiredDescription
keyguid✅The CategoryId.
BodyDelta<ApiCategory>✅JSON object with the fields to update.

Delete a category

DELETE/odata/Category({key})
ParameterTypeRequiredDescription
keyguid✅The CategoryId.
warning

Deleting a category removes it from all projects that use it. This action cannot be undone.

Returns 204 No Content on success.


Client​

The Client entity represents clients in InLoox. Clients can be assigned to projects and feature automatic numbering.

Data Model​

PropertyTypeDescription
ClientIdguidUnique ID of the client.
NamestringClient name.
NumberPrefixstringPrefix of the client number.
NumberIncrementialint?Automatically incremented part of the client number.
NumberSuffixstringSuffix of the client number.
NumberstringFull client number (prefix + increment + suffix).

Endpoints​

List all clients

GET/odata/Client

Supports OData query options.


Get a client by ID

GET/odata/Client({key})
ParameterTypeRequiredDescription
keyguid✅The ClientId.

Create a new client

POST/odata/Client
ParameterTypeRequiredDescription
BodyDelta<ApiClient>✅JSON object with the properties from the data model.
tip

The client number is generated automatically when the number settings are enabled in the configuration. Use odata/Configuration/GetClientNumberSettings() to retrieve the current configuration.


Update a client

PATCH/odata/Client({key})
ParameterTypeRequiredDescription
keyguid✅The ClientId.
BodyDelta<ApiClient>✅JSON object with the fields to update.

Delete a client

DELETE/odata/Client({key})
ParameterTypeRequiredDescription
keyguid✅The ClientId.
warning

Deleting a client removes it from all assigned projects. This action cannot be undone.

Returns 204 No Content on success.


Division​

The Division entity enables the hierarchical organizational structure in InLoox. Divisions can be nested and have contacts assigned to them. Users can receive permissions on projects that have specific divisions assigned.

Data Model​

PropertyTypeDescription
DivisionIdguidUnique ID of the division.
ParentDivisionIdguid?ID of the parent division (null for root level).
DisplayNamestringDisplay name of the division.
PositionNumberintSort position.
DescriptionstringDescription of the division.

Endpoints​

CRUD Operations​

List all divisions

GET/odata/Division

Supports OData query options.


Get a division by ID

GET/odata/Division({key})
ParameterTypeRequiredDescription
keyguid✅The DivisionId of the division to retrieve.

Create a new division

POST/odata/Division
ParameterTypeRequiredDescription
BodyDelta<ApiDivision>✅JSON object with the properties from the data model.
tip

Omit DivisionId to let the server automatically generate a new ID. Set ParentDivisionId to create a sub-division.


Update an existing division

PATCH/odata/Division({key})
ParameterTypeRequiredDescription
keyguid✅The DivisionId of the division to update.
BodyDelta<ApiDivision>✅JSON object with the fields to update.

Delete a division

DELETE/odata/Division({key})
ParameterTypeRequiredDescription
keyguid✅The DivisionId of the division to delete.

Returns 204 No Content on success.

warning

Deleting a division also removes all contact assignments for that division. Since permissions can also be granted at the division level, users may lose access to projects.


Contact Management​

List all contacts with division assignments

GET/odata/Division/GetContacts()

Returns all DivisionContactRelation entries.


Assign a contact to a division

POST/odata/Division({key})/AddContact
ParameterTypeRequiredDescription
keyguid✅The DivisionId.
Bodyobject✅JSON object with the following fields:

ContactId (guid, required) — The contact to assign.

Remove a contact from a division

POST/odata/Division({key})/RemoveContact
ParameterTypeRequiredDescription
keyguid✅The DivisionId.
Bodyobject✅JSON object with the following fields:

ContactId (guid, required) — The contact to remove.

DivisionContactRelation​

The DivisionContactRelation entity represents the assignment between divisions and contacts. Each assignment links exactly one contact to a division.

note

This entity is read-only. To manage the assignment of divisions and contacts, use the AddContact and RemoveContact actions on the Division entity.

Data Model​

PropertyTypeDescription
DivisionContactRelationIdguidUnique ID of the assignment.
DivisionIdguidID of the division.
ContactIdguidID of the contact.

Endpoints​

List all division-contact assignments for all contacts

GET/odata/DivisionContactRelation

Supports OData query options.

Filter by division or contact:

GET /odata/DivisionContactRelation?$filter=DivisionId eq xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Get a single assignment by ID

GET/odata/DivisionContactRelation({key})
ParameterTypeRequiredDescription
keyguid✅The DivisionContactRelationId.

ProjectStatus​

The ProjectStatus entity defines the available status values for projects. Each status has a name, a progress value, and a sort position.

Data Model​

PropertyTypeDescription
ProjectStatusIdguidUnique ID of the project status.
NamestringName of the status (e.g. Active, Completed, Paused).
ProgressintProgress value in percent (0–100).
OrdinalPositionintSort position.

Endpoints​

List all project statuses

GET/odata/ProjectStatus

Get a project status by ID

GET/odata/ProjectStatus({key})
ParameterTypeRequiredDescription
keyguid✅The ProjectStatusId.

Create a new project status

POST/odata/ProjectStatus
ParameterTypeRequiredDescription
BodyDelta<ApiProjectStatus>✅JSON object with the properties from the data model.

Update a project status

PATCH/odata/ProjectStatus({key})
ParameterTypeRequiredDescription
keyguid✅The ProjectStatusId.
BodyDelta<ApiProjectStatus>✅JSON object with the fields to update.

Delete a project status

DELETE/odata/ProjectStatus({key})
ParameterTypeRequiredDescription
keyguid✅The ProjectStatusId.
warning

Deleting a project status affects all projects that use it. This action cannot be undone.

Returns 204 No Content on success.


Skill​

The Skill entity manages skills (also referred to as competencies) that can be assigned to contacts. This enables simplified resource planning and selection of responsible persons based on freely definable attributes.

Data Model​

PropertyTypeDescription
SkillIdguidUnique ID of the skill.
NamestringName of the skill.
DescriptionstringDescription of the skill.

Endpoints​

CRUD Operations​

List all skills

GET/odata/Skill

Supports OData query options.


Get a skill by ID

GET/odata/Skill({key})
ParameterTypeRequiredDescription
keyguid✅The SkillId.

Create a new skill

POST/odata/Skill
ParameterTypeRequiredDescription
BodyDelta<ApiSkill>✅JSON object with the properties from the data model.

Update an existing skill

PATCH/odata/Skill({key})
ParameterTypeRequiredDescription
keyguid✅The SkillId of the skill to update.
BodyDelta<ApiSkill>✅JSON object with the fields to update.

Delete a skill

DELETE/odata/Skill({key})
ParameterTypeRequiredDescription
keyguid✅The SkillId of the skill to delete.

Returns 204 No Content on success.

warning

Deleting a skill removes all contact assignments for that skill.


Contact Assignments​

List all contacts with skill assignments

GET/odata/Skill/GetContacts()

Returns all contact-skill assignments.


Get contacts for a specific skill

GET/odata/Skill({key})/GetSkillContacts()
ParameterTypeRequiredDescription
keyguid✅The SkillId.

Assign a contact to a skill

POST/odata/Skill({key})/AddContact
ParameterTypeRequiredDescription
keyguid✅The SkillId.
Bodyobject✅JSON object with the following fields:

ContactId (guid, required) — The contact to assign.

Remove a contact from a skill

POST/odata/Skill({key})/RemoveContact
ParameterTypeRequiredDescription
keyguid✅The SkillId.
Bodyobject✅JSON object with the following fields:

ContactId (guid, required) — The contact to remove.

TaskItemStatusDefault​

The TaskItemStatusDefault entity defines the organization-wide default statuses for Kanban tasks.

info

New projects automatically inherit these default values.

Data Model​

PropertyTypeDescription
TaskItemStatusDefaultIdguidUnique ID of the default status.
NamestringName of the default status.
HexColorstringColor value as hex code (e.g. #FF0000).
OrdinalPositionintSort position.

Endpoints​

List all default task item statuses

GET/odata/TaskItemStatusDefault

Get a default task item status by ID

GET/odata/TaskItemStatusDefault({key})
ParameterTypeRequiredDescription
keyguid✅The TaskItemStatusDefaultId.

Create a new default task item status

POST/odata/TaskItemStatusDefault
ParameterTypeRequiredDescription
BodyDelta<ApiTaskItemStatusDefault>✅JSON object with the properties from the data model.

Update a default task item status

PATCH/odata/TaskItemStatusDefault({key})
ParameterTypeRequiredDescription
keyguid✅The TaskItemStatusDefaultId.
BodyDelta<ApiTaskItemStatusDefault>✅JSON object with the fields to update.

Delete a default task item status

DELETE/odata/TaskItemStatusDefault({key})
ParameterTypeRequiredDescription
keyguid✅The TaskItemStatusDefaultId.
warning

Deleting a default task item status only affects the default values inherited by new projects. Existing projects are not affected.

Returns 204 No Content on success.